ng.directive.togglecheckbox.js
746 Bytes
App.directive('toggleCheckbox', function(){
return {
require: '?ngModel',
restrict: 'A',
link: function($scope, element, attrs, ctrl){
element.bind('click', function(){
var checked = ctrl.$viewValue;
$scope.$apply(function(scope) {
ctrl.$setViewValue(!checked);
});
});
$scope.$watch(attrs.ngModel, function(newValue, oldValue) {
var text = $('[ng-show="' + attrs.ngModel + '"] input[type=text]');
if (newValue)
{
element.addClass("active");
text.focus();
}
else
{
element.removeClass("active");
$scope.resetSearchValue();
// console.log($scope);
}
});
}
}
});