29 lines
1.1 KiB
JavaScript
29 lines
1.1 KiB
JavaScript
"use strict";
|
|
/**
|
|
* Created by igor.samulenko on 5/20/2014.
|
|
*/
|
|
(function () {
|
|
'use strict';
|
|
angular.module('securityModule').directive('hasPermission', ['permissionModel', 'events', function (permissionModel, events) {
|
|
return {
|
|
link: function (scope, element, attrs) {
|
|
if (!_.isString(attrs.hasPermission)) {
|
|
throw 'hasPermission value must be a string';
|
|
}
|
|
var value = attrs.hasPermission.trim();
|
|
function toggleVisibilityBasedOnPermission() {
|
|
var hasPermission = permissionModel.hasPermission(value);
|
|
if (hasPermission) {
|
|
element.show();
|
|
}
|
|
else {
|
|
element.hide();
|
|
}
|
|
}
|
|
toggleVisibilityBasedOnPermission();
|
|
scope.$on(events.PERMISSIONS_CHANGED, toggleVisibilityBasedOnPermission);
|
|
}
|
|
};
|
|
}]);
|
|
})();
|