diff --git a/stores/app_store.js b/stores/app_store.js index fde1a59..249d6b1 100644 --- a/stores/app_store.js +++ b/stores/app_store.js @@ -17,6 +17,22 @@ export const useAppStore = defineStore("app", () => { stores.push(store) } + async function addItem(id, value) { + const dataBaseStore = useDataBaseStore() + await dataBaseStore.addItem(id, value) + + const treeviewStore = useTreeviewStore() + treeviewStore.addToTree( + value.geode_object, + value.displayed_name, + id, + value.object_type, + ) + + const hybridViewerStore = useHybridViewerStore() + hybridViewerStore.addToViewer(id, value.vtk_js) + } + function save() { const snapshot = {} let savedCount = 0 @@ -79,6 +95,7 @@ export const useAppStore = defineStore("app", () => { return { stores, registerStore, + addItem, save, load, } diff --git a/stores/data_base.js b/stores/data_base.js index 452fa43..44c85c1 100644 --- a/stores/data_base.js +++ b/stores/data_base.js @@ -2,9 +2,6 @@ import back_schemas from "@geode/opengeodeweb-back/opengeodeweb_back_schemas.jso import viewer_schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json" export const useDataBaseStore = defineStore("dataBase", () => { - const treeview_store = useTreeviewStore() - const hybridViewerStore = useHybridViewerStore() - /** State **/ const db = reactive({}) @@ -65,14 +62,6 @@ export const useDataBaseStore = defineStore("dataBase", () => { await fetchMeshComponents(id) await fetchUuidToFlatIndexDict(id) } - treeview_store.addItem( - value.geode_object, - value.displayed_name, - id, - value.object_type, - ) - - hybridViewerStore.addItem(id, value.vtk_js) } async function fetchMeshComponents(id) { diff --git a/stores/hybrid_viewer.js b/stores/hybrid_viewer.js index 34a2d94..b93d04a 100644 --- a/stores/hybrid_viewer.js +++ b/stores/hybrid_viewer.js @@ -18,6 +18,12 @@ export const useHybridViewerStore = defineStore("hybridViewer", () => { let viewStream let gridActor = null + async function addToViewer(id, vtk_js) { + if (vtk_js && vtk_js.binary_light_viewable) { + await addItem(id, vtk_js) + } + } + async function initHybridViewer() { if (status.value !== Status.NOT_CREATED) return status.value = Status.CREATING @@ -187,6 +193,7 @@ export const useHybridViewerStore = defineStore("hybridViewer", () => { return { db, genericRenderWindow, + addToViewer, addItem, setVisibility, setZScaling, diff --git a/stores/treeview.js b/stores/treeview.js index 07ce756..5e344e4 100644 --- a/stores/treeview.js +++ b/stores/treeview.js @@ -12,9 +12,10 @@ export const useTreeviewStore = defineStore("treeview", () => { const selectedTree = ref(null) /** Functions **/ - function addItem(geodeObject, displayed_name, id, object_type) { - dataStyleStore.addDataStyle(id, geodeObject, object_type) - const child = { title: displayed_name, id, object_type } + function addToTree(geodeObject, displayedName, id, objectType) { + dataStyleStore.addDataStyle(id, geodeObject, objectType) + const child = { title: displayedName, id, object_type: objectType } + for (let i = 0; i < items.value.length; i++) { if (items.value[i].title === geodeObject) { items.value[i].children.push(child) @@ -55,7 +56,7 @@ export const useTreeviewStore = defineStore("treeview", () => { panelWidth, model_id, selectedTree, - addItem, + addToTree, displayAdditionalTree, displayFileTree, toggleTreeView, diff --git a/tests/integration/microservices/back/requirements.txt b/tests/integration/microservices/back/requirements.txt index 3f80162..bd3a3ef 100644 --- a/tests/integration/microservices/back/requirements.txt +++ b/tests/integration/microservices/back/requirements.txt @@ -5,4 +5,3 @@ # pip-compile --output-file=tests/integration/microservices/back/requirements.txt tests/integration/microservices/back/requirements.in # -opengeodeweb-back==5.*,>=5.10.5 diff --git a/tests/integration/microservices/viewer/requirements.txt b/tests/integration/microservices/viewer/requirements.txt index 00788b3..4d09739 100644 --- a/tests/integration/microservices/viewer/requirements.txt +++ b/tests/integration/microservices/viewer/requirements.txt @@ -5,4 +5,3 @@ # pip-compile --output-file=tests/integration/microservices/viewer/requirements.txt tests/integration/microservices/viewer/requirements.in # -opengeodeweb-viewer==1.*,>=1.11.4