Add project configuration to Vuex store

This commit is contained in:
D. Berge
2023-10-25 10:02:00 +02:00
parent 680e376ed1
commit cf89a43f64
4 changed files with 16 additions and 5 deletions

View File

@@ -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', {});
} }
} }

View File

@@ -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 };

View File

@@ -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 };

View File

@@ -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;