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