UNPKG

mcs-ng-material

Version:

MCS NG-Meterial is based on mcs-web.

7 lines 2.31 kB
/*! * AngularJS Material Design * https://github.com/angular/material * @license MIT * v1.1.5-master-515959d */ function MdCheckboxDirective(e,t,n,i,o,c){function a(a,r){function d(a,r,d,l){function s(e,t,n){d[e]&&a.$watch(d[e],function(e){n[e]&&r.attr(t,n[e])})}function u(e){var t=e.which||e.keyCode;t!==n.KEY_CODE.SPACE&&t!==n.KEY_CODE.ENTER||(e.preventDefault(),r.addClass("md-focused"),m(e))}function m(e){r[0].hasAttribute("disabled")||a.skipToggle||a.$apply(function(){var t=d.ngChecked&&d.ngClick?d.checked:!k.$viewValue;k.$setViewValue(t,e&&e.type),k.$render()})}function p(){r.toggleClass("md-checked",!!k.$viewValue&&!f)}function h(e){f=e!==!1,f&&r.attr("aria-checked","mixed"),r.toggleClass("md-indeterminate",f)}var f,g=l[0],k=l[1]||o.fakeNgModel(),b=l[2];if(g){var $=g.isErrorGetter||function(){return k.$invalid&&(k.$touched||b&&b.$submitted)};g.input=r,a.$watch($,g.setInvalid)}i(r),r.children().on("focus",function(){r.focus()}),o.parseAttributeBoolean(d.mdIndeterminate)&&(h(),a.$watch(d.mdIndeterminate,h)),d.ngChecked&&a.$watch(a.$eval.bind(a,d.ngChecked),function(e){k.$setViewValue(e),k.$render()}),s("ngDisabled","tabindex",{"true":"-1","false":d.tabindex}),t.expectWithText(r,"aria-label"),e.link.pre(a,{on:angular.noop,0:{}},d,[k]),r.on("click",m).on("keypress",u).on("focus",function(){"keyboard"===c.getLastInteractionType()&&r.addClass("md-focused")}).on("blur",function(){r.removeClass("md-focused")}),k.$render=p}return r.$set("tabindex",r.tabindex||"0"),r.$set("type","checkbox"),r.$set("role",r.type),{pre:function(e,t){t.on("click",function(e){this.hasAttribute("disabled")&&e.stopImmediatePropagation()})},post:d}}return e=e[0],{restrict:"E",transclude:!0,require:["^?mdInputContainer","?ngModel","?^form"],priority:n.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:a}}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");