ledgerrb/public/app/bower_components/angular-material/modules/js/dialog/dialog.min.js
2015-02-04 16:08:32 +01:00

7 lines
No EOL
4.1 KiB
JavaScript

/*!
* Angular Material Design
* https://github.com/angular/material
* @license MIT
* v0.7.0-rc3
*/
!function(){"use strict";function e(e,t){return{restrict:"E",link:function(n,o){t(o),e(function(){var e=o[0].querySelector("md-content");e&&e.scrollHeight>e.clientHeight&&o.addClass("md-content-overflow")})}}}function t(e){function t(e){return{template:['<md-dialog aria-label="{{ dialog.ariaLabel }}">',"<md-content>","<h2>{{ dialog.title }}</h2>","<p>{{ dialog.content }}</p>","</md-content>",'<div class="md-actions">','<md-button ng-if="dialog.$type == \'confirm\'" ng-click="dialog.abort()">',"{{ dialog.cancel }}","</md-button>",'<md-button ng-click="dialog.hide()" class="md-primary">',"{{ dialog.ok }}","</md-button>","</div>","</md-dialog>"].join(""),controller:function(){this.hide=function(){e.hide(!0)},this.abort=function(){e.cancel()}},controllerAs:"dialog",bindToController:!0}}function n(e,t,n,o,a,i,l,r,c,d,s,u){function p(n,a,i){function l(){var e=a[0].querySelector(".dialog-close");if(!e){var t=a[0].querySelectorAll(".md-actions button");e=t[t.length-1]}return angular.element(e)}i.parent=angular.element(i.parent),i.popInTarget=angular.element((i.targetEvent||{}).target);var d=l();return g(a.find("md-dialog")),i.hasBackdrop&&(i.backdrop=angular.element('<md-backdrop class="md-dialog-backdrop md-opaque">'),c.inherit(i.backdrop,i.parent),o.enter(i.backdrop,i.parent)),i.disableParentScroll&&(i.oldOverflowStyle=i.parent.css("overflow"),i.parent.css("overflow","hidden")),f(a,i.parent,i.popInTarget&&i.popInTarget.length&&i.popInTarget).then(function(){i.escapeToClose&&(i.rootElementKeyupCallback=function(t){t.keyCode===r.KEY_CODE.ESCAPE&&e(u.cancel)},t.on("keyup",i.rootElementKeyupCallback)),i.clickOutsideToClose&&(i.dialogClickOutsideCallback=function(t){t.target===a[0]&&e(u.cancel)},a.on("click",i.dialogClickOutsideCallback)),d.focus()})}function m(e,n,a){return a.backdrop&&o.leave(a.backdrop),a.disableParentScroll&&(a.parent.css("overflow",a.oldOverflowStyle),i[0].removeEventListener("scroll",a.captureScroll,!0)),a.escapeToClose&&t.off("keyup",a.rootElementKeyupCallback),a.clickOutsideToClose&&n.off("click",a.dialogClickOutsideCallback),h(n,a.parent,a.popInTarget&&a.popInTarget.length&&a.popInTarget).then(function(){a.scope.$destroy(),n.remove(),a.popInTarget&&a.popInTarget.focus()})}function g(e){e.attr({role:"dialog"});var t=e.find("md-content");0===t.length&&(t=e),a.expectAsync(e,"aria-label",function(){var e=t.text().split(/\s+/);return e.length>3&&(e=e.slice(0,3).concat("...")),e.join(" ")})}function f(e,t,n){var o=e.find("md-dialog");return t.append(e),k(o,n),d(function(){o.addClass("transition-in").css(r.CSS.TRANSFORM,"")}),v(o)}function h(e,t,n){var o=e.find("md-dialog");return o.addClass("transition-out").removeClass("transition-in"),k(o,n),v(o)}function k(e,t){if(t){var n=t[0].getBoundingClientRect(),o=e[0].getBoundingClientRect(),a=Math.min(.5,n.width/o.width),i=Math.min(.5,n.height/o.height);e.css(r.CSS.TRANSFORM,"translate3d("+(-o.left+n.left+n.width/2-o.width/2)+"px,"+(-o.top+n.top+n.height/2-o.height/2)+"px,0) scale("+a+","+i+")")}}function v(e){function t(o){o.target===e[0]&&(e.off(r.CSS.TRANSITIONEND,t),n.resolve())}var n=s.defer();return e.on(r.CSS.TRANSITIONEND,t),n.promise}return{hasBackdrop:!0,isolateScope:!0,onShow:p,onRemove:m,clickOutsideToClose:!0,escapeToClose:!0,targetEvent:null,disableParentScroll:!0,transformTemplate:function(e){return'<div class="md-dialog-container">'+e+"</div>"}}}return t.$inject=["$mdDialog"],n.$inject=["$timeout","$rootElement","$compile","$animate","$mdAria","$document","$mdUtil","$mdConstant","$mdTheming","$$rAF","$q","$mdDialog"],e("$mdDialog").setDefaults({methods:["disableParentScroll","hasBackdrop","clickOutsideToClose","escapeToClose","targetEvent"],options:n}).addPreset("alert",{methods:["title","content","ariaLabel","ok"],options:t}).addPreset("confirm",{methods:["title","content","ariaLabel","ok","cancel"],options:t})}angular.module("material.components.dialog",["material.core","material.components.backdrop"]).directive("mdDialog",e).provider("$mdDialog",t),e.$inject=["$$rAF","$mdTheming"],t.$inject=["$$interimElementProvider"]}();