|
24 | 24 | */ |
25 | 25 | IonicModule |
26 | 26 | .directive('ionToggle', [ |
27 | | - '$ionicGesture', |
28 | 27 | '$timeout', |
29 | | -function($ionicGesture, $timeout) { |
| 28 | + '$ionicConfig', |
| 29 | +function($timeout, $ionicConfig) { |
30 | 30 |
|
31 | 31 | return { |
32 | 32 | restrict: 'E', |
@@ -65,34 +65,32 @@ function($ionicGesture, $timeout) { |
65 | 65 | element[0].getElementsByTagName('label')[0].classList.add(attr.toggleClass); |
66 | 66 | } |
67 | 67 |
|
68 | | - return function($scope, $element, $attr) { |
69 | | - var el, checkbox, track, handle; |
| 68 | + element.addClass('toggle-' + $ionicConfig.form.toggle()); |
70 | 69 |
|
71 | | - el = $element[0].getElementsByTagName('label')[0]; |
72 | | - checkbox = el.children[0]; |
73 | | - track = el.children[1]; |
74 | | - handle = track.children[0]; |
| 70 | + return function($scope, $element) { |
| 71 | + var el = $element[0].getElementsByTagName('label')[0]; |
| 72 | + var checkbox = el.children[0]; |
| 73 | + var track = el.children[1]; |
| 74 | + var handle = track.children[0]; |
75 | 75 |
|
76 | | - var ngModelController = jqLite(checkbox).controller('ngModel'); |
| 76 | + var ngModelController = jqLite(checkbox).controller('ngModel'); |
77 | 77 |
|
78 | | - $scope.toggle = new ionic.views.Toggle({ |
79 | | - el: el, |
80 | | - track: track, |
81 | | - checkbox: checkbox, |
82 | | - handle: handle, |
83 | | - onChange: function() { |
84 | | - if(checkbox.checked) { |
85 | | - ngModelController.$setViewValue(true); |
86 | | - } else { |
87 | | - ngModelController.$setViewValue(false); |
88 | | - } |
89 | | - $scope.$apply(); |
90 | | - } |
91 | | - }); |
| 78 | + $scope.toggle = new ionic.views.Toggle({ |
| 79 | + el: el, |
| 80 | + track: track, |
| 81 | + checkbox: checkbox, |
| 82 | + handle: handle, |
| 83 | + onChange: function() { |
| 84 | + if (ngModelController) { |
| 85 | + ngModelController.$setViewValue(checkbox.checked); |
| 86 | + $scope.$apply(); |
| 87 | + } |
| 88 | + } |
| 89 | + }); |
92 | 90 |
|
93 | | - $scope.$on('$destroy', function() { |
94 | | - $scope.toggle.destroy(); |
95 | | - }); |
| 91 | + $scope.$on('$destroy', function() { |
| 92 | + $scope.toggle.destroy(); |
| 93 | + }); |
96 | 94 | }; |
97 | 95 | } |
98 | 96 |
|
|
0 commit comments