ledgerrb/public/app/bower_components/angular-material/modules/js/radioButton/radioButton.min.js
2015-02-04 16:08:32 +01:00

7 lines
No EOL
2.8 KiB
JavaScript

/*!
* Angular Material Design
* https://github.com/angular/material
* @license MIT
* v0.7.0-rc3
*/
!function(){"use strict";function e(e,t,n){function i(i,r,a,o){function d(n){switch(n.keyCode){case t.KEY_CODE.LEFT_ARROW:case t.KEY_CODE.UP_ARROW:n.preventDefault(),l.selectPrevious();break;case t.KEY_CODE.RIGHT_ARROW:case t.KEY_CODE.DOWN_ARROW:n.preventDefault(),l.selectNext();break;case t.KEY_CODE.ENTER:var i=angular.element(e.getClosest(r[0],"form"));i.length>0&&i.triggerHandler("submit")}}n(r);var l=o[0],c=o[1]||e.fakeNgModel();l.init(c),r.attr({role:"radiogroup",tabIndex:r.attr("tabindex")||"0"}).on("keydown",d)}function r(e){this._radioButtonRenderFns=[],this.$element=e}function a(){return{init:function(e){this._ngModelCtrl=e,this._ngModelCtrl.$render=angular.bind(this,this.render)},add:function(e){this._radioButtonRenderFns.push(e)},remove:function(e){var t=this._radioButtonRenderFns.indexOf(e);-1!==t&&this._radioButtonRenderFns.splice(t,1)},render:function(){this._radioButtonRenderFns.forEach(function(e){e()})},setViewValue:function(e,t){this._ngModelCtrl.$setViewValue(e,t),this.render()},getViewValue:function(){return this._ngModelCtrl.$viewValue},selectNext:function(){return o(this.$element,1)},selectPrevious:function(){return o(this.$element,-1)},setActiveDescendant:function(e){this.$element.attr("aria-activedescendant",e)}}}function o(t,n){var i=e.iterator(Array.prototype.slice.call(t[0].querySelectorAll("md-radio-button")),!0);if(i.count()){var r=function(e){return!angular.element(e).attr("disabled")},a=t[0].querySelector("md-radio-button.md-checked"),o=i[0>n?"previous":"next"](a,r)||i.first();angular.element(o).triggerHandler("click")}}return r.prototype=a(),{restrict:"E",controller:["$element",r],require:["mdRadioGroup","?ngModel"],link:{pre:i}}}function t(e,t,n){function i(i,a,o,d){function l(e){a[0].hasAttribute("disabled")||i.$apply(function(){d.setViewValue(o.value,e&&e.type)})}function c(){var e=d.getViewValue()==o.value;e!==s&&(s=e,a.attr("aria-checked",e),e?(a.addClass(r),d.setActiveDescendant(a.attr("id"))):a.removeClass(r))}function u(n,i){function r(){return o.id||"radio_"+t.nextUid()}i.ariaId=r(),n.attr({id:i.ariaId,role:"radio","aria-checked":"false"}),e.expectWithText(n,"aria-label")}var s;n(a),u(a,i),d.add(c),o.$observe("value",c),a.on("click",l).on("$destroy",function(){d.remove(c)})}var r="md-checked";return{restrict:"E",require:"^mdRadioGroup",transclude:!0,template:'<div class="md-container" md-ink-ripple md-ink-ripple-checkbox><div class="md-off"></div><div class="md-on"></div></div><div ng-transclude class="md-label"></div>',link:i}}angular.module("material.components.radioButton",["material.core"]).directive("mdRadioGroup",e).directive("mdRadioButton",t),e.$inject=["$mdUtil","$mdConstant","$mdTheming"],t.$inject=["$mdAria","$mdUtil","$mdTheming"]}();