angular.module('portainer.integrations.storidge').controller('StoridgeNodesDatatableController', [ '$scope', '$controller', 'clipboard', 'Notifications', 'StoridgeNodeService', 'DatatableService', function ($scope, $controller, clipboard, Notifications, StoridgeNodeService, DatatableService) { angular.extend(this, $controller('GenericDatatableController', { $scope: $scope })); var ctrl = this; this.addNodeAction = function () { StoridgeNodeService.add() .then(function sucess(data) { ctrl.addInfo = data.content; }) .catch(function error(err) { Notifications.error('Failure', err, 'Unable to retrieve the "add node" command'); }); }; this.copyAddNodeCommand = function () { clipboard.copyText(ctrl.addInfo); $('#copyNotification').show(); $('#copyNotification').fadeOut(2000); }; this.$onInit = function () { this.setDefaults(); this.prepareTableFromDataset(); this.state.orderBy = this.orderBy; var storedOrder = DatatableService.getDataTableOrder(this.tableKey); if (storedOrder !== null) { this.state.reverseOrder = storedOrder.reverse; this.state.orderBy = storedOrder.orderBy; } var textFilter = DatatableService.getDataTableTextFilters(this.tableKey); if (textFilter !== null) { this.state.textFilter = textFilter; this.onTextFilterChange(); } var storedFilters = DatatableService.getDataTableFilters(this.tableKey); if (storedFilters !== null) { this.filters = storedFilters; } if (this.filters && this.filters.state) { this.filters.state.open = false; } var storedSettings = DatatableService.getDataTableSettings(this.tableKey); if (storedSettings !== null) { this.settings = storedSettings; this.settings.open = false; } this.onSettingsRepeaterChange(); }; }, ]);