7 lines
2.2 KiB
JavaScript
7 lines
2.2 KiB
JavaScript
/*!
|
|
* AngularJS Material Design
|
|
* https://github.com/angular/material
|
|
* @license MIT
|
|
* v1.1.18-master-97a1616
|
|
*/
|
|
!function(e,h){"use strict";function t(u,m,p,f,b,$){return u=u[0],{restrict:"E",transclude:!0,require:["^?mdInputContainer","?ngModel","?^form"],priority:p.BEFORE_NG_ARIA,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:function(e,t){return t.$set("tabindex",t.tabindex||"0"),t.$set("type","checkbox"),t.$set("role",t.type),{pre:function(e,t){t.on("click",function(e){this.hasAttribute("disabled")&&e.stopImmediatePropagation()})},post:function(i,a,c,e){var t,n=e[0],d=e[1]||b.fakeNgModel(),o=e[2];if(n){var r=n.isErrorGetter||function(){return d.$invalid&&(d.$touched||o&&o.$submitted)};n.input=a,i.$watch(r,n.setInvalid)}f(a),a.children().on("focus",function(){a.focus()}),b.parseAttributeBoolean(c.mdIndeterminate)&&(l(),i.$watch(c.mdIndeterminate,l));c.ngChecked&&i.$watch(i.$eval.bind(i,c.ngChecked),function(e){d.$setViewValue(e),d.$render()});function s(t){a[0].hasAttribute("disabled")||i.skipToggle||i.$apply(function(){var e=c.ngChecked&&c.ngClick?c.checked:!d.$viewValue;d.$setViewValue(e,t&&t.type),d.$render()})}function l(e){(t=!1!==e)&&a.attr("aria-checked","mixed"),a.toggleClass("md-indeterminate",t)}(function(e,t,n){c[e]&&i.$watch(c[e],function(e){n[e]&&a.attr(t,n[e])})})("ngDisabled","tabindex",{true:"-1",false:c.tabindex}),m.expectWithText(a,"aria-label"),u.link.pre(i,{on:h.noop,0:{}},c,[d]),a.on("click",s).on("keypress",function(e){var t,n,i=e.which||e.keyCode;switch(e.preventDefault(),i){case p.KEY_CODE.SPACE:a.addClass("md-focused"),s(e);break;case p.KEY_CODE.ENTER:(n=b.getClosest(e.target,"form"))&&(t=n.querySelector('button[type="submit"]:enabled, input[type="submit"]:enabled'))&&t.click()}}).on("focus",function(){"keyboard"===$.getLastInteractionType()&&a.addClass("md-focused")}).on("blur",function(){a.removeClass("md-focused")}),d.$render=function(){a.toggleClass("md-checked",!!d.$viewValue&&!t)}}}}}}t.$inject=["inputDirective","$mdAria","$mdConstant","$mdTheming","$mdUtil","$mdInteraction"],h.module("material.components.checkbox",["material.core"]).directive("mdCheckbox",t)}(window,window.angular); |