Files
meanTorrent/modules/core/client/directives/toggle-class.client.directive.js
2017-05-16 16:41:12 +08:00

55 lines
1.3 KiB
JavaScript

(function () {
'use strict';
// Focus the element on page load
// Unless the user is on a small device, because this could obscure the page with a keyboard
angular.module('core')
.directive('toggleClass', toggleClass);
function toggleClass() {
var directive = {
restrict: 'A',
link: link
};
return directive;
function link(scope, element, attrs) {
element.bind('click', function () {
if (element.hasClass(attrs.toggleClass)) {
element.removeClass(attrs.toggleClass);
element.addClass(attrs.baseClass);
} else {
element.removeClass(attrs.baseClass);
element.addClass(attrs.toggleClass);
}
});
}
}
angular.module('core')
.directive('mouseEnterToggleClass', mouseEnterToggleClass);
function mouseEnterToggleClass() {
var directive = {
restrict: 'A',
link: link
};
return directive;
function link(scope, element, attrs) {
element.bind('mouseenter', function () {
if (!element.hasClass(attrs.mouseEnterToggleClass)) {
element.addClass(attrs.mouseEnterToggleClass);
element.removeClass(attrs.baseClass);
element.siblings().removeClass(attrs.mouseEnterToggleClass);
element.siblings().addClass(attrs.baseClass);
}
});
}
}
}());