7 lines
4.6 KiB
JavaScript
Raw Normal View History

2020-05-19 11:43:42 +03:00
/*!
* AngularJS Material Design
* https://github.com/angular/material
* @license MIT
* v1.1.18-master-97a1616
*/
function SidenavService(o,r,i,a){var l="SideNav '{0}' is not available! Did you use md-component-id='{0}'?",d={find:function(e,n){var t=o.get(e);return t||n?t:void a.error(r.supplant(l,[e||""]))},waitFor:s};return function(e,n){if(angular.isUndefined(e))return d;var t=!0===n,o=d.find(e,t);return!o&&t?d.waitFor(e):!o&&angular.isUndefined(n)?function(e,n){function t(){return!1}function o(){return i.when(r.supplant(l,[n||""]))}return angular.extend({isLockedOpen:t,isOpen:t,toggle:o,open:o,close:o,onClose:angular.noop,then:function(e){return s(n).then(e||angular.noop)}},e)}(d,e):o};function s(e){return o.when(e).catch(a.error)}}function SidenavFocusDirective(){return{restrict:"A",require:"^mdSidenav",link:function(e,n,t,o){}}}function SidenavDirective(o,$,h,C,S,y,e,O,b,k,w,D,F){return{restrict:"E",scope:{isOpen:"=?mdIsOpen"},controller:"$mdSidenavController",compile:function(e){return e.addClass("md-closed").attr("tabIndex","-1"),n}};function n(r,i,e,n){var a,l,d,s,c,u=null,m=null,p=k.when(!0),t=O(e.mdIsLockedOpen),f=angular.element(D);function g(e){return e.keyCode===h.KEY_CODE.ESCAPE?v(e):k.when(!0)}function v(e){return e.preventDefault(),n.close()}e.mdDisableScrollTarget&&((u=w[0].querySelector(e.mdDisableScrollTarget))?u=angular.element(u):b.warn($.supplant('mdSidenav: couldn\'t find element matching selector "{selector}". Falling back to parent.',{selector:e.mdDisableScrollTarget}))),u=u||i.parent(),e.hasOwnProperty("mdDisableBackdrop")||(l=$.createBackdrop(r,"md-sidenav-backdrop md-opaque ng-enter")),e.hasOwnProperty("mdDisableCloseEvents")&&(d=!0),i.addClass("_md"),C(i),l&&C.inherit(l,i),i.on("$destroy",function(){l&&l.remove(),n.destroy()}),r.$on("$destroy",function(){l&&l.remove()}),r.$watch(function(){return t(r.$parent,{$media:function(e){return b.warn("$media is deprecated for is-locked-open. Use $mdMedia instead."),o(e)},$mdMedia:o})},function(e,n){(r.isLockedOpen=e)===n?i.toggleClass("md-locked-open",!!e):y[e?"addClass":"removeClass"](i,"md-locked-open");l&&l.toggleClass("md-locked-open",!!e)}),r.$watch("isOpen",function(e){var n,t=$.findFocusTarget(i)||$.findFocusTarget(i,"[md-sidenav-focus]")||i,o=i.parent();d||(o[e?"on":"off"]("keydown",g),l&&l[e?"on":"off"]("click",v));n=function(e,n){var t=i[0],o=e[0].scrollTop;if(n&&o){c={top:t.style.top,bottom:t.style.bottom,height:t.style.height};var r={top:o+"px",bottom:"auto",height:e[0].clientHeight+"px"};i.css(r),l.css(r)}if(!n&&c)return function(){t.style.top=c.top,t.style.bottom=c.bottom,t.style.height=c.height,l[0].style.top=null,l[0].style.bottom=null,l[0].style.height=null,c=null}}(o,e),e&&(m=w[0].activeElement,s=S.getLastInteractionType());return function(e){e&&!a?(a=u.css("overflow"),u.css("overflow","hidden")):angular.isDefined(a)&&(u.css("overflow",a),a=void 0)}(e),p=k.all([e&&l?y.enter(l,o):l?y.leave(l):k.when(!0),y[e?"removeClass":"addClass"](i,"md-closed")]).then(function(){r.isOpen&&(F(function(){f.triggerHandler("resize")}),t&&t.focus()),n&&n()})}),n.$toggleOpen=function(e){return r.isOpen===e?k.when(!0):(r.isOpen&&n.onCloseCb&&n.onCloseCb(),k(function(n){r.isOpen=e,$.nextTick(function(){p.then(function(e){!r.isOpen&&m&&"keyboard"===s&&(m.focus(),m=null),n(e)})})}))}}}function SidenavController(n,e,t,o,r){var i=this;i.isOpen=function(){return!!n.isOpen},i.isLockedOpen=function(){return!!n.isLockedOpen},i.onClose=function(e){return i.onCloseCb=e,i},i.open=function(){return i.$toggleOpen(!0)},i.close=function(){return i.$toggleOpen(!1)},i.toggle=function(){return i.$toggleOpen(!n.isOpen)},i.$toggleOpen=function(e){return o.when(n.isOpen=e)};var a=e.mdComponentId,l=a&&-1<a.indexOf(r.startSymbol()),d=l?r(a)(n.$parent):a;i.destroy=t.register(i,d),l&&e.$observe("mdComponentId",function(e){e&&e!==i.$$mdHandle&&(i.destroy(),i.destroy=t.register(i,e))})}goog.provide("ngmaterial.components.sidenav"),goog.require("ngmaterial.components.backdrop"),goog.require("ngmaterial.core"),SidenavService.$inject=["$mdComponentRegistry","$mdUtil","$q","$log"],SidenavDirective.$inject=["$mdMedia","$mdUtil","$mdConstant","$mdTheming","$mdInteraction","$animate","$compile","$pa