2020-05-19 11:43:42 +03:00

7 lines
5.0 KiB
JavaScript

/*!
* AngularJS Material Design
* https://github.com/angular/material
* @license MIT
* v1.1.18-master-97a1616
*/
!function(c,C){"use strict";function n(e,a,r,c,t,i){var o,s=this,n=0;function l(n){"click"==n.type&&function(n){!function(n){return c.getClosest(n,"md-fab-trigger")}(n.target)||s.toggle();!function(n){return c.getClosest(n,"md-fab-actions")}(n.target)||s.close()}(n),"focusout"!=n.type||o||(o=i(function(){s.close()},100,!1)),"focusin"==n.type&&o&&(i.cancel(o),o=null)}function d(){s.currentActionIndex=-1}function u(){0<a[0].scrollHeight?r.addClass(a,"_md-animations-ready").then(function(){a.removeClass("md-animations-waiting")}):n<10&&(i(u,100),n+=1)}function f(){a.off("keydown",p),C.element(document).off("click touchend",m)}function m(n){if(n.target){var e=c.getClosest(n.target,"md-fab-trigger"),t=c.getClosest(n.target,"md-fab-actions");e||t||s.close()}}function p(n){switch(n.which){case t.KEY_CODE.ESCAPE:return s.close(),n.preventDefault(),!1;case t.KEY_CODE.LEFT_ARROW:return function(n){"left"===s.direction?h(n):g(n)}(n),!1;case t.KEY_CODE.UP_ARROW:return function(n){"down"===s.direction?g(n):h(n)}(n),!1;case t.KEY_CODE.RIGHT_ARROW:return function(n){"left"===s.direction?g(n):h(n)}(n),!1;case t.KEY_CODE.DOWN_ARROW:return function(n){"up"===s.direction?g(n):h(n)}(n),!1}}function g(n){v(n,-1)}function h(n){v(n,1)}function v(n,e){var t=function(){var n=b()[0].querySelectorAll(".md-fab-action-item");return C.forEach(n,function(n){C.element(C.element(n).children()[0]).attr("tabindex",-1)}),n}();s.currentActionIndex=s.currentActionIndex+e,s.currentActionIndex=Math.min(t.length-1,s.currentActionIndex),s.currentActionIndex=Math.max(0,s.currentActionIndex);var i=C.element(t[s.currentActionIndex]).children()[0];C.element(i).attr("tabindex",0),i.focus(),n.preventDefault(),n.stopImmediatePropagation()}function b(){return a.find("md-fab-actions")}s.open=function(){e.$evalAsync("vm.isOpen = true")},s.close=function(){e.$evalAsync("vm.isOpen = false"),a.find("md-fab-trigger")[0].focus()},s.toggle=function(){e.$evalAsync("vm.isOpen = !vm.isOpen")},s.$onInit=function(){s.direction=s.direction||"down",s.isOpen=s.isOpen||!1,d(),a.addClass("md-animations-waiting"),function(){var n=["click","focusin","focusout"];C.forEach(n,function(n){a.on(n,l)}),e.$on("$destroy",function(){C.forEach(n,function(n){a.off(n,l)}),f()})}(),function(){var i,o;e.$watch("vm.direction",function(n,e){r.removeClass(a,"md-"+e),r.addClass(a,"md-"+n),d()}),e.$watch("vm.isOpen",function(n){d(),i&&o||(i=a.find("md-fab-trigger"),o=b()),n?(a.on("keydown",p),c.nextTick(function(){C.element(document).on("click touchend",m)})):f();var e=n?"md-is-open":"",t=n?"":"md-is-open";i.attr("aria-haspopup",!0),i.attr("aria-expanded",n),o.attr("aria-hidden",!n),r.setClass(a,e,t)})}(),u()},1===C.version.major&&C.version.minor<=4&&this.$onInit()}n.$inject=["$scope","$element","$animate","$mdUtil","$mdConstant","$timeout"],C.module("material.components.fabShared",["material.core"]).controller("MdFabController",n),function(){n.$inject=["$timeout"],e.$inject=["$timeout"];var t=300;function n(e){function i(n){e(n,t,!1)}function o(n){if(!n.hasClass("md-animations-waiting")||n.hasClass("_md-animations-ready")){var e=n[0],s=n.controller("mdFabSpeedDial"),i=e.querySelectorAll(".md-fab-action-item"),l=e.querySelector("md-fab-trigger"),t=e.querySelector("._md-css-variables"),o=parseInt(c.getComputedStyle(t).zIndex);C.forEach(i,function(n,e){var t=n.style;t.transform=t.webkitTransform="",t.transitionDelay="",t.opacity=1,t.zIndex=i.length-e+o}),l.style.zIndex=o+i.length+1,s.isOpen||C.forEach(i,function(n,e){var t,i,o=n.style,a=(l.clientHeight-n.clientHeight)/2,r=(l.clientWidth-n.clientWidth)/2;switch(s.direction){case"up":t=n.scrollHeight*(e+1)+a,i="Y";break;case"down":t=-(n.scrollHeight*(e+1)+a),i="Y";break;case"left":t=n.scrollWidth*(e+1)+r,i="X";break;case"right":t=-(n.scrollWidth*(e+1)+r),i="X"}var c="translate"+i+"("+t+"px)";o.transform=o.webkitTransform=c})}}return{addClass:function(n,e,t){n.hasClass("md-fling")?(o(n),i(t)):t()},removeClass:function(n,e,t){o(n),i(t)}}}function e(e){function i(n){e(n,t,!1)}function o(n){var e=n[0],o=n.controller("mdFabSpeedDial"),a=e.querySelectorAll(".md-fab-action-item"),t=e.querySelector("._md-css-variables"),r=parseInt(c.getComputedStyle(t).zIndex);C.forEach(a,function(n,e){var t=n.style,i=65*e;t.opacity=o.isOpen?1:0,t.transform=t.webkitTransform=o.isOpen?"scale(1)":"scale(0)",t.transitionDelay=(o.isOpen?i:a.length-i)+"ms",t.zIndex=a.length-e+r})}return{addClass:function(n,e,t){o(n),i(t)},removeClass:function(n,e,t){o(n),i(t)}}}C.module("material.components.fabSpeedDial",["material.core","material.components.fabShared","material.components.fabActions"]).directive("mdFabSpeedDial",function(){return{restrict:"E",scope:{direction:"@?mdDirection",isOpen:"=?mdOpen"},bindToController:!0,controller:"MdFabController",controllerAs:"vm",link:function(n,e){e.prepend('<div class="_md-css-variables"></div>')}}}).animation(".md-fling",n).animation(".md-scale",e).service("mdFabSpeedDialFlingAnimation",n).service("mdFabSpeedDialScaleAnimation",e)}()}(window,window.angular);