SmartIT_Extensions/BMC/smart-it-full-helix/scripts/app/console/column-picker-directive.js

37 lines
1.6 KiB
JavaScript

"use strict";
(function () {
'use strict';
angular.module('myitsmApp')
.directive('columnPicker', ['consolePresetModel', '$timeout', 'events',
function (consolePresetModel, $timeout, events) {
return {
restrict: 'E',
templateUrl: 'views/console/column-picker.html',
link: function (scope, element) {
scope.config = consolePresetModel.consoleColumns;
scope.selectedItems = consolePresetModel.gridColumns;
scope.handleAddRemove = function (item) {
item.visible = !item.visible;
if (!item.visible) {
_.remove(scope.selectedItems, function (column) {
return column.name === item.name;
});
if (!scope.selectedItems.length) {
$timeout(function () {
angular.element(element.children()[0]).trigger('click');
}, 0, false);
}
}
else {
scope.selectedItems.push(item);
scope.selectedItems.forEach(function (column, index) {
column.order = index + 1;
});
}
scope.$emit(events.MODAL_FORM_IS_DIRTY);
};
}
};
}]);
}());