"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); }; } }; }]); }());