From 8626255a3921d975e6aeafa00e1fa7cbe2adfc39 Mon Sep 17 00:00:00 2001 From: Dennis Tang Date: Fri, 11 May 2018 21:03:12 +0200 Subject: move errors next to input fields --- .../components/gke_dropdown_mixin.js | 7 +- .../components/gke_machine_type_dropdown.vue | 97 +++++++++++++--------- .../components/gke_project_id_dropdown.vue | 8 +- .../components/gke_zone_dropdown.vue | 97 +++++++++++++--------- .../gke_cluster_dropdowns/store/actions.js | 31 +------ 5 files changed, 128 insertions(+), 112 deletions(-) (limited to 'app/assets/javascripts/projects') diff --git a/app/assets/javascripts/projects/gke_cluster_dropdowns/components/gke_dropdown_mixin.js b/app/assets/javascripts/projects/gke_cluster_dropdowns/components/gke_dropdown_mixin.js index f5b26fbeefe..c15d8ba49e1 100644 --- a/app/assets/javascripts/projects/gke_cluster_dropdowns/components/gke_dropdown_mixin.js +++ b/app/assets/javascripts/projects/gke_cluster_dropdowns/components/gke_dropdown_mixin.js @@ -34,6 +34,7 @@ export default { isLoading: false, hasErrors: false, searchQuery: '', + gapiError: '', }; }, computed: { @@ -58,9 +59,13 @@ export default { this.isLoading = false; this.hasErrors = false; }, - fetchFailureHandler() { + fetchFailureHandler(resp) { this.isLoading = false; this.hasErrors = true; + + if (resp.result && resp.result.error) { + this.gapiError = resp.result.error.message; + } }, }, }; diff --git a/app/assets/javascripts/projects/gke_cluster_dropdowns/components/gke_machine_type_dropdown.vue b/app/assets/javascripts/projects/gke_cluster_dropdowns/components/gke_machine_type_dropdown.vue index 26ba4c762c1..d25df18658d 100644 --- a/app/assets/javascripts/projects/gke_cluster_dropdowns/components/gke_machine_type_dropdown.vue +++ b/app/assets/javascripts/projects/gke_cluster_dropdowns/components/gke_machine_type_dropdown.vue @@ -1,5 +1,5 @@ diff --git a/app/assets/javascripts/projects/gke_cluster_dropdowns/components/gke_project_id_dropdown.vue b/app/assets/javascripts/projects/gke_cluster_dropdowns/components/gke_project_id_dropdown.vue index 58605832202..e1b15a1507d 100644 --- a/app/assets/javascripts/projects/gke_cluster_dropdowns/components/gke_project_id_dropdown.vue +++ b/app/assets/javascripts/projects/gke_cluster_dropdowns/components/gke_project_id_dropdown.vue @@ -66,6 +66,12 @@ export default { false, ); }, + errorMessage() { + return sprintf( + s__('ClusterIntegration|An error occured while trying to fetch your projects: %{error}'), + { error: this.gapiError }, + ); + }, }, created() { this.isLoading = true; @@ -146,7 +152,7 @@ export default { diff --git a/app/assets/javascripts/projects/gke_cluster_dropdowns/components/gke_zone_dropdown.vue b/app/assets/javascripts/projects/gke_cluster_dropdowns/components/gke_zone_dropdown.vue index d0e6bfc0137..a63d9ae9125 100644 --- a/app/assets/javascripts/projects/gke_cluster_dropdowns/components/gke_zone_dropdown.vue +++ b/app/assets/javascripts/projects/gke_cluster_dropdowns/components/gke_zone_dropdown.vue @@ -1,5 +1,5 @@ diff --git a/app/assets/javascripts/projects/gke_cluster_dropdowns/store/actions.js b/app/assets/javascripts/projects/gke_cluster_dropdowns/store/actions.js index 73f1e17f379..e484f6a1b2b 100644 --- a/app/assets/javascripts/projects/gke_cluster_dropdowns/store/actions.js +++ b/app/assets/javascripts/projects/gke_cluster_dropdowns/store/actions.js @@ -1,5 +1,4 @@ /* global gapi */ -import createFlash, { hideFlash } from '~/flash'; import { s__, sprintf } from '~/locale'; import * as types from './mutation_types'; @@ -16,21 +15,7 @@ export const setMachineType = ({ commit }, selectedMachineType) => { commit(types.SET_MACHINE_TYPE, selectedMachineType); }; -const displayError = (resp, errorMessage) => { - if (resp.result && resp.result.error) { - createFlash(sprintf(errorMessage, { error: resp.result.error.message })); - } -}; - -const hideError = () => { - const flashEl = document.querySelector('.flash-alert'); - - if (flashEl) { - hideFlash(flashEl); - } -}; - -const gapiRequest = ({ service, params, commit, mutation, payloadKey, errorMessage }) => +const gapiRequest = ({ service, params, commit, mutation, payloadKey }) => new Promise((resolve, reject) => { const request = service.list(params); @@ -38,15 +23,12 @@ const gapiRequest = ({ service, params, commit, mutation, payloadKey, errorMessa resp => { const { result } = resp; - hideError(); commit(mutation, result[payloadKey]); resolve(); }, resp => { - displayError(resp, errorMessage); - - reject(); + reject(resp); }, ); }); @@ -58,9 +40,6 @@ export const getProjects = ({ commit }) => commit, mutation: types.SET_PROJECTS, payloadKey: 'projects', - errorMessage: s__( - 'ClusterIntegration|An error occured while trying to fetch your projects: %{error}', - ), }); export const getZones = ({ commit, state }) => @@ -72,9 +51,6 @@ export const getZones = ({ commit, state }) => commit, mutation: types.SET_ZONES, payloadKey: 'items', - errorMessage: s__( - 'ClusterIntegration|An error occured while trying to fetch project zones: %{error}', - ), }); export const getMachineTypes = ({ commit, state }) => @@ -87,9 +63,6 @@ export const getMachineTypes = ({ commit, state }) => commit, mutation: types.SET_MACHINE_TYPES, payloadKey: 'items', - errorMessage: s__( - 'ClusterIntegration|An error occured while trying to fetch zone machine types: %{error}', - ), }); // prevent babel-plugin-rewire from generating an invalid default during karma tests -- cgit v1.2.1