mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-10-13 07:47:12 +00:00
(js/css) Update generated files
This commit is contained in:
1 parent
eb14676489
commit
401bea2133
6 files changed
+285
-178
No files matched your search
@@ -1 +1 @@
|
||||
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline}html{line-height:1}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}caption,th,td{text-align:left;font-weight:400;vertical-align:middle}q,blockquote{quotes:none}q:before,q:after,blockquote:before,blockquote:after{content:"";content:none}a img{border:none}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}[ng\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak{display:none!important}@-moz-document url-prefix(){[layout-fill]{margin:0;width:100%;min-height:100%;height:100%}}[flex-order]{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}[flex-order="-20"]{-webkit-box-ordinal-group:-19;-webkit-order:-20;-ms-flex-order:-20;order:-20}[flex-order="-19"]{-webkit-box-ordinal-group:-18;-webkit-order:-19;-ms-flex-order:-19;order:-19}[flex-order="-18"]{-webkit-box-ordinal-group:-17;-webkit-order:-18;-ms-flex-order:-18;order:-18}[flex-order="-17"]{-webkit-box-ordinal-group:-16;-webkit-order:-17;-ms-flex-order:-17;order:-17}[flex-order="-16"]{-webkit-box-ordinal-group:-15;-webkit-order:-16;-ms-flex-order:-16;order:-16}[flex-order="-15"]{-webkit-box-ordinal-group:-14;-webkit-order:-15;-ms-flex-order:-15;order:-15}[flex-order="-14"]{-webkit-box-ordinal-group:-13;-webkit-order:-14;-ms-flex-order:-14;order:-14}[flex-order="-13"]{-webkit-box-ordinal-group:-12;-webkit-order:-13;-ms-flex-order:-13;order:-13}[flex-order="-12"]{-webkit-box-ordinal-group:-11;-webkit-order:-12;-ms-flex-order:-12;order:-12}[flex-order="-11"]{-webkit-box-ordinal-group:-10;-webkit-order:-11;-ms-flex-order:-11;order:-11}[flex-order="-10"]{-webkit-box-ordinal-group:-9;-webkit-order:-10;-ms-flex-order:-10;order:-10}[flex-order="-9"]{-webkit-box-ordinal-group:-8;-webkit-order:-9;-ms-flex-order:-9;order:-9}[flex-order="-8"]{-webkit-box-ordinal-group:-7;-webkit-order:-8;-ms-flex-order:-8;order:-8}[flex-order="-7"]{-webkit-box-ordinal-group:-6;-webkit-order:-7;-ms-flex-order:-7;order:-7}[flex-order="-6"]{-webkit-box-ordinal-group:-5;-webkit-order:-6;-ms-flex-order:-6;order:-6}[flex-order="-5"]{-webkit-box-ordinal-group:-4;-webkit-order:-5;-ms-flex-order:-5;order:-5}[flex-order="-4"]{-webkit-box-ordinal-group:-3;-webkit-order:-4;-ms-flex-order:-4;order:-4}[flex-order="-3"]{-webkit-box-ordinal-group:-2;-webkit-order:-3;-ms-flex-order:-3;order:-3}[flex-order="-2"]{-webkit-box-ordinal-group:-1;-webkit-order:-2;-ms-flex-order:-2;order:-2}[flex-order="-1"]{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}[flex-order="0"]{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}[flex-order="1"]{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}[flex-order="2"]{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}[flex-order="3"]{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}[flex-order="4"]{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}[flex-order="5"]{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}[flex-order="6"]{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}[flex-order="7"]{-webkit-box-ordinal-group:8;-webkit-order:7;-ms-flex-order:7;order:7}[flex-order="8"]{-webkit-box-ordinal-group:9;-webkit-order:8;-ms-flex-order:8;order:8}[flex-order="9"]{-webkit-box-ordinal-group:10;-webkit-order:9;-ms-flex-order:9;order:9}[flex-order="10"]{-webkit-box-ordinal-group:11;-webkit-order:10;-ms-flex-order:10;order:10}[flex-order="11"]{-webkit-box-ordinal-group:12;-webkit-order:11;-ms-flex-order:11;order:11}[flex-order="12"]{-webkit-box-ordinal-group:13;-webkit-order:12;-ms-flex-order:12;order:12}[flex-order="13"]{-webkit-box-ordinal-group:14;-webkit-order:13;-ms-flex-order:13;order:13}[flex-order="14"]{-webkit-box-ordinal-group:15;-webkit-order:14;-ms-flex-order:14;order:14}[flex-order="15"]{-webkit-box-ordinal-group:16;-webkit-order:15;-ms-flex-order:15;order:15}[flex-order="16"]{-webkit-box-ordinal-group:17;-webkit-order:16;-ms-flex-order:16;order:16}[flex-order="17"]{-webkit-box-ordinal-group:18;-webkit-order:17;-ms-flex-order:17;order:17}[flex-order="18"]{-webkit-box-ordinal-group:19;-webkit-order:18;-ms-flex-order:18;order:18}[flex-order="19"]{-webkit-box-ordinal-group:20;-webkit-order:19;-ms-flex-order:19;order:19}[flex-order="20"]{-webkit-box-ordinal-group:21;-webkit-order:20;-ms-flex-order:20;order:20}[flex-offset="0"]{margin-left:0}[flex-offset="5"]{margin-left:5%}[flex-offset="10"]{margin-left:10%}[flex-offset="15"]{margin-left:15%}Line truncated
|
||||
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline}html{line-height:1}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}caption,th,td{text-align:left;font-weight:400;vertical-align:middle}q,blockquote{quotes:none}q:before,q:after,blockquote:before,blockquote:after{content:"";content:none}a img{border:none}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}[ng\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak{display:none!important}@-moz-document url-prefix(){[layout-fill]{margin:0;width:100%;min-height:100%;height:100%}}[flex-order]{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}[flex-order="-20"]{-webkit-box-ordinal-group:-19;-webkit-order:-20;-ms-flex-order:-20;order:-20}[flex-order="-19"]{-webkit-box-ordinal-group:-18;-webkit-order:-19;-ms-flex-order:-19;order:-19}[flex-order="-18"]{-webkit-box-ordinal-group:-17;-webkit-order:-18;-ms-flex-order:-18;order:-18}[flex-order="-17"]{-webkit-box-ordinal-group:-16;-webkit-order:-17;-ms-flex-order:-17;order:-17}[flex-order="-16"]{-webkit-box-ordinal-group:-15;-webkit-order:-16;-ms-flex-order:-16;order:-16}[flex-order="-15"]{-webkit-box-ordinal-group:-14;-webkit-order:-15;-ms-flex-order:-15;order:-15}[flex-order="-14"]{-webkit-box-ordinal-group:-13;-webkit-order:-14;-ms-flex-order:-14;order:-14}[flex-order="-13"]{-webkit-box-ordinal-group:-12;-webkit-order:-13;-ms-flex-order:-13;order:-13}[flex-order="-12"]{-webkit-box-ordinal-group:-11;-webkit-order:-12;-ms-flex-order:-12;order:-12}[flex-order="-11"]{-webkit-box-ordinal-group:-10;-webkit-order:-11;-ms-flex-order:-11;order:-11}[flex-order="-10"]{-webkit-box-ordinal-group:-9;-webkit-order:-10;-ms-flex-order:-10;order:-10}[flex-order="-9"]{-webkit-box-ordinal-group:-8;-webkit-order:-9;-ms-flex-order:-9;order:-9}[flex-order="-8"]{-webkit-box-ordinal-group:-7;-webkit-order:-8;-ms-flex-order:-8;order:-8}[flex-order="-7"]{-webkit-box-ordinal-group:-6;-webkit-order:-7;-ms-flex-order:-7;order:-7}[flex-order="-6"]{-webkit-box-ordinal-group:-5;-webkit-order:-6;-ms-flex-order:-6;order:-6}[flex-order="-5"]{-webkit-box-ordinal-group:-4;-webkit-order:-5;-ms-flex-order:-5;order:-5}[flex-order="-4"]{-webkit-box-ordinal-group:-3;-webkit-order:-4;-ms-flex-order:-4;order:-4}[flex-order="-3"]{-webkit-box-ordinal-group:-2;-webkit-order:-3;-ms-flex-order:-3;order:-3}[flex-order="-2"]{-webkit-box-ordinal-group:-1;-webkit-order:-2;-ms-flex-order:-2;order:-2}[flex-order="-1"]{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}[flex-order="0"]{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}[flex-order="1"]{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}[flex-order="2"]{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}[flex-order="3"]{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}[flex-order="4"]{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}[flex-order="5"]{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}[flex-order="6"]{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}[flex-order="7"]{-webkit-box-ordinal-group:8;-webkit-order:7;-ms-flex-order:7;order:7}[flex-order="8"]{-webkit-box-ordinal-group:9;-webkit-order:8;-ms-flex-order:8;order:8}[flex-order="9"]{-webkit-box-ordinal-group:10;-webkit-order:9;-ms-flex-order:9;order:9}[flex-order="10"]{-webkit-box-ordinal-group:11;-webkit-order:10;-ms-flex-order:10;order:10}[flex-order="11"]{-webkit-box-ordinal-group:12;-webkit-order:11;-ms-flex-order:11;order:11}[flex-order="12"]{-webkit-box-ordinal-group:13;-webkit-order:12;-ms-flex-order:12;order:12}[flex-order="13"]{-webkit-box-ordinal-group:14;-webkit-order:13;-ms-flex-order:13;order:13}[flex-order="14"]{-webkit-box-ordinal-group:15;-webkit-order:14;-ms-flex-order:14;order:14}[flex-order="15"]{-webkit-box-ordinal-group:16;-webkit-order:15;-ms-flex-order:15;order:15}[flex-order="16"]{-webkit-box-ordinal-group:17;-webkit-order:16;-ms-flex-order:16;order:16}[flex-order="17"]{-webkit-box-ordinal-group:18;-webkit-order:17;-ms-flex-order:17;order:17}[flex-order="18"]{-webkit-box-ordinal-group:19;-webkit-order:18;-ms-flex-order:18;order:18}[flex-order="19"]{-webkit-box-ordinal-group:20;-webkit-order:19;-ms-flex-order:19;order:19}[flex-order="20"]{-webkit-box-ordinal-group:21;-webkit-order:20;-ms-flex-order:20;order:20}[flex-offset="0"]{margin-left:0}[flex-offset="5"]{margin-left:5%}[flex-offset="10"]{margin-left:10%}[flex-offset="15"]{margin-left:15%}Line truncated
|
||||
@@ -144,6 +144,6 @@
|
||||
"../scss/views/SchedulerUI.scss",
|
||||
"../scss/views/AdministrationUI.scss"
|
||||
],
|
||||
"mappings": "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 truncated
|
||||
"mappings": "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 truncated
|
||||
"names": []
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
!function(){"use strict";function a(b){if(this.init(b),this.name&&!this.id){var c=a.$$resource.create("createFolder",this.name);this.$unwrap(c)}}a.$factory=["$q","$timeout","$log","sgSettings","Resource","Preferences","Component","Acl",function(b,c,d,e,f,g,h,i){return angular.extend(a,{$q:b,$timeout:c,$log:d,$$resource:new f(e.activeUser("folderURL")+"Calendar",e.activeUser()),$Preferences:g,$Component:h,$$Acl:i,activeUser:e.activeUser(),$view:null}),a}];try{angular.module("SOGo.SchedulerUI")}catch(b){angular.module("SOGo.SchedulerUI",["SOGo.Common"])}angular.module("SOGo.SchedulerUI").value("CalendarSettings",{EventDragDayLength:96,EventDragHorizontalOffset:3}).factory("Calendar",a.$factory),a.$defaultCalendar=function(){var b,c=a.$Preferences.defaults.SOGoDefaultCalendar;return"first"==c&&(b=_.find(a.$findAll(null,!0),function(a){return a.active}))?b.id:"personal"},a.$add=function(a){var b,c,d;b=a.isWebCalendar?this.$webcalendars:a.isSubscription?this.$subscriptions:this.$calendars,c=_.find(b,function(b){return"personal"==a.id||"personal"!=b.id&&1===b.name.localeCompare(a.name)}),d=c?_.indexOf(_.map(b,"id"),c.id):1,b.splice(d,0,a)},a.$findAll=function(b,c){var d=this;return b?(this.$calendars=[],this.$subscriptions=[],this.$webcalendars=[],angular.forEach(b,function(b,c){var e=new a(b);e.isWebCalendar?d.$webcalendars.push(e):e.isSubscription?d.$subscriptions.push(e):d.$calendars.push(e)})):angular.isUndefined(this.$calendars)&&(this.$calendars=[],this.$subscriptions=[],this.$webcalendars=[],a.$$resource.fetch("calendarslist").then(function(b){a.$findAll(b.calendars,c)})),c?_.union(this.$calendars,_.filter(this.$subscriptions,function(a){return a.isOwned||a.acls.objectCreator})):_.union(this.$calendars,this.$subscriptions,this.$webcalendars)},a.$get=function(b){var c;return c=_.find(a.$calendars,function(a){return a.id==b}),c||(c=_.find(a.$subscriptions,function(a){return a.id==b})),c||(c=_.find(a.$webcalendars,function(a){return a.id==b})),c},a.$getIndex=function(b){var c;return c=_.indexOf(_.map(a.$calendars,"id"),b),0>c&&(c=_.indexOf(_.map(a.$subscriptions,"id"),b)),0>c&&(c=_.indexOf(_.map(a.$webcalendars,"id"),b)),c},a.$subscribe=function(b,c){var d=this;return a.$$resource.userResource(b).fetch(c,"subscribe").then(function(b){var c=new a(angular.extend({active:1},b));return _.find(d.$subscriptions,function(a){return a.id==b.id})||a.$add(c),c})},a.$addWebCalendar=function(b){var c=this,d=a.$q.defer();return _.find(c.$webcalendars,function(a){return a.urls.webCalendarURL==b})?d.reject():a.$$resource.post(null,"addWebCalendar",{url:b}).then(function(c){angular.extend(c,{isWebCalendar:!0,isEditable:!0,isRemote:!1,owner:a.activeUser.login,urls:{webCalendarURL:b}});var e=new a(c);a.$add(e),a.$$resource.fetch(e.id,"reload").then(function(b){a.$log.debug(JSON.stringify(b,void 0,2))}),d.resolve()},function(){d.reject()}),d.promise},a.$deleteComponents=function(b){var c={},d=[];return _.forEach(b,function(a){angular.isDefined(c[a.pid])||(c[a.pid]=[]),c[a.pid].push(a.id)}),_.forEach(c,function(b,c){d.push(a.$$resource.post(c,"batchDelete",{uids:b}))}),a.$q.all(d)},a.prototype.init=function(b){this.color=this.color||"#AAAAAA",angular.extend(this,b),this.id&&(this.$acl=new a.$$Acl("Calendar/"+this.id)),this.isOwned=a.activeUser.isSuperUser||this.owner==a.activeUser.login,this.isSubscription=!this.isRemote&&this.owner!=a.activeUser.login,angular.isUndefined(this.$shadowData)&&(this.$shadowData=this.$omit())},a.prototype.$id=function(){return this.id?a.$q.when(this.id):this.$futureCalendarData.then(function(a){return a.id})},a.prototype.getClassName=function(a){return angular.isUndefined(a)&&(a="fg"),a+"-folder"+this.id},a.prototype.$rename=function(){var b,c,d=this;return this.name==this.$shadowData.name?a.$q.when():(c=this.isWebCalendar?a.$webcalendars:this.isSubscription?a.$subscriptions:a.$calendars,b=_.indexOf(_.map(c,"id"),this.id),b>-1?this.$save().then(function(){c.splice(b,1),a.$add(d)}):a.$q.reject())},a.prototype.$delete=function(){var b,c,d=this;return this.isSubscription?(c=a.$$resource.fetch(this.id,"unsubscribe"),b=a.$subscriptions):(c=a.$$resource.remove(this.id),b=this.isWebCalendar?a.$webcalendars:a.$calendars),c.then(function(){var a=_.indexOf(_.map(b,"id"),d.id);b.splice(a,1)})},a.prototype.$reset=function(){var a=this;angular.forEach(this,function(b,c){"constructor"!=c&&"$"!=c[0]&&delete a[c]}),angular.extend(this,this.$shadowData),this.$shadowData=this.$omit()},a.prototype.$save=function(){var b=this;return a.$$resource.save(this.id,this.$omit()).then(function(a){return b.$shadowData=b.$omit(),a},function(c){return a.$log.error(JSON.stringify(c,void 0,2)),b.$reset(),c})},a.prototype.$setActivation=function(){return a.$$resource.fetch(this.id,(this.active?"":"de")+"activateFolder")},a.prototype.$getComponent=function(b,c){return a.$Component.$find(this.id,b,c)},a.prototype.$unwrap=function(b){var c=this;this.$futureCalendarData=b.then(function(b){return a.$timeout(function(){return c.init(b),c}Line truncated
|
||||
return{id:a.asCSSIdentifier(),name:a,color:k.defaults.SOGoCalendarCategoriesColors[a]}})}),b.$watch(function(){return _.union(_.map(m.$calendars,function(a){return _.pick(a,["id","active","color"])}),_.map(m.$subscriptions,function(a){return _.pick(a,["id","active","color"])}),_.map(m.$webcalendars,function(a){return _.pick(a,["id","active","color"])}))},function(b,c){var d,f,g;d=_.intersectionBy(b,c,"id"),f=_.map(_.filter(d,function(a){var b=_.find(c,{id:a.id});return!_.isEqual(a,b)}),"id"),g=[],f.length>0&&(e.debug(f.join(", ")+" changed"),_.forEach(f,function(a){var b=m.$get(a);g.push(b.$setActivation())})),d.length>0&&m.$q.all(g).then(function(){a.$emit("calendars:list")})},!0)}a.$inject=["$rootScope","$scope","$window","$mdDialog","$log","$mdToast","FileUploader","sgFocus","Dialog","sgSettings","Preferences","Calendar","User","stateCalendars"],angular.module("SOGo.SchedulerUI").controller("CalendarsController",a)}(),function(){"use strict";function a(a,b,c,d,e,f,g){function h(){b.hide()}function i(a){return e.$filterAll(a),e.$cards}function j(){var a="vevent"==u.component.component?"Appointment":"Task";b.hide().then(function(){var c="UIx"+a+"EditorTemplate";b.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:c,controller:"ComponentEditorController",controllerAs:"editor",locals:{stateComponent:u.component}})})}function k(){t=c.$get(u.component.pid).$getComponent(u.component.id),t.$futureComponentData.then(function(){u.component=t,j()})}function m(c){var d=c||u.component;d.$reply().then(function(){a.$emit("calendars:list"),b.hide(),f.getAlarms()})}function n(){t=c.$get(u.component.pid).$getComponent(u.component.id),t.$futureComponentData.then(function(){t.reply=u.component.reply,t.delegatedTo=u.component.delegatedTo,t.$hasAlarm=u.component.$hasAlarm,t.alarm=u.component.alarm,m(t)})}function o(){u.component.remove(!0).then(function(){a.$emit("calendars:list"),b.hide()})}function p(){u.component.remove().then(function(){a.$emit("calendars:list"),b.hide()})}function q(a){c.$$resource.post(u.component.pid+"/"+u.component.id,"raw").then(function(c){function d(a,b){a.close=function(){b.hide()}}b.hide(),b.show({parent:angular.element(document.body),targetEvent:a,clickOutsideToClose:!0,escapeToClose:!0,template:['<md-dialog flex="80" flex-xs="100" aria-label="'+l("View Raw Source")+'">',' <md-dialog-content class="md-dialog-content">'," <pre>",c," </pre>"," </md-dialog-content>"," <md-dialog-actions>",' <md-button ng-click="close()">'+l("Close")+"</md-button>"," </md-dialog-actions>","</md-dialog>"].join(""),controller:d}),d.$inject=["scope","$mdDialog"]})}function r(c){u.component.copyTo(c).then(function(){b.hide(),a.$emit("calendars:list")})}function s(c){u.component.moveTo(c).then(function(){b.hide(),a.$emit("calendars:list")})}var t,u=this;u.calendarService=c,u.service=d,u.component=g,u.close=h,u.cardFilter=i,u.edit=j,u.editAllOccurrences=k,u.reply=m,u.replyAllOccurrences=n,u.deleteOccurrence=o,u.deleteAllOccurrences=p,u.toggleRawSource=q,u.copySelectedComponent=r,u.moveSelectedComponent=s,angular.isUndefined(u.component.$futureComponentData)&&(t=c.$get(u.component.pid).$getComponent(u.component.id,u.component.occurrenceId),t.$futureComponentData.then(function(){u.component=t,u.organizer=[u.component.organizer]}))}function b(a,b,c,d,e,f,g,h,i,j,k,l){function m(){var a=I.component.addAttachUrl("");focus("attachUrl_"+a)}function n(){I.showRecurrenceEditor=!I.showRecurrenceEditor,I.component.$hasCustomRepeat=I.showRecurrenceEditor}function o(){I.showAttendeesEditor=!I.showAttendeesEditor}function p(a){return i.$filterAll(a),i.$cards}function q(a){angular.isString(a)?a.isValidEmail()&&(I.component.addAttendee(new j({emails:[{value:a}]})),I.searchText=""):I.component.addAttendee(a)}function r(a){I.component.deleteAttendee(a),0===I.component.attendees.length&&(I.showAttendeesEditor=!1)}function s(b,c){b.$valid&&I.component.$save(c).then(function(b){a.$emit("calendars:list"),e.hide(),k.getAlarms()},function(a){403==a.status&&a.data&&a.data.message&&angular.isObject(a.data.message)&&(I.attendeeConflictError=a.data.message)})}function t(){I.component.$reset(),I.component.isNew&&(I.component=null),e.cancel()}function u(){var a=[];return I.component.start&&I.component.end&&(a=I.component.start.daysUpTo(I.component.end)),_.map(a,function(a){return{stringWithSeparator:a.stringWithSeparator(),getDayString:a.getDayString()}})}function v(){for(var a=[],b=0;23>=b;b++)a.push(b.toString());return a}function w(){I.component.$addStartDate(),F=new Date(I.component.start.getTime())}function x(){I.component.$addDueDate(),H=new Date(I.component.due.getTime())}function y(){I.component.start.addMinutes(60*F.getHours()+F.getMinutes()),z()}function z(){var a;a=F.valueOf()-I.component.start.valueOf(),0!==a&&(F=new Date(I.component.start.getTime()),"appointment"===I.component.type&&(I.component.end=new Date(I.component.start.getTime()),I.component.end.addMinutes(I.component.deltaLine truncated
|
||||
!function(){"use strict";function a(b){if(this.init(b),this.name&&!this.id){var c=a.$$resource.create("createFolder",this.name);this.$unwrap(c)}}a.$factory=["$q","$timeout","$log","sgSettings","Resource","Preferences","Component","Acl",function(b,c,d,e,f,g,h,i){return angular.extend(a,{$q:b,$timeout:c,$log:d,$$resource:new f(e.activeUser("folderURL")+"Calendar",e.activeUser()),$Preferences:g,$Component:h,$$Acl:i,activeUser:e.activeUser(),$view:null}),a}];try{angular.module("SOGo.SchedulerUI")}catch(b){angular.module("SOGo.SchedulerUI",["SOGo.Common"])}angular.module("SOGo.SchedulerUI").value("CalendarSettings",{EventDragDayLength:96,EventDragHorizontalOffset:3}).factory("Calendar",a.$factory),a.$defaultCalendar=function(){var b,c=a.$Preferences.defaults.SOGoDefaultCalendar;return"first"==c&&(b=_.find(a.$findAll(null,!0),function(a){return a.active}))?b.id:"personal"},a.$add=function(a){var b,c,d;b=a.isWebCalendar?this.$webcalendars:a.isSubscription?this.$subscriptions:this.$calendars,c=_.find(b,function(b){return"personal"==a.id||"personal"!=b.id&&1===b.name.localeCompare(a.name)}),d=c?_.indexOf(_.map(b,"id"),c.id):1,b.splice(d,0,a)},a.$findAll=function(b,c){var d=this;return b?(this.$calendars=[],this.$subscriptions=[],this.$webcalendars=[],angular.forEach(b,function(b,c){var e=new a(b);e.isWebCalendar?d.$webcalendars.push(e):e.isSubscription?d.$subscriptions.push(e):d.$calendars.push(e)})):angular.isUndefined(this.$calendars)&&(this.$calendars=[],this.$subscriptions=[],this.$webcalendars=[],a.$$resource.fetch("calendarslist").then(function(b){a.$findAll(b.calendars,c)})),c?_.union(this.$calendars,_.filter(this.$subscriptions,function(a){return a.isOwned||a.acls.objectCreator})):_.union(this.$calendars,this.$subscriptions,this.$webcalendars)},a.$get=function(b){var c;return c=_.find(a.$calendars,function(a){return a.id==b}),c||(c=_.find(a.$subscriptions,function(a){return a.id==b})),c||(c=_.find(a.$webcalendars,function(a){return a.id==b})),c},a.$getIndex=function(b){var c;return c=_.indexOf(_.map(a.$calendars,"id"),b),0>c&&(c=_.indexOf(_.map(a.$subscriptions,"id"),b)),0>c&&(c=_.indexOf(_.map(a.$webcalendars,"id"),b)),c},a.$subscribe=function(b,c){var d=this;return a.$$resource.userResource(b).fetch(c,"subscribe").then(function(b){var c=new a(angular.extend({active:1},b));return _.find(d.$subscriptions,function(a){return a.id==b.id})||a.$add(c),c})},a.$addWebCalendar=function(b){var c=this,d=a.$q.defer();return _.find(c.$webcalendars,function(a){return a.urls.webCalendarURL==b})?d.reject():a.$$resource.post(null,"addWebCalendar",{url:b}).then(function(c){angular.extend(c,{isWebCalendar:!0,isEditable:!0,isRemote:!1,owner:a.activeUser.login,urls:{webCalendarURL:b}});var e=new a(c);a.$add(e),a.$$resource.fetch(e.id,"reload").then(function(b){a.$log.debug(JSON.stringify(b,void 0,2))}),d.resolve()},function(){d.reject()}),d.promise},a.$deleteComponents=function(b){var c={},d=[];return _.forEach(b,function(a){angular.isDefined(c[a.pid])||(c[a.pid]=[]),c[a.pid].push(a.id)}),_.forEach(c,function(b,c){d.push(a.$$resource.post(c,"batchDelete",{uids:b}))}),a.$q.all(d)},a.prototype.init=function(b){this.color=this.color||"#AAAAAA",angular.extend(this,b),this.id&&(this.$acl=new a.$$Acl("Calendar/"+this.id)),this.isOwned=a.activeUser.isSuperUser||this.owner==a.activeUser.login,this.isSubscription=!this.isRemote&&this.owner!=a.activeUser.login,angular.isUndefined(this.$shadowData)&&(this.$shadowData=this.$omit())},a.prototype.$id=function(){return this.id?a.$q.when(this.id):this.$futureCalendarData.then(function(a){return a.id})},a.prototype.getClassName=function(a){return angular.isUndefined(a)&&(a="fg"),a+"-folder"+this.id},a.prototype.$rename=function(){var b,c,d=this;return this.name==this.$shadowData.name?a.$q.when():(c=this.isWebCalendar?a.$webcalendars:this.isSubscription?a.$subscriptions:a.$calendars,b=_.indexOf(_.map(c,"id"),this.id),b>-1?this.$save().then(function(){c.splice(b,1),a.$add(d)}):a.$q.reject())},a.prototype.$delete=function(){var b,c,d=this;return this.isSubscription?(c=a.$$resource.fetch(this.id,"unsubscribe"),b=a.$subscriptions):(c=a.$$resource.remove(this.id),b=this.isWebCalendar?a.$webcalendars:a.$calendars),c.then(function(){var a=_.indexOf(_.map(b,"id"),d.id);b.splice(a,1)})},a.prototype.$reset=function(){var a=this;angular.forEach(this,function(b,c){"constructor"!=c&&"$"!=c[0]&&delete a[c]}),angular.extend(this,this.$shadowData),this.$shadowData=this.$omit()},a.prototype.$save=function(){var b=this;return a.$$resource.save(this.id,this.$omit()).then(function(a){return b.$shadowData=b.$omit(),a},function(c){return a.$log.error(JSON.stringify(c,void 0,2)),b.$reset(),c})},a.prototype.$setActivation=function(){return a.$$resource.fetch(this.id,(this.active?"":"de")+"activateFolder")},a.prototype.$getComponent=function(b,c){return a.$Component.$find(this.id,b,c)},a.prototype.$unwrap=function(b){var c=this;this.$futureCalendarData=b.then(function(b){return a.$timeout(function(){return c.init(b),c}Line truncated
|
||||
E.revertEditing=z,E.renameFolder=A,E.share=B,E.importCalendar=s,E.exportCalendar=t,E.showOnly=u,E.showAll=v,E.showLinks=w,E.showProperties=x,E.subscribeToFolder=C,E.today=D,k.ready().then(function(){E.categories=_.map(k.defaults.SOGoCalendarCategories,function(a){return{id:a.asCSSIdentifier(),name:a,color:k.defaults.SOGoCalendarCategoriesColors[a]}})}),b.$watch(function(){return _.union(_.map(m.$calendars,function(a){return _.pick(a,["id","active","color"])}),_.map(m.$subscriptions,function(a){return _.pick(a,["id","active","color"])}),_.map(m.$webcalendars,function(a){return _.pick(a,["id","active","color"])}))},function(b,c){var d,f,g;d=_.intersectionBy(b,c,"id"),f=_.map(_.filter(d,function(a){var b=_.find(c,{id:a.id});return!_.isEqual(a,b)}),"id"),g=[],f.length>0&&(e.debug(f.join(", ")+" changed"),_.forEach(f,function(a){var b=m.$get(a);g.push(b.$setActivation())})),d.length>0&&m.$q.all(g).then(function(){a.$emit("calendars:list")})},!0)}a.$inject=["$rootScope","$scope","$window","$mdDialog","$log","$mdToast","FileUploader","sgFocus","Dialog","sgSettings","Preferences","Calendar","User","stateCalendars"],angular.module("SOGo.SchedulerUI").controller("CalendarsController",a)}(),function(){"use strict";function a(a,b,c,d,e,f,g){function h(){b.hide()}function i(a){return e.$filterAll(a),e.$cards}function j(){var a="vevent"==u.component.component?"Appointment":"Task";b.hide().then(function(){var c="UIx"+a+"EditorTemplate";b.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:c,controller:"ComponentEditorController",controllerAs:"editor",locals:{stateComponent:u.component}})})}function k(){t=c.$get(u.component.pid).$getComponent(u.component.id),t.$futureComponentData.then(function(){u.component=t,j()})}function m(c){var d=c||u.component;d.$reply().then(function(){a.$emit("calendars:list"),b.hide(),f.getAlarms()})}function n(){t=c.$get(u.component.pid).$getComponent(u.component.id),t.$futureComponentData.then(function(){t.reply=u.component.reply,t.delegatedTo=u.component.delegatedTo,t.$hasAlarm=u.component.$hasAlarm,t.alarm=u.component.alarm,m(t)})}function o(){u.component.remove(!0).then(function(){a.$emit("calendars:list"),b.hide()})}function p(){u.component.remove().then(function(){a.$emit("calendars:list"),b.hide()})}function q(a){c.$$resource.post(u.component.pid+"/"+u.component.id,"raw").then(function(c){function d(a,b){a.close=function(){b.hide()}}b.hide(),b.show({parent:angular.element(document.body),targetEvent:a,clickOutsideToClose:!0,escapeToClose:!0,template:['<md-dialog flex="80" flex-xs="100" aria-label="'+l("View Raw Source")+'">',' <md-dialog-content class="md-dialog-content">'," <pre>",c," </pre>"," </md-dialog-content>"," <md-dialog-actions>",' <md-button ng-click="close()">'+l("Close")+"</md-button>"," </md-dialog-actions>","</md-dialog>"].join(""),controller:d}),d.$inject=["scope","$mdDialog"]})}function r(c){u.component.copyTo(c).then(function(){b.hide(),a.$emit("calendars:list")})}function s(c){u.component.moveTo(c).then(function(){b.hide(),a.$emit("calendars:list")})}var t,u=this;u.calendarService=c,u.service=d,u.component=g,u.close=h,u.cardFilter=i,u.edit=j,u.editAllOccurrences=k,u.reply=m,u.replyAllOccurrences=n,u.deleteOccurrence=o,u.deleteAllOccurrences=p,u.toggleRawSource=q,u.copySelectedComponent=r,u.moveSelectedComponent=s,angular.isUndefined(u.component.$futureComponentData)&&(t=c.$get(u.component.pid).$getComponent(u.component.id,u.component.occurrenceId),t.$futureComponentData.then(function(){u.component=t,u.organizer=[u.component.organizer]}))}function b(a,b,c,d,e,f,g,h,i,j,k,l){function m(){var a=I.component.addAttachUrl("");focus("attachUrl_"+a)}function n(){I.showRecurrenceEditor=!I.showRecurrenceEditor,I.component.$hasCustomRepeat=I.showRecurrenceEditor}function o(){I.showAttendeesEditor=!I.showAttendeesEditor}function p(a){return i.$filterAll(a),i.$cards}function q(a){angular.isString(a)?a.isValidEmail()&&(I.component.addAttendee(new j({emails:[{value:a}]})),I.searchText=""):I.component.addAttendee(a)}function r(a){I.component.deleteAttendee(a),0===I.component.attendees.length&&(I.showAttendeesEditor=!1)}function s(b,c){b.$valid&&I.component.$save(c).then(function(b){a.$emit("calendars:list"),e.hide(),k.getAlarms()},function(a){403==a.status&&a.data&&a.data.message&&angular.isObject(a.data.message)&&(I.attendeeConflictError=a.data.message)})}function t(){I.component.$reset(),I.component.isNew&&(I.component=null),e.cancel()}function u(){var a=[];return I.component.start&&I.component.end&&(a=I.component.start.daysUpTo(I.component.end)),_.map(a,function(a){return{stringWithSeparator:a.stringWithSeparator(),getDayString:a.getDayString()}})}function v(){for(var a=[],b=0;23>=b;b++)a.push(b.toString());return a}function w(){I.component.$addStartDate(),F=new Date(I.component.start.getTime())}function x(){I.component.$addDueDate(),H=new Date(I.component.due.getTime())}function y(){I.component.start.addMinutes(60*F.getHours(Line truncated
|
||||
//# sourceMappingURL=Scheduler.services.js.map
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"sources":["Scheduler/Calendar.service.js","Scheduler/Component.service.js","Scheduler/CalendarController.js","Scheduler/CalendarListController.js","Scheduler/CalendarsController.js","Scheduler/ComponentController.js","Scheduler/sgCalendarDay.directive.js","Scheduler/sgCalendarDayBlock.directive.js","Scheduler/sgCalendarDayTable.directive.js","Scheduler/sgCalendarGhost.directive.js","Scheduler/sgCalendarMonthDay.directive.js","Scheduler/sgCalendarMonthEvent.directive.js","Scheduler/sgCalendarScrollView.directive.js","Scheduler/sgDraggableCalendarBlock.directive.js"],"names":["Calendar","futureCalendarData","this","init","name","id","newCalendarData","$$resource","create","$unwrap","$factory","$q","$timeout","$log","Settings","Resource","Preferences","Component","Acl","angular","extend","activeUser","$Preferences","$Component","$$Acl","$view","module","e","value","EventDragDayLength","EventDragHorizontalOffset","factory","$defaultCalendar","calendar","defaultCalendar","defaults","SOGoDefaultCalendar","_","find","$findAll","active","$add","list","sibling","i","isWebCalendar","$webcalendars","isSubscription","$subscriptions","$calendars","o","localeCompare","indexOf","map","splice","data","writable","_this","forEach","push","isUndefined","fetch","then","calendars","union","filter","isOwned","acls","objectCreator","$get","$getIndex","$subscribe","uid","path","userResource","calendarData","$addWebCalendar","url","d","defer","urls","webCalendarURL","reject","post","isEditable","isRemote","owner","login","debug","JSON","stringify","undefined","resolve","promise","$deleteComponents","components","promises","component","isDefined","pid","uids","all","prototype","color","$acl","isSuperUser","$shadowData","$omit","$id","when","$futureCalendarData","getClassName","base","$rename","$save","$delete","remove","$reset","key","save","error","$setActivation","$getComponent","componentId","recurrenceId","$find","isError","isObject","futureComponentData","newComponentData","newguid","isNew","Card","Gravatar","$Card","$gravatar","timeFormat","$query","search","$queryEvents","sort","asc","filterpopup","$queryTasks","$refreshTimeout","$ghost","ready","settings","EventsFilterState","TasksFilterState","EventsSortingState","parseInt","TasksSortingState","show_completed","ShowCompletedTasks","$categories","SOGoCalendarCategoriesColors","SOGoTimeFormat","$selectedCount","count","$events","event","selected","length","$tasks","task","$startRefreshTimeout","type","cancel","refreshViewCheck","SOGoRefreshViewCheck","f","bind","$filter","timeInterval","options","now","Date","day","getDate","month","getMonth","year","getFullYear","queryKey","capitalize","params","otherType","dirty","keys","$unwrapCollection","calendarId","occurrenceId","join","filterCategories","query","re","RegExp","category","saveSelectedList","componentType","$eventsBlocksForView","view","date","firstDayOfWeek","viewAction","startDate","endDate","SOGoFirstDayOfWeek","beginOfWeek","setTime","getTime","addDays","setDate","setMonth","endOfWeek","$eventsBlocks","j","dates","deferred","toLowerCase","sd","getDayString","ed","views","reduceComponent","associateComponent","objects","eventData","componentData","zipObject","eventsFields","start","c_startdate","hour","getHourString","blocks","block","nbr","$views","viewData","allDayBlocks","reduce","events","flatten","dayNumber","calendarName","fields","invokeMap","$resetGhost","pointerHandler","startHour","endHour","$parseDate","dateString","time","substring","split","no_time","categories","repeat","alarm","action","quantity","unit","reference","relation","status","delta","classification","isString","setMinutes","Math","round","getMinutes","end","minutesTo","setDelta","dueDate","due","completedDate","completed","c_category","$isRecurrent","days","byDayMask","occurrence","frequency","byday","toString","interval","monthdays","months","until","$hasCustomRepeat","hasCustomRepeat","units","M","H","D","W","match","exec","SOGoCalendarDefaultReminder","$hasAlarm","destinationCalendar","updateFreeBusy","b","isReadOnly","isEditableOccurrence","isInvitation","userHasRSVP","isInvitationOccurrence","enablePercentComplete","coversFreeBusy","quarter","freebusy","updateFreeBusyCoverage","roundedStart","roundedEnd","startQuarter","endQuarter","daysUpTo","index","hourKey","currentDay","dayKey","getHours","beginOfDay","addMinutes","attendees","attendee","image","email","updateFreeBusyAttendee","sday","eday","c_folder","addAttendee","card","$isList","isGroup","container","c_name","listId","refs","ref","c_cn","$preferredEmail","role","c_uid","hasAttendee","emails","deleteAttendee","findIndex","currentAttendee","canRemindAttendeesByEmail","addAttachUrl","attachUrl","attachUrls","deleteAttachUrl","$addDueDate","toISOString","$deleteDueDate","$addStartDate","$deleteStartDate","$reply","reply","delegatedTo","$adjust","every","values","v","extraAttributes","dlp","constructor","$mdDateLocaleProvider","format","startTime","endTime","dueTime","stLine truncated
|
||||
{"version":3,"sources":["Scheduler/Calendar.service.js","Scheduler/Component.service.js","Scheduler/CalendarController.js","Scheduler/CalendarListController.js","Scheduler/CalendarsController.js","Scheduler/ComponentController.js","Scheduler/sgCalendarDay.directive.js","Scheduler/sgCalendarDayBlock.directive.js","Scheduler/sgCalendarDayTable.directive.js","Scheduler/sgCalendarGhost.directive.js","Scheduler/sgCalendarMonthDay.directive.js","Scheduler/sgCalendarMonthEvent.directive.js","Scheduler/sgCalendarScrollView.directive.js","Scheduler/sgDraggableCalendarBlock.directive.js"],"names":["Calendar","futureCalendarData","this","init","name","id","newCalendarData","$$resource","create","$unwrap","$factory","$q","$timeout","$log","Settings","Resource","Preferences","Component","Acl","angular","extend","activeUser","$Preferences","$Component","$$Acl","$view","module","e","value","EventDragDayLength","EventDragHorizontalOffset","factory","$defaultCalendar","calendar","defaultCalendar","defaults","SOGoDefaultCalendar","_","find","$findAll","active","$add","list","sibling","i","isWebCalendar","$webcalendars","isSubscription","$subscriptions","$calendars","o","localeCompare","indexOf","map","splice","data","writable","_this","forEach","push","isUndefined","fetch","then","calendars","union","filter","isOwned","acls","objectCreator","$get","$getIndex","$subscribe","uid","path","userResource","calendarData","$addWebCalendar","url","d","defer","urls","webCalendarURL","reject","post","isEditable","isRemote","owner","login","debug","JSON","stringify","undefined","resolve","promise","$deleteComponents","components","promises","component","isDefined","pid","uids","all","prototype","color","$acl","isSuperUser","$shadowData","$omit","$id","when","$futureCalendarData","getClassName","base","$rename","$save","$delete","remove","$reset","key","save","error","$setActivation","$getComponent","componentId","recurrenceId","$find","isError","isObject","futureComponentData","newComponentData","newguid","isNew","Card","Gravatar","$Card","$gravatar","timeFormat","$query","search","$queryEvents","sort","asc","filterpopup","$queryTasks","$refreshTimeout","$ghost","ready","settings","EventsFilterState","TasksFilterState","EventsSortingState","parseInt","TasksSortingState","show_completed","ShowCompletedTasks","$categories","SOGoCalendarCategoriesColors","SOGoTimeFormat","$selectedCount","count","$events","event","selected","length","$tasks","task","$startRefreshTimeout","type","cancel","refreshViewCheck","SOGoRefreshViewCheck","f","bind","$filter","timeInterval","options","now","Date","day","getDate","month","getMonth","year","getFullYear","queryKey","capitalize","params","otherType","dirty","keys","$unwrapCollection","calendarId","occurrenceId","join","filterCategories","query","re","RegExp","category","saveSelectedList","componentType","$eventsBlocksForView","view","date","firstDayOfWeek","viewAction","startDate","endDate","SOGoFirstDayOfWeek","beginOfWeek","setTime","getTime","addDays","setDate","setMonth","endOfWeek","$eventsBlocks","j","dates","deferred","toLowerCase","sd","getDayString","ed","views","reduceComponent","associateComponent","objects","eventData","componentData","zipObject","eventsFields","start","c_startdate","hour","getHourString","blocks","block","nbr","$views","viewData","allDayBlocks","reduce","events","flatten","dayNumber","calendarName","fields","invokeMap","$resetGhost","pointerHandler","startHour","endHour","$parseDate","dateString","time","substring","split","no_time","categories","repeat","alarm","action","quantity","unit","reference","relation","status","delta","classification","isString","setMinutes","Math","round","getMinutes","end","minutesTo","setDelta","dueDate","due","completedDate","completed","c_category","$isRecurrent","days","byDayMask","occurrence","frequency","byday","toString","interval","monthdays","months","until","$hasCustomRepeat","hasCustomRepeat","units","M","H","D","W","match","exec","SOGoCalendarDefaultReminder","$hasAlarm","destinationCalendar","updateFreeBusy","b","isReadOnly","isEditableOccurrence","isInvitation","userHasRSVP","isInvitationOccurrence","enablePercentComplete","coversFreeBusy","quarter","freebusy","updateFreeBusyCoverage","roundedStart","roundedEnd","startQuarter","endQuarter","daysUpTo","index","hourKey","currentDay","dayKey","getHours","beginOfDay","addMinutes","attendees","attendee","image","email","updateFreeBusyAttendee","sday","eday","c_folder","addAttendee","card","$isList","isGroup","container","c_name","listId","refs","ref","c_cn","$preferredEmail","role","c_uid","hasAttendee","emails","deleteAttendee","findIndex","currentAttendee","canRemindAttendeesByEmail","addAttachUrl","attachUrl","attachUrls","deleteAttachUrl","$addDueDate","toISOString","$deleteDueDate","$addStartDate","$deleteStartDate","$reply","reply","delegatedTo","$adjust","every","values","v","extraAttributes","dlp","constructor","$mdDateLocaleProvider","format","startTime","endTime","dueTime","stLine truncated
|
||||
+270
-163
@@ -2,7 +2,7 @@
|
||||
* Angular Material Design
|
||||
* https://github.com/angular/material
|
||||
* @license MIT
|
||||
* v1.0.6-master-ba130f2
|
||||
* v1.1.0-rc2-master-0fc0f3e
|
||||
*/
|
||||
(function( window, angular, undefined ){
|
||||
"use strict";
|
||||
@@ -4682,9 +4682,8 @@ angular.module('material.core.theming.palette', [])
|
||||
'700': '#616161',
|
||||
'800': '#424242',
|
||||
'900': '#212121',
|
||||
'1000': '#000000',
|
||||
'A100': '#ffffff',
|
||||
'A200': '#eeeeee',
|
||||
'A200': '#000000',
|
||||
'A400': '#303030',
|
||||
'A700': '#616161',
|
||||
'contrastDefaultColor': 'dark',
|
||||
@@ -4826,7 +4825,7 @@ var DARK_DEFAULT_HUES = {
|
||||
'default': 'A400',
|
||||
'hue-1': '800',
|
||||
'hue-2': '900',
|
||||
'hue-3': '1000'
|
||||
'hue-3': 'A200'
|
||||
}
|
||||
};
|
||||
THEME_COLOR_TYPES.forEach(function(colorType) {
|
||||
@@ -5272,7 +5271,7 @@ function generateAllThemes($injector) {
|
||||
|
||||
// The user specifies a 'default' contrast color as either light or dark,
|
||||
// then explicitly lists which hues are the opposite contrast (eg. A100 has dark, A200 has light)
|
||||
function sanitizePalette(palette) {
|
||||
function sanitizePalette(palette, name) {
|
||||
var defaultContrast = palette.contrastDefaultColor;
|
||||
var lightColors = palette.contrastLightColors || [];
|
||||
var strongLightColors = palette.contrastStrongLightColors || [];
|
||||
@@ -6727,7 +6726,12 @@ angular
|
||||
* @param {string=} ng-change Angular expression to be executed when input changes due to user interaction with the input element.
|
||||
* @param {boolean=} md-no-ink Use of attribute indicates use of ripple ink effects
|
||||
* @param {string=} aria-label Adds label to checkbox for accessibility.
|
||||
* Defaults to checkbox's text. If no default text is found, a warning will be logged.
|
||||
* Defaults to checkbox's text. If no default text is found, a warning will be logged.
|
||||
* @param {expression=} md-indeterminate This determines when the checkbox should be rendered as 'indeterminate'.
|
||||
* If a truthy expression or no value is passed in the checkbox renders in the md-indeterminate state.
|
||||
* If falsy expression is passed in it just looks like a normal unchecked checkbox.
|
||||
* The indeterminate, checked, and unchecked states are mutually exclusive. A box cannot be in any two states at the same time.
|
||||
* When a checkbox is indeterminate that overrides any checked/unchecked rendering logic.
|
||||
*
|
||||
* @usage
|
||||
* <hljs lang="html">
|
||||
@@ -6755,7 +6759,7 @@ function MdCheckboxDirective(inputDirective, $mdAria, $mdConstant, $mdTheming, $
|
||||
transclude: true,
|
||||
require: '?ngModel',
|
||||
priority: 210, // Run before ngAria
|
||||
template:
|
||||
template:
|
||||
'<div class="_md-container" md-ink-ripple md-ink-ripple-checkbox>' +
|
||||
'<div class="_md-icon"></div>' +
|
||||
'</div>' +
|
||||
@@ -6769,6 +6773,7 @@ function MdCheckboxDirective(inputDirective, $mdAria, $mdConstant, $mdTheming, $
|
||||
|
||||
function compile (tElement, tAttrs) {
|
||||
var container = tElement.children();
|
||||
var mdIndeterminateStateEnabled = tAttrs.hasOwnProperty('mdIndeterminate');
|
||||
|
||||
tAttrs.type = 'checkbox';
|
||||
tAttrs.tabindex = tAttrs.tabindex || '0';
|
||||
@@ -6789,8 +6794,13 @@ function MdCheckboxDirective(inputDirective, $mdAria, $mdConstant, $mdTheming, $
|
||||
});
|
||||
|
||||
return function postLink(scope, element, attr, ngModelCtrl) {
|
||||
var isIndeterminate;
|
||||
ngModelCtrl = ngModelCtrl || $mdUtil.fakeNgModel();
|
||||
$mdTheming(element);
|
||||
if (mdIndeterminateStateEnabled) {
|
||||
setIndeterminateState();
|
||||
scope.$watch(attr.mdIndeterminate, setIndeterminateState);
|
||||
}
|
||||
|
||||
if (attr.ngChecked) {
|
||||
scope.$watch(
|
||||
@@ -6856,6 +6866,7 @@ function MdCheckboxDirective(inputDirective, $mdAria, $mdConstant, $mdTheming, $
|
||||
listener(ev);
|
||||
}
|
||||
}
|
||||
|
||||
function listener(ev) {
|
||||
if (element[0].hasAttribute('disabled')) {
|
||||
return;
|
||||
@@ -6871,12 +6882,20 @@ function MdCheckboxDirective(inputDirective, $mdAria, $mdConstant, $mdTheming, $
|
||||
}
|
||||
|
||||
function render() {
|
||||
if(ngModelCtrl.$viewValue) {
|
||||
if(ngModelCtrl.$viewValue && !isIndeterminate) {
|
||||
element.addClass(CHECKED_CSS);
|
||||
} else {
|
||||
element.removeClass(CHECKED_CSS);
|
||||
}
|
||||
}
|
||||
|
||||
function setIndeterminateState(newValue) {
|
||||
isIndeterminate = newValue !== false;
|
||||
if (isIndeterminate) {
|
||||
element.attr('aria-checked', 'mixed');
|
||||
}
|
||||
element.toggleClass('md-indeterminate', isIndeterminate);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -9620,7 +9639,7 @@ function MdDialogProvider($$interimElementProvider) {
|
||||
var badActions = element[0].querySelectorAll('.md-actions');
|
||||
|
||||
if (badActions.length > 0) {
|
||||
$log.warn('Using a class of md-actions is deprected, please use <md-dialog-actions>.');
|
||||
$log.warn('Using a class of md-actions is deprecated, please use <md-dialog-actions>.');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11736,9 +11755,7 @@ function GridTileCaptionDirective() {
|
||||
* @description
|
||||
* Icon
|
||||
*/
|
||||
angular.module('material.components.icon', [
|
||||
'material.core'
|
||||
]);
|
||||
angular.module('material.components.icon', ['material.core']);
|
||||
|
||||
})();
|
||||
(function(){
|
||||
@@ -11780,6 +11797,11 @@ angular.module('material.components.input', [
|
||||
* Input and textarea elements will not behave properly unless the md-input-container
|
||||
* parent is provided.
|
||||
*
|
||||
* A single `<md-input-container>` should contain only one `<input>` element, otherwise it will throw an error.
|
||||
*
|
||||
* <b>Exception:</b> Hidden inputs (`<input type="hidden" />`) are ignored and will not throw an error, so
|
||||
* you may combine these with other inputs.
|
||||
*
|
||||
* @param md-is-error {expression=} When the given expression evaluates to true, the input container
|
||||
* will go into error state. Defaults to erroring if the input has been touched and is invalid.
|
||||
* @param md-no-float {boolean=} When present, `placeholder` attributes on the input will not be converted to floating
|
||||
@@ -11904,7 +11926,9 @@ function labelDirective() {
|
||||
* specified, a character counter will be shown underneath the input.<br/><br/>
|
||||
* The purpose of **`md-maxlength`** is exactly to show the max length counter text. If you don't
|
||||
* want the counter text and only need "plain" validation, you can use the "simple" `ng-maxlength`
|
||||
* or maxlength attributes.
|
||||
* or maxlength attributes.<br/><br/>
|
||||
* **Note:** Only valid for text/string inputs (not numeric).
|
||||
*
|
||||
* @param {string=} aria-label Aria-label is required when no label is present. A warning message
|
||||
* will be logged in the console if not present.
|
||||
* @param {string=} placeholder An alternative approach to using aria-label when the label is not
|
||||
@@ -12015,7 +12039,10 @@ function inputTextareaDirective($mdUtil, $window, $mdAria, $timeout) {
|
||||
|
||||
|
||||
if (!containerCtrl) return;
|
||||
if (containerCtrl.input) {
|
||||
if (attr.type === 'hidden') {
|
||||
element.attr('aria-hidden', 'true');
|
||||
return;
|
||||
} else if (containerCtrl.input) {
|
||||
throw new Error("<md-input-container> can only have *one* <input>, <textarea> or <md-select> child element!");
|
||||
}
|
||||
containerCtrl.input = element;
|
||||
@@ -12704,10 +12731,12 @@ function mdListItemDirective($mdAria, $mdConstant, $mdUtil, $timeout) {
|
||||
restrict: 'E',
|
||||
controller: 'MdListController',
|
||||
compile: function(tEl, tAttrs) {
|
||||
|
||||
// Check for proxy controls (no ng-click on parent, and a control inside)
|
||||
var secondaryItems = tEl[0].querySelectorAll('.md-secondary');
|
||||
var hasProxiedElement;
|
||||
var proxyElement;
|
||||
var itemContainer = tEl;
|
||||
|
||||
tEl[0].setAttribute('role', 'listitem');
|
||||
|
||||
@@ -12746,14 +12775,13 @@ function mdListItemDirective($mdAria, $mdConstant, $mdUtil, $timeout) {
|
||||
}
|
||||
|
||||
function wrapIn(type) {
|
||||
var container;
|
||||
if (type == 'div') {
|
||||
container = angular.element('<div class="_md-no-style _md-list-item-inner">');
|
||||
container.append(tEl.contents());
|
||||
itemContainer = angular.element('<div class="_md-no-style _md-list-item-inner">');
|
||||
itemContainer.append(tEl.contents());
|
||||
tEl.addClass('_md-proxy-focus');
|
||||
} else {
|
||||
// Element which holds the default list-item content.
|
||||
container = angular.element(
|
||||
itemContainer = angular.element(
|
||||
'<div class="md-button _md-no-style">'+
|
||||
' <div class="_md-list-item-inner"></div>'+
|
||||
'</div>'
|
||||
@@ -12768,58 +12796,48 @@ function mdListItemDirective($mdAria, $mdConstant, $mdUtil, $timeout) {
|
||||
copyAttributes(tEl[0], buttonWrap[0]);
|
||||
|
||||
// Append the button wrap before our list-item content, because it will overlay in relative.
|
||||
container.prepend(buttonWrap);
|
||||
container.children().eq(1).append(tEl.contents());
|
||||
itemContainer.prepend(buttonWrap);
|
||||
itemContainer.children().eq(1).append(tEl.contents());
|
||||
|
||||
tEl.addClass('_md-button-wrap');
|
||||
}
|
||||
|
||||
tEl[0].setAttribute('tabindex', '-1');
|
||||
tEl.append(container);
|
||||
tEl.append(itemContainer);
|
||||
}
|
||||
|
||||
function wrapSecondaryItems() {
|
||||
if (secondaryItems.length === 1) {
|
||||
wrapSecondaryItem(secondaryItems[0], tEl);
|
||||
} else if (secondaryItems.length > 1) {
|
||||
var secondaryItemsWrapper = angular.element('<div class="_md-secondary-container">');
|
||||
angular.forEach(secondaryItems, function(secondaryItem) {
|
||||
wrapSecondaryItem(secondaryItem, secondaryItemsWrapper, true);
|
||||
});
|
||||
tEl.append(secondaryItemsWrapper);
|
||||
}
|
||||
var secondaryItemsWrapper = angular.element('<div class="_md-secondary-container">');
|
||||
|
||||
angular.forEach(secondaryItems, function(secondaryItem) {
|
||||
wrapSecondaryItem(secondaryItem, secondaryItemsWrapper);
|
||||
});
|
||||
|
||||
// Since the secondary item container is static we need to fill the remaing space.
|
||||
var spaceFiller = angular.element('<div class="flex"></div>');
|
||||
itemContainer.append(spaceFiller);
|
||||
|
||||
itemContainer.append(secondaryItemsWrapper);
|
||||
}
|
||||
|
||||
function wrapSecondaryItem(secondaryItem, container, hasSecondaryItemsWrapper) {
|
||||
function wrapSecondaryItem(secondaryItem, container) {
|
||||
if (secondaryItem && !isButton(secondaryItem) && secondaryItem.hasAttribute('ng-click')) {
|
||||
$mdAria.expect(secondaryItem, 'aria-label');
|
||||
var buttonWrapper;
|
||||
if (hasSecondaryItemsWrapper) {
|
||||
buttonWrapper = angular.element('<md-button class="md-icon-button">');
|
||||
} else {
|
||||
buttonWrapper = angular.element('<md-button class="_md-secondary-container md-icon-button">');
|
||||
}
|
||||
var buttonWrapper = angular.element('<md-button class="md-secondary md-icon-button">');
|
||||
copyAttributes(secondaryItem, buttonWrapper[0]);
|
||||
secondaryItem.setAttribute('tabindex', '-1');
|
||||
secondaryItem.classList.remove('md-secondary');
|
||||
buttonWrapper.append(secondaryItem);
|
||||
secondaryItem = buttonWrapper[0];
|
||||
}
|
||||
|
||||
// Check for a secondary item and move it outside
|
||||
if ( secondaryItem && (
|
||||
secondaryItem.hasAttribute('ng-click') ||
|
||||
( tAttrs.ngClick &&
|
||||
isProxiedElement(secondaryItem) )
|
||||
)) {
|
||||
// When using multiple secondary items we need to remove their secondary class to be
|
||||
// orderd correctly in the list-item
|
||||
if (hasSecondaryItemsWrapper) {
|
||||
secondaryItem.classList.remove('md-secondary');
|
||||
}
|
||||
tEl.addClass('md-with-secondary');
|
||||
container.append(secondaryItem);
|
||||
if (secondaryItem && (!hasClickEvent(secondaryItem) || (!tAttrs.ngClick && isProxiedElement(secondaryItem)))) {
|
||||
// In this case we remove the secondary class, so we can identify it later, when we searching for the
|
||||
// proxy items.
|
||||
angular.element(secondaryItem).removeClass('md-secondary');
|
||||
}
|
||||
|
||||
tEl.addClass('md-with-secondary');
|
||||
container.append(secondaryItem);
|
||||
}
|
||||
|
||||
function copyAttributes(item, wrapper) {
|
||||
@@ -12844,14 +12862,23 @@ function mdListItemDirective($mdAria, $mdConstant, $mdUtil, $timeout) {
|
||||
return nodeName == "MD-BUTTON" || nodeName == "BUTTON";
|
||||
}
|
||||
|
||||
function hasClickEvent (element) {
|
||||
var attr = element.attributes;
|
||||
for (var i = 0; i < attr.length; i++) {
|
||||
if (tAttrs.$normalize(attr[i].name) === 'ngClick') return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
return postLink;
|
||||
|
||||
function postLink($scope, $element, $attr, ctrl) {
|
||||
|
||||
var proxies = [],
|
||||
firstChild = $element[0].firstElementChild,
|
||||
hasClick = firstChild && firstChild.firstElementChild &&
|
||||
hasClickEvent(firstChild.firstElementChild);
|
||||
var proxies = [],
|
||||
firstElement = $element[0].firstElementChild,
|
||||
isButtonWrap = $element.hasClass('_md-button-wrap'),
|
||||
clickChild = isButtonWrap ? firstElement.firstElementChild : firstElement,
|
||||
hasClick = clickChild && hasClickEvent(clickChild);
|
||||
|
||||
computeProxies();
|
||||
computeClickable();
|
||||
@@ -12877,22 +12904,19 @@ function mdListItemDirective($mdAria, $mdConstant, $mdUtil, $timeout) {
|
||||
});
|
||||
}
|
||||
|
||||
function hasClickEvent (element) {
|
||||
var attr = element.attributes;
|
||||
for (var i = 0; i < attr.length; i++) {
|
||||
if ($attr.$normalize(attr[i].name) === 'ngClick') return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function computeProxies() {
|
||||
var children = $element.children();
|
||||
if (children.length && !children[0].hasAttribute('ng-click')) {
|
||||
if (firstElement && firstElement.children && !hasClick) {
|
||||
|
||||
angular.forEach(proxiedTypes, function(type) {
|
||||
angular.forEach(firstChild.querySelectorAll(type), function(child) {
|
||||
|
||||
// All elements which are not capable for being used a proxy have the .md-secondary class
|
||||
// applied. These items had been sorted out in the secondary wrap function.
|
||||
angular.forEach(firstElement.querySelectorAll(type + ':not(.md-secondary)'), function(child) {
|
||||
proxies.push(child);
|
||||
});
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
function computeClickable() {
|
||||
@@ -12905,12 +12929,12 @@ function mdListItemDirective($mdAria, $mdConstant, $mdUtil, $timeout) {
|
||||
}
|
||||
}
|
||||
|
||||
var firstChildKeypressListener = function(e) {
|
||||
var clickChildKeypressListener = function(e) {
|
||||
if (e.target.nodeName != 'INPUT' && e.target.nodeName != 'TEXTAREA' && !e.target.isContentEditable) {
|
||||
var keyCode = e.which || e.keyCode;
|
||||
if (keyCode == $mdConstant.KEY_CODE.SPACE) {
|
||||
if (firstChild) {
|
||||
firstChild.click();
|
||||
if (clickChild) {
|
||||
clickChild.click();
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
}
|
||||
@@ -12919,16 +12943,16 @@ function mdListItemDirective($mdAria, $mdConstant, $mdUtil, $timeout) {
|
||||
};
|
||||
|
||||
if (!hasClick && !proxies.length) {
|
||||
firstChild && firstChild.addEventListener('keypress', firstChildKeypressListener);
|
||||
clickChild && clickChild.addEventListener('keypress', clickChildKeypressListener);
|
||||
}
|
||||
|
||||
$element.off('click');
|
||||
$element.off('keypress');
|
||||
|
||||
if (proxies.length == 1 && firstChild) {
|
||||
if (proxies.length == 1 && clickChild) {
|
||||
$element.children().eq(0).on('click', function(e) {
|
||||
var parentButton = $mdUtil.getClosest(e.target, 'BUTTON');
|
||||
if (!parentButton && firstChild.contains(e.target)) {
|
||||
if (!parentButton && clickChild.contains(e.target)) {
|
||||
angular.forEach(proxies, function(proxy) {
|
||||
if (e.target !== proxy && !proxy.contains(e.target)) {
|
||||
angular.element(proxy).triggerHandler('click');
|
||||
@@ -12939,7 +12963,7 @@ function mdListItemDirective($mdAria, $mdConstant, $mdUtil, $timeout) {
|
||||
}
|
||||
|
||||
$scope.$on('$destroy', function () {
|
||||
firstChild && firstChild.removeEventListener('keypress', firstChildKeypressListener);
|
||||
clickChild && clickChild.removeEventListener('keypress', clickChildKeypressListener);
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -13602,6 +13626,8 @@ angular.module('material.components.select', [
|
||||
* @param {expression=} md-on-close Expression to be evaluated when the select is closed.
|
||||
* @param {expression=} md-on-open Expression to be evaluated when opening the select.
|
||||
* Will hide the select options and show a spinner until the evaluated promise resolves.
|
||||
* @param {expression=} md-selected-text Expression to be evaluated that will return a string
|
||||
* to be displayed as a placeholder in the select input box when it is closed.
|
||||
* @param {string=} placeholder Placeholder hint text.
|
||||
* @param {string=} aria-label Optional label for accessibility. Only necessary if no placeholder or
|
||||
* explicit label is present.
|
||||
@@ -13752,7 +13778,9 @@ function SelectDirective($mdSelect, $mdUtil, $mdTheming, $mdAria, $compile, $par
|
||||
element.empty().append(valueEl);
|
||||
element.append(selectTemplate);
|
||||
|
||||
attr.tabindex = attr.tabindex || '0';
|
||||
if(!attr.tabindex){
|
||||
attr.$set('tabindex', 0);
|
||||
}
|
||||
|
||||
return function postLink(scope, element, attr, ctrls) {
|
||||
var untouched = true;
|
||||
@@ -13821,9 +13849,16 @@ function SelectDirective($mdSelect, $mdUtil, $mdTheming, $mdAria, $compile, $par
|
||||
|
||||
mdSelectCtrl.setLabelText = function(text) {
|
||||
mdSelectCtrl.setIsPlaceholder(!text);
|
||||
// Use placeholder attribute, otherwise fallback to the md-input-container label
|
||||
var tmpPlaceholder = attr.placeholder || (containerCtrl && containerCtrl.label ? containerCtrl.label.text() : '');
|
||||
text = text || tmpPlaceholder || '';
|
||||
|
||||
if (attr.mdSelectedText) {
|
||||
text = $parse(attr.mdSelectedText)(scope);
|
||||
} else {
|
||||
// Use placeholder attribute, otherwise fallback to the md-input-container label
|
||||
var tmpPlaceholder = attr.placeholder ||
|
||||
(containerCtrl && containerCtrl.label ? containerCtrl.label.text() : '');
|
||||
text = text || tmpPlaceholder || '';
|
||||
}
|
||||
|
||||
var target = valueEl.children().eq(0);
|
||||
target.html(text);
|
||||
};
|
||||
@@ -13852,19 +13887,19 @@ function SelectDirective($mdSelect, $mdUtil, $mdTheming, $mdAria, $compile, $par
|
||||
}
|
||||
});
|
||||
|
||||
// Wait until postDigest so that we attach after ngModel's
|
||||
// blur listener so we can set untouched.
|
||||
$mdUtil.nextTick(function () {
|
||||
element.on('blur', function() {
|
||||
if (untouched) {
|
||||
untouched = false;
|
||||
ngModelCtrl.$setUntouched();
|
||||
// Attach before ngModel's blur listener to stop propagation of blur event
|
||||
// to prevent from setting $touched.
|
||||
element.on('blur', function(event) {
|
||||
if (untouched) {
|
||||
untouched = false;
|
||||
if (selectScope.isOpen) {
|
||||
event.stopImmediatePropagation();
|
||||
}
|
||||
}
|
||||
|
||||
if (selectScope.isOpen) return;
|
||||
containerCtrl && containerCtrl.setFocused(false);
|
||||
inputCheckValue();
|
||||
});
|
||||
if (selectScope.isOpen) return;
|
||||
containerCtrl && containerCtrl.setFocused(false);
|
||||
inputCheckValue();
|
||||
});
|
||||
}
|
||||
|
||||
@@ -13940,23 +13975,25 @@ function SelectDirective($mdSelect, $mdUtil, $mdTheming, $mdAria, $compile, $par
|
||||
}
|
||||
isDisabled = disabled;
|
||||
if (disabled) {
|
||||
element.attr({'tabindex': -1, 'aria-disabled': 'true'});
|
||||
element.off('click', openSelect);
|
||||
element.off('keydown', handleKeypress);
|
||||
element
|
||||
.attr({'aria-disabled': 'true'})
|
||||
.removeAttr('tabindex')
|
||||
.off('click', openSelect)
|
||||
.off('keydown', handleKeypress);
|
||||
} else {
|
||||
element.attr({'tabindex': attr.tabindex, 'aria-disabled': 'false'});
|
||||
element.on('click', openSelect);
|
||||
element.on('keydown', handleKeypress);
|
||||
element
|
||||
.attr({'tabindex': attr.tabindex, 'aria-disabled': 'false'})
|
||||
.on('click', openSelect)
|
||||
.on('keydown', handleKeypress);
|
||||
}
|
||||
});
|
||||
|
||||
if (!attr.disabled && !attr.ngDisabled) {
|
||||
element.attr({'tabindex': attr.tabindex, 'aria-disabled': 'false'});
|
||||
if (!attr.hasOwnProperty('disabled') && !attr.hasOwnProperty('ngDisabled')) {
|
||||
element.attr({'aria-disabled': 'false'});
|
||||
element.on('click', openSelect);
|
||||
element.on('keydown', handleKeypress);
|
||||
}
|
||||
|
||||
|
||||
var ariaAttrs = {
|
||||
role: 'listbox',
|
||||
'aria-expanded': 'false',
|
||||
@@ -14799,7 +14836,7 @@ function SelectProvider($$interimElementProvider) {
|
||||
}
|
||||
newOption = optionsArray[index];
|
||||
if (newOption.hasAttribute('disabled')) newOption = undefined;
|
||||
} while (!newOption && index < optionsArray.length - 1 && index > 0)
|
||||
} while (!newOption && index < optionsArray.length - 1 && index > 0);
|
||||
newOption && newOption.focus();
|
||||
opts.focusedNode = newOption;
|
||||
}
|
||||
@@ -15050,7 +15087,6 @@ function SelectProvider($$interimElementProvider) {
|
||||
}
|
||||
SelectProvider.$inject = ["$$interimElementProvider"];
|
||||
|
||||
|
||||
})();
|
||||
(function(){
|
||||
"use strict";
|
||||
@@ -15329,6 +15365,7 @@ function SidenavDirective($mdMedia, $mdUtil, $mdConstant, $mdTheming, $animate,
|
||||
*/
|
||||
function postLink(scope, element, attr, sidenavCtrl) {
|
||||
var lastParentOverFlow;
|
||||
var backdrop;
|
||||
var triggeringElement = null;
|
||||
var promise = $q.when(true);
|
||||
var isLockedOpenParsed = $parse(attr.mdIsLockedOpen);
|
||||
@@ -15341,7 +15378,11 @@ function SidenavDirective($mdMedia, $mdUtil, $mdConstant, $mdTheming, $animate,
|
||||
$mdMedia: $mdMedia
|
||||
});
|
||||
};
|
||||
var backdrop = !angular.isDefined(attr.mdDisableBackdrop) ? $mdUtil.createBackdrop(scope, "_md-sidenav-backdrop md-opaque ng-enter") : undefined;
|
||||
|
||||
// Only create the backdrop if the backdrop isn't disabled.
|
||||
if (!angular.isDefined(attr.mdDisableBackdrop)) {
|
||||
backdrop = $mdUtil.createBackdrop(scope, "_md-sidenav-backdrop md-opaque ng-enter");
|
||||
}
|
||||
|
||||
$mdTheming(element);
|
||||
|
||||
@@ -17204,18 +17245,22 @@ function MdToastProvider($$interimElementProvider) {
|
||||
// Root element of template will be <md-toast>. We need to wrap all of its content inside of
|
||||
// of <div class="md-toast-content">. All templates provided here should be static, developer-controlled
|
||||
// content (meaning we're not attempting to guard against XSS).
|
||||
var parsedTemplate = angular.element(template);
|
||||
var wrappedContent = '<div class="md-toast-content">' + parsedTemplate.html() + '</div>';
|
||||
var templateRoot = document.createElement('md-template');
|
||||
templateRoot.innerHTML = template;
|
||||
|
||||
parsedTemplate.empty().append(wrappedContent);
|
||||
for (var i = 0; i < templateRoot.children.length; i++) {
|
||||
if (templateRoot.children[i].nodeName === 'MD-TOAST') {
|
||||
var wrapper = angular.element('<div class="md-toast-content">');
|
||||
wrapper.append(templateRoot.children[i].children);
|
||||
templateRoot.children[i].appendChild(wrapper[0]);
|
||||
}
|
||||
}
|
||||
|
||||
// Underlying interimElement expects a template string.
|
||||
return parsedTemplate[0].outerHTML;
|
||||
|
||||
return templateRoot.outerHTML;
|
||||
}
|
||||
|
||||
return shouldAddWrapper ?
|
||||
'<div class="md-toast-content">' + template + '</div>' :
|
||||
template || '';
|
||||
return template || '';
|
||||
}
|
||||
};
|
||||
|
||||
@@ -17225,6 +17270,8 @@ function MdToastProvider($$interimElementProvider) {
|
||||
var isSmScreen = !$mdMedia('gt-sm');
|
||||
|
||||
element = $mdUtil.extractElementByName(element, 'md-toast', true);
|
||||
options.element = element;
|
||||
|
||||
options.onSwipe = function(ev, gesture) {
|
||||
//Add the relevant swipe class to the element so it can animate correctly
|
||||
var swipe = ev.type.replace('$md.','');
|
||||
@@ -18827,7 +18874,7 @@ function MdAutocompleteCtrl ($scope, $element, $mdUtil, $mdConstant, $mdTheming,
|
||||
selectedItemWatchers = [],
|
||||
hasFocus = false,
|
||||
lastCount = 0,
|
||||
promiseFetch = false;
|
||||
fetchesInProgress = 0;
|
||||
|
||||
//-- public variables with handlers
|
||||
defineProperty('hidden', handleHiddenChange, true);
|
||||
@@ -18844,6 +18891,7 @@ function MdAutocompleteCtrl ($scope, $element, $mdUtil, $mdConstant, $mdTheming,
|
||||
ctrl.id = $mdUtil.nextUid();
|
||||
ctrl.isDisabled = null;
|
||||
ctrl.isRequired = null;
|
||||
ctrl.isReadonly = null;
|
||||
ctrl.hasNotFound = false;
|
||||
|
||||
//-- public methods
|
||||
@@ -18974,6 +19022,7 @@ function MdAutocompleteCtrl ($scope, $element, $mdUtil, $mdConstant, $mdTheming,
|
||||
var wait = parseInt($scope.delay, 10) || 0;
|
||||
$attrs.$observe('disabled', function (value) { ctrl.isDisabled = $mdUtil.parseAttributeBoolean(value, false); });
|
||||
$attrs.$observe('required', function (value) { ctrl.isRequired = $mdUtil.parseAttributeBoolean(value, false); });
|
||||
$attrs.$observe('readonly', function (value) { ctrl.isReadonly = $mdUtil.parseAttributeBoolean(value, false); });
|
||||
$scope.$watch('searchText', wait ? $mdUtil.debounce(handleSearchText, wait) : handleSearchText);
|
||||
$scope.$watch('selectedItem', selectedItemChange);
|
||||
angular.element($window).on('resize', positionDropdown);
|
||||
@@ -19421,7 +19470,9 @@ function MdAutocompleteCtrl ($scope, $element, $mdUtil, $mdConstant, $mdTheming,
|
||||
* Clears the searchText value and selected item.
|
||||
*/
|
||||
function clearValue () {
|
||||
// Set the loading to true so we don't see flashes of content
|
||||
// Set the loading to true so we don't see flashes of content.
|
||||
// The flashing will only occour when an async request is running.
|
||||
// So the loading process will stop when the results had been retrieved.
|
||||
setLoading(true);
|
||||
|
||||
// Reset our variables
|
||||
@@ -19429,9 +19480,6 @@ function MdAutocompleteCtrl ($scope, $element, $mdUtil, $mdConstant, $mdTheming,
|
||||
ctrl.matches = [];
|
||||
$scope.searchText = '';
|
||||
|
||||
// Tell the select to fire and select nothing
|
||||
select(-1);
|
||||
|
||||
// Per http://www.w3schools.com/jsref/event_oninput.asp
|
||||
var eventObj = document.createEvent('CustomEvent');
|
||||
eventObj.initCustomEvent('input', true, true, { value: $scope.searchText });
|
||||
@@ -19447,24 +19495,26 @@ function MdAutocompleteCtrl ($scope, $element, $mdUtil, $mdConstant, $mdTheming,
|
||||
function fetchResults (searchText) {
|
||||
var items = $scope.$parent.$eval(itemExpr),
|
||||
term = searchText.toLowerCase(),
|
||||
isList = angular.isArray(items);
|
||||
isList = angular.isArray(items),
|
||||
isPromise = !!items.then; // Every promise should contain a `then` property
|
||||
|
||||
if ( isList ) handleResults(items);
|
||||
else handleAsyncResults(items);
|
||||
if (isList) handleResults(items);
|
||||
else if (isPromise) handleAsyncResults(items);
|
||||
|
||||
function handleAsyncResults(items) {
|
||||
if ( !items ) return;
|
||||
|
||||
items = $q.when(items);
|
||||
fetchesInProgress++;
|
||||
setLoading(true);
|
||||
promiseFetch = true;
|
||||
|
||||
$mdUtil.nextTick(function () {
|
||||
items
|
||||
.then(handleResults)
|
||||
.finally(function(){
|
||||
setLoading(false);
|
||||
promiseFetch = false;
|
||||
if (--fetchesInProgress === 0) {
|
||||
setLoading(false);
|
||||
}
|
||||
});
|
||||
},true, $scope);
|
||||
}
|
||||
@@ -19472,9 +19522,16 @@ function MdAutocompleteCtrl ($scope, $element, $mdUtil, $mdConstant, $mdTheming,
|
||||
function handleResults (matches) {
|
||||
cache[ term ] = matches;
|
||||
if ((searchText || '') !== ($scope.searchText || '')) return; //-- just cache the results if old request
|
||||
|
||||
ctrl.matches = matches;
|
||||
ctrl.hidden = shouldHide();
|
||||
|
||||
// If loading is in progress, then we'll end the progress. This is needed for example,
|
||||
// when the `clear` button was clicked, because there we always show the loading process, to prevent flashing.
|
||||
if (ctrl.loading) setLoading(false);
|
||||
|
||||
if ($scope.selectOnMatch) selectItemOnMatch();
|
||||
|
||||
updateMessages();
|
||||
positionDropdown();
|
||||
}
|
||||
@@ -19523,6 +19580,10 @@ function MdAutocompleteCtrl ($scope, $element, $mdUtil, $mdConstant, $mdTheming,
|
||||
}
|
||||
}
|
||||
|
||||
function isPromiseFetching() {
|
||||
return fetchesInProgress !== 0;
|
||||
}
|
||||
|
||||
function scrollTo (offset) {
|
||||
elements.$.scrollContainer.controller('mdVirtualRepeatContainer').scrollTo(offset);
|
||||
}
|
||||
@@ -19530,7 +19591,7 @@ function MdAutocompleteCtrl ($scope, $element, $mdUtil, $mdConstant, $mdTheming,
|
||||
function notFoundVisible () {
|
||||
var textLength = (ctrl.scope.searchText || '').length;
|
||||
|
||||
return ctrl.hasNotFound && !hasMatches() && (!ctrl.loading || promiseFetch) && textLength >= getMinLength() && (hasFocus || noBlur) && !hasSelection();
|
||||
return ctrl.hasNotFound && !hasMatches() && (!ctrl.loading || isPromiseFetching()) && textLength >= getMinLength() && (hasFocus || noBlur) && !hasSelection();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -19631,6 +19692,7 @@ angular
|
||||
* @param {boolean=} md-autofocus If true, the autocomplete will be automatically focused when a `$mdDialog`,
|
||||
* `$mdBottomsheet` or `$mdSidenav`, which contains the autocomplete, is opening. <br/><br/>
|
||||
* Also the autocomplete will immediately focus the input element.
|
||||
* @param {boolean=} md-no-asterisk When present, asterisk will not be appended to the floating label
|
||||
* @param {boolean=} md-autoselect If true, the first item will be selected by default
|
||||
* @param {string=} md-menu-class This will be applied to the dropdown menu for styling
|
||||
* @param {string=} md-floating-label This will add a floating label to autocomplete and wrap it in
|
||||
@@ -19816,12 +19878,14 @@ function MdAutocomplete () {
|
||||
name="{{inputName}}"\
|
||||
autocomplete="off"\
|
||||
ng-required="$mdAutocompleteCtrl.isRequired"\
|
||||
ng-readonly="$mdAutocompleteCtrl.isReadonly"\
|
||||
ng-minlength="inputMinlength"\
|
||||
ng-maxlength="inputMaxlength"\
|
||||
ng-disabled="$mdAutocompleteCtrl.isDisabled"\
|
||||
ng-model="$mdAutocompleteCtrl.scope.searchText"\
|
||||
ng-keydown="$mdAutocompleteCtrl.keydown($event)"\
|
||||
ng-blur="$mdAutocompleteCtrl.blur()"\
|
||||
' + (attr.mdNoAsterisk != null ? 'md-no-asterisk="' + attr.mdNoAsterisk + '"' : '') + '\
|
||||
ng-focus="$mdAutocompleteCtrl.focus()"\
|
||||
aria-owns="ul-{{$mdAutocompleteCtrl.id}}"\
|
||||
' + (attr.mdSelectOnFocus != null ? 'md-select-on-focus=""' : '') + '\
|
||||
@@ -19842,6 +19906,7 @@ function MdAutocomplete () {
|
||||
autocomplete="off"\
|
||||
ng-required="$mdAutocompleteCtrl.isRequired"\
|
||||
ng-disabled="$mdAutocompleteCtrl.isDisabled"\
|
||||
ng-readonly="$mdAutocompleteCtrl.isReadonly"\
|
||||
ng-model="$mdAutocompleteCtrl.scope.searchText"\
|
||||
ng-keydown="$mdAutocompleteCtrl.keydown($event)"\
|
||||
ng-blur="$mdAutocompleteCtrl.blur()"\
|
||||
@@ -20559,7 +20624,7 @@ MdChipsCtrl.prototype.inputKeydown = function(event) {
|
||||
// Only append the chip and reset the chip buffer if the max chips limit isn't reached.
|
||||
if (this.hasMaxChipsReached()) return;
|
||||
|
||||
this.appendChip(chipBuffer);
|
||||
this.appendChip(chipBuffer.trim());
|
||||
this.resetChipBuffer();
|
||||
}
|
||||
};
|
||||
@@ -21130,6 +21195,7 @@ MdChipsCtrl.prototype.hasFocus = function () {
|
||||
ng-model="$mdChipsCtrl.chipBuffer"\
|
||||
ng-focus="$mdChipsCtrl.onInputFocus()"\
|
||||
ng-blur="$mdChipsCtrl.onInputBlur()"\
|
||||
ng-trim="false"\
|
||||
ng-keydown="$mdChipsCtrl.inputKeydown($event)">';
|
||||
|
||||
var CHIP_DEFAULT_TEMPLATE = '\
|
||||
@@ -21666,10 +21732,15 @@ angular
|
||||
*
|
||||
* When using Material Font Icons with ligatures:
|
||||
* <hljs lang="html">
|
||||
* <!-- For Material Design Icons -->
|
||||
* <!-- The class '.material-icons' is auto-added if a style has NOT been specified -->
|
||||
* <!--
|
||||
* For Material Design Icons
|
||||
* The class '.material-icons' is auto-added if a style has NOT been specified
|
||||
* since `material-icons` is the default fontset. So your markup:
|
||||
* -->
|
||||
* <md-icon> face </md-icon>
|
||||
* <!-- becomes this at runtime: -->
|
||||
* <md-icon md-font-set="material-icons"> face </md-icon>
|
||||
* <!-- If the fontset does not support ligature names, then we need to use the ligature unicode.-->
|
||||
* <md-icon>  </md-icon>
|
||||
* <!-- The class '.material-icons' must be manually added if other styles are also specified-->
|
||||
* <md-icon class="material-icons md-light md-48"> face </md-icon>
|
||||
@@ -21680,24 +21751,18 @@ angular
|
||||
* <hljs lang="js">
|
||||
* // Specify a font-icon style alias
|
||||
* angular.config(function($mdIconProvider) {
|
||||
* $mdIconProvider.fontSet('fa', 'fontawesome');
|
||||
* $mdIconProvider.fontSet('md', 'material-icons');
|
||||
* });
|
||||
* </hljs>
|
||||
*
|
||||
* <hljs lang="html">
|
||||
* <md-icon md-font-set="fa">email</md-icon>
|
||||
* <md-icon md-font-set="md">favorite</md-icon>
|
||||
* </hljs>
|
||||
*
|
||||
*/
|
||||
function mdIconDirective($mdIcon, $mdTheming, $mdAria ) {
|
||||
|
||||
return {
|
||||
scope: {
|
||||
fontSet : '@mdFontSet',
|
||||
fontIcon: '@mdFontIcon',
|
||||
svgIcon : '@mdSvgIcon',
|
||||
svgSrc : '@mdSvgSrc'
|
||||
},
|
||||
restrict: 'E',
|
||||
link : postLink
|
||||
};
|
||||
@@ -21715,12 +21780,12 @@ function mdIconDirective($mdIcon, $mdTheming, $mdAria ) {
|
||||
// If using a font-icon, then the textual name of the icon itself
|
||||
// provides the aria-label.
|
||||
|
||||
var label = attr.alt || scope.fontIcon || scope.svgIcon || element.text();
|
||||
var label = attr.alt || attr.mdFontIcon || attr.mdSvgIcon || element.text();
|
||||
var attrName = attr.$normalize(attr.$attr.mdSvgIcon || attr.$attr.mdSvgSrc || '');
|
||||
|
||||
if ( !attr['aria-label'] ) {
|
||||
|
||||
if (label != '' && !parentsHaveText() ) {
|
||||
if (label !== '' && !parentsHaveText() ) {
|
||||
|
||||
$mdAria.expect(element, 'aria-label', label);
|
||||
$mdAria.expect(element, 'role', 'img');
|
||||
@@ -21761,11 +21826,11 @@ function mdIconDirective($mdIcon, $mdTheming, $mdAria ) {
|
||||
}
|
||||
|
||||
function prepareForFontIcon() {
|
||||
if (!scope.svgIcon && !scope.svgSrc) {
|
||||
if (scope.fontIcon) {
|
||||
element.addClass('md-font ' + scope.fontIcon);
|
||||
if (!attr.mdSvgIcon && !attr.mdSvgSrc) {
|
||||
if (attr.mdFontIcon) {
|
||||
element.addClass('md-font ' + attr.mdFontIcon);
|
||||
}
|
||||
element.addClass($mdIcon.fontSet(scope.fontSet));
|
||||
element.addClass($mdIcon.fontSet(attr.mdFontSet));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -21796,6 +21861,22 @@ function mdIconDirective($mdIcon, $mdTheming, $mdAria ) {
|
||||
* the `$mdIcon` service searches its registry for the associated source URL;
|
||||
* that URL is used to on-demand load and parse the SVG dynamically.
|
||||
*
|
||||
* **Notice:** Most font-icons libraries do not support ligatures (for example `fontawesome`).<br/>
|
||||
* In such cases you are not able to use the icon's ligature name - Like so:
|
||||
*
|
||||
* <hljs lang="html">
|
||||
* <md-icon md-font-set="fa">fa-bell</md-icon>
|
||||
* </hljs>
|
||||
*
|
||||
* You should instead use the given unicode, instead of the ligature name.
|
||||
*
|
||||
* <p ng-hide="true"> ##// Notice we can't use a hljs element here, because the characters will be escaped.</p>
|
||||
* ```html
|
||||
* <md-icon md-font-set="fa"></md-icon>
|
||||
* ```
|
||||
*
|
||||
* All unicode ligatures are prefixed with the `&#x` string.
|
||||
*
|
||||
* @usage
|
||||
* <hljs lang="js">
|
||||
* app.config(function($mdIconProvider) {
|
||||
@@ -21803,7 +21884,7 @@ function mdIconDirective($mdIcon, $mdTheming, $mdAria ) {
|
||||
* // Configure URLs for icons specified by [set:]id.
|
||||
*
|
||||
* $mdIconProvider
|
||||
* .defaultFontSet( 'fontawesome' )
|
||||
* .defaultFontSet( 'fa' ) // This sets our default fontset className.
|
||||
* .defaultIconSet('my/app/icons.svg') // Register a default set of SVG icons
|
||||
* .iconSet('social', 'my/app/social.svg') // Register a named icon set of SVGs
|
||||
* .icon('android', 'my/app/android.svg') // Register a specific icon (by name)
|
||||
@@ -21955,7 +22036,29 @@ function mdIconDirective($mdIcon, $mdTheming, $mdAria ) {
|
||||
* @usage
|
||||
* <hljs lang="js">
|
||||
* app.config(function($mdIconProvider) {
|
||||
* $mdIconProvider.defaultFontSet( 'fontawesome' );
|
||||
* $mdIconProvider.defaultFontSet( 'fa' );
|
||||
* });
|
||||
* </hljs>
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ngdoc method
|
||||
* @name $mdIconProvider#fontSet
|
||||
*
|
||||
* @description
|
||||
* When using a font set for `<md-icon>` you must specify the correct font classname in the `md-font-set`
|
||||
* attribute. If the fonset className is really long, your markup may become cluttered... an easy
|
||||
* solution is to define an `alias` for your fontset:
|
||||
*
|
||||
* @param {string} alias of the specified fontset.
|
||||
* @param {string} className of the fontset.
|
||||
*
|
||||
* @usage
|
||||
* <hljs lang="js">
|
||||
* app.config(function($mdIconProvider) {
|
||||
* // In this case, we set an alias for the `material-icons` fontset.
|
||||
* $mdIconProvider.fontSet('md', 'material-icons');
|
||||
* });
|
||||
* </hljs>
|
||||
*
|
||||
@@ -22093,9 +22196,9 @@ function mdIconDirective($mdIcon, $mdTheming, $mdAria ) {
|
||||
|
||||
},
|
||||
|
||||
$get : ['$http', '$q', '$log', '$templateCache', function($http, $q, $log, $templateCache) {
|
||||
$get : ['$http', '$q', '$log', '$templateCache', '$mdUtil', function($http, $q, $log, $templateCache, $mdUtil) {
|
||||
this.preloadIcons($templateCache);
|
||||
return MdIconService(config, $http, $q, $log, $templateCache);
|
||||
return MdIconService(config, $http, $q, $log, $templateCache, $mdUtil);
|
||||
}]
|
||||
};
|
||||
|
||||
@@ -22150,7 +22253,7 @@ function mdIconDirective($mdIcon, $mdTheming, $mdAria ) {
|
||||
*/
|
||||
|
||||
/* @ngInject */
|
||||
function MdIconService(config, $http, $q, $log, $templateCache) {
|
||||
function MdIconService(config, $http, $q, $log, $templateCache, $mdUtil) {
|
||||
var iconCache = {};
|
||||
var urlRegex = /[-\w@:%\+.~#?&//=]{2,}\.[a-z]{2,4}\b(\/[-\w@:%\+.~#?&//=]*)?/i;
|
||||
var dataUrlRegex = /^data:image\/svg\+xml[\s*;\w\-\=]*?(base64)?,(.*)$/i;
|
||||
@@ -22170,7 +22273,7 @@ function mdIconDirective($mdIcon, $mdTheming, $mdAria ) {
|
||||
// If already loaded and cached, use a clone of the cached icon.
|
||||
// Otherwise either load by URL, or lookup in the registry and then load by URL, and cache.
|
||||
|
||||
if ( iconCache[id] ) return $q.when( iconCache[id].clone() );
|
||||
if ( iconCache[id] ) return $q.when( transformClone(iconCache[id]) );
|
||||
if ( urlRegex.test(id) || dataUrlRegex.test(id) ) return loadByURL(id).then( cacheIcon(id) );
|
||||
if ( id.indexOf(':') == -1 ) id = '$default:' + id;
|
||||
|
||||
@@ -22195,24 +22298,28 @@ function mdIconDirective($mdIcon, $mdTheming, $mdAria ) {
|
||||
return result;
|
||||
}
|
||||
|
||||
function transformClone(cacheElement) {
|
||||
var clone = cacheElement.clone();
|
||||
var cacheSuffix = '_cache' + $mdUtil.nextUid();
|
||||
|
||||
// We need to modify for each cached icon the id attributes.
|
||||
// This is needed because SVG id's are treated as normal DOM ids
|
||||
// and should not have a duplicated id.
|
||||
if (clone.id) clone.id += cacheSuffix;
|
||||
angular.forEach(clone.querySelectorAll('[id]'), function (item) {
|
||||
item.id += cacheSuffix;
|
||||
});
|
||||
|
||||
return clone;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepare and cache the loaded icon for the specified `id`
|
||||
*/
|
||||
function cacheIcon( id ) {
|
||||
|
||||
return function updateCache( _icon ) {
|
||||
var icon = isIcon(_icon) ? _icon : new Icon(_icon, config[id]);
|
||||
|
||||
//clear id attributes to prevent aria issues
|
||||
var elem = icon.element;
|
||||
elem.removeAttribute('id');
|
||||
|
||||
angular.forEach(elem.querySelectorAll('[id]'), function(item) {
|
||||
item.removeAttribute('id');
|
||||
});
|
||||
|
||||
iconCache[id] = icon;
|
||||
|
||||
return function updateCache( icon ) {
|
||||
iconCache[id] = isIcon(icon) ? icon : new Icon(icon, config[id]);
|
||||
|
||||
return iconCache[id].clone();
|
||||
};
|
||||
@@ -22344,7 +22451,7 @@ function mdIconDirective($mdIcon, $mdTheming, $mdAria ) {
|
||||
}
|
||||
|
||||
}
|
||||
MdIconService.$inject = ["config", "$http", "$q", "$log", "$templateCache"];
|
||||
MdIconService.$inject = ["config", "$http", "$q", "$log", "$templateCache", "$mdUtil"];
|
||||
|
||||
})();
|
||||
(function(){
|
||||
@@ -24268,19 +24375,19 @@ MdProgressCircularDirective.$inject = ["$$rAF", "$window", "$mdProgressCircular"
|
||||
*
|
||||
* @property {number} durationIndeterminate Duration of the indeterminate animation.
|
||||
* @property {number} startIndeterminate Indeterminate animation start point.
|
||||
* @param {number} endIndeterminate Indeterminate animation end point.
|
||||
* @param {number} rotationDurationIndeterminate Duration of the indeterminate rotating animation.
|
||||
* @param {function} easeFnIndeterminate Easing function to be used when animating
|
||||
* @property {number} endIndeterminate Indeterminate animation end point.
|
||||
* @property {number} rotationDurationIndeterminate Duration of the indeterminate rotating animation.
|
||||
* @property {function} easeFnIndeterminate Easing function to be used when animating
|
||||
* between the indeterminate values.
|
||||
*
|
||||
* @property {(function(object): object)} configure Used to modify the default options.
|
||||
*
|
||||
* @usage
|
||||
* <hljs lang="js">
|
||||
* myAppModule.config(function($mdProgressCircular) {
|
||||
* myAppModule.config(function($mdProgressCircularProvider) {
|
||||
*
|
||||
* // Example of changing the default progress options.
|
||||
* $mdProgressCircular.configure({
|
||||
* $mdProgressCircularProvider.configure({
|
||||
* progressSize: 100,
|
||||
* strokeWidth: 20,
|
||||
* duration: 800
|
||||
@@ -25568,8 +25675,8 @@ MdTabsTemplate.$inject = ["$compile", "$mdUtil"];
|
||||
|
||||
})();
|
||||
(function(){
|
||||
angular.module("material.core").constant("$MD_THEME_CSS", "/* Only used with Theme processes */html.md-THEME_NAME-theme, body.md-THEME_NAME-theme { color: '{{foreground-1}}'; background-color: '{{background-50}}'; }md-autocomplete.md-THEME_NAME-theme { background: '{{background-A100}}'; } md-autocomplete.md-THEME_NAME-theme[disabled] { background: '{{background-100}}'; } md-autocomplete.md-THEME_NAME-theme button md-icon path { fill: '{{background-600}}'; } md-autocomplete.md-THEME_NAME-theme button:after { background: '{{background-600-0.3}}'; }.md-autocomplete-suggestions-container.md-THEME_NAME-theme { background: '{{background-A100}}'; } .md-autocomplete-suggestions-container.md-THEME_NAME-theme li { color: '{{background-900}}'; } .md-autocomplete-suggestions-container.md-THEME_NAME-theme li .highlight { color: '{{background-600}}'; } .md-autocomplete-suggestions-container.md-THEME_NAME-theme li:hover, .md-autocomplete-suggestions-container.md-THEME_NAME-theme li.selected { background: '{{background-200}}'; }md-backdrop { background-color: '{{background-900-0.0}}'; } md-backdrop.md-opaque.md-THEME_NAME-theme { background-color: '{{background-900-1.0}}'; }md-bottom-sheet.md-THEME_NAME-theme { background-color: '{{background-50}}'; border-top-color: '{{background-300}}'; } md-bottom-sheet.md-THEME_NAME-theme.md-list md-list-item { color: '{{foreground-1}}'; } md-bottom-sheet.md-THEME_NAME-theme .md-subheader { background-color: '{{background-50}}'; } md-bottom-sheet.md-THEME_NAME-theme .md-subheader { color: '{{foreground-1}}'; }a.md-button.md-THEME_NAME-theme:not([disabled]):hover,.md-button.md-THEME_NAME-theme:not([disabled]):hover { background-color: '{{background-500-0.2}}'; }a.md-button.md-THEME_NAME-theme:not([disabled]).md-focused,.md-button.md-THEME_NAME-theme:not([disabled]).md-focused { background-color: '{{background-500-0.2}}'; }a.md-button.md-THEME_NAME-theme:not([disabled]).md-icon-button:hover,.md-button.md-THEME_NAME-theme:not([disabled]).md-icon-button:hover { background-color: transparent; }a.md-button.md-THEME_NAME-theme.md-fab,.md-button.md-THEME_NAME-theme.md-fab { background-color: '{{accent-color}}'; color: '{{accent-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-fab md-icon, .md-button.md-THEME_NAME-theme.md-fab md-icon { color: '{{accent-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover { background-color: '{{accent-color}}'; } a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused { background-color: '{{accent-A700}}'; }a.md-button.md-THEME_NAME-theme.md-primary,.md-button.md-THEME_NAME-theme.md-primary { color: '{{primary-color}}'; } a.md-button.md-THEME_NAME-theme.md-primary.md-raised, a.md-button.md-THEME_NAME-theme.md-primary.md-fab, .md-button.md-THEME_NAME-theme.md-primary.md-raised, .md-button.md-THEME_NAME-theme.md-primary.md-fab { color: '{{primary-contrast}}'; background-color: '{{primary-color}}'; } a.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]) md-icon, a.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]) md-icon { color: '{{primary-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]):hover, a.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]):hover { background-color: '{{primary-color}}'; } a.md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]).md-focused, a.md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]).md-focused { background-color: '{{primary-600}}'; } a.md-button.md-THEME_NAME-theme.md-primary:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-primary:not([disabled]) md-icon { color: '{{primary-color}}'; }a.md-button.md-THEME_NAME-theme.md-fab,.md-button.md-THEME_NAME-theme.md-fab { background-color: '{{accent-color}}'; color: '{{accent-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]) .md-icon, .md-button.md-THEME_NAME-theme.md-fab:not([disabled]) .md-icon { color: '{{accent-contrast}}'; } a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover { background-color: '{{accent-color}}'; } a.md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-fab:not([disabled]).mdLine truncated
|
||||
angular.module("material.core").constant("$MD_THEME_CSS", "/* Only used with Theme processes */html.md-THEME_NAME-theme, body.md-THEME_NAME-theme { color: '{{foreground-1}}'; background-color: '{{background-color}}'; }md-autocomplete.md-THEME_NAME-theme { background: '{{background-A100}}'; } md-autocomplete.md-THEME_NAME-theme[disabled] { background: '{{background-100}}'; } md-autocomplete.md-THEME_NAME-theme button md-icon path { fill: '{{background-600}}'; } md-autocomplete.md-THEME_NAME-theme button:after { background: '{{background-600-0.3}}'; }.md-autocomplete-suggestions-container.md-THEME_NAME-theme { background: '{{background-A100}}'; } .md-autocomplete-suggestions-container.md-THEME_NAME-theme li { color: '{{background-900}}'; } .md-autocomplete-suggestions-container.md-THEME_NAME-theme li .highlight { color: '{{background-600}}'; } .md-autocomplete-suggestions-container.md-THEME_NAME-theme li:hover, .md-autocomplete-suggestions-container.md-THEME_NAME-theme li.selected { background: '{{background-200}}'; }md-backdrop { background-color: '{{background-900-0.0}}'; } md-backdrop.md-opaque.md-THEME_NAME-theme { background-color: '{{background-900-1.0}}'; }md-bottom-sheet.md-THEME_NAME-theme { background-color: '{{background-50}}'; border-top-color: '{{background-300}}'; } md-bottom-sheet.md-THEME_NAME-theme.md-list md-list-item { color: '{{foreground-1}}'; } md-bottom-sheet.md-THEME_NAME-theme .md-subheader { background-color: '{{background-50}}'; } md-bottom-sheet.md-THEME_NAME-theme .md-subheader { color: '{{foreground-1}}'; }.md-button.md-THEME_NAME-theme:not([disabled]):hover { background-color: '{{background-500-0.2}}'; }.md-button.md-THEME_NAME-theme:not([disabled]).md-focused { background-color: '{{background-500-0.2}}'; }.md-button.md-THEME_NAME-theme:not([disabled]).md-icon-button:hover { background-color: transparent; }.md-button.md-THEME_NAME-theme.md-fab { background-color: '{{accent-color}}'; color: '{{accent-contrast}}'; } .md-button.md-THEME_NAME-theme.md-fab md-icon { color: '{{accent-contrast}}'; } .md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover { background-color: '{{accent-600}}'; } .md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused { background-color: '{{accent-600}}'; }.md-button.md-THEME_NAME-theme.md-primary { color: '{{primary-color}}'; } .md-button.md-THEME_NAME-theme.md-primary.md-raised, .md-button.md-THEME_NAME-theme.md-primary.md-fab { color: '{{primary-contrast}}'; background-color: '{{primary-color}}'; } .md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]) md-icon { color: '{{primary-contrast}}'; } .md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]):hover { background-color: '{{primary-600}}'; } .md-button.md-THEME_NAME-theme.md-primary.md-raised:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-primary.md-fab:not([disabled]).md-focused { background-color: '{{primary-600}}'; } .md-button.md-THEME_NAME-theme.md-primary:not([disabled]) md-icon { color: '{{primary-color}}'; }.md-button.md-THEME_NAME-theme.md-fab { background-color: '{{accent-color}}'; color: '{{accent-contrast}}'; } .md-button.md-THEME_NAME-theme.md-fab:not([disabled]) .md-icon { color: '{{accent-contrast}}'; } .md-button.md-THEME_NAME-theme.md-fab:not([disabled]):hover { background-color: '{{accent-600}}'; } .md-button.md-THEME_NAME-theme.md-fab:not([disabled]).md-focused { background-color: '{{accent-600}}'; }.md-button.md-THEME_NAME-theme.md-raised { color: '{{background-900}}'; background-color: '{{background-50}}'; } .md-button.md-THEME_NAME-theme.md-raised:not([disabled]) md-icon { color: '{{background-900}}'; } .md-button.md-THEME_NAME-theme.md-raised:not([disabled]):hover { background-color: '{{background-50}}'; } .md-button.md-THEME_NAME-theme.md-raised:not([disabled]).md-focused { background-color: '{{background-200}}'; }.md-button.md-THEME_NAME-theme.md-warn { color: '{{warn-color}}'; } .md-button.md-THEME_NAME-theme.md-warn.md-raised, .md-button.md-THEME_NAME-theme.md-warn.md-fab { color: '{{warn-contrast}}'; background-color: '{{warn-color}}'; } .md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]) md-icon, .md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]) md-icon { color: '{{warn-contrast}}'; } .md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]):hover, .md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]):hover { background-color: '{{warn-600}}'; } .md-button.md-THEME_NAME-theme.md-warn.md-raised:not([disabled]).md-focused, .md-button.md-THEME_NAME-theme.md-warn.md-fab:not([disabled]).md-focused { background-color: '{{warn-600}}'; } .md-button.md-THEME_NAME-theme.md-warn:Line truncated
|
||||
})();
|
||||
|
||||
|
||||
})(window, window.angular);;window.ngMaterial={version:{full: "1.0.6-master-ba130f2"}};
|
||||
})(window, window.angular);;window.ngMaterial={version:{full: "1.1.0-rc2-master-0fc0f3e"}};
|
||||
+10
-10
@@ -2,14 +2,14 @@
|
||||
* Angular Material Design
|
||||
* https://github.com/angular/material
|
||||
* @license MIT
|
||||
* v1.0.6-master-ba130f2
|
||||
* v1.1.0-rc2-master-0fc0f3e
|
||||
*/
|
||||
!function(e,t,n){"use strict";!function(){t.module("ngMaterial",["ng","ngAnimate","ngAria","material.core","material.core.gestures","material.core.layout","material.core.theming.palette","material.core.theming","material.core.animate","material.components.autocomplete","material.components.backdrop","material.components.bottomSheet","material.components.button","material.components.card","material.components.checkbox","material.components.chips","material.components.content","material.components.datepicker","material.components.dialog","material.components.divider","material.components.fabActions","material.components.fabShared","material.components.fabSpeedDial","material.components.fabToolbar","material.components.fabTrigger","material.components.gridList","material.components.icon","material.components.input","material.components.list","material.components.menu","material.components.menuBar","material.components.progressCircular","material.components.progressLinear","material.components.radioButton","material.components.select","material.components.showHide","material.components.sidenav","material.components.slider","material.components.sticky","material.components.subheader","material.components.swipe","material.components.switch","material.components.tabs","material.components.toast","material.components.toolbar","material.components.tooltip","material.components.virtualRepeat","material.components.whiteframe"])}(),function(){function e(e,t){if(t.has("$swipe")){var n="You are using the ngTouch module. \nAngular Material already has mobile click, tap, and swipe support... \nngTouch is not supported with Angular Material!";e.warn(n)}}function n(e,t){e.decorator("$$rAF",["$delegate",o]),t.theme("default").primaryPalette("indigo").accentPalette("pink").warnPalette("deep-orange").backgroundPalette("grey")}function o(e){return e.throttle=function(t){var n,o,r,i;return function(){n=arguments,i=this,r=t,o||(o=!0,e(function(){r.apply(i,Array.prototype.slice.call(n)),o=!1}))}},e}t.module("material.core",["ngAnimate","material.core.animate","material.core.layout","material.core.gestures","material.core.theming"]).config(n).run(e),e.$inject=["$log","$injector"],n.$inject=["$provide","$mdThemingProvider"],o.$inject=["$delegate"]}(),function(){function e(){return{restrict:"A",link:n}}function n(e,t,n){var o=n.mdAutoFocus||n.mdAutofocus||n.mdSidenavFocus;e.$watch(o,function(e){t.toggleClass("_md-autofocus",e)})}t.module("material.core").directive("mdAutofocus",e).directive("mdAutoFocus",e).directive("mdSidenavFocus",e)}(),function(){function e(e){function t(e){return n?"webkit"+e.charAt(0).toUpperCase()+e.substring(1):e}var n=/webkit/i.test(e.vendorPrefix);return{KEY_CODE:{COMMA:188,SEMICOLON:186,ENTER:13,ESCAPE:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT_ARROW:37,UP_ARROW:38,RIGHT_ARROW:39,DOWN_ARROW:40,TAB:9,BACKSPACE:8,DELETE:46},CSS:{TRANSITIONEND:"transitionend"+(n?" webkitTransitionEnd":""),ANIMATIONEND:"animationend"+(n?" webkitAnimationEnd":""),TRANSFORM:t("transform"),TRANSFORM_ORIGIN:t("transformOrigin"),TRANSITION:t("transition"),TRANSITION_DURATION:t("transitionDuration"),ANIMATION_PLAY_STATE:t("animationPlayState"),ANIMATION_DURATION:t("animationDuration"),ANIMATION_NAME:t("animationName"),ANIMATION_TIMING:t("animationTimingFunction"),ANIMATION_DIRECTION:t("animationDirection")},MEDIA:{xs:"(max-width: 599px)","gt-xs":"(min-width: 600px)",sm:"(min-width: 600px) and (max-width: 959px)","gt-sm":"(min-width: 960px)",md:"(min-width: 960px) and (max-width: 1279px)","gt-md":"(min-width: 1280px)",lg:"(min-width: 1280px) and (max-width: 1919px)","gt-lg":"(min-width: 1920px)",xl:"(min-width: 1920px)",print:"print"},MEDIA_PRIORITY:["xl","gt-lg","lg","gt-md","md","gt-sm","sm","gt-xs","xs","print"]}}t.module("material.core").factory("$mdConstant",e),e.$inject=["$sniffer"]}(),function(){function e(e,n){function o(){return[].concat(E)}function r(){return E.length}function i(e){return E.length&&e>-1&&e<E.length}function a(e){return e?i(u(e)+1):!1}function d(e){return e?i(u(e)-1):!1}function c(e){return i(e)?E[e]:null}function s(e,t){return E.filter(function(n){return n[e]===t})}function l(e,n){return e?(t.isNumber(n)||(n=E.length),E.splice(n,0,e),u(e)):-1}function m(e){h(e)&&E.splice(u(e),1)}function u(e){return E.indexOf(e)}function h(e){return e&&u(e)>-1}function p(){return E.length?E[0]:null}function f(){return E.length?E[E.length-1]:null}function g(e,o,r,a){r=r||b;for(var d=u(o);;){if(!i(d))return null;var c=d+(e?-1:1),s=null;if(i(c)?s=E[c]:n&&(s=e?f():p(),c=u(s)),null===s||c===a)return null;if(r(s))return s;t.isUndefined(a)&&(a=c),d=c}}var b=function(){return!0};e&&!t.isArray(e)&&(e=Array.prototype.slice.call(e)),n=!!n;var E=e||[];return{items:o,count:r,inRange:i,contains:h,indexOf:u,itemAt:c,findBy:s,add:l,remove:m,first:p,last:f,next:t.bind(null,g,!1),previous:t.bind(null,g,!0),hasPrevious:d,hasNext:a}}t.module("material.core").config(["$provide",function(t){t.decorator("$mdUtil",["$delegate",functioLine truncated
|
||||
},getInstances:function(){return i},get:function(e){if(!o(e))return null;var t,n,r;for(t=0,n=i.length;n>t;t++)if(r=i[t],r.$$mdHandle===e)return r;return null},register:function(e,n){function o(){var t=i.indexOf(e);-1!==t&&i.splice(t,1)}function r(){var t=a[n];t&&(t.resolve(e),delete a[n])}return n?(e.$$mdHandle=n,i.push(e),r(),o):t.noop},when:function(e){if(o(e)){var t=n.defer(),i=r.get(e);return i?t.resolve(i):a[e]=t,t.promise}return n.reject("Invalid `md-component-id` value.")}}}t.module("material.core").factory("$mdComponentRegistry",e),e.$inject=["$log","$q"]}(),function(){!function(){function e(e){function n(e){return e.hasClass("md-icon-button")?{isMenuItem:e.hasClass("md-menu-item"),fitRipple:!0,center:!0}:{isMenuItem:e.hasClass("md-menu-item"),dimBackground:!0}}return{attach:function(o,r,i){return i=t.extend(n(r),i),e.attach(o,r,i)}}}t.module("material.core").factory("$mdButtonInkRipple",e),e.$inject=["$mdInkRipple"]}()}(),function(){!function(){function e(e){function n(n,o,r){return e.attach(n,o,t.extend({center:!0,dimBackground:!1,fitRipple:!0},r))}return{attach:n}}t.module("material.core").factory("$mdCheckboxInkRipple",e),e.$inject=["$mdInkRipple"]}()}(),function(){!function(){function e(e){function n(n,o,r){return e.attach(n,o,t.extend({center:!1,dimBackground:!0,outline:!1,rippleSize:"full"},r))}return{attach:n}}t.module("material.core").factory("$mdListInkRipple",e),e.$inject=["$mdInkRipple"]}()}(),function(){function e(e,n){return{controller:t.noop,link:function(t,o,r){r.hasOwnProperty("mdInkRippleCheckbox")?n.attach(t,o):e.attach(t,o)}}}function n(e){function n(n,r,i){return r.controller("mdNoInk")?t.noop:e.instantiate(o,{$scope:n,$element:r,rippleOptions:i})}return{attach:n}}function o(e,n,o,r,i,a){this.$window=r,this.$timeout=i,this.$mdUtil=a,this.$scope=e,this.$element=n,this.options=o,this.mousedown=!1,this.ripples=[],this.timeout=null,this.lastRipple=null,a.valueOnUse(this,"container",this.createContainer),this.$element.addClass("md-ink-ripple"),(n.controller("mdInkRipple")||{}).createRipple=t.bind(this,this.createRipple),(n.controller("mdInkRipple")||{}).setColor=t.bind(this,this.color),this.bindEvents()}function r(e,n){(e.mousedown||e.lastRipple)&&(e.mousedown=!1,e.$mdUtil.nextTick(t.bind(e,n),!1))}function i(){return{controller:t.noop}}t.module("material.core").factory("$mdInkRipple",n).directive("mdInkRipple",e).directive("mdNoInk",i).directive("mdNoBar",i).directive("mdNoStretch",i);var a=450;e.$inject=["$mdButtonInkRipple","$mdCheckboxInkRipple"],n.$inject=["$injector"],o.$inject=["$scope","$element","rippleOptions","$window","$timeout","$mdUtil"],o.prototype.color=function(e){function n(){var e=o.options&&o.options.colorElement?o.options.colorElement:[],t=e.length?e[0]:o.$element[0];return t?o.$window.getComputedStyle(t).color:"rgb(0,0,0)"}var o=this;return t.isDefined(e)&&(o._color=o._parseColor(e)),o._color||o._parseColor(o.inkRipple())||o._parseColor(n())},o.prototype.calculateColor=function(){return this.color()},o.prototype._parseColor=function(e,t){function n(e){var t="#"===e[0]?e.substr(1):e,n=t.length/3,o=t.substr(0,n),r=t.substr(n,n),i=t.substr(2*n);return 1===n&&(o+=o,r+=r,i+=i),"rgba("+parseInt(o,16)+","+parseInt(r,16)+","+parseInt(i,16)+",0.1)"}function o(e){return e.replace(")",", 0.1)").replace("(","a(")}return t=t||1,e?0===e.indexOf("rgba")?e.replace(/\d?\.?\d*\s*\)\s*$/,(.1*t).toString()+")"):0===e.indexOf("rgb")?o(e):0===e.indexOf("#")?n(e):void 0:void 0},o.prototype.bindEvents=function(){this.$element.on("mousedown",t.bind(this,this.handleMousedown)),this.$element.on("mouseup touchend",t.bind(this,this.handleMouseup)),this.$element.on("mouseleave",t.bind(this,this.handleMouseup)),this.$element.on("touchmove",t.bind(this,this.handleTouchmove))},o.prototype.handleMousedown=function(e){if(!this.mousedown)if(e.hasOwnProperty("originalEvent")&&(e=e.originalEvent),this.mousedown=!0,this.options.center)this.createRipple(this.container.prop("clientWidth")/2,this.container.prop("clientWidth")/2);else if(e.srcElement!==this.$element[0]){var t=this.$element[0].getBoundingClientRect(),n=e.clientX-t.left,o=e.clientY-t.top;this.createRipple(n,o)}else this.createRipple(e.offsetX,e.offsetY)},o.prototype.handleMouseup=function(){r(this,this.clearRipples)},o.prototype.handleTouchmove=function(){r(this,this.deleteRipples)},o.prototype.deleteRipples=function(){for(var e=0;e<this.ripples.length;e++)this.ripples[e].remove()},o.prototype.clearRipples=function(){for(var e=0;e<this.ripples.length;e++)this.fadeInComplete(this.ripples[e])},o.prototype.createContainer=function(){var e=t.element('<div class="md-ripple-container"></div>');return this.$element.append(e),e},o.prototype.clearTimeout=function(){this.timeout&&(this.$timeout.cancel(this.timeout),this.timeout=null)},o.prototype.isRippleAllowed=function(){var e=this.$element[0];do{if(!e.tagName||"BODY"===e.tagName)break;if(e&&t.isFunction(e.hasAttribute)){if(e.hasAttribute("disabled"))return!1;if("false"===this.inkRipple()||"0"===Line truncated
|
||||
}}}t.module("material.components.card",["material.core"]).directive("mdCard",e),e.$inject=["$mdTheming"]}(),function(){function e(e,n,o,r,i,a){function d(d,s){var l=d.children();return s.type="checkbox",s.tabindex=s.tabindex||"0",d.attr("role",s.type),d.on("click",function(e){this.hasAttribute("disabled")&&e.stopImmediatePropagation()}),l.on("focus",function(){d.focus()}),function(d,s,l,m){function u(e,t,n){l[e]&&d.$watch(l[e],function(e){n[e]&&s.attr(t,n[e])})}function h(e){var t=e.which||e.keyCode;t!==o.KEY_CODE.SPACE&&t!==o.KEY_CODE.ENTER||(e.preventDefault(),s.hasClass("md-focused")||s.addClass("md-focused"),p(e))}function p(e){s[0].hasAttribute("disabled")||d.$apply(function(){var t=l.ngChecked?l.checked:!m.$viewValue;m.$setViewValue(t,e&&e.type),m.$render()})}function f(){m.$viewValue?s.addClass(c):s.removeClass(c)}m=m||i.fakeNgModel(),r(s),l.ngChecked&&d.$watch(d.$eval.bind(d,l.ngChecked),m.$setViewValue.bind(m)),u("ngDisabled","tabindex",{"true":"-1","false":l.tabindex}),n.expectWithText(s,"aria-label"),e.link.pre(d,{on:t.noop,0:{}},l,[m]),d.mouseActive=!1,s.on("click",p).on("keypress",h).on("mousedown",function(){d.mouseActive=!0,a(function(){d.mouseActive=!1},100)}).on("focus",function(){d.mouseActive===!1&&s.addClass("md-focused")}).on("blur",function(){s.removeClass("md-focused")}),m.$render=f}}e=e[0];var c="md-checked";return{restrict:"E",transclude:!0,require:"?ngModel",priority:210,template:'<div class="_md-container" md-ink-ripple md-ink-ripple-checkbox><div class="_md-icon"></div></div><div ng-transclude class="_md-label"></div>',compile:d}}t.module("material.components.checkbox",["material.core"]).directive("mdCheckbox",e),e.$inject=["inputDirective","$mdAria","$mdConstant","$mdTheming","$mdUtil","$timeout"]}(),function(){t.module("material.components.chips",["material.core","material.components.autocomplete"])}(),function(){function e(e){function t(e,t){this.$scope=e,this.$element=t}return{restrict:"E",controller:["$scope","$element",t],link:function(t,o,r){o[0];e(o),t.$broadcast("$mdContentLoaded",o),n(o[0])}}}function n(e){t.element(e).on("$md.pressdown",function(t){"t"===t.pointer.type&&(t.$materialScrollFixed||(t.$materialScrollFixed=!0,0===e.scrollTop?e.scrollTop=1:e.scrollHeight===e.scrollTop+e.offsetHeight&&(e.scrollTop-=1)))})}t.module("material.components.content",["material.core"]).directive("mdContent",e),e.$inject=["$mdTheming"]}(),function(){!function(){function e(){return{template:'<table aria-hidden="true" class="md-calendar-day-header"><thead></thead></table><div class="md-calendar-scroll-mask"><md-virtual-repeat-container class="md-calendar-scroll-container" md-offset-size="'+(r-o)+'"><table role="grid" tabindex="0" class="md-calendar" aria-readonly="true"><tbody role="rowgroup" md-virtual-repeat="i in ctrl.items" md-calendar-month md-month-offset="$index" class="md-calendar-month" md-start-index="ctrl.getSelectedMonthIndex()" md-item-size="'+o+'"></tbody></table></md-virtual-repeat-container></div>',scope:{minDate:"=mdMinDate",maxDate:"=mdMaxDate",dateFilter:"=mdDateFilter"},require:["ngModel","mdCalendar"],controller:n,controllerAs:"ctrl",bindToController:!0,link:function(e,t,n,o){var r=o[0],i=o[1];i.configureNgModel(r)}}}function n(e,t,n,o,r,i,a,c,s,l,m){if(a(e),this.items={length:2e3},this.maxDate&&this.minDate){var u=c.getMonthDistance(this.minDate,this.maxDate)+1;u=Math.max(u,1),u+=1,this.items.length=u}if(this.$animate=o,this.$q=r,this.$mdInkRipple=l,this.$mdUtil=m,this.keyCode=i.KEY_CODE,this.dateUtil=c,this.dateLocale=s,this.$element=e,this.$scope=n,this.calendarElement=e[0].querySelector(".md-calendar"),this.calendarScroller=e[0].querySelector(".md-virtual-repeat-scroller"),this.today=this.dateUtil.createDateAtMidnight(),this.firstRenderableDate=this.dateUtil.incrementMonths(this.today,-this.items.length/2),this.minDate&&this.minDate>this.firstRenderableDate)this.firstRenderableDate=this.minDate;else if(this.maxDate){this.items.length-2;this.firstRenderableDate=this.dateUtil.incrementMonths(this.maxDate,-(this.items.length-2))}this.id=d++,this.ngModelCtrl=null,this.selectedDate=null,this.displayDate=null,this.focusDate=null,this.isInitialized=!1,this.isMonthTransitionInProgress=!1,t.tabindex||e.attr("tabindex","-1");var h=this;this.cellClickHandler=function(){var e=this;this.hasAttribute("data-timestamp")&&n.$apply(function(){var t=Number(e.getAttribute("data-timestamp"));h.setNgModelValue(h.dateUtil.createDateAtMidnight(t))})},this.attachCalendarEventListeners()}t.module("material.components.datepicker",["material.core","material.components.icon","material.components.virtualRepeat"]).directive("mdCalendar",e);var o=265,r=45,i="md-calendar-selected-date",a="md-focus",d=0;n.$inject=["$element","$attrs","$scope","$animate","$q","$mdConstant","$mdTheming","$$mdDateUtil","$mdDateLocale","$mdInkRipple","$mdUtil"],n.prototype.configureNgModel=function(e){this.ngModelCtrl=e;var t=this;e.$render=function(){t.changeSelectedDate(t.ngModelCtrl.$viewValue)}},n.prototype.buLine truncated
|
||||
options:o}).addPreset("confirm",{methods:["title","htmlContent","textContent","content","ariaLabel","ok","cancel","theme","css"],options:o}).addPreset("prompt",{methods:["title","htmlContent","textContent","content","placeholder","ariaLabel","ok","cancel","theme","css"],options:o})}t.module("material.components.dialog",["material.core","material.components.backdrop"]).directive("mdDialog",e).provider("$mdDialog",o),e.$inject=["$$rAF","$mdTheming","$mdDialog"],o.$inject=["$$interimElementProvider"]}(),function(){function e(e){return{restrict:"E",link:e}}t.module("material.components.divider",["material.core"]).directive("mdDivider",e),e.$inject=["$mdTheming"]}(),function(){!function(){function e(){return{restrict:"E",require:["^?mdFabSpeedDial","^?mdFabToolbar"],compile:function(e,n){var o=e.children(),r=!1;t.forEach(["","data-","x-"],function(e){r=r||!!o.attr(e+"ng-repeat")}),r?o.addClass("md-fab-action-item"):o.wrap('<div class="md-fab-action-item">')}}}t.module("material.components.fabActions",["material.core"]).directive("mdFabActions",e)}()}(),function(){!function(){function e(e,n,o,r,i,a){function d(){N.direction=N.direction||"down",N.isOpen=N.isOpen||!1,l(),n.addClass("_md-animations-waiting")}function c(){var o=["click","focusin","focusout"];t.forEach(o,function(e){n.on(e,s)}),e.$on("$destroy",function(){t.forEach(o,function(e){n.off(e,s)}),p()})}function s(e){"click"==e.type&&w(e),"focusout"!=e.type||S||(S=a(function(){N.close()},100,!1)),"focusin"==e.type&&S&&(a.cancel(S),S=null)}function l(){N.currentActionIndex=-1}function m(){e.$watch("vm.direction",function(e,t){o.removeClass(n,"md-"+t),o.addClass(n,"md-"+e),l()});var t,r;e.$watch("vm.isOpen",function(e){l(),t&&r||(t=_(),r=x()),e?h():p();var i=e?"md-is-open":"",a=e?"":"md-is-open";t.attr("aria-haspopup",!0),t.attr("aria-expanded",e),r.attr("aria-hidden",!e),o.setClass(n,i,a)})}function u(){n[0].scrollHeight>0?o.addClass(n,"_md-animations-ready").then(function(){n.removeClass("_md-animations-waiting")}):10>H&&(a(u,100),H+=1)}function h(){n.on("keydown",g),r.nextTick(function(){t.element(document).on("click touchend",f)})}function p(){n.off("keydown",g),t.element(document).off("click touchend",f)}function f(e){if(e.target){var t=r.getClosest(e.target,"md-fab-trigger"),n=r.getClosest(e.target,"md-fab-actions");t||n||N.close()}}function g(e){switch(e.which){case i.KEY_CODE.ESCAPE:return N.close(),e.preventDefault(),!1;case i.KEY_CODE.LEFT_ARROW:return $(e),!1;case i.KEY_CODE.UP_ARROW:return y(e),!1;case i.KEY_CODE.RIGHT_ARROW:return C(e),!1;case i.KEY_CODE.DOWN_ARROW:return A(e),!1}}function b(e){v(e,-1)}function E(e){v(e,1)}function v(e,n){var o=M();N.currentActionIndex=N.currentActionIndex+n,N.currentActionIndex=Math.min(o.length-1,N.currentActionIndex),N.currentActionIndex=Math.max(0,N.currentActionIndex);var r=t.element(o[N.currentActionIndex]).children()[0];t.element(r).attr("tabindex",0),r.focus(),e.preventDefault(),e.stopImmediatePropagation()}function M(){var e=x()[0].querySelectorAll(".md-fab-action-item");return t.forEach(e,function(e){t.element(t.element(e).children()[0]).attr("tabindex",-1)}),e}function $(e){"left"===N.direction?E(e):b(e)}function y(e){"down"===N.direction?b(e):E(e)}function C(e){"left"===N.direction?b(e):E(e)}function A(e){"up"===N.direction?b(e):E(e)}function T(e){return r.getClosest(e,"md-fab-trigger")}function k(e){return r.getClosest(e,"md-fab-actions")}function w(e){T(e.target)&&N.toggle(),k(e.target)&&N.close()}function _(){return n.find("md-fab-trigger")}function x(){return n.find("md-fab-actions")}var N=this;N.open=function(){e.$evalAsync("vm.isOpen = true")},N.close=function(){e.$evalAsync("vm.isOpen = false"),n.find("md-fab-trigger")[0].focus()},N.toggle=function(){e.$evalAsync("vm.isOpen = !vm.isOpen")},d(),c(),m();var H=0;u();var S}t.module("material.components.fabShared",["material.core"]).controller("MdFabController",e),e.$inject=["$scope","$element","$animate","$mdUtil","$mdConstant","$timeout"]}()}(),function(){!function(){function n(){function e(e,t){t.prepend('<div class="_md-css-variables"></div>')}return{restrict:"E",scope:{direction:"@?mdDirection",isOpen:"=?mdOpen"},bindToController:!0,controller:"MdFabController",controllerAs:"vm",link:e}}function o(n){function o(e){n(e,i,!1)}function r(n){if(!n.hasClass("_md-animations-waiting")||n.hasClass("_md-animations-ready")){var o=n[0],r=n.controller("mdFabSpeedDial"),i=o.querySelectorAll(".md-fab-action-item"),a=o.querySelector("md-fab-trigger"),d=o.querySelector("._md-css-variables"),c=parseInt(e.getComputedStyle(d).zIndex);t.forEach(i,function(e,t){var n=e.style;n.transform=n.webkitTransform="",n.transitionDelay="",n.opacity=1,n.zIndex=i.length-t+c}),a.style.zIndex=c+i.length+1,r.isOpen||t.forEach(i,function(e,t){var n,o,i=e.style,d=(a.clientHeight-e.clientHeight)/2,c=(a.clientWidth-e.clientWidth)/2;switch(r.direction){case"up":n=e.scrollHeight*(t+1)+d,o="Y";break;case"down":n=-(e.scrollHeight*(t+1)+d),o="Y";break;case"left":n=e.scrollWidth*(t+1)+c,o=Line truncated
|
||||
l.append(n)}),a.parent().append(l)}var u=o.parseAttributeBoolean(c.multiple),h=u?"multiple":"",p='<div class="_md-select-menu-container" aria-hidden="true"><md-select-menu {0}>{1}</md-select-menu></div>';return p=o.supplant(p,[h,a.html()]),a.empty().append(s),a.append(p),c.tabindex=c.tabindex||"0",function(a,c,s,l){function m(){var e=c.attr("aria-label")||c.attr("placeholder");!e&&y&&y.label&&(e=y.label.text()),M=e,i.expect(c,"aria-label",e)}function h(){x&&(H=H||x.find("md-select-menu").controller("mdSelectMenu"),C.setLabelText(H.selectedLabels()))}function p(){if(M){var e=H.selectedLabels({mode:"aria"});c.attr("aria-label",e.length?M+": "+e:M)}}function f(){y&&y.setHasValue(H.selectedLabels().length>0||(c[0].validity||{}).badInput)}function g(){if(x=t.element(c[0].querySelector("._md-select-menu-container")),N=a,s.mdContainerClass){var e=x[0].getAttribute("class")+" "+s.mdContainerClass;x[0].setAttribute("class",e)}H=x.find("md-select-menu").controller("mdSelectMenu"),H.init(A,s.ngModel),c.on("$destroy",function(){x.remove()})}function b(e){var n=[32,13,38,40];if(-1!=n.indexOf(e.keyCode))e.preventDefault(),E(e);else if(e.keyCode<=90&&e.keyCode>=31){e.preventDefault();var o=H.optNodeForKeyboardSearch(e);if(!o)return;var r=t.element(o).controller("mdOption");H.isMultiple||H.deselect(Object.keys(H.selected)[0]),H.select(r.hashKey,r.value),H.refreshViewValue()}}function E(){N.isOpen=!0,c.attr("aria-expanded","true"),e.show({scope:N,preserveScope:!0,skipCompile:!0,element:x,target:c[0],selectCtrl:C,preserveElement:!0,hasBackdrop:!0,loadingAsync:s.mdOnOpen?a.$eval(s.mdOnOpen)||!0:!1})["finally"](function(){N.isOpen=!1,c.focus(),c.attr("aria-expanded","false"),A.$setTouched()})}var v,M,$=!0,y=l[0],C=l[1],A=l[2],T=l[3],k=c.find("md-select-value"),w=t.isDefined(s.readonly);if(y){var _=y.isErrorGetter||function(){return A.$invalid&&A.$touched};if(y.input)throw new Error("<md-input-container> can only have *one* child <input>, <textarea> or <select> element!");y.input=c,y.label||i.expect(c,"aria-label",c.attr("placeholder")),a.$watch(_,y.setInvalid)}var x,N,H;if(g(),r(c),s.name&&T){var S=c.parent()[0].querySelector('select[name=".'+s.name+'"]');o.nextTick(function(){var e=t.element(S).controller("ngModel");e&&T.$removeControl(e)})}T&&t.isDefined(s.multiple)&&o.nextTick(function(){var e=A.$modelValue||A.$viewValue;e&&T.$setPristine()});var D=A.$render;A.$render=function(){D(),h(),p(),f()},s.$observe("placeholder",A.$render),C.setLabelText=function(e){C.setIsPlaceholder(!e);var t=s.placeholder||(y&&y.label?y.label.text():"");e=e||t||"";var n=k.children().eq(0);n.html(e)},C.setIsPlaceholder=function(e){e?(k.addClass("_md-select-placeholder"),y&&y.label&&y.label.addClass("_md-placeholder")):(k.removeClass("_md-select-placeholder"),y&&y.label&&y.label.removeClass("_md-placeholder"))},w||(c.on("focus",function(e){y&&y.element.hasClass("md-input-has-value")&&y.setFocused(!0)}),o.nextTick(function(){c.on("blur",function(){$&&($=!1,A.$setUntouched()),N.isOpen||(y&&y.setFocused(!1),f())})})),C.triggerClose=function(){d(s.mdOnClose)(a)},a.$$postDigest(function(){m(),h(),p()}),a.$watch(H.selectedLabels,h);var I;s.$observe("ngMultiple",function(e){I&&I();var t=d(e);I=a.$watch(function(){return t(a)},function(e,t){e===n&&t===n||(e?c.attr("multiple","multiple"):c.removeAttr("multiple"),c.attr("aria-multiselectable",e?"true":"false"),x&&(H.setMultiple(e),D=A.$render,A.$render=function(){D(),h(),p(),f()},A.$render()))})}),s.$observe("disabled",function(e){t.isString(e)&&(e=!0),v!==n&&v===e||(v=e,e?(c.attr({tabindex:-1,"aria-disabled":"true"}),c.off("click",E),c.off("keydown",b)):(c.attr({tabindex:s.tabindex,"aria-disabled":"false"}),c.on("click",E),c.on("keydown",b)))}),s.disabled||s.ngDisabled||(c.attr({tabindex:s.tabindex,"aria-disabled":"false"}),c.on("click",E),c.on("keydown",b));var O={role:"listbox","aria-expanded":"false","aria-multiselectable":u&&!s.ngMultiple?"true":"false"};c[0].hasAttribute("id")||(O.id="select_"+o.nextUid());var R="select_container_"+o.nextUid();x.attr("id",R),O["aria-owns"]=R,c.attr(O),a.$on("$destroy",function(){e.destroy()["finally"](function(){y&&(y.setFocused(!1),y.setHasValue(!1),y.input=null),A.$setTouched()})})}}return{restrict:"E",require:["^?mdInputContainer","mdSelect","ngModel","?^form"],compile:c,controller:function(){}}}function o(e,o,r){function i(e,n,i,a){function d(e){13!=e.keyCode&&32!=e.keyCode||c(e)}function c(n){var r=o.getClosest(n.target,"md-option"),i=r&&t.element(r).data("$mdOptionController");if(r&&i){if(r.hasAttribute("disabled"))return n.stopImmediatePropagation(),!1;var a=s.hashGetter(i.value),d=t.isDefined(s.selected[a]);e.$apply(function(){s.isMultiple?d?s.deselect(a):s.select(a,i.value):d||(s.deselect(Object.keys(s.selected)[0]),s.select(a,i.value)),s.refreshViewValue()})}}var s=a[0];r(n),n.on("click",c),n.on("keypress",d)}function a(r,i,a){function d(){var e=l.ngModel.$modelValue||l.ngModel.$viewValue||[];if(t.isArray(e)){var n=Object.keys(l.selected),o=e.map(l.hashGetteLine truncated
|
||||
priority:210,transclude:!0,template:'<div class="_md-container"><div class="_md-bar"></div><div class="_md-thumb-container"><div class="_md-thumb" md-ink-ripple md-ink-ripple-checkbox></div></div></div><div ng-transclude class="_md-label"></div>',require:"?ngModel",compile:d}}t.module("material.components.switch",["material.core","material.components.checkbox"]).directive("mdSwitch",e),e.$inject=["mdCheckboxDirective","$mdUtil","$mdConstant","$parse","$$rAF","$mdGesture"]}(),function(){t.module("material.components.tabs",["material.core","material.components.icon"])}(),function(){function e(e){return{restrict:"E",link:function(t,n,o){t.$on("$destroy",function(){e.destroy()})}}}function n(e){function n(e){r=e}function o(e,n,o,i){function a(t,a,d){r=d.textContent||d.content;var l=!i("gt-sm");return a=o.extractElementByName(a,"md-toast",!0),d.onSwipe=function(e,t){var r=e.type.replace("$md.",""),i=r.replace("swipe","");"down"===i&&-1!=d.position.indexOf("top")&&!l||"up"===i&&(-1!=d.position.indexOf("bottom")||l)||("left"!==i&&"right"!==i||!l)&&(a.addClass("_md-"+r),o.nextTick(n.cancel))},d.openClass=c(d.position),d.parent.addClass(d.openClass),o.hasComputedStyle(d.parent,"position","static")&&d.parent.css("position","relative"),a.on(s,d.onSwipe),a.addClass(l?"_md-bottom":d.position.split(" ").map(function(e){return"_md-"+e}).join(" ")),d.parent&&d.parent.addClass("_md-toast-animating"),e.enter(a,d.parent).then(function(){d.parent&&d.parent.removeClass("_md-toast-animating")})}function d(t,n,r){return n.off(s,r.onSwipe),r.parent&&r.parent.addClass("_md-toast-animating"),r.openClass&&r.parent.removeClass(r.openClass),(1==r.$destroy?n.remove():e.leave(n)).then(function(){r.parent&&r.parent.removeClass("_md-toast-animating"),o.hasComputedStyle(r.parent,"position","static")&&r.parent.css("position","")})}function c(e){return i("gt-xs")?"_md-toast-open-"+(e.indexOf("top")>-1?"top":"bottom"):"_md-toast-open-bottom"}var s="$md.swipeleft $md.swiperight $md.swipeup $md.swipedown";return{onShow:a,onRemove:d,position:"bottom left",themable:!0,hideDelay:3e3,autoWrap:!0,transformTemplate:function(e,n){var o=n.autoWrap&&e&&!/md-toast-content/g.test(e);if(o){var r=t.element(e),i='<div class="md-toast-content">'+r.html()+"</div>";return r.empty().append(i),r[0].outerHTML}return o?'<div class="md-toast-content">'+e+"</div>":e||""}}}var r,i="ok",a=e("$mdToast").setDefaults({methods:["position","hideDelay","capsule","parent","position"],options:o}).addPreset("simple",{argOption:"textContent",methods:["textContent","content","action","highlightAction","highlightClass","theme","parent"],options:["$mdToast","$mdTheming",function(e,t){return{template:'<md-toast md-theme="{{ toast.theme }}" ng-class="{\'md-capsule\': toast.capsule}"> <div class="md-toast-content"> <span flex class="md-toast-text" role="alert" aria-relevant="all" aria-atomic="true"> {{ toast.content }} </span> <md-button class="md-action" ng-if="toast.action" ng-click="toast.resolve()" ng-class="highlightClasses"> {{ toast.action }} </md-button> </div></md-toast>',controller:["$scope",function(t){var n=this;n.highlightAction&&(t.highlightClasses=["md-highlight",n.highlightClass]),t.$watch(function(){return r},function(){n.content=r}),this.resolve=function(){e.hide(i)}}],theme:t.defaultTheme(),controllerAs:"toast",bindToController:!0}}]}).addMethod("updateTextContent",n).addMethod("updateContent",n);return o.$inject=["$animate","$mdToast","$mdUtil","$mdMedia"],a}t.module("material.components.toast",["material.core","material.components.button"]).directive("mdToast",e).provider("$mdToast",n),e.$inject=["$mdToast"],n.$inject=["$$interimElementProvider"]}(),function(){function e(e,n,o,r,i){var a=t.bind(null,o.supplant,"translate3d(0,{0}px,0)");return{template:"",restrict:"E",link:function(d,c,s){function l(){function r(e){var t=c.parent().find("md-content");!f&&t.length&&l(null,t),e=d.$eval(e),e===!1?g():g=u()}function l(e,t){t&&c.parent()[0]===t.parent()[0]&&(f&&f.off("scroll",M),f=t,g=u())}function m(e){var t=e?e.target.scrollTop:E;$(),b=Math.min(p/v,Math.max(0,b+t-E)),c.css(n.CSS.TRANSFORM,a([-b*v])),f.css(n.CSS.TRANSFORM,a([(p-b)*v])),E=t,o.nextTick(function(){var e=c.hasClass("md-whiteframe-z1");e&&!b?i.removeClass(c,"md-whiteframe-z1"):!e&&b&&i.addClass(c,"md-whiteframe-z1")})}function u(){return f?(f.on("scroll",M),f.attr("scroll-shrink","true"),e(h),function(){f.off("scroll",M),f.attr("scroll-shrink","false"),e(h)}):t.noop}function h(){p=c.prop("offsetHeight");var e=-p*v+"px";f.css({"margin-top":e,"margin-bottom":e}),m()}var p,f,g=t.noop,b=0,E=0,v=s.mdShrinkSpeedFactor||.5,M=e.throttle(m),$=o.debounce(h,5e3);d.$on("$mdContentLoaded",l),s.$observe("mdScrollShrink",r),s.ngShow&&d.$watch(s.ngShow,h),s.ngHide&&d.$watch(s.ngHide,h),d.$on("$destroy",g)}r(c),t.isDefined(s.mdScrollShrink)&&l()}}}t.module("material.components.toolbar",["material.core","material.components.content"]).directive("mdToolbar",e),e.$inject=["$$rAF","$mdConstant","Line truncated
|
||||
}}}t.module("material.components.autocomplete").directive("mdAutocomplete",e)}(),function(){function e(e,t){function n(e,n,o){return function(e,n,r){function i(n,o){c[o]=e[n],e.$watch(n,function(e){t.nextTick(function(){c[o]=e})})}function a(){var t=!1,n=!1;e.$watch(function(){n||t||(t=!0,e.$$postDigest(function(){n||c.$digest(),t=n=!1}))}),c.$watch(function(){n=!0})}var d=e.$mdAutocompleteCtrl,c=d.parent.$new(),s=d.itemName;i("$index","$index"),i("item",s),a(),o(c,function(e){n.after(e)})}}return{restrict:"AE",compile:n,terminal:!0,transclude:"element"}}t.module("material.components.autocomplete").directive("mdAutocompleteParentScope",e),e.$inject=["$compile","$mdUtil"]}(),function(){function e(e,n,o){function r(r,i){var d=null,c=null,s=o.mdHighlightFlags||"",l=e.$watch(function(e){return{term:r(e),unsafeText:i(e)}},function(e,o){null!==d&&e.unsafeText===o.unsafeText||(d=t.element("<div>").text(e.unsafeText).html()),null!==c&&e.term===o.term||(c=a(e.term,s)),n.html(d.replace(c,'<span class="highlight">$&</span>'))},!0);n.on("$destroy",l)}function i(e){return e&&e.replace(/[\\\^\$\*\+\?\.\(\)\|\{}\[\]]/g,"\\$&")}function a(e,t){var n="";return t.indexOf("^")>=1&&(n+="^"),n+=e,t.indexOf("$")>=1&&(n+="$"),new RegExp(i(n),t.replace(/[\$\^]/g,""))}this.init=r}t.module("material.components.autocomplete").controller("MdHighlightCtrl",e),e.$inject=["$scope","$element","$attrs"]}(),function(){function e(e,t){return{terminal:!0,controller:"MdHighlightCtrl",compile:function(n,o){var r=t(o.mdHighlightText),i=e(n.html());return function(e,t,n,o){o.init(r,i)}}}}t.module("material.components.autocomplete").directive("mdHighlightText",e),e.$inject=["$interpolate","$parse"]}(),function(){function o(e,t,o,r,i){this.$scope=e,this.$element=t,this.$mdConstant=o,this.$timeout=r,this.$mdUtil=i,this.isEditting=!1,this.parentController=n,this.enableChipEdit=!1}t.module("material.components.chips").controller("MdChipCtrl",o),o.$inject=["$scope","$element","$mdConstant","$timeout","$mdUtil"],o.prototype.init=function(e){this.parentController=e,this.enableChipEdit=this.parentController.enableChipEdit,this.enableChipEdit&&(this.$element.on("keydown",this.chipKeyDown.bind(this)),this.$element.on("mousedown",this.chipMouseDown.bind(this)),this.getChipContent().addClass("_md-chip-content-edit-is-enabled"))},o.prototype.getChipContent=function(){var e=this.$element[0].getElementsByClassName("_md-chip-content");return t.element(e[0])},o.prototype.getContentElement=function(){return t.element(this.getChipContent().children()[0])},o.prototype.getChipIndex=function(){return parseInt(this.$element.attr("index"))},o.prototype.goOutOfEditMode=function(){if(this.isEditting){this.isEditting=!1,this.$element.removeClass("_md-chip-editing"),this.getChipContent()[0].contentEditable="false";var e=this.getChipIndex(),t=this.getContentElement().text();t?(this.parentController.updateChipContents(e,this.getContentElement().text()),this.$mdUtil.nextTick(function(){this.parentController.selectedChip===e&&this.parentController.focusChip(e)}.bind(this))):this.parentController.removeChipAndFocusInput(e)}},o.prototype.selectNodeContents=function(t){var n,o;document.body.createTextRange?(n=document.body.createTextRange(),n.moveToElementText(t),n.select()):e.getSelection&&(o=e.getSelection(),n=document.createRange(),n.selectNodeContents(t),o.removeAllRanges(),o.addRange(n))},o.prototype.goInEditMode=function(){this.isEditting=!0,this.$element.addClass("_md-chip-editing"),this.getChipContent()[0].contentEditable="true",this.getChipContent().on("blur",function(){this.goOutOfEditMode()}.bind(this)),this.selectNodeContents(this.getChipContent()[0])},o.prototype.chipKeyDown=function(e){this.isEditting||e.keyCode!==this.$mdConstant.KEY_CODE.ENTER&&e.keyCode!==this.$mdConstant.KEY_CODE.SPACE?this.isEditting&&e.keyCode===this.$mdConstant.KEY_CODE.ENTER&&(e.preventDefault(),this.goOutOfEditMode()):(e.preventDefault(),this.goInEditMode())},o.prototype.chipMouseDown=function(){this.getChipIndex()==this.parentController.selectedChip&&this.enableChipEdit&&!this.isEditting&&this.goInEditMode()}}(),function(){function e(e,o){function r(n,r){return n.append(o.processTemplate(i)),function(n,o,r,i){var a=i.shift(),d=i.shift();e(o),a&&(d.init(a),t.element(o[0].querySelector("._md-chip-content")).on("blur",function(){a.selectedChip=-1,a.$scope.$applyAsync()}))}}var i=o.processTemplate(n);return{restrict:"E",require:["^?mdChips","mdChip"],compile:r,controller:"MdChipCtrl"}}t.module("material.components.chips").directive("mdChip",e);var n=' <span ng-if="!$mdChipsCtrl.readonly" class="_md-visually-hidden"> {{$mdChipsCtrl.deleteHint}} </span>';e.$inject=["$mdTheming","$mdUtil"]}(),function(){function e(e){function t(t,n,o,r){n.on("click",function(e){t.$apply(function(){r.removeChip(t.$$replacedScope.$index)})}),e(function(){n.attr({tabindex:-1,"aria-hidden":!0}),n.find("button").attr("tabindex","-1")})}return{restrict:"A",require:"^mdChips",scope:!1,link:t}}t.module("materiaLine truncated
|
||||
var d=e.getClosest(a,"MD-MENU");a.hasAttribute("disabled")||d&&d!=i.parent[0]||o();break}}while(a=a.parentNode)}r.addClass("_md-clickable"),i.backdrop&&i.backdrop.on("click",o),i.menuContentEl.on("keydown",t),i.menuContentEl[0].addEventListener("click",d,!0);var c=i.menuContentEl[0].querySelector("[md-menu-focus-target]");if(!c){var s=i.menuContentEl[0].firstElementChild;c=s&&(s.querySelector(".md-button:not([disabled])")||s.firstElementChild)}return c&&c.focus(),function(){r.removeClass("_md-clickable"),i.backdrop&&i.backdrop.off("click",o),i.menuContentEl.off("keydown",t),i.menuContentEl[0].removeEventListener("click",d,!0)}}return u(i),o.inherit(i.menuContentEl,i.target),i.cleanupResizing=p(),i.hideBackdrop=h(n,r,i),d().then(function(e){return i.alreadyOpen=!0,i.cleanupInteraction=f(),e})}function g(t,n,o,r){for(var i,a=e.getClosest(t.target,"MD-MENU-ITEM"),d=e.nodesToArray(n[0].children),c=d.indexOf(a),s=c+r;s>=0&&s<d.length;s+=r){var l=d[s].querySelector(".md-button");if(i=b(l))break}return i}function b(e){return e&&-1!=e.getAttribute("tabindex")?(e.focus(),d[0].activeElement==e):void 0}function E(e,t){t.preserveElement?r(e).style.display="none":r(e).parentNode===r(t.parent)&&r(t.parent).removeChild(r(e))}function v(t,o){function r(e){e.top=Math.max(Math.min(e.top,E.bottom-l.offsetHeight),E.top),e.left=Math.max(Math.min(e.left,E.right-l.offsetWidth),E.left)}function a(){for(var e=0;e<m.children.length;++e)if("none"!=c.getComputedStyle(m.children[e]).display)return m.children[e]}var s,l=t[0],m=t[0].firstElementChild,u=m.getBoundingClientRect(),h=d[0].body,p=h.getBoundingClientRect(),f=c.getComputedStyle(m),g=o.target[0].querySelector("[md-menu-origin]")||o.target[0],b=g.getBoundingClientRect(),E={left:p.left+i,top:Math.max(p.top,0)+i,bottom:Math.max(p.bottom,Math.max(p.top,0)+p.height)-i,right:p.right-i},v={top:0,left:0,right:0,bottom:0},M={top:0,left:0,right:0,bottom:0},$=o.mdMenuCtrl.positionMode();"target"!=$.top&&"target"!=$.left&&"target-right"!=$.left||(s=a(),s&&(s=s.firstElementChild||s,s=s.querySelector("[md-menu-align-target]")||s,v=s.getBoundingClientRect(),M={top:parseFloat(l.style.top||0),left:parseFloat(l.style.left||0)}));var y={},C="top ";switch($.top){case"target":y.top=M.top+b.top-v.top;break;case"cascade":y.top=b.top-parseFloat(f.paddingTop)-g.style.top;break;case"bottom":y.top=b.top+b.height;break;default:throw new Error('Invalid target mode "'+$.top+'" specified for md-menu on Y axis.')}var A="rtl"==e.bidi();switch($.left){case"target":y.left=M.left+b.left-v.left,C+=A?"right":"left";break;case"target-left":y.left=b.left,C+="left";break;case"target-right":y.left=b.right-u.width+(u.right-v.right),C+="right";break;case"cascade":var T=A?b.left-u.width<E.left:b.right+u.width<E.right;y.left=T?b.right-g.style.left:b.left-g.style.left-u.width,C+=T?"left":"right";break;case"left":A?(y.left=b.right-u.width,C+="right"):(y.left=b.left,C+="left");break;default:throw new Error('Invalid target mode "'+$.left+'" specified for md-menu on X axis.')}var k=o.mdMenuCtrl.offsets();y.top+=k.top,y.left+=k.left,r(y);var w=Math.round(100*Math.min(b.width/l.offsetWidth,1))/100,_=Math.round(100*Math.min(b.height/l.offsetHeight,1))/100;return{top:Math.round(y.top),left:Math.round(y.left),transform:o.alreadyOpen?n:e.supplant("scale({0},{1})",[w,_]),transformOrigin:C}}var M=e.dom.animator;return{parent:"body",onShow:f,onRemove:p,hasBackdrop:!0,disableParentScroll:!0,skipCompile:!0,preserveScope:!0,skipHide:!0,themable:!0}}function r(e){return e instanceof t.element&&(e=e[0]),e}var i=8;return o.$inject=["$mdUtil","$mdTheming","$mdConstant","$document","$window","$q","$$rAF","$animateCss","$animate"],e("$mdMenu").setDefaults({methods:["target"],options:o})}t.module("material.components.menu").provider("$mdMenu",e),e.$inject=["$$interimElementProvider"]}(),function(){function e(e,n,r,i,a,d,c,s){this.$element=r,this.$attrs=i,this.$mdConstant=a,this.$mdUtil=c,this.$document=d,this.$scope=e,this.$rootScope=n,this.$timeout=s;var l=this;t.forEach(o,function(e){l[e]=t.bind(l,l[e])})}t.module("material.components.menuBar").controller("MenuBarController",e);var o=["handleKeyDown","handleMenuHover","scheduleOpenHoveredMenu","cancelScheduledOpen"];e.$inject=["$scope","$rootScope","$element","$attrs","$mdConstant","$document","$mdUtil","$timeout"],e.prototype.init=function(){var e=this.$element,t=this.$mdUtil,o=this.$scope,r=this,i=[];e.on("keydown",this.handleKeyDown),this.parentToolbar=t.getClosest(e,"MD-TOOLBAR"),i.push(this.$rootScope.$on("$mdMenuOpen",function(t,n){-1!=r.getMenus().indexOf(n[0])&&(e[0].classList.add("_md-open"),n[0].classList.add("_md-open"),r.currentlyOpenMenu=n.controller("mdMenu"),r.currentlyOpenMenu.registerContainerProxy(r.handleKeyDown),r.enableOpenOnHover())})),i.push(this.$rootScope.$on("$mdMenuClose",function(o,i,a){var d=r.getMenus();if(-1!=d.indexOf(i[0])&&(e[0].classList.remove("_md-open"),i[0].classList.remove("_md-open")),e[0].contains(i[0])){for(var c=i[0];c&&-1==d.indexOf(c);)c=t.getClosesLine truncated
|
||||
}()}(window,window.angular),window.ngMaterial={version:{full:"1.0.6-master-ba130f2"}};
|
||||
!function(e,t,n){"use strict";!function(){t.module("ngMaterial",["ng","ngAnimate","ngAria","material.core","material.core.gestures","material.core.layout","material.core.theming.palette","material.core.theming","material.core.animate","material.components.autocomplete","material.components.backdrop","material.components.bottomSheet","material.components.button","material.components.card","material.components.checkbox","material.components.chips","material.components.content","material.components.datepicker","material.components.dialog","material.components.divider","material.components.fabActions","material.components.fabShared","material.components.fabSpeedDial","material.components.fabToolbar","material.components.fabTrigger","material.components.gridList","material.components.icon","material.components.input","material.components.list","material.components.menu","material.components.menuBar","material.components.progressCircular","material.components.progressLinear","material.components.radioButton","material.components.select","material.components.showHide","material.components.sidenav","material.components.slider","material.components.sticky","material.components.subheader","material.components.swipe","material.components.switch","material.components.tabs","material.components.toast","material.components.toolbar","material.components.tooltip","material.components.virtualRepeat","material.components.whiteframe"])}(),function(){function e(e,t){if(t.has("$swipe")){var n="You are using the ngTouch module. \nAngular Material already has mobile click, tap, and swipe support... \nngTouch is not supported with Angular Material!";e.warn(n)}}function n(e,t){e.decorator("$$rAF",["$delegate",o]),t.theme("default").primaryPalette("indigo").accentPalette("pink").warnPalette("deep-orange").backgroundPalette("grey")}function o(e){return e.throttle=function(t){var n,o,r,i;return function(){n=arguments,i=this,r=t,o||(o=!0,e(function(){r.apply(i,Array.prototype.slice.call(n)),o=!1}))}},e}t.module("material.core",["ngAnimate","material.core.animate","material.core.layout","material.core.gestures","material.core.theming"]).config(n).run(e),e.$inject=["$log","$injector"],n.$inject=["$provide","$mdThemingProvider"],o.$inject=["$delegate"]}(),function(){function e(){return{restrict:"A",link:n}}function n(e,t,n){var o=n.mdAutoFocus||n.mdAutofocus||n.mdSidenavFocus;e.$watch(o,function(e){t.toggleClass("_md-autofocus",e)})}t.module("material.core").directive("mdAutofocus",e).directive("mdAutoFocus",e).directive("mdSidenavFocus",e)}(),function(){function e(e){function t(e){return n?"webkit"+e.charAt(0).toUpperCase()+e.substring(1):e}var n=/webkit/i.test(e.vendorPrefix);return{KEY_CODE:{COMMA:188,SEMICOLON:186,ENTER:13,ESCAPE:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT_ARROW:37,UP_ARROW:38,RIGHT_ARROW:39,DOWN_ARROW:40,TAB:9,BACKSPACE:8,DELETE:46},CSS:{TRANSITIONEND:"transitionend"+(n?" webkitTransitionEnd":""),ANIMATIONEND:"animationend"+(n?" webkitAnimationEnd":""),TRANSFORM:t("transform"),TRANSFORM_ORIGIN:t("transformOrigin"),TRANSITION:t("transition"),TRANSITION_DURATION:t("transitionDuration"),ANIMATION_PLAY_STATE:t("animationPlayState"),ANIMATION_DURATION:t("animationDuration"),ANIMATION_NAME:t("animationName"),ANIMATION_TIMING:t("animationTimingFunction"),ANIMATION_DIRECTION:t("animationDirection")},MEDIA:{xs:"(max-width: 599px)","gt-xs":"(min-width: 600px)",sm:"(min-width: 600px) and (max-width: 959px)","gt-sm":"(min-width: 960px)",md:"(min-width: 960px) and (max-width: 1279px)","gt-md":"(min-width: 1280px)",lg:"(min-width: 1280px) and (max-width: 1919px)","gt-lg":"(min-width: 1920px)",xl:"(min-width: 1920px)",print:"print"},MEDIA_PRIORITY:["xl","gt-lg","lg","gt-md","md","gt-sm","sm","gt-xs","xs","print"]}}t.module("material.core").factory("$mdConstant",e),e.$inject=["$sniffer"]}(),function(){function e(e,n){function o(){return[].concat(v)}function r(){return v.length}function i(e){return v.length&&e>-1&&e<v.length}function a(e){return e?i(u(e)+1):!1}function d(e){return e?i(u(e)-1):!1}function c(e){return i(e)?v[e]:null}function s(e,t){return v.filter(function(n){return n[e]===t})}function l(e,n){return e?(t.isNumber(n)||(n=v.length),v.splice(n,0,e),u(e)):-1}function m(e){p(e)&&v.splice(u(e),1)}function u(e){return v.indexOf(e)}function p(e){return e&&u(e)>-1}function h(){return v.length?v[0]:null}function f(){return v.length?v[v.length-1]:null}function g(e,o,r,a){r=r||b;for(var d=u(o);;){if(!i(d))return null;var c=d+(e?-1:1),s=null;if(i(c)?s=v[c]:n&&(s=e?f():h(),c=u(s)),null===s||c===a)return null;if(r(s))return s;t.isUndefined(a)&&(a=c),d=c}}var b=function(){return!0};e&&!t.isArray(e)&&(e=Array.prototype.slice.call(e)),n=!!n;var v=e||[];return{items:o,count:r,inRange:i,contains:p,indexOf:u,itemAt:c,findBy:s,add:l,remove:m,first:h,last:f,next:t.bind(null,g,!1),previous:t.bind(null,g,!0),hasPrevious:d,hasNext:a}}t.module("material.core").config(["$provide",function(t){t.decorator("$mdUtil",["$delegate",functioLine truncated
|
||||
},getInstances:function(){return i},get:function(e){if(!o(e))return null;var t,n,r;for(t=0,n=i.length;n>t;t++)if(r=i[t],r.$$mdHandle===e)return r;return null},register:function(e,n){function o(){var t=i.indexOf(e);-1!==t&&i.splice(t,1)}function r(){var t=a[n];t&&(t.resolve(e),delete a[n])}return n?(e.$$mdHandle=n,i.push(e),r(),o):t.noop},when:function(e){if(o(e)){var t=n.defer(),i=r.get(e);return i?t.resolve(i):a[e]=t,t.promise}return n.reject("Invalid `md-component-id` value.")}}}t.module("material.core").factory("$mdComponentRegistry",e),e.$inject=["$log","$q"]}(),function(){!function(){function e(e){function n(e){return e.hasClass("md-icon-button")?{isMenuItem:e.hasClass("md-menu-item"),fitRipple:!0,center:!0}:{isMenuItem:e.hasClass("md-menu-item"),dimBackground:!0}}return{attach:function(o,r,i){return i=t.extend(n(r),i),e.attach(o,r,i)}}}t.module("material.core").factory("$mdButtonInkRipple",e),e.$inject=["$mdInkRipple"]}()}(),function(){!function(){function e(e){function n(n,o,r){return e.attach(n,o,t.extend({center:!0,dimBackground:!1,fitRipple:!0},r))}return{attach:n}}t.module("material.core").factory("$mdCheckboxInkRipple",e),e.$inject=["$mdInkRipple"]}()}(),function(){!function(){function e(e){function n(n,o,r){return e.attach(n,o,t.extend({center:!1,dimBackground:!0,outline:!1,rippleSize:"full"},r))}return{attach:n}}t.module("material.core").factory("$mdListInkRipple",e),e.$inject=["$mdInkRipple"]}()}(),function(){function e(e,n){return{controller:t.noop,link:function(t,o,r){r.hasOwnProperty("mdInkRippleCheckbox")?n.attach(t,o):e.attach(t,o)}}}function n(e){function n(n,r,i){return r.controller("mdNoInk")?t.noop:e.instantiate(o,{$scope:n,$element:r,rippleOptions:i})}return{attach:n}}function o(e,n,o,r,i,a){this.$window=r,this.$timeout=i,this.$mdUtil=a,this.$scope=e,this.$element=n,this.options=o,this.mousedown=!1,this.ripples=[],this.timeout=null,this.lastRipple=null,a.valueOnUse(this,"container",this.createContainer),this.$element.addClass("md-ink-ripple"),(n.controller("mdInkRipple")||{}).createRipple=t.bind(this,this.createRipple),(n.controller("mdInkRipple")||{}).setColor=t.bind(this,this.color),this.bindEvents()}function r(e,n){(e.mousedown||e.lastRipple)&&(e.mousedown=!1,e.$mdUtil.nextTick(t.bind(e,n),!1))}function i(){return{controller:t.noop}}t.module("material.core").factory("$mdInkRipple",n).directive("mdInkRipple",e).directive("mdNoInk",i).directive("mdNoBar",i).directive("mdNoStretch",i);var a=450;e.$inject=["$mdButtonInkRipple","$mdCheckboxInkRipple"],n.$inject=["$injector"],o.$inject=["$scope","$element","rippleOptions","$window","$timeout","$mdUtil"],o.prototype.color=function(e){function n(){var e=o.options&&o.options.colorElement?o.options.colorElement:[],t=e.length?e[0]:o.$element[0];return t?o.$window.getComputedStyle(t).color:"rgb(0,0,0)"}var o=this;return t.isDefined(e)&&(o._color=o._parseColor(e)),o._color||o._parseColor(o.inkRipple())||o._parseColor(n())},o.prototype.calculateColor=function(){return this.color()},o.prototype._parseColor=function(e,t){function n(e){var t="#"===e[0]?e.substr(1):e,n=t.length/3,o=t.substr(0,n),r=t.substr(n,n),i=t.substr(2*n);return 1===n&&(o+=o,r+=r,i+=i),"rgba("+parseInt(o,16)+","+parseInt(r,16)+","+parseInt(i,16)+",0.1)"}function o(e){return e.replace(")",", 0.1)").replace("(","a(")}return t=t||1,e?0===e.indexOf("rgba")?e.replace(/\d?\.?\d*\s*\)\s*$/,(.1*t).toString()+")"):0===e.indexOf("rgb")?o(e):0===e.indexOf("#")?n(e):void 0:void 0},o.prototype.bindEvents=function(){this.$element.on("mousedown",t.bind(this,this.handleMousedown)),this.$element.on("mouseup touchend",t.bind(this,this.handleMouseup)),this.$element.on("mouseleave",t.bind(this,this.handleMouseup)),this.$element.on("touchmove",t.bind(this,this.handleTouchmove))},o.prototype.handleMousedown=function(e){if(!this.mousedown)if(e.hasOwnProperty("originalEvent")&&(e=e.originalEvent),this.mousedown=!0,this.options.center)this.createRipple(this.container.prop("clientWidth")/2,this.container.prop("clientWidth")/2);else if(e.srcElement!==this.$element[0]){var t=this.$element[0].getBoundingClientRect(),n=e.clientX-t.left,o=e.clientY-t.top;this.createRipple(n,o)}else this.createRipple(e.offsetX,e.offsetY)},o.prototype.handleMouseup=function(){r(this,this.clearRipples)},o.prototype.handleTouchmove=function(){r(this,this.deleteRipples)},o.prototype.deleteRipples=function(){for(var e=0;e<this.ripples.length;e++)this.ripples[e].remove()},o.prototype.clearRipples=function(){for(var e=0;e<this.ripples.length;e++)this.fadeInComplete(this.ripples[e])},o.prototype.createContainer=function(){var e=t.element('<div class="md-ripple-container"></div>');return this.$element.append(e),e},o.prototype.clearTimeout=function(){this.timeout&&(this.$timeout.cancel(this.timeout),this.timeout=null)},o.prototype.isRippleAllowed=function(){var e=this.$element[0];do{if(!e.tagName||"BODY"===e.tagName)break;if(e&&t.isFunction(e.hasAttribute)){if(e.hasAttribute("disabled"))return!1;if("false"===this.inkRipple()||"0"===Line truncated
|
||||
e.$inject=["$mdTheming"]}(),function(){function e(e,n,o,r,i,a){function d(d,s){var l=d.children(),m=s.hasOwnProperty("mdIndeterminate");return s.type="checkbox",s.tabindex=s.tabindex||"0",d.attr("role",s.type),d.on("click",function(e){this.hasAttribute("disabled")&&e.stopImmediatePropagation()}),l.on("focus",function(){d.focus()}),function(d,s,l,u){function p(e,t,n){l[e]&&d.$watch(l[e],function(e){n[e]&&s.attr(t,n[e])})}function h(e){var t=e.which||e.keyCode;t!==o.KEY_CODE.SPACE&&t!==o.KEY_CODE.ENTER||(e.preventDefault(),s.hasClass("md-focused")||s.addClass("md-focused"),f(e))}function f(e){s[0].hasAttribute("disabled")||d.$apply(function(){var t=l.ngChecked?l.checked:!u.$viewValue;u.$setViewValue(t,e&&e.type),u.$render()})}function g(){u.$viewValue&&!v?s.addClass(c):s.removeClass(c)}function b(e){v=e!==!1,v&&s.attr("aria-checked","mixed"),s.toggleClass("md-indeterminate",v)}var v;u=u||i.fakeNgModel(),r(s),m&&(b(),d.$watch(l.mdIndeterminate,b)),l.ngChecked&&d.$watch(d.$eval.bind(d,l.ngChecked),u.$setViewValue.bind(u)),p("ngDisabled","tabindex",{"true":"-1","false":l.tabindex}),n.expectWithText(s,"aria-label"),e.link.pre(d,{on:t.noop,0:{}},l,[u]),d.mouseActive=!1,s.on("click",f).on("keypress",h).on("mousedown",function(){d.mouseActive=!0,a(function(){d.mouseActive=!1},100)}).on("focus",function(){d.mouseActive===!1&&s.addClass("md-focused")}).on("blur",function(){s.removeClass("md-focused")}),u.$render=g}}e=e[0];var c="md-checked";return{restrict:"E",transclude:!0,require:"?ngModel",priority:210,template:'<div class="_md-container" md-ink-ripple md-ink-ripple-checkbox><div class="_md-icon"></div></div><div ng-transclude class="_md-label"></div>',compile:d}}t.module("material.components.checkbox",["material.core"]).directive("mdCheckbox",e),e.$inject=["inputDirective","$mdAria","$mdConstant","$mdTheming","$mdUtil","$timeout"]}(),function(){t.module("material.components.chips",["material.core","material.components.autocomplete"])}(),function(){function e(e){function t(e,t){this.$scope=e,this.$element=t}return{restrict:"E",controller:["$scope","$element",t],link:function(t,o,r){o[0];e(o),t.$broadcast("$mdContentLoaded",o),n(o[0])}}}function n(e){t.element(e).on("$md.pressdown",function(t){"t"===t.pointer.type&&(t.$materialScrollFixed||(t.$materialScrollFixed=!0,0===e.scrollTop?e.scrollTop=1:e.scrollHeight===e.scrollTop+e.offsetHeight&&(e.scrollTop-=1)))})}t.module("material.components.content",["material.core"]).directive("mdContent",e),e.$inject=["$mdTheming"]}(),function(){!function(){function e(){return{template:'<table aria-hidden="true" class="md-calendar-day-header"><thead></thead></table><div class="md-calendar-scroll-mask"><md-virtual-repeat-container class="md-calendar-scroll-container" md-offset-size="'+(r-o)+'"><table role="grid" tabindex="0" class="md-calendar" aria-readonly="true"><tbody role="rowgroup" md-virtual-repeat="i in ctrl.items" md-calendar-month md-month-offset="$index" class="md-calendar-month" md-start-index="ctrl.getSelectedMonthIndex()" md-item-size="'+o+'"></tbody></table></md-virtual-repeat-container></div>',scope:{minDate:"=mdMinDate",maxDate:"=mdMaxDate",dateFilter:"=mdDateFilter"},require:["ngModel","mdCalendar"],controller:n,controllerAs:"ctrl",bindToController:!0,link:function(e,t,n,o){var r=o[0],i=o[1];i.configureNgModel(r)}}}function n(e,t,n,o,r,i,a,c,s,l,m){if(a(e),this.items={length:2e3},this.maxDate&&this.minDate){var u=c.getMonthDistance(this.minDate,this.maxDate)+1;u=Math.max(u,1),u+=1,this.items.length=u}if(this.$animate=o,this.$q=r,this.$mdInkRipple=l,this.$mdUtil=m,this.keyCode=i.KEY_CODE,this.dateUtil=c,this.dateLocale=s,this.$element=e,this.$scope=n,this.calendarElement=e[0].querySelector(".md-calendar"),this.calendarScroller=e[0].querySelector(".md-virtual-repeat-scroller"),this.today=this.dateUtil.createDateAtMidnight(),this.firstRenderableDate=this.dateUtil.incrementMonths(this.today,-this.items.length/2),this.minDate&&this.minDate>this.firstRenderableDate)this.firstRenderableDate=this.minDate;else if(this.maxDate){this.items.length-2;this.firstRenderableDate=this.dateUtil.incrementMonths(this.maxDate,-(this.items.length-2))}this.id=d++,this.ngModelCtrl=null,this.selectedDate=null,this.displayDate=null,this.focusDate=null,this.isInitialized=!1,this.isMonthTransitionInProgress=!1,t.tabindex||e.attr("tabindex","-1");var p=this;this.cellClickHandler=function(){var e=this;this.hasAttribute("data-timestamp")&&n.$apply(function(){var t=Number(e.getAttribute("data-timestamp"));p.setNgModelValue(p.dateUtil.createDateAtMidnight(t))})},this.attachCalendarEventListeners()}t.module("material.components.datepicker",["material.core","material.components.icon","material.components.virtualRepeat"]).directive("mdCalendar",e);var o=265,r=45,i="md-calendar-selected-date",a="md-focus",d=0;n.$inject=["$element","$attrs","$scope","$animate","$q","$mdConstant","$mdTheming","$$mdDateUtil","$mdDateLocale","$mdInkRipple","$mdUtil"],n.prototype.configureNgModel=function(e){this.ngModelCtLine truncated
|
||||
options:r}).addPreset("alert",{methods:["title","htmlContent","textContent","content","ariaLabel","ok","theme","css"],options:o}).addPreset("confirm",{methods:["title","htmlContent","textContent","content","ariaLabel","ok","cancel","theme","css"],options:o}).addPreset("prompt",{methods:["title","htmlContent","textContent","content","placeholder","ariaLabel","ok","cancel","theme","css"],options:o})}t.module("material.components.dialog",["material.core","material.components.backdrop"]).directive("mdDialog",e).provider("$mdDialog",o),e.$inject=["$$rAF","$mdTheming","$mdDialog"],o.$inject=["$$interimElementProvider"]}(),function(){function e(e){return{restrict:"E",link:e}}t.module("material.components.divider",["material.core"]).directive("mdDivider",e),e.$inject=["$mdTheming"]}(),function(){!function(){function e(){return{restrict:"E",require:["^?mdFabSpeedDial","^?mdFabToolbar"],compile:function(e,n){var o=e.children(),r=!1;t.forEach(["","data-","x-"],function(e){r=r||!!o.attr(e+"ng-repeat")}),r?o.addClass("md-fab-action-item"):o.wrap('<div class="md-fab-action-item">')}}}t.module("material.components.fabActions",["material.core"]).directive("mdFabActions",e)}()}(),function(){!function(){function e(e,n,o,r,i,a){function d(){N.direction=N.direction||"down",N.isOpen=N.isOpen||!1,l(),n.addClass("_md-animations-waiting")}function c(){var o=["click","focusin","focusout"];t.forEach(o,function(e){n.on(e,s)}),e.$on("$destroy",function(){t.forEach(o,function(e){n.off(e,s)}),h()})}function s(e){"click"==e.type&&w(e),"focusout"!=e.type||H||(H=a(function(){N.close()},100,!1)),"focusin"==e.type&&H&&(a.cancel(H),H=null)}function l(){N.currentActionIndex=-1}function m(){e.$watch("vm.direction",function(e,t){o.removeClass(n,"md-"+t),o.addClass(n,"md-"+e),l()});var t,r;e.$watch("vm.isOpen",function(e){l(),t&&r||(t=_(),r=x()),e?p():h();var i=e?"md-is-open":"",a=e?"":"md-is-open";t.attr("aria-haspopup",!0),t.attr("aria-expanded",e),r.attr("aria-hidden",!e),o.setClass(n,i,a)})}function u(){n[0].scrollHeight>0?o.addClass(n,"_md-animations-ready").then(function(){n.removeClass("_md-animations-waiting")}):10>S&&(a(u,100),S+=1)}function p(){n.on("keydown",g),r.nextTick(function(){t.element(document).on("click touchend",f)})}function h(){n.off("keydown",g),t.element(document).off("click touchend",f)}function f(e){if(e.target){var t=r.getClosest(e.target,"md-fab-trigger"),n=r.getClosest(e.target,"md-fab-actions");t||n||N.close()}}function g(e){switch(e.which){case i.KEY_CODE.ESCAPE:return N.close(),e.preventDefault(),!1;case i.KEY_CODE.LEFT_ARROW:return M(e),!1;case i.KEY_CODE.UP_ARROW:return y(e),!1;case i.KEY_CODE.RIGHT_ARROW:return C(e),!1;case i.KEY_CODE.DOWN_ARROW:return A(e),!1}}function b(e){E(e,-1)}function v(e){E(e,1)}function E(e,n){var o=$();N.currentActionIndex=N.currentActionIndex+n,N.currentActionIndex=Math.min(o.length-1,N.currentActionIndex),N.currentActionIndex=Math.max(0,N.currentActionIndex);var r=t.element(o[N.currentActionIndex]).children()[0];t.element(r).attr("tabindex",0),r.focus(),e.preventDefault(),e.stopImmediatePropagation()}function $(){var e=x()[0].querySelectorAll(".md-fab-action-item");return t.forEach(e,function(e){t.element(t.element(e).children()[0]).attr("tabindex",-1)}),e}function M(e){"left"===N.direction?v(e):b(e)}function y(e){"down"===N.direction?b(e):v(e)}function C(e){"left"===N.direction?b(e):v(e)}function A(e){"up"===N.direction?b(e):v(e)}function k(e){return r.getClosest(e,"md-fab-trigger")}function T(e){return r.getClosest(e,"md-fab-actions")}function w(e){k(e.target)&&N.toggle(),T(e.target)&&N.close()}function _(){return n.find("md-fab-trigger")}function x(){return n.find("md-fab-actions")}var N=this;N.open=function(){e.$evalAsync("vm.isOpen = true")},N.close=function(){e.$evalAsync("vm.isOpen = false"),n.find("md-fab-trigger")[0].focus()},N.toggle=function(){e.$evalAsync("vm.isOpen = !vm.isOpen")},d(),c(),m();var S=0;u();var H}t.module("material.components.fabShared",["material.core"]).controller("MdFabController",e),e.$inject=["$scope","$element","$animate","$mdUtil","$mdConstant","$timeout"]}()}(),function(){!function(){function n(){function e(e,t){t.prepend('<div class="_md-css-variables"></div>')}return{restrict:"E",scope:{direction:"@?mdDirection",isOpen:"=?mdOpen"},bindToController:!0,controller:"MdFabController",controllerAs:"vm",link:e}}function o(n){function o(e){n(e,i,!1)}function r(n){if(!n.hasClass("_md-animations-waiting")||n.hasClass("_md-animations-ready")){var o=n[0],r=n.controller("mdFabSpeedDial"),i=o.querySelectorAll(".md-fab-action-item"),a=o.querySelector("md-fab-trigger"),d=o.querySelector("._md-css-variables"),c=parseInt(e.getComputedStyle(d).zIndex);t.forEach(i,function(e,t){var n=e.style;n.transform=n.webkitTransform="",n.transitionDelay="",n.opacity=1,n.zIndex=i.length-t+c}),a.style.zIndex=c+i.length+1,r.isOpen||t.forEach(i,function(e,t){var n,o,i=e.style,d=(a.clientHeight-e.clientHeight)/2,c=(a.clientWidth-e.clientWidth)/2;switch(r.direction){case"up":n=e.scrLine truncated
|
||||
l.append(n)}),a.parent().append(l)}var u=o.parseAttributeBoolean(c.multiple),p=u?"multiple":"",h='<div class="_md-select-menu-container" aria-hidden="true"><md-select-menu {0}>{1}</md-select-menu></div>';return h=o.supplant(h,[p,a.html()]),a.empty().append(s),a.append(h),c.tabindex||c.$set("tabindex",0),function(a,c,s,l){function m(){var e=c.attr("aria-label")||c.attr("placeholder");!e&&y&&y.label&&(e=y.label.text()),$=e,i.expect(c,"aria-label",e)}function p(){x&&(S=S||x.find("md-select-menu").controller("mdSelectMenu"),C.setLabelText(S.selectedLabels()))}function h(){if($){var e=S.selectedLabels({mode:"aria"});c.attr("aria-label",e.length?$+": "+e:$)}}function f(){y&&y.setHasValue(S.selectedLabels().length>0||(c[0].validity||{}).badInput)}function g(){if(x=t.element(c[0].querySelector("._md-select-menu-container")),N=a,s.mdContainerClass){var e=x[0].getAttribute("class")+" "+s.mdContainerClass;x[0].setAttribute("class",e)}S=x.find("md-select-menu").controller("mdSelectMenu"),S.init(A,s.ngModel),c.on("$destroy",function(){x.remove()})}function b(e){var n=[32,13,38,40];if(-1!=n.indexOf(e.keyCode))e.preventDefault(),v(e);else if(e.keyCode<=90&&e.keyCode>=31){e.preventDefault();var o=S.optNodeForKeyboardSearch(e);if(!o)return;var r=t.element(o).controller("mdOption");S.isMultiple||S.deselect(Object.keys(S.selected)[0]),S.select(r.hashKey,r.value),S.refreshViewValue()}}function v(){N.isOpen=!0,c.attr("aria-expanded","true"),e.show({scope:N,preserveScope:!0,skipCompile:!0,element:x,target:c[0],selectCtrl:C,preserveElement:!0,hasBackdrop:!0,loadingAsync:s.mdOnOpen?a.$eval(s.mdOnOpen)||!0:!1})["finally"](function(){N.isOpen=!1,c.focus(),c.attr("aria-expanded","false"),A.$setTouched()})}var E,$,M=!0,y=l[0],C=l[1],A=l[2],k=l[3],T=c.find("md-select-value"),w=t.isDefined(s.readonly);if(y){var _=y.isErrorGetter||function(){return A.$invalid&&A.$touched};if(y.input)throw new Error("<md-input-container> can only have *one* child <input>, <textarea> or <select> element!");y.input=c,y.label||i.expect(c,"aria-label",c.attr("placeholder")),a.$watch(_,y.setInvalid)}var x,N,S;if(g(),r(c),s.name&&k){var H=c.parent()[0].querySelector('select[name=".'+s.name+'"]');o.nextTick(function(){var e=t.element(H).controller("ngModel");e&&k.$removeControl(e)})}k&&t.isDefined(s.multiple)&&o.nextTick(function(){var e=A.$modelValue||A.$viewValue;e&&k.$setPristine()});var D=A.$render;A.$render=function(){D(),p(),h(),f()},s.$observe("placeholder",A.$render),C.setLabelText=function(e){if(C.setIsPlaceholder(!e),s.mdSelectedText)e=d(s.mdSelectedText)(a);else{var t=s.placeholder||(y&&y.label?y.label.text():"");e=e||t||""}var n=T.children().eq(0);n.html(e)},C.setIsPlaceholder=function(e){e?(T.addClass("_md-select-placeholder"),y&&y.label&&y.label.addClass("_md-placeholder")):(T.removeClass("_md-select-placeholder"),y&&y.label&&y.label.removeClass("_md-placeholder"))},w||(c.on("focus",function(e){y&&y.element.hasClass("md-input-has-value")&&y.setFocused(!0)}),c.on("blur",function(e){M&&(M=!1,N.isOpen&&e.stopImmediatePropagation()),N.isOpen||(y&&y.setFocused(!1),f())})),C.triggerClose=function(){d(s.mdOnClose)(a)},a.$$postDigest(function(){m(),p(),h()}),a.$watch(S.selectedLabels,p);var I;s.$observe("ngMultiple",function(e){I&&I();var t=d(e);I=a.$watch(function(){return t(a)},function(e,t){e===n&&t===n||(e?c.attr("multiple","multiple"):c.removeAttr("multiple"),c.attr("aria-multiselectable",e?"true":"false"),x&&(S.setMultiple(e),D=A.$render,A.$render=function(){D(),p(),h(),f()},A.$render()))})}),s.$observe("disabled",function(e){t.isString(e)&&(e=!0),E!==n&&E===e||(E=e,e?c.attr({"aria-disabled":"true"}).removeAttr("tabindex").off("click",v).off("keydown",b):c.attr({tabindex:s.tabindex,"aria-disabled":"false"}).on("click",v).on("keydown",b))}),s.hasOwnProperty("disabled")||s.hasOwnProperty("ngDisabled")||(c.attr({"aria-disabled":"false"}),c.on("click",v),c.on("keydown",b));var O={role:"listbox","aria-expanded":"false","aria-multiselectable":u&&!s.ngMultiple?"true":"false"};c[0].hasAttribute("id")||(O.id="select_"+o.nextUid());var R="select_container_"+o.nextUid();x.attr("id",R),O["aria-owns"]=R,c.attr(O),a.$on("$destroy",function(){e.destroy()["finally"](function(){y&&(y.setFocused(!1),y.setHasValue(!1),y.input=null),A.$setTouched()})})}}return{restrict:"E",require:["^?mdInputContainer","mdSelect","ngModel","?^form"],compile:c,controller:function(){}}}function o(e,o,r){function i(e,n,i,a){function d(e){13!=e.keyCode&&32!=e.keyCode||c(e)}function c(n){var r=o.getClosest(n.target,"md-option"),i=r&&t.element(r).data("$mdOptionController");if(r&&i){if(r.hasAttribute("disabled"))return n.stopImmediatePropagation(),!1;var a=s.hashGetter(i.value),d=t.isDefined(s.selected[a]);e.$apply(function(){s.isMultiple?d?s.deselect(a):s.select(a,i.value):d||(s.deselect(Object.keys(s.selected)[0]),s.select(a,i.value)),s.refreshViewValue()})}}var s=a[0];r(n),n.on("click",c),n.on("keypress",d)}function a(r,i,a){function d(){var e=l.ngModel.$modelValue||l.ngModel.$viewValue||Line truncated
|
||||
var v}}var c=e[0];return{restrict:"E",priority:210,transclude:!0,template:'<div class="_md-container"><div class="_md-bar"></div><div class="_md-thumb-container"><div class="_md-thumb" md-ink-ripple md-ink-ripple-checkbox></div></div></div><div ng-transclude class="_md-label"></div>',require:"?ngModel",compile:d}}t.module("material.components.switch",["material.core","material.components.checkbox"]).directive("mdSwitch",e),e.$inject=["mdCheckboxDirective","$mdUtil","$mdConstant","$parse","$$rAF","$mdGesture"]}(),function(){t.module("material.components.tabs",["material.core","material.components.icon"])}(),function(){function e(e){return{restrict:"E",link:function(t,n,o){t.$on("$destroy",function(){e.destroy()})}}}function n(e){function n(e){r=e}function o(e,n,o,i){function a(t,a,d){r=d.textContent||d.content;var l=!i("gt-sm");return a=o.extractElementByName(a,"md-toast",!0),d.element=a,d.onSwipe=function(e,t){var r=e.type.replace("$md.",""),i=r.replace("swipe","");"down"===i&&-1!=d.position.indexOf("top")&&!l||"up"===i&&(-1!=d.position.indexOf("bottom")||l)||("left"!==i&&"right"!==i||!l)&&(a.addClass("_md-"+r),o.nextTick(n.cancel))},d.openClass=c(d.position),d.parent.addClass(d.openClass),o.hasComputedStyle(d.parent,"position","static")&&d.parent.css("position","relative"),a.on(s,d.onSwipe),a.addClass(l?"_md-bottom":d.position.split(" ").map(function(e){return"_md-"+e}).join(" ")),d.parent&&d.parent.addClass("_md-toast-animating"),e.enter(a,d.parent).then(function(){d.parent&&d.parent.removeClass("_md-toast-animating")})}function d(t,n,r){return n.off(s,r.onSwipe),r.parent&&r.parent.addClass("_md-toast-animating"),r.openClass&&r.parent.removeClass(r.openClass),(1==r.$destroy?n.remove():e.leave(n)).then(function(){r.parent&&r.parent.removeClass("_md-toast-animating"),o.hasComputedStyle(r.parent,"position","static")&&r.parent.css("position","")})}function c(e){return i("gt-xs")?"_md-toast-open-"+(e.indexOf("top")>-1?"top":"bottom"):"_md-toast-open-bottom"}var s="$md.swipeleft $md.swiperight $md.swipeup $md.swipedown";return{onShow:a,onRemove:d,position:"bottom left",themable:!0,hideDelay:3e3,autoWrap:!0,transformTemplate:function(e,n){var o=n.autoWrap&&e&&!/md-toast-content/g.test(e);if(o){var r=document.createElement("md-template");r.innerHTML=e;for(var i=0;i<r.children.length;i++)if("MD-TOAST"===r.children[i].nodeName){var a=t.element('<div class="md-toast-content">');a.append(r.children[i].children),r.children[i].appendChild(a[0])}return r.outerHTML}return e||""}}}var r,i="ok",a=e("$mdToast").setDefaults({methods:["position","hideDelay","capsule","parent","position"],options:o}).addPreset("simple",{argOption:"textContent",methods:["textContent","content","action","highlightAction","highlightClass","theme","parent"],options:["$mdToast","$mdTheming",function(e,t){return{template:'<md-toast md-theme="{{ toast.theme }}" ng-class="{\'md-capsule\': toast.capsule}"> <div class="md-toast-content"> <span flex class="md-toast-text" role="alert" aria-relevant="all" aria-atomic="true"> {{ toast.content }} </span> <md-button class="md-action" ng-if="toast.action" ng-click="toast.resolve()" ng-class="highlightClasses"> {{ toast.action }} </md-button> </div></md-toast>',controller:["$scope",function(t){var n=this;n.highlightAction&&(t.highlightClasses=["md-highlight",n.highlightClass]),t.$watch(function(){return r},function(){n.content=r}),this.resolve=function(){e.hide(i)}}],theme:t.defaultTheme(),controllerAs:"toast",bindToController:!0}}]}).addMethod("updateTextContent",n).addMethod("updateContent",n);return o.$inject=["$animate","$mdToast","$mdUtil","$mdMedia"],a}t.module("material.components.toast",["material.core","material.components.button"]).directive("mdToast",e).provider("$mdToast",n),e.$inject=["$mdToast"],n.$inject=["$$interimElementProvider"]}(),function(){function e(e,n,o,r,i){var a=t.bind(null,o.supplant,"translate3d(0,{0}px,0)");return{template:"",restrict:"E",link:function(d,c,s){function l(){function r(e){var t=c.parent().find("md-content");!f&&t.length&&l(null,t),e=d.$eval(e),e===!1?g():g=u()}function l(e,t){t&&c.parent()[0]===t.parent()[0]&&(f&&f.off("scroll",$),f=t,g=u())}function m(e){var t=e?e.target.scrollTop:v;M(),b=Math.min(h/E,Math.max(0,b+t-v)),c.css(n.CSS.TRANSFORM,a([-b*E])),f.css(n.CSS.TRANSFORM,a([(h-b)*E])),v=t,o.nextTick(function(){var e=c.hasClass("md-whiteframe-z1");e&&!b?i.removeClass(c,"md-whiteframe-z1"):!e&&b&&i.addClass(c,"md-whiteframe-z1")})}function u(){return f?(f.on("scroll",$),f.attr("scroll-shrink","true"),e(p),function(){f.off("scroll",$),f.attr("scroll-shrink","false"),e(p)}):t.noop}function p(){h=c.prop("offsetHeight");var e=-h*E+"px";f.css({"margin-top":e,"margin-bottom":e}),m()}var h,f,g=t.noop,b=0,v=0,E=s.mdShrinkSpeedFactor||.5,$=e.throttle(m),M=o.debounce(p,5e3);d.$on("$mdContentLoaded",l),s.$observe("mdScrollShrink",r),s.ngShow&&d.$watch(s.ngShow,p),s.ngHide&&d.$watch(s.ngHide,p),d.$on("$destroy",g)}r(c),t.isDefined(s.mdScrollShriLine truncated
|
||||
}}}t.module("material.components.autocomplete").directive("mdAutocomplete",e)}(),function(){function e(e,t){function n(e,n,o){return function(e,n,r){function i(n,o){c[o]=e[n],e.$watch(n,function(e){t.nextTick(function(){c[o]=e})})}function a(){var t=!1,n=!1;e.$watch(function(){n||t||(t=!0,e.$$postDigest(function(){n||c.$digest(),t=n=!1}))}),c.$watch(function(){n=!0})}var d=e.$mdAutocompleteCtrl,c=d.parent.$new(),s=d.itemName;i("$index","$index"),i("item",s),a(),o(c,function(e){n.after(e)})}}return{restrict:"AE",compile:n,terminal:!0,transclude:"element"}}t.module("material.components.autocomplete").directive("mdAutocompleteParentScope",e),e.$inject=["$compile","$mdUtil"]}(),function(){function e(e,n,o){function r(r,i){var d=null,c=null,s=o.mdHighlightFlags||"",l=e.$watch(function(e){return{term:r(e),unsafeText:i(e)}},function(e,o){null!==d&&e.unsafeText===o.unsafeText||(d=t.element("<div>").text(e.unsafeText).html()),null!==c&&e.term===o.term||(c=a(e.term,s)),n.html(d.replace(c,'<span class="highlight">$&</span>'))},!0);n.on("$destroy",l)}function i(e){return e&&e.replace(/[\\\^\$\*\+\?\.\(\)\|\{}\[\]]/g,"\\$&")}function a(e,t){var n="";return t.indexOf("^")>=1&&(n+="^"),n+=e,t.indexOf("$")>=1&&(n+="$"),new RegExp(i(n),t.replace(/[\$\^]/g,""))}this.init=r}t.module("material.components.autocomplete").controller("MdHighlightCtrl",e),e.$inject=["$scope","$element","$attrs"]}(),function(){function e(e,t){return{terminal:!0,controller:"MdHighlightCtrl",compile:function(n,o){var r=t(o.mdHighlightText),i=e(n.html());return function(e,t,n,o){o.init(r,i)}}}}t.module("material.components.autocomplete").directive("mdHighlightText",e),e.$inject=["$interpolate","$parse"]}(),function(){function o(e,t,o,r,i){this.$scope=e,this.$element=t,this.$mdConstant=o,this.$timeout=r,this.$mdUtil=i,this.isEditting=!1,this.parentController=n,this.enableChipEdit=!1}t.module("material.components.chips").controller("MdChipCtrl",o),o.$inject=["$scope","$element","$mdConstant","$timeout","$mdUtil"],o.prototype.init=function(e){this.parentController=e,this.enableChipEdit=this.parentController.enableChipEdit,this.enableChipEdit&&(this.$element.on("keydown",this.chipKeyDown.bind(this)),this.$element.on("mousedown",this.chipMouseDown.bind(this)),this.getChipContent().addClass("_md-chip-content-edit-is-enabled"))},o.prototype.getChipContent=function(){var e=this.$element[0].getElementsByClassName("_md-chip-content");return t.element(e[0])},o.prototype.getContentElement=function(){return t.element(this.getChipContent().children()[0])},o.prototype.getChipIndex=function(){return parseInt(this.$element.attr("index"))},o.prototype.goOutOfEditMode=function(){if(this.isEditting){this.isEditting=!1,this.$element.removeClass("_md-chip-editing"),this.getChipContent()[0].contentEditable="false";var e=this.getChipIndex(),t=this.getContentElement().text();t?(this.parentController.updateChipContents(e,this.getContentElement().text()),this.$mdUtil.nextTick(function(){this.parentController.selectedChip===e&&this.parentController.focusChip(e)}.bind(this))):this.parentController.removeChipAndFocusInput(e)}},o.prototype.selectNodeContents=function(t){var n,o;document.body.createTextRange?(n=document.body.createTextRange(),n.moveToElementText(t),n.select()):e.getSelection&&(o=e.getSelection(),n=document.createRange(),n.selectNodeContents(t),o.removeAllRanges(),o.addRange(n))},o.prototype.goInEditMode=function(){this.isEditting=!0,this.$element.addClass("_md-chip-editing"),this.getChipContent()[0].contentEditable="true",this.getChipContent().on("blur",function(){this.goOutOfEditMode()}.bind(this)),this.selectNodeContents(this.getChipContent()[0])},o.prototype.chipKeyDown=function(e){this.isEditting||e.keyCode!==this.$mdConstant.KEY_CODE.ENTER&&e.keyCode!==this.$mdConstant.KEY_CODE.SPACE?this.isEditting&&e.keyCode===this.$mdConstant.KEY_CODE.ENTER&&(e.preventDefault(),this.goOutOfEditMode()):(e.preventDefault(),this.goInEditMode())},o.prototype.chipMouseDown=function(){this.getChipIndex()==this.parentController.selectedChip&&this.enableChipEdit&&!this.isEditting&&this.goInEditMode()}}(),function(){function e(e,o){function r(n,r){return n.append(o.processTemplate(i)),function(n,o,r,i){var a=i.shift(),d=i.shift();e(o),a&&(d.init(a),t.element(o[0].querySelector("._md-chip-content")).on("blur",function(){a.selectedChip=-1,a.$scope.$applyAsync()}))}}var i=o.processTemplate(n);return{restrict:"E",require:["^?mdChips","mdChip"],compile:r,controller:"MdChipCtrl"}}t.module("material.components.chips").directive("mdChip",e);var n=' <span ng-if="!$mdChipsCtrl.readonly" class="_md-visually-hidden"> {{$mdChipsCtrl.deleteHint}} </span>';e.$inject=["$mdTheming","$mdUtil"]}(),function(){function e(e){function t(t,n,o,r){n.on("click",function(e){t.$apply(function(){r.removeChip(t.$$replacedScope.$index)})}),e(function(){n.attr({tabindex:-1,"aria-hidden":!0}),n.find("button").attr("tabindex","-1")})}return{restrict:"A",require:"^mdChips",scope:!1,link:t}}t.module("materiaLine truncated
|
||||
var d=e.getClosest(a,"MD-MENU");a.hasAttribute("disabled")||d&&d!=i.parent[0]||o();break}}while(a=a.parentNode)}r.addClass("_md-clickable"),i.backdrop&&i.backdrop.on("click",o),i.menuContentEl.on("keydown",t),i.menuContentEl[0].addEventListener("click",d,!0);var c=i.menuContentEl[0].querySelector("[md-menu-focus-target]");if(!c){var s=i.menuContentEl[0].firstElementChild;c=s&&(s.querySelector(".md-button:not([disabled])")||s.firstElementChild)}return c&&c.focus(),function(){r.removeClass("_md-clickable"),i.backdrop&&i.backdrop.off("click",o),i.menuContentEl.off("keydown",t),i.menuContentEl[0].removeEventListener("click",d,!0)}}return u(i),o.inherit(i.menuContentEl,i.target),i.cleanupResizing=h(),i.hideBackdrop=p(n,r,i),d().then(function(e){return i.alreadyOpen=!0,i.cleanupInteraction=f(),e})}function g(t,n,o,r){for(var i,a=e.getClosest(t.target,"MD-MENU-ITEM"),d=e.nodesToArray(n[0].children),c=d.indexOf(a),s=c+r;s>=0&&s<d.length;s+=r){var l=d[s].querySelector(".md-button");if(i=b(l))break}return i}function b(e){return e&&-1!=e.getAttribute("tabindex")?(e.focus(),d[0].activeElement==e):void 0}function v(e,t){t.preserveElement?r(e).style.display="none":r(e).parentNode===r(t.parent)&&r(t.parent).removeChild(r(e))}function E(t,o){function r(e){e.top=Math.max(Math.min(e.top,v.bottom-l.offsetHeight),v.top),e.left=Math.max(Math.min(e.left,v.right-l.offsetWidth),v.left)}function a(){for(var e=0;e<m.children.length;++e)if("none"!=c.getComputedStyle(m.children[e]).display)return m.children[e]}var s,l=t[0],m=t[0].firstElementChild,u=m.getBoundingClientRect(),p=d[0].body,h=p.getBoundingClientRect(),f=c.getComputedStyle(m),g=o.target[0].querySelector("[md-menu-origin]")||o.target[0],b=g.getBoundingClientRect(),v={left:h.left+i,top:Math.max(h.top,0)+i,bottom:Math.max(h.bottom,Math.max(h.top,0)+h.height)-i,right:h.right-i},E={top:0,left:0,right:0,bottom:0},$={top:0,left:0,right:0,bottom:0},M=o.mdMenuCtrl.positionMode();"target"!=M.top&&"target"!=M.left&&"target-right"!=M.left||(s=a(),s&&(s=s.firstElementChild||s,s=s.querySelector("[md-menu-align-target]")||s,E=s.getBoundingClientRect(),$={top:parseFloat(l.style.top||0),left:parseFloat(l.style.left||0)}));var y={},C="top ";switch(M.top){case"target":y.top=$.top+b.top-E.top;break;case"cascade":y.top=b.top-parseFloat(f.paddingTop)-g.style.top;break;case"bottom":y.top=b.top+b.height;break;default:throw new Error('Invalid target mode "'+M.top+'" specified for md-menu on Y axis.')}var A="rtl"==e.bidi();switch(M.left){case"target":y.left=$.left+b.left-E.left,C+=A?"right":"left";break;case"target-left":y.left=b.left,C+="left";break;case"target-right":y.left=b.right-u.width+(u.right-E.right),C+="right";break;case"cascade":var k=A?b.left-u.width<v.left:b.right+u.width<v.right;y.left=k?b.right-g.style.left:b.left-g.style.left-u.width,C+=k?"left":"right";break;case"left":A?(y.left=b.right-u.width,C+="right"):(y.left=b.left,C+="left");break;default:throw new Error('Invalid target mode "'+M.left+'" specified for md-menu on X axis.')}var T=o.mdMenuCtrl.offsets();y.top+=T.top,y.left+=T.left,r(y);var w=Math.round(100*Math.min(b.width/l.offsetWidth,1))/100,_=Math.round(100*Math.min(b.height/l.offsetHeight,1))/100;return{top:Math.round(y.top),left:Math.round(y.left),transform:o.alreadyOpen?n:e.supplant("scale({0},{1})",[w,_]),transformOrigin:C}}var $=e.dom.animator;return{parent:"body",onShow:f,onRemove:h,hasBackdrop:!0,disableParentScroll:!0,skipCompile:!0,preserveScope:!0,skipHide:!0,themable:!0}}function r(e){return e instanceof t.element&&(e=e[0]),e}var i=8;return o.$inject=["$mdUtil","$mdTheming","$mdConstant","$document","$window","$q","$$rAF","$animateCss","$animate"],e("$mdMenu").setDefaults({methods:["target"],options:o})}t.module("material.components.menu").provider("$mdMenu",e),e.$inject=["$$interimElementProvider"]}(),function(){function e(e,n,r,i,a,d,c,s){this.$element=r,this.$attrs=i,this.$mdConstant=a,this.$mdUtil=c,this.$document=d,this.$scope=e,this.$rootScope=n,this.$timeout=s;var l=this;t.forEach(o,function(e){l[e]=t.bind(l,l[e])})}t.module("material.components.menuBar").controller("MenuBarController",e);var o=["handleKeyDown","handleMenuHover","scheduleOpenHoveredMenu","cancelScheduledOpen"];e.$inject=["$scope","$rootScope","$element","$attrs","$mdConstant","$document","$mdUtil","$timeout"],e.prototype.init=function(){var e=this.$element,t=this.$mdUtil,o=this.$scope,r=this,i=[];e.on("keydown",this.handleKeyDown),this.parentToolbar=t.getClosest(e,"MD-TOOLBAR"),i.push(this.$rootScope.$on("$mdMenuOpen",function(t,n){-1!=r.getMenus().indexOf(n[0])&&(e[0].classList.add("_md-open"),n[0].classList.add("_md-open"),r.currentlyOpenMenu=n.controller("mdMenu"),r.currentlyOpenMenu.registerContainerProxy(r.handleKeyDown),r.enableOpenOnHover())})),i.push(this.$rootScope.$on("$mdMenuClose",function(o,i,a){var d=r.getMenus();if(-1!=d.indexOf(i[0])&&(e[0].classList.remove("_md-open"),i[0].classList.remove("_md-open")),e[0].contains(i[0])){for(var c=i[0];c&&-1==d.indexOf(c);)c=t.getClosesLine truncated
|
||||
}()}(window,window.angular),window.ngMaterial={version:{full:"1.1.0-rc2-master-0fc0f3e"}};
|
||||
Reference in new issue
Block a user