diff options
author | Enrique Alcantara <ealcantara@gitlab.com> | 2019-04-16 10:30:09 -0400 |
---|---|---|
committer | Enrique Alcantara <ealcantara@gitlab.com> | 2019-04-17 11:01:33 -0400 |
commit | 8f6ec252a3a440687740925ec5b01d895fe3e2c0 (patch) | |
tree | 431f3c98fa8cbbe62d691bf19e2dc15ed412ef3e /app/assets/javascripts/clusters/stores | |
parent | b15a78dfdd497848a0fd763185e79b0361da1dbb (diff) | |
download | gitlab-ce-8f6ec252a3a440687740925ec5b01d895fe3e2c0.tar.gz |
Determine if app is installed in the store
- Create installed property for cluster apps
- Pass installed property to the application_row component
Diffstat (limited to 'app/assets/javascripts/clusters/stores')
-rw-r--r-- | app/assets/javascripts/clusters/stores/clusters_store.js | 55 |
1 files changed, 26 insertions, 29 deletions
diff --git a/app/assets/javascripts/clusters/stores/clusters_store.js b/app/assets/javascripts/clusters/stores/clusters_store.js index 92993337f02..38512ac28c2 100644 --- a/app/assets/javascripts/clusters/stores/clusters_store.js +++ b/app/assets/javascripts/clusters/stores/clusters_store.js @@ -1,6 +1,23 @@ import { s__ } from '../../locale'; import { parseBoolean } from '../../lib/utils/common_utils'; -import { INGRESS, JUPYTER, KNATIVE, CERT_MANAGER, RUNNER } from '../constants'; +import { + INGRESS, + JUPYTER, + KNATIVE, + CERT_MANAGER, + RUNNER, + APPLICATION_INSTALLED_STATUSES, +} from '../constants'; + +const isApplicationInstalled = appStatus => APPLICATION_INSTALLED_STATUSES.includes(appStatus); + +const applicationInitialState = { + status: null, + statusReason: null, + requestReason: null, + requestStatus: null, + installed: false, +}; export default class ClusterStore { constructor() { @@ -12,60 +29,39 @@ export default class ClusterStore { statusReason: null, applications: { helm: { + ...applicationInitialState, title: s__('ClusterIntegration|Helm Tiller'), - status: null, - statusReason: null, - requestStatus: null, - requestReason: null, }, ingress: { + ...applicationInitialState, title: s__('ClusterIntegration|Ingress'), - status: null, - statusReason: null, - requestStatus: null, - requestReason: null, externalIp: null, externalHostname: null, }, cert_manager: { + ...applicationInitialState, title: s__('ClusterIntegration|Cert-Manager'), - status: null, - statusReason: null, - requestStatus: null, - requestReason: null, email: null, }, runner: { + ...applicationInitialState, title: s__('ClusterIntegration|GitLab Runner'), - status: null, - statusReason: null, - requestStatus: null, - requestReason: null, version: null, chartRepo: 'https://gitlab.com/charts/gitlab-runner', upgradeAvailable: null, }, prometheus: { + ...applicationInitialState, title: s__('ClusterIntegration|Prometheus'), - status: null, - statusReason: null, - requestStatus: null, - requestReason: null, }, jupyter: { + ...applicationInitialState, title: s__('ClusterIntegration|JupyterHub'), - status: null, - statusReason: null, - requestStatus: null, - requestReason: null, hostname: null, }, knative: { + ...applicationInitialState, title: s__('ClusterIntegration|Knative'), - status: null, - statusReason: null, - requestStatus: null, - requestReason: null, hostname: null, isEditingHostName: false, externalIp: null, @@ -118,6 +114,7 @@ export default class ClusterStore { ...(this.state.applications[appId] || {}), status, statusReason, + installed: isApplicationInstalled(status), }; if (appId === INGRESS) { |