diff --git a/src/components.d.ts b/src/components.d.ts
index 534c46f..ce43e6e 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -10,7 +10,9 @@ declare module 'vue' {
AnnotationPopup: typeof import('./components/Tooltip/AnnotationPopup.vue')['default']
ConnectionDialog: typeof import('./components/DrawToolbar/ConnectionDialog.vue')['default']
ConnectivityGraph: typeof import('./components/ConnectivityGraph/ConnectivityGraph.vue')['default']
+ ConnectivityGraphNew: typeof import('./components/ConnectivityGraph/ConnectivityGraphNew.vue')['default']
ConnectivityList: typeof import('./components/ConnectivityList/ConnectivityList.vue')['default']
+ ConnectivityListNew: typeof import('./components/ConnectivityList/ConnectivityListNew.vue')['default']
CopyToClipboard: typeof import('./components/CopyToClipboard/CopyToClipboard.vue')['default']
CreateTooltipContent: typeof import('./components/Tooltip/CreateTooltipContent.vue')['default']
DrawToolbar: typeof import('./components/DrawToolbar/DrawToolbar.vue')['default']
diff --git a/src/components/CompetencyQueries/CompetencyQueries.js b/src/components/CompetencyQueries/CompetencyQueries.js
index b2d21b5..3215786 100644
--- a/src/components/CompetencyQueries/CompetencyQueries.js
+++ b/src/components/CompetencyQueries/CompetencyQueries.js
@@ -1,3 +1,5 @@
+import { removeDuplicates } from '../utilities';
+
/**
* @private
* Competency Queries
@@ -28,6 +30,54 @@ async function _postRequest(API_URL, payload) {
}
}
+/**
+ * CQ query 27: Single Connectivity List
+ * @param {*} flatmapAPI
+ * @param {*} knowledgeSource mapuuid
+ * @param {*} pathId
+ * @returns combined connectivity list
+ */
+async function querySingleConnectivityList(flatmapAPI, knowledgeSource, pathId) {
+ const data = await competencyQuery({
+ flatmapAPI: flatmapAPI,
+ knowledgeSource: knowledgeSource,
+ queryId: 27,
+ parameters: [
+ {
+ column: 'path_id',
+ value: pathId
+ },
+ ]
+ });
+
+ if (data?.results?.values) {
+ const connectivityList = data.results.values.map((value) => {
+ // value => [
+ // "sckan_id",
+ // "path_id",
+ // "sckan_node_id",
+ // "sckan_node_label",
+ // "source_id", // mapuuid
+ // "node_id", // map node id
+ // "node_label" // map node label
+ // ]
+ return {
+ sckanId: value[0],
+ mapUUID: value[4],
+ pathId: value[1],
+ sckanNodeId: value[2] ? JSON.parse(value[2]) : [],
+ sckanNodeLabel: value[3] || "",
+ mapNodeId: value[5] ? JSON.parse(value[5]) : [],
+ mapNodeLabel: value[6] || "",
+ };
+ });
+ // remove duplicates
+ return removeDuplicates(connectivityList);
+ }
+
+ return [];
+}
+
/**
* Competency Query
* @public
@@ -392,4 +442,5 @@ export {
queryPathsByDestination,
queryPathsByRoute,
queryForwardBackwardConnections,
+ querySingleConnectivityList,
};
diff --git a/src/components/ConnectivityGraph/ConnectivityGraphNew.vue b/src/components/ConnectivityGraph/ConnectivityGraphNew.vue
new file mode 100644
index 0000000..153d57c
--- /dev/null
+++ b/src/components/ConnectivityGraph/ConnectivityGraphNew.vue
@@ -0,0 +1,727 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ Origin
+
+
+ Components
+
+
+ Destination
+
+
+
+
+
+
+
+ {{ connectivityError.errorConnectivities }}
+ {{ connectivityError.errorMessage }}
+
+
+
+ {{ loadingError }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/ConnectivityList/ConnectivityList.vue b/src/components/ConnectivityList/ConnectivityList.vue
index 853684f..fac1ffd 100644
--- a/src/components/ConnectivityList/ConnectivityList.vue
+++ b/src/components/ConnectivityList/ConnectivityList.vue
@@ -19,172 +19,172 @@
{{ connectivityError.errorMessage }}
- {{ entry.paths }}
-
-
- Origin
-
-
-
-
-
- Origin {{ originDescription }}
-
-
-
-
-
-
-
-
-
-
- Search connectivity
-
- {{ capitalise(origin) }}
-
-
+
+ Origin
+
- Explore origin data
-
+
+
+
+
+ Origin {{ originDescription }}
+
+
-
- Components
-
-
-
-
-
-
-
-
- Search connectivity
-
- {{ capitalise(component) }}
-
+
+
+
+
+
+
Search connectivity
+
+
{{ capitalise(origin) }}
+
+
+ Explore origin data
+
+
+
+
+ Components
-
- Destination
-
-
-
-
-
- Destination is where the axons terminate
-
-
-
-
-
-
-
-
-
-
- Search connectivity
-
- {{ capitalise(destination) }}
-
-
+
+
+
+
+ Search connectivity
+
+ {{ capitalise(component) }}
+
+
+
+
+ Destination
+
- Explore destination data
-
+
+
+
+
+ Destination is where the axons terminate
+
+
-
- Search for data on components
-
+
+
+
+
+
+ Search connectivity
+
+ {{ capitalise(destination) }}
+
+ Explore destination data
+
+
+
+
+ Search for data on components
+
+
diff --git a/src/components/ConnectivityList/ConnectivityListNew.vue b/src/components/ConnectivityList/ConnectivityListNew.vue
new file mode 100644
index 0000000..ace5d21
--- /dev/null
+++ b/src/components/ConnectivityList/ConnectivityListNew.vue
@@ -0,0 +1,666 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Origin
+
+
+
+
+
+ Origin {{ originDescription }}
+
+
+
+
+
+
+
+
+
+
+ Search connectivity
+
+ {{ capitalise(origin.mapLabel) }}
+
+ /
+ {{ capitalise(origin.sckanLabel) }}
+
+
+
+ Explore origin data
+
+
+
+
+
+
+ Components
+
+
+
+
+
+
+
+
+ Search connectivity
+
+ {{ capitalise(component.mapLabel) }}
+
+ /
+ {{ capitalise(component.sckanLabel) }}
+
+
+
+
+
+
+
+ Destination
+
+
+
+
+
+ Destination is where the axons terminate
+
+
+
+
+
+
+
+
+
+
+ Search connectivity
+
+ {{ capitalise(destination.mapLabel) }}
+
+ /
+ {{ capitalise(destination.sckanLabel) }}
+
+
+
+ Explore destination data
+
+
+
+
+
+
+ Search for data on components
+
+
+
+
+
+
+
+
diff --git a/src/components/index.js b/src/components/index.js
index d3bc027..25cbd0a 100644
--- a/src/components/index.js
+++ b/src/components/index.js
@@ -1,7 +1,9 @@
import AnnotationPopup from "./Tooltip/AnnotationPopup.vue";
import CreateTooltipContent from "./Tooltip/CreateTooltipContent.vue";
import ConnectivityGraph from "./ConnectivityGraph/ConnectivityGraph.vue";
+import ConnectivityGraphNew from "./ConnectivityGraph/ConnectivityGraphNew.vue";
import ConnectivityList from "./ConnectivityList/ConnectivityList.vue";
+import ConnectivityListNew from "./ConnectivityList/ConnectivityListNew.vue";
import CopyToClipboard from "./CopyToClipboard/CopyToClipboard.vue";
import DrawToolbar from "./DrawToolbar/DrawToolbar.vue";
import HelpModeDialog from "./HelpModeDialog/HelpModeDialog.vue";
@@ -16,6 +18,7 @@ import {
queryPathsByDestination,
queryPathsByRoute,
queryForwardBackwardConnections,
+ querySingleConnectivityList,
} from "./CompetencyQueries/CompetencyQueries.js";
import {
filterOrigins,
@@ -37,6 +40,8 @@ export {
CreateTooltipContent,
ConnectivityGraph,
ConnectivityList,
+ ConnectivityListNew,
+ ConnectivityGraphNew,
CopyToClipboard,
DrawToolbar,
HelpModeDialog,
@@ -50,6 +55,7 @@ export {
queryPathsByDestination,
queryPathsByRoute,
queryForwardBackwardConnections,
+ querySingleConnectivityList,
filterOrigins,
filterDestinations,
filterViaLocations,
diff --git a/src/components/utilities.js b/src/components/utilities.js
index f446f71..0181309 100644
--- a/src/components/utilities.js
+++ b/src/components/utilities.js
@@ -54,9 +54,17 @@ const delay = (ms) => {
return new Promise(resolve => setTimeout(resolve, ms));
};
+const removeDuplicates = function (arrayOfAnything) {
+ if (!arrayOfAnything) return []
+ return [...new Set(arrayOfAnything.map((e) => JSON.stringify(e)))].map((e) =>
+ JSON.parse(e)
+ )
+}
+
export {
capitalise,
titleCase,
xmlToJSON,
delay,
+ removeDuplicates,
};