diff options
author | Enrique Alcántara <ealcantara@gitlab.com> | 2019-05-02 17:17:03 +0300 |
---|---|---|
committer | Phil Hughes <me@iamphill.com> | 2019-05-02 17:17:03 +0300 |
commit | bf229a6c632709ef7c69a7033eadfd74f5ddcc97 (patch) | |
tree | 876b70f0ddb0e111199a685dd53fb71adeba5552 /app/assets/javascripts/clusters/services | |
parent | d6aa8a0553e30ef2d0d303fc79515cd5cf3ba1b9 (diff) |
Uninstall application confirm modal component
- Vue confirmation modal implementation
- CSS tweaks for modal default height
Diffstat (limited to 'app/assets/javascripts/clusters/services')
-rw-r--r-- | app/assets/javascripts/clusters/services/application_state_machine.js | 36 | ||||
-rw-r--r-- | app/assets/javascripts/clusters/services/clusters_service.js | 4 |
2 files changed, 39 insertions, 1 deletions
diff --git a/app/assets/javascripts/clusters/services/application_state_machine.js b/app/assets/javascripts/clusters/services/application_state_machine.js index aafb2350ae4..14b80a116a7 100644 --- a/app/assets/javascripts/clusters/services/application_state_machine.js +++ b/app/assets/javascripts/clusters/services/application_state_machine.js @@ -1,4 +1,4 @@ -import { APPLICATION_STATUS, UPDATE_EVENT, INSTALL_EVENT } from '../constants'; +import { APPLICATION_STATUS, UPDATE_EVENT, INSTALL_EVENT, UNINSTALL_EVENT } from '../constants'; const { NO_STATUS, @@ -11,6 +11,8 @@ const { UPDATING, UPDATED, UPDATE_ERRORED, + UNINSTALLING, + UNINSTALL_ERRORED, } = APPLICATION_STATUS; const applicationStateMachine = { @@ -52,6 +54,15 @@ const applicationStateMachine = { updateFailed: true, }, }, + [UNINSTALLING]: { + target: UNINSTALLING, + }, + [UNINSTALL_ERRORED]: { + target: INSTALLED, + effects: { + uninstallFailed: true, + }, + }, }, }, [NOT_INSTALLABLE]: { @@ -97,6 +108,13 @@ const applicationStateMachine = { updateSuccessful: false, }, }, + [UNINSTALL_EVENT]: { + target: UNINSTALLING, + effects: { + uninstallFailed: false, + uninstallSuccessful: false, + }, + }, }, }, [UPDATING]: { @@ -116,6 +134,22 @@ const applicationStateMachine = { }, }, }, + [UNINSTALLING]: { + on: { + [INSTALLABLE]: { + target: INSTALLABLE, + effects: { + uninstallSuccessful: true, + }, + }, + [UNINSTALL_ERRORED]: { + target: INSTALLED, + effects: { + uninstallFailed: true, + }, + }, + }, + }, }; /** diff --git a/app/assets/javascripts/clusters/services/clusters_service.js b/app/assets/javascripts/clusters/services/clusters_service.js index dea33ac44c5..01f3732de7e 100644 --- a/app/assets/javascripts/clusters/services/clusters_service.js +++ b/app/assets/javascripts/clusters/services/clusters_service.js @@ -29,6 +29,10 @@ export default class ClusterService { return axios.patch(this.appUpdateEndpointMap[appId], params); } + uninstallApplication(appId, params) { + return axios.delete(this.appInstallEndpointMap[appId], params); + } + static updateCluster(endpoint, data) { return axios.put(endpoint, data); } |