/** * ionRadioFix - fixes a bug in iOS 9 UIWebView that breaks the tilde selector in CSS. To * use this fix, include it after your Ionic bundle JS. * * Note: due to Angular directive override limitations, you'll need to change any reference * to to to apply this patched radio button. * * Also, make sure to add the new CSS from the second part of this gist. */ angular.module('ionic').directive('ionRadioFix', function() { return { restrict: 'E', replace: true, require: '?ngModel', transclude: true, template: '', compile: function(element, attr) { if (attr.icon) { var iconElm = element.find('i'); iconElm.removeClass('ion-checkmark').addClass(attr.icon); } var input = element.find('input'); angular.forEach({ 'name': attr.name, 'value': attr.value, 'disabled': attr.disabled, 'ng-value': attr.ngValue, 'ng-model': attr.ngModel, 'ng-disabled': attr.ngDisabled, 'ng-change': attr.ngChange, 'ng-required': attr.ngRequired, 'required': attr.required }, function(value, name) { if (angular.isDefined(value)) { input.attr(name, value); } }); return function(scope, element, attr) { scope.getValue = function() { return scope.ngValue || attr.value; }; }; } }; });