nexus site path corrected
[portal.git] / ecomp-portal-FE / client / bower_components / angular-material / modules / js / radioButton / radioButton.min.js
1 /*!
2  * Angular Material Design
3  * https://github.com/angular/material
4  * @license MIT
5  * v0.9.8
6  */
7 !function(e,t,n){"use strict";function i(e,n,i,r){function o(o,d,a,c){function s(){d.hasClass("md-focused")||d.addClass("md-focused")}function u(i){var r=i.which||i.keyCode;switch(r){case n.KEY_CODE.LEFT_ARROW:case n.KEY_CODE.UP_ARROW:i.preventDefault(),l.selectPrevious(),s();break;case n.KEY_CODE.RIGHT_ARROW:case n.KEY_CODE.DOWN_ARROW:i.preventDefault(),l.selectNext(),s();break;case n.KEY_CODE.ENTER:var o=t.element(e.getClosest(d[0],"form"));o.length>0&&o.triggerHandler("submit")}}i(d);var l=c[0],m=c[1]||e.fakeNgModel();l.init(m),o.mouseActive=!1,d.attr({role:"radiogroup",tabIndex:d.attr("tabindex")||"0"}).on("keydown",u).on("mousedown",function(e){o.mouseActive=!0,r(function(){o.mouseActive=!1},100)}).on("focus",function(){o.mouseActive===!1&&l.$element.addClass("md-focused")}).on("blur",function(){l.$element.removeClass("md-focused")})}function d(e){this._radioButtonRenderFns=[],this.$element=e}function a(){return{init:function(e){this._ngModelCtrl=e,this._ngModelCtrl.$render=t.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 c(this.$element,1)},selectPrevious:function(){return c(this.$element,-1)},setActiveDescendant:function(e){this.$element.attr("aria-activedescendant",e)}}}function c(n,i){var r=e.iterator(n[0].querySelectorAll("md-radio-button"),!0);if(r.count()){var o=function(e){return!t.element(e).attr("disabled")},d=n[0].querySelector("md-radio-button.md-checked"),a=r[0>i?"previous":"next"](d,o)||r.first();t.element(a).triggerHandler("click")}}return d.prototype=a(),{restrict:"E",controller:["$element",d],require:["mdRadioGroup","?ngModel"],link:{pre:o}}}function r(e,t,n){function i(i,o,d,a){function c(e){o[0].hasAttribute("disabled")||i.$apply(function(){a.setViewValue(d.value,e&&e.type)})}function s(){var e=a.getViewValue()==d.value;e!==l&&(l=e,o.attr("aria-checked",e),e?(o.addClass(r),a.setActiveDescendant(o.attr("id"))):o.removeClass(r))}function u(n,i){function r(){return d.id||"radio_"+t.nextUid()}i.ariaId=r(),n.attr({id:i.ariaId,role:"radio","aria-checked":"false"}),e.expectWithText(n,"aria-label")}var l;n(o),u(o,i),a.add(s),d.$observe("value",s),o.on("click",c).on("$destroy",function(){a.remove(s)})}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}}t.module("material.components.radioButton",["material.core"]).directive("mdRadioGroup",i).directive("mdRadioButton",r),i.$inject=["$mdUtil","$mdConstant","$mdTheming","$timeout"],r.$inject=["$mdAria","$mdUtil","$mdTheming"]}(window,window.angular);