diff --git a/js/angular/directive/checkbox.js b/js/angular/directive/checkbox.js
index 2fb5208063..95130aa96a 100644
--- a/js/angular/directive/checkbox.js
+++ b/js/angular/directive/checkbox.js
@@ -23,13 +23,14 @@ IonicModule
replace: true,
require: '?ngModel',
transclude: true,
- template: '',
+ template:
+ '',
compile: function(element, attr) {
var input = element.find('input');
forEach({
diff --git a/js/angular/directive/toggle.js b/js/angular/directive/toggle.js
index 9f8eb0a980..df94342d04 100644
--- a/js/angular/directive/toggle.js
+++ b/js/angular/directive/toggle.js
@@ -32,33 +32,34 @@ function($ionicGesture, $timeout) {
restrict: 'E',
replace: true,
require: '?ngModel',
- scope: {
- ngModel: '=?',
- ngValue: '=?',
- ngChecked: '=?',
- ngChange: '&',
- ngDisabled: '=?'
- },
transclude: true,
- template: '
' +
- '
' +
- '
' +
- '
',
+ template:
+ '' +
+ '
' +
+ '
' +
+ '
',
compile: function(element, attr) {
var input = element.find('input');
- if(attr.name) input.attr('name', attr.name);
- if(attr.ngChecked) input.attr('ng-checked', 'ngChecked');
- if(attr.ngTrueValue) input.attr('ng-true-value', attr.ngTrueValue);
- if(attr.ngFalseValue) input.attr('ng-false-value', attr.ngFalseValue);
- if(attr.toggleClass) {
- element[0].getElementsByTagName('label')[0].classList.add(attr.toggleClass);
- }
+ forEach({
+ 'name': attr.name,
+ 'ng-value': attr.ngValue,
+ 'ng-model': attr.ngModel,
+ 'ng-checked': attr.ngChecked,
+ 'ng-disabled': attr.ngDisabled,
+ 'ng-true-value': attr.ngTrueValue,
+ 'ng-false-value': attr.ngFalseValue,
+ 'ng-change': attr.ngChange
+ }, function(value, name) {
+ if (isDefined(value)) {
+ input.attr(name, value);
+ }
+ });
return function($scope, $element, $attr) {
var el, checkbox, track, handle;
diff --git a/test/html/toggle.html b/test/html/toggle.html
index ed93bcdae2..97dd862e38 100644
--- a/test/html/toggle.html
+++ b/test/html/toggle.html
@@ -18,6 +18,9 @@
+
+ Main Check
+
Main Check
diff --git a/test/unit/angular/directive/toggle.unit.js b/test/unit/angular/directive/toggle.unit.js
index 4f1d361fc4..906b5cfa8b 100644
--- a/test/unit/angular/directive/toggle.unit.js
+++ b/test/unit/angular/directive/toggle.unit.js
@@ -10,16 +10,16 @@ describe('Ionic Toggle', function() {
}));
it('Should load', function() {
- var toggleView = el.isolateScope().toggle;
+ var toggleView = el.scope().toggle;
expect(toggleView).not.toEqual(null);
expect(toggleView.checkbox).not.toEqual(null);
expect(toggleView.handle).not.toEqual(null);
});
it('Should destroy', function() {
- var toggleView = el.isolateScope().toggle;
+ var toggleView = el.scope().toggle;
spyOn(toggleView, 'destroy');
- el.isolateScope().$destroy();
+ el.scope().$destroy();
expect(toggleView.destroy).toHaveBeenCalled();
});
@@ -31,7 +31,7 @@ describe('Ionic Toggle', function() {
// Grab fields
var label = el[0].querySelector('label');
- var toggle = el.isolateScope().toggle;
+ var toggle = el.scope().toggle;
var input = el[0].querySelector('input');
// Not disabled, we can toggle
@@ -59,7 +59,7 @@ describe('Ionic Toggle', function() {
});
it('Should toggle', function() {
- var toggle = el.isolateScope().toggle;
+ var toggle = el.scope().toggle;
var label = el[0].querySelector('label');
expect(toggle.val()).toBe(false);
ionic.trigger('click', {target: label});