mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
53 lines
1.1 KiB
Vue
53 lines
1.1 KiB
Vue
<template>
|
|
<div class="settings-section">
|
|
<b>Cluster Workspace</b>
|
|
<p>
|
|
Define cluster <a href="/#/workspaces">workspace</a>.
|
|
</p>
|
|
<b-form-select
|
|
v-model="cluster.workspace"
|
|
:options="workspaces"
|
|
@change="onSave"
|
|
/>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
name: 'ClusterWorkspace',
|
|
props: {
|
|
cluster: {
|
|
type: Object,
|
|
required: true,
|
|
default: null
|
|
}
|
|
},
|
|
computed: {
|
|
workspaces: function() {
|
|
return this.$store.getters.workspaces.map((ws) => {
|
|
return {
|
|
value: ws.id,
|
|
text: ws.name
|
|
}
|
|
});
|
|
}
|
|
},
|
|
methods: {
|
|
onSave: async function(workspaceId) {
|
|
this.cluster.workspace = workspaceId
|
|
await this.$store.dispatch("storeCluster", this.cluster);
|
|
const ws = this.$store.getters.workspaceById(this.cluster.workspace);
|
|
if (ws) {
|
|
this.$store.commit("setCurrentWorkspace", ws);
|
|
await this.$store.dispatch("clearClusters");
|
|
await this.$store.dispatch("refreshClusters", ws);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style>
|
|
|
|
</style>
|