diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-08-28 18:10:21 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-08-28 18:10:21 +0300 |
commit | c41b66bd0510571d6a426ec6c701278ecd79b683 (patch) | |
tree | caa800f1d461aec59ff9b733058ef56ed9856769 /app/assets/javascripts/clusters | |
parent | 9f8061811b2ab29fc6e48a8845eaf531b40d037a (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/clusters')
4 files changed, 68 insertions, 0 deletions
diff --git a/app/assets/javascripts/clusters/components/new_cluster.vue b/app/assets/javascripts/clusters/components/new_cluster.vue new file mode 100644 index 00000000000..2e74ad073c5 --- /dev/null +++ b/app/assets/javascripts/clusters/components/new_cluster.vue @@ -0,0 +1,34 @@ +<script> +import { GlLink, GlSprintf } from '@gitlab/ui'; +import { mapState } from 'vuex'; +import { s__ } from '~/locale'; + +export default { + i18n: { + title: s__('ClusterIntegration|Enter the details for your Kubernetes cluster'), + information: s__( + 'ClusterIntegration|Please enter access information for your Kubernetes cluster. If you need help, you can read our %{linkStart}documentation%{linkEnd} on Kubernetes', + ), + }, + components: { + GlLink, + GlSprintf, + }, + computed: { + ...mapState(['clusterConnectHelpPath']), + }, +}; +</script> + +<template> + <div> + <h4>{{ $options.i18n.title }}</h4> + <p> + <gl-sprintf :message="$options.i18n.information"> + <template #link="{ content }"> + <gl-link :href="clusterConnectHelpPath" target="_blank">{{ content }}</gl-link> + </template> + </gl-sprintf> + </p> + </div> +</template> diff --git a/app/assets/javascripts/clusters/new_cluster.js b/app/assets/javascripts/clusters/new_cluster.js new file mode 100644 index 00000000000..71f585fd307 --- /dev/null +++ b/app/assets/javascripts/clusters/new_cluster.js @@ -0,0 +1,19 @@ +import Vue from 'vue'; +import NewCluster from './components/new_cluster.vue'; +import { createStore } from './stores/new_cluster'; + +export default () => { + const entryPoint = document.querySelector('#js-cluster-new'); + + if (!entryPoint) { + return null; + } + + return new Vue({ + el: '#js-cluster-new', + store: createStore(entryPoint.dataset), + render(createElement) { + return createElement(NewCluster); + }, + }); +}; diff --git a/app/assets/javascripts/clusters/stores/new_cluster/index.js b/app/assets/javascripts/clusters/stores/new_cluster/index.js new file mode 100644 index 00000000000..ae082c07f26 --- /dev/null +++ b/app/assets/javascripts/clusters/stores/new_cluster/index.js @@ -0,0 +1,12 @@ +import Vue from 'vue'; +import Vuex from 'vuex'; +import state from './state'; + +Vue.use(Vuex); + +export const createStore = initialState => + new Vuex.Store({ + state: state(initialState), + }); + +export default createStore; diff --git a/app/assets/javascripts/clusters/stores/new_cluster/state.js b/app/assets/javascripts/clusters/stores/new_cluster/state.js new file mode 100644 index 00000000000..1ca1ac8de18 --- /dev/null +++ b/app/assets/javascripts/clusters/stores/new_cluster/state.js @@ -0,0 +1,3 @@ +export default (initialState = {}) => ({ + clusterConnectHelpPath: initialState.clusterConnectHelpPath, +}); |