diff --git a/maxgui/src/pages/QueryPage/DbListTree.vue b/maxgui/src/pages/QueryPage/DbListTree.vue
index 92250aea242..c3398c35c32 100644
--- a/maxgui/src/pages/QueryPage/DbListTree.vue
+++ b/maxgui/src/pages/QueryPage/DbListTree.vue
@@ -131,11 +131,12 @@ export default {
},
computed: {
...mapState({
- active_tree_node: state => state.query.active_tree_node,
expanded_nodes: state => state.query.expanded_nodes,
+ active_wke_id: state => state.query.active_wke_id,
}),
...mapGetters({
getDbTreeData: 'query/getDbTreeData',
+ getActiveTreeNode: 'query/getActiveTreeNode',
}),
filter() {
return (item, search, textKey) => item[textKey].indexOf(search) > -1
@@ -145,11 +146,18 @@ export default {
},
activeNodes: {
get() {
- return [this.active_tree_node]
+ return [this.getActiveTreeNode]
},
set(v) {
const activeNodes = this.minimizeNodes(v)
- if (activeNodes.length) this.SET_ACTIVE_TREE_NODE(activeNodes[0])
+ if (activeNodes.length) {
+ this.UPDATE_DB_TREE_MAP({
+ id: this.active_wke_id,
+ payload: {
+ active_tree_node: activeNodes[0],
+ },
+ })
+ }
},
},
},
@@ -167,7 +175,7 @@ export default {
},
methods: {
...mapMutations({
- SET_ACTIVE_TREE_NODE: 'query/SET_ACTIVE_TREE_NODE',
+ UPDATE_DB_TREE_MAP: 'query/UPDATE_DB_TREE_MAP',
SET_EXPANDED_NODES: 'query/SET_EXPANDED_NODES',
}),
addExpandedNodesWatcher() {
diff --git a/maxgui/src/pages/QueryPage/PreviewDataTab.vue b/maxgui/src/pages/QueryPage/PreviewDataTab.vue
index dfb2b18671f..6abbf86a908 100644
--- a/maxgui/src/pages/QueryPage/PreviewDataTab.vue
+++ b/maxgui/src/pages/QueryPage/PreviewDataTab.vue
@@ -7,7 +7,7 @@
state.query.active_tree_node,
SQL_QUERY_MODES: state => state.app_config.SQL_QUERY_MODES,
curr_query_mode: state => state.query.curr_query_mode,
curr_cnct_resource: state => state.query.curr_cnct_resource,
- active_wke_id: state => state.query.active_wke_id,
}),
...mapGetters({
getPrvwDataRes: 'query/getPrvwDataRes',
@@ -142,9 +140,10 @@ export default {
getPrvwExeTime: 'query/getPrvwExeTime',
getPrvwTotalDuration: 'query/getPrvwTotalDuration',
getLoadingPrvw: 'query/getLoadingPrvw',
+ getActiveTreeNode: 'query/getActiveTreeNode',
}),
validConn() {
- return Boolean(this.active_tree_node.id && this.curr_cnct_resource.id)
+ return Boolean(this.getActiveTreeNode.id && this.curr_cnct_resource.id)
},
isPrwDataLoading() {
return (
@@ -168,9 +167,8 @@ export default {
if (!this.isPrwDataLoading && this.validConn) await this.handleFetch(activeView)
},
},
- async activated() {
+ activated() {
this.setHeaderHeight()
- await this.autoFetchActiveNode()
},
methods: {
...mapMutations({
@@ -183,21 +181,7 @@ export default {
if (!this.$refs.header) return
this.headerHeight = this.$refs.header.clientHeight
},
- async autoFetchActiveNode() {
- if (this.curr_cnct_resource.id)
- switch (this.activeView) {
- // Auto fetch preview data if there is active_tree_node in localStorage
- case this.SQL_QUERY_MODES.PRVW_DATA_DETAILS:
- case this.SQL_QUERY_MODES.PRVW_DATA: {
- const hasActiveNode = this.$typy(this.active_tree_node, 'id').safeObject
- const isFetchingAlready = this.getLoadingPrvw(this.activeView)
- const isDataEmpty = this.$typy(this.getPrvwDataRes(this.activeView))
- .isEmptyObject
- if (hasActiveNode && !isFetchingAlready && isDataEmpty)
- await this.fetchActiveNodeData(this.activeView)
- }
- }
- },
+
/**
* This function checks if there is no preview data or details data
* before dispatching action to fetch either preview data or details
@@ -219,7 +203,7 @@ export default {
*/
async fetchActiveNodeData(SQL_QUERY_MODE) {
await this.fetchPrvw({
- tblId: this.$typy(this.active_tree_node, 'id').safeObject,
+ tblId: this.$typy(this.getActiveTreeNode, 'id').safeObject,
prvwMode: SQL_QUERY_MODE,
})
},
diff --git a/maxgui/src/store/query.js b/maxgui/src/store/query.js
index 40ded9cdee1..c50ad119a2a 100644
--- a/maxgui/src/store/query.js
+++ b/maxgui/src/store/query.js
@@ -30,7 +30,6 @@ function sidebarStates() {
is_sidebar_collapsed: false,
search_schema: '',
active_db: '',
- active_tree_node: {},
expanded_nodes: [],
}
}
@@ -120,7 +119,7 @@ export default {
is_fullscreen: false,
rc_target_names_map: {},
// sidebar states
- db_tree_map: [],
+ db_tree_map: {},
// results states
prvw_data_map: {},
prvw_data_details_map: {},
@@ -165,9 +164,6 @@ export default {
...{ [id]: { ...state.db_tree_map[id], ...payload } },
}
},
- SET_ACTIVE_TREE_NODE(state, payload) {
- patch_wke_property(state, { obj: { active_tree_node: payload }, scope: this })
- },
SET_EXPANDED_NODES(state, payload) {
patch_wke_property(state, { obj: { expanded_nodes: payload }, scope: this })
},
@@ -947,6 +943,9 @@ export default {
},
// sidebar getters
getCurrDbTree: state => state.db_tree_map[state.active_wke_id] || {},
+ getActiveTreeNode: (state, getters) => {
+ return getters.getCurrDbTree.active_tree_node || {}
+ },
getDbTreeData: (state, getters) => {
return getters.getCurrDbTree.data || []
},