mirror of
https://gitlab.com/wgp/dougal/software.git
synced 2025-12-06 11:57:08 +00:00
Add project configuration to Vuex store
This commit is contained in:
@@ -1,10 +1,11 @@
|
|||||||
|
|
||||||
async function getProject ({commit, dispatch}, projectId) {
|
async function getProject ({commit, dispatch}, projectId) {
|
||||||
const res = await dispatch('api', [`/project/${String(projectId).toLowerCase()}`]);
|
const res = await dispatch('api', [`/project/${String(projectId).toLowerCase()}/configuration`]);
|
||||||
if (res) {
|
if (res) {
|
||||||
commit('setProjectName', res.name);
|
commit('setProjectName', res.name);
|
||||||
commit('setProjectId', res.pid);
|
commit('setProjectId', res.id?.toLowerCase());
|
||||||
commit('setProjectSchema', res.schema);
|
commit('setProjectSchema', res.schema);
|
||||||
|
commit('setProjectConfiguration', res);
|
||||||
const recentProjects = JSON.parse(localStorage.getItem("recentProjects") || "[]")
|
const recentProjects = JSON.parse(localStorage.getItem("recentProjects") || "[]")
|
||||||
recentProjects.unshift(res);
|
recentProjects.unshift(res);
|
||||||
localStorage.setItem("recentProjects", JSON.stringify(recentProjects.slice(0, 3)));
|
localStorage.setItem("recentProjects", JSON.stringify(recentProjects.slice(0, 3)));
|
||||||
@@ -12,6 +13,7 @@ async function getProject ({commit, dispatch}, projectId) {
|
|||||||
commit('setProjectName', null);
|
commit('setProjectName', null);
|
||||||
commit('setProjectId', null);
|
commit('setProjectId', null);
|
||||||
commit('setProjectSchema', null);
|
commit('setProjectSchema', null);
|
||||||
|
commit('setProjectConfiguration', {});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,4 +11,8 @@ function projectSchema (state) {
|
|||||||
return state.projectSchema;
|
return state.projectSchema;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default { projectId, projectName, projectSchema };
|
function projectConfiguration (state) {
|
||||||
|
return state.projectConfiguration;
|
||||||
|
}
|
||||||
|
|
||||||
|
export default { projectId, projectName, projectSchema, projectConfiguration };
|
||||||
|
|||||||
@@ -11,4 +11,8 @@ function setProjectSchema (state, schema) {
|
|||||||
state.projectSchema = schema;
|
state.projectSchema = schema;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default { setProjectId, setProjectName, setProjectSchema };
|
function setProjectConfiguration (state, configuration) {
|
||||||
|
state.projectConfiguration = Object.freeze(configuration);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default { setProjectId, setProjectName, setProjectSchema, setProjectConfiguration };
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
const state = () => ({
|
const state = () => ({
|
||||||
projectId: null,
|
projectId: null,
|
||||||
projectName: null,
|
projectName: null,
|
||||||
projectSchema: null
|
projectSchema: null,
|
||||||
|
projectConfiguration: {}
|
||||||
});
|
});
|
||||||
|
|
||||||
export default state;
|
export default state;
|
||||||
|
|||||||
Reference in New Issue
Block a user