summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorDennis Tang <dtang@gitlab.com>2018-05-11 21:03:05 +0200
committerDennis Tang <dtang@gitlab.com>2018-05-11 21:03:05 +0200
commite144946ebed62bcc2f24b668beae8242776c2cc9 (patch)
treedce75b91b686ca87b29b8108d27afde516e4fb50 /app
parentbb0d746e4d3344a3b372698115a55063f9dbcbb0 (diff)
downloadgitlab-ce-e144946ebed62bcc2f24b668beae8242776c2cc9.tar.gz
fix when no GCP projects are found
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/projects/gke_cluster_dropdowns/components/gke_dropdown_mixin.js4
-rw-r--r--app/assets/javascripts/projects/gke_cluster_dropdowns/components/gke_project_id_dropdown.vue23
2 files changed, 19 insertions, 8 deletions
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 eea0c4c61eb..f5b26fbeefe 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
@@ -38,6 +38,10 @@ export default {
},
computed: {
results() {
+ if (!this.items) {
+ return [];
+ }
+
return this.items.filter(item => item.name.toLowerCase().indexOf(this.searchQuery) > -1);
},
},
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 33589d62b89..58605832202 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
@@ -19,10 +19,10 @@ export default {
...mapState({ items: 'projects' }),
...mapGetters(['hasProject']),
hasOneProject() {
- return this.items.length === 1;
+ return this.items && this.items.length === 1;
},
isDisabled() {
- return this.items.length < 2;
+ return this.items && this.items.length < 2;
},
toggleText() {
if (this.isLoading) {
@@ -33,20 +33,27 @@ export default {
return this.selectedProject.name;
}
- return !this.items.length
- ? s__('ClusterIntegration|No projects found')
- : s__('ClusterIntegration|Select project');
+ if (!this.items) {
+ return s__('ClusterIntegration|No projects found');
+ }
+
+ return s__('ClusterIntegration|Select project');
},
helpText() {
let message;
if (this.hasErrors) {
+ message = this.gapiError;
+ }
+
+ if (!this.items) {
message =
'ClusterIntegration|We were unable to fetch any projects. Ensure that you have a project on %{docsLinkStart}Google Cloud Platform%{docsLinkEnd}.';
}
- message = this.items.length
- ? 'ClusterIntegration|To use a new project, first create one on %{docsLinkStart}Google Cloud Platform%{docsLinkEnd}.'
- : 'ClusterIntegration|To create a cluster, first create a project on %{docsLinkStart}Google Cloud Platform%{docsLinkEnd}.';
+ message =
+ this.items && this.items.length
+ ? 'ClusterIntegration|To use a new project, first create one on %{docsLinkStart}Google Cloud Platform%{docsLinkEnd}.'
+ : 'ClusterIntegration|To create a cluster, first create a project on %{docsLinkStart}Google Cloud Platform%{docsLinkEnd}.';
return sprintf(
s__(message),