+ if (itemMode === ItemMode.OPEN || itemMode === ItemMode.BOTH) {
+ dispatch(projectActions.TOGGLE_PROJECT_TREE_ITEM_OPEN(treeItem.data.uuid));
+ }
+
+ const resourceUrl = getResourceUrl(treeItem.data);
+
+ if (itemMode === ItemMode.ACTIVE || itemMode === ItemMode.BOTH) {
+ if (router.location && !router.location.pathname.includes(resourceUrl)) {
+ dispatch(push(resourceUrl));
+ }
+ dispatch(projectActions.TOGGLE_PROJECT_TREE_ITEM_ACTIVE(treeItem.data.uuid));
+ }
+
+ const promise = treeItem.status === TreeItemStatus.Loaded
+ ? Promise.resolve()
+ : dispatch<any>(getProjectList(itemId));
+
+ promise
+ .then(() => dispatch<any>(() => {
+ dispatch(dataExplorerActions.RESET_PAGINATION({id: PROJECT_PANEL_ID}));
+ dispatch(dataExplorerActions.REQUEST_ITEMS({id: PROJECT_PANEL_ID}));
+ }));
+
+ }
+ };