From 15e384b585d0c459358e5aaf5932725d17c9297c Mon Sep 17 00:00:00 2001 From: baron_l Date: Sun, 28 Apr 2019 22:11:41 +0200 Subject: [PATCH] feat(storidge): update 9 - disable add drive button when action is in progress --- .../drives-datatable/storidgeDrivesDatatable.html | 8 +++++--- .../drives-datatable/storidgeDrivesDatatable.js | 3 ++- app/extensions/storidge/views/drives/drives.html | 1 + app/extensions/storidge/views/drives/drivesController.js | 8 ++++++++ 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/app/extensions/storidge/components/drives-datatable/storidgeDrivesDatatable.html b/app/extensions/storidge/components/drives-datatable/storidgeDrivesDatatable.html index a9739cd28..c056b10ff 100644 --- a/app/extensions/storidge/components/drives-datatable/storidgeDrivesDatatable.html +++ b/app/extensions/storidge/components/drives-datatable/storidgeDrivesDatatable.html @@ -87,9 +87,11 @@ {{ item.Status|capitalize }} - + diff --git a/app/extensions/storidge/components/drives-datatable/storidgeDrivesDatatable.js b/app/extensions/storidge/components/drives-datatable/storidgeDrivesDatatable.js index 67c7fb28e..1ed36c089 100644 --- a/app/extensions/storidge/components/drives-datatable/storidgeDrivesDatatable.js +++ b/app/extensions/storidge/components/drives-datatable/storidgeDrivesDatatable.js @@ -10,6 +10,7 @@ angular.module('extension.storidge').component('storidgeDrivesDatatable', { reverseOrder: '<', removeAction: '<', addAction: '<', - rescanAction: '<' + rescanAction: '<', + actionInProgress: '<' } }); diff --git a/app/extensions/storidge/views/drives/drives.html b/app/extensions/storidge/views/drives/drives.html index 7bd996ebe..06d35072b 100644 --- a/app/extensions/storidge/views/drives/drives.html +++ b/app/extensions/storidge/views/drives/drives.html @@ -17,6 +17,7 @@ order-by="Id" rescan-action="rescanAction" add-action="addAction" + action-in-progress="state.actionInProgress" > diff --git a/app/extensions/storidge/views/drives/drivesController.js b/app/extensions/storidge/views/drives/drivesController.js index c769385e4..73ea85537 100644 --- a/app/extensions/storidge/views/drives/drivesController.js +++ b/app/extensions/storidge/views/drives/drivesController.js @@ -2,7 +2,12 @@ angular.module('extension.storidge') .controller('StoridgeDrivesController', ['$scope', '$state', 'Notifications', 'StoridgeDriveService', function ($scope, $state, Notifications, StoridgeDriveService) { + $scope.state = { + actionInProgress: false + }; + $scope.addAction = function (drive) { + $scope.state.actionInProgress = true; StoridgeDriveService.add(drive.Device, drive.Node) .then(function success() { Notifications.success('Drive ' + drive.Device + ' successfully added on node ' + drive.Node); @@ -10,6 +15,9 @@ function ($scope, $state, Notifications, StoridgeDriveService) { }) .catch(function error(err) { Notifications.error('Failure', err, 'Unable to add drive'); + }) + .finally(function final() { + $scope.state.actionInProgress = false; }); };