Coder Social home page Coder Social logo

cgross / angular-prompt Goto Github PK

View Code? Open in Web Editor NEW
54.0 9.0 41.0 2.11 MB

Angular service to easily display input prompts and confirmation modals.

Home Page: http://cgross.github.io/angular-prompt/demo

License: MIT License

JavaScript 35.13% HTML 64.87%

angular-prompt's Introduction

angular-prompt

Angular service to easily display prompt and confirmation modals.

This library depends on angular-ui-bootstrap.

Demo

Live Demo

Getting Started

Install with Bower or download the the files directly from the dist folder in the repo.

bower install angular-prompt --save

Add dist/angular-prompt.js to your index.html.

Add cgPrompt as a module dependency for your module.

angular.module('your_app', ['ui.bootstrap','cgPrompt']);

Now you can inject and use the prompt service.

function MyCtrl($scope, prompt) {

  //simple confirmation
  prompt({
    title: 'Delete this Thing?',
    message: 'Are you sure you want to do that?'
  }).then(function(){
    //he hit ok and not cancel
  });

  //ask the user for a string
  prompt({
    title: 'Give me a name',
    message: 'What would you like to name it?',
    input: true,
    label: 'Name',
    value: 'Current name',
    values: ['other','possible','names']
  }).then(function(name){
    //the promise is resolved with the user input
  });  
}

API

prompt(options);

  • options.title

Type: String
Default: '' The title for the dialog.

  • options.message

Type: String
Default: ''
The message inside the dialog.

  • options.input

Type: Boolean
Default: false
Set to true if you wish to prompt the user for a text value.

  • options.label

Type: String
Default: ''
The label for the input if input=true.

  • options.value

Type: String
Default: ''
The initial value of the input if input=true.

  • options.values

Type: Array of String
Default: undefined
A list of values available in a dropdown for the user to select as the input value.

  • options.buttons

Type: Array of Object with properties label,cancel, style, and primary
Default: [{ label:'OK', primary: true }, { label:'Cancel', cancel: true }]
A list of the buttons to display on the dialog.

The function returns a promise. That promise is resolved with either the button that was pressed, or in the case of input prompts, the value the user entered. If the user pressed a button where cancel=true or canceled the dialog another way (hit ESC, etc) then the promise is rejected.

Release History

  • v1.2.0
    • Moved to Angular 1.5 and UI Bootstrap 1.3.
    • Refactored code to no longer use angular.element(...).scope().
  • v1.1.0
    • Added style option to buttons.
  • v1.0.1
    • Updated modal template with correct modal title class.
    • Added bower_components to ignore in bower.json.
    • Moved to angular-bootstrap v0.11.
  • v1.0.0 - Initial release.

angular-prompt's People

Contributors

cgross avatar sorgoz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

angular-prompt's Issues

Hard coded start & end symbols can cause rendering issues

I use different start and end symbols in my angular app:

config(function($interpolateProvider){
    $interpolateProvider.startSymbol('{[{').endSymbol('}]}');
})

Unfortunately, that isn't honored by angular-prompt. It would be helpful to have the start and end symbols dynamically set.

A Suggestion

Nice library, great work.

I only have a small suggestion, maybe we can add an image icon? that would be nice.
Second i noticed the modal dialog is not centering in the screen, can we fix that?

[Request] More Input Types

In addition to just text values, I might want to get some other form of input.

The easiest thing you might do is change the 'input' option to 'inputType' or something and inject that into a <input type="{{inputType}}"> or something.

Dropdown values do not show up

I have a drop down and I want to use the values option. I tried giving passing an array to "values" in the options object. It show's the values but when the user selects one and presses "OK" the promise is not returning the selected. Everything works for a simple text box.

                self.prompt({

                    "title": "Cloning Search",

                    "message": "",

                    "label": "Enter Business Owner Name",

                    "dropDown":true,

                    "values":self.businessOwnerLst

                }).then(function(newName) {

                //When I console this 'newName' it gives me the following object
               // { 
              //    label: "OK",
               //   primary: true,
              //    __proto__: Object
              //  }


                });

Max length on input needed.

Something like:

prompt({
title: '',
message: '',
input: true,
maxInputLength: 255
})

Which is bound to <input maxlength="{{maxInputLength}}">

Type password needed

For example, if you want to ask user's password before change account settings. I think it's common thing.

Thank you, for your project!

Will this run on Angular 1.4.x?

Installing with bower wants to install Angular 1.5, but I cannot update my product to use it for a variety of unrelated reasons.

Can I (and how do I) use this with Angular 1.4.x?

Line Break

How to insert a line break for multi line message ?

Stupid question - Submitting pull request?

Hi sorry for the stupid question,

would like to submit a pull request. How can I set everything up locally and compile a new version?

Are there any tests I have to run?

Thanks! Great work!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.