/*
 * angular-confirm
 * https://github.com/Schlogen/angular-confirm
 * @version v1.2.6 - 2016-09-06
 * @license Apache
 */
!function(e,t){"use strict";if("function"==typeof define&&define.amd)define(["angular"],t);else{if("undefined"==typeof module||"object"!=typeof module.exports)return t(e.angular);module.exports=t(require("angular"))}}(this,function(e){e.module("angular-confirm",["ui.bootstrap.modal"]).controller("ConfirmModalController",["$scope","$uibModalInstance","data",function(t,n,i){t.data=e.copy(i),t.ok=function(e){n.close(e)},t.cancel=function(t){e.isUndefined(t)&&(t="cancel"),n.dismiss(t)}}]).value("$confirmModalDefaults",{template:'<div class="modal-header"><h3 class="modal-title">{{data.title}}</h3></div><div class="modal-body">{{data.text}}</div><div class="modal-footer"><button class="btn btn-primary" ng-click="ok()">{{data.ok}}</button><button class="btn btn-default" ng-click="cancel()">{{data.cancel}}</button></div>',controller:"ConfirmModalController",defaultLabels:{title:"Confirm",ok:"OK",cancel:"Cancel"},additionalTemplates:{}}).factory("$confirm",["$uibModal","$confirmModalDefaults",function(t,n){return function(i,o){var a=e.copy(n);if(o=e.extend(a,o||{}),i=e.extend({},o.defaultLabels,i||{}),i.templateName){var l=o.additionalTemplates[i.templateName];void 0!=l&&(o.template=l.template,o.templateUrl=l.templateUrl)}return"templateUrl"in o&&"template"in o&&delete o.template,o.resolve={data:function(){return i}},t.open(o).result}}]).directive("confirm",["$confirm","$timeout",function(t,n){return{priority:1,restrict:"A",scope:{confirmIf:"=",ngClick:"&",confirm:"@",confirmSettings:"=",confirmTemplateName:"@",confirmTitle:"@",confirmOk:"@",confirmCancel:"@"},link:function(i,o,a){function l(){var e=o[0];if(-1!=["checkbox","radio"].indexOf(e.type)){var t=o.data("$ngModelController");t?(t.$setViewValue(!e.checked),t.$render()):e.checked=!e.checked}i.ngClick()}o.unbind("click").bind("click",function(o){o.preventDefault(),n(function(){if(e.isUndefined(i.confirmIf)||i.confirmIf){var n={text:i.confirm};i.confirmTitle&&(n.title=i.confirmTitle),i.confirmOk&&(n.ok=i.confirmOk),i.confirmCancel&&(n.cancel=i.confirmCancel),i.confirmTemplateName&&(n.templateName=i.confirmTemplateName),t(n,i.confirmSettings||{}).then(l)}else i.$apply(l)})})}}}])});