Lens restructure (#540)

Signed-off-by: Roman <ixrock@gmail.com>
This commit is contained in:
Roman authored and GitHub committed 2020-06-30 14:35:16 +03:00
1 parent e810eab39f
commit b7974827d2
786 files changed
+14567 -24066

No files matched your search

@@ -0,0 +1,49 @@
import { MutationTree, ActionTree, GetterTree } from "vuex"
import { workspaceStore, Workspace, WorkspaceData } from "../../../../common/workspace-store"
export interface WorkspaceState {
workspaces: Array<Workspace>;
currentWorkspace: Workspace;
}
const state: WorkspaceState = {
workspaces: workspaceStore.getAllWorkspaces(),
currentWorkspace: workspaceStore.getAllWorkspaces().find((w) => w.id === "default")
}
const actions: ActionTree<WorkspaceState, any> = {
}
const getters: GetterTree<WorkspaceState, any> = {
workspaces: state => state.workspaces,
currentWorkspace: state => state.currentWorkspace,
workspaceById: state => (id: string) => {
return state.workspaces.find((ws) => ws.id == id)
}
}
const mutations: MutationTree<WorkspaceState> = {
setCurrentWorkspace(state, workspace: Workspace) {
state.currentWorkspace = workspace
},
addWorkspace(state, workspace: WorkspaceData) {
workspaceStore.storeWorkspace(workspace)
state.workspaces = workspaceStore.getAllWorkspaces()
},
updateWorkspace(state, workspace: WorkspaceData) {
workspaceStore.storeWorkspace(workspace)
state.workspaces = workspaceStore.getAllWorkspaces()
},
removeWorkspace(state, workspace: Workspace) {
workspaceStore.removeWorkspace(workspace)
state.workspaces = workspaceStore.getAllWorkspaces()
}
}
export default {
namespaced: false,
state,
getters,
mutations,
actions
}