Displays a bootstrap confirmation popover when clicking the given element.
npm install angular-bootstrap-confirm- About
- Installation
- Documentation
- Demo
- Development
- License
A simple angular directive to display a bootstrap styled confirmation popover when an element is clicked.
Pull requests are welcome.
This module has a few dependencies, and must be included BEFORE the plugin files:
* AngularJS 1.3+
* Angular sanitize
* Bootstrap 3+ (CSS only - optional if you use a custom template)
* ui-bootstrap (Only the $uibPosition service is required. If you don't want to include the entire ui-bootstrap library the position service is included as a standalone file in this repo in src/ui-bootstrap-position.js)
You can install through bower:
```
bower install --save angular-bootstrap-confirm
You will then need to include the JS files for the plugin:
``
And finally add the module dependency in your AngularJS app:
`javascript`
angular.module('myModule', ['mwl.confirm']);
Alternatively you can install through npm:
``
npm install --save angular-bootstrap-confirm
Then add as a dependency to your app:
`javascript`
// Either require('angular-bootstrap-confirm/src/ui-bootstrap-position') OR require('angular-ui-bootstrap') first!
angular.module('myApp', [require('angular-bootstrap-confirm')]);
There is a single directive exposed to create the confirmation popover, use it like so:
`javascript`
class="btn btn-default"
mwl-confirm
title="{{ title }}"
message="{{ message }}"
confirm-text="{{ confirmText }}"
cancel-text="{{ cancelText }}"
placement="{{ placement }}"
on-confirm="confirmClicked = true"
on-cancel="cancelClicked = true"
confirm-button-type="danger"
cancel-button-type="default">
Click me!
An explanation of the properties is as follows:
#### title
The title of the popover. This value is interpolated. Note, if you use an expression, you may want to consider using "data-title" instead of "title" so that the browser doesn't show native tooltips with the angular expression listed.
#### message
The body text of the popover. This value is interpolated.
#### confirm-text
The text of the confirm button. This value is interpolated. Default "Confirm"
#### cancel-text
The text of the cancel button. This value is interpolated. Default "Cancel"
#### placement
The placement of the popover. This value is interpolated. It can be either "top", "right", "bottom" or "left". Default "top"
#### on-confirm
An angular expression that is called when the confirm button is clicked.
#### on-cancel
An angular expression that is called when the cancel button is clicked.
#### confirm-button-type
The bootstrap button type of the confirm button. This value is interpolated. It can be any supported bootstrap color type e.g. default, warning, danger etc. Default "success"
#### cancel-button-type
The bootstrap button type of the cancel button. This value is interpolated. It can be any supported bootstrap color type e.g. default, warning, danger etc. Default "default"
#### is-open
A 2-way bound variable to control if the popover is currently open or not.
#### focus-button
Set to either confirm or cancel to focus the confirm or cancel button. If omitted, by default it will not focus either button.
#### is-disabled
Whether to disable showing the popover. Default false.
#### template-url
A custom popover template. Useful for if you're not using bootstrap. It can be configured globally by setting confirmationPopoverDefaults.templateUrl
#### hide-confirm-button
When set will hide the confirm button.
#### hide-cancel-button
When set will hide the cancel button.
#### popover-class
A CSS class that will be set on the popover that is opened.
#### animation
Whether to animate the popover as it fades in and out. Default false.
javascript
angular.module('myModule').run(function(confirmationPopoverDefaults) {
console.log(confirmationPopoverDefaults); // View all the defaults you can change
confirmationPopoverDefaults.confirmButtonType = 'danger'; // Set the default confirm button type to be danger
});
`Demo
http://mattlewis92.github.io/angular-bootstrap-confirm/
Development
$3
* Install Node.js and NPM (should come with)
* Install local dev dependencies: npm install while current directory is this repo$3
Run npm start to start a development server on port 8000 with auto reload + tests. $3
Run npm test to run tests once or npm run test:watch to continually run tests (this is automatic when you do npm start). $3
Run npm run build` to build the project files in the dist folderThe MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.