diff --git a/package-lock.json b/package-lock.json
index 12dd6d79..d55112c1 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,7 +9,7 @@
"version": "0.1.0",
"license": "EUPL-1.2",
"dependencies": {
- "@conduction/nextcloud-vue": "^1.0.0-beta.29",
+ "@conduction/nextcloud-vue": "^1.0.0-beta.35",
"@nextcloud/auth": "^2.6.0",
"@nextcloud/axios": "~2.5.2",
"@nextcloud/dialogs": "^3.2.0",
@@ -502,9 +502,9 @@
}
},
"node_modules/@conduction/nextcloud-vue": {
- "version": "1.0.0-beta.29",
- "resolved": "https://registry.npmjs.org/@conduction/nextcloud-vue/-/nextcloud-vue-1.0.0-beta.29.tgz",
- "integrity": "sha512-gFnC9I9z2v76HutB7klBvZ52k7ep7VvCsYlM0iyK4R8yIOIb7bKTBV4OBMG51Epfg5hkVoKwayDxUnju+lUerg==",
+ "version": "1.0.0-beta.35",
+ "resolved": "https://registry.npmjs.org/@conduction/nextcloud-vue/-/nextcloud-vue-1.0.0-beta.35.tgz",
+ "integrity": "sha512-T80Y6z+m/ni2z1yCNVrXAjzacv2WdXFNQcfZYfXHHmtCbJOjdFWLwALZ/WCrGO1FQIQMnjq01G0gBdMXXKQimg==",
"license": "EUPL-1.2",
"dependencies": {
"@codemirror/autocomplete": "^6.0.0",
@@ -517,13 +517,14 @@
"@codemirror/search": "^6.0.0",
"@codemirror/state": "^6.0.0",
"@codemirror/view": "^6.0.0",
- "@nextcloud/capabilities": "^1.2.1",
+ "@microsoft/fetch-event-source": "^2.0.1",
"@nextcloud/dialogs": "^7.3.0",
"@nextcloud/notify_push": "^1.0.0",
"@uiw/codemirror-theme-github": "^4.25.8",
"@vueuse/core": "^10.0.0",
"apexcharts": "^4.7.0",
"codemirror": "^6.0.0",
+ "dompurify": "^3.0.0",
"gridstack": "^10.3.1",
"leaflet": "^1.9.0",
"lodash": "^4.17.21",
@@ -535,7 +536,9 @@
"vue-template-compiler": "^2.7.16"
},
"peerDependencies": {
+ "@nextcloud/auth": "^2.0.0 || ^3.0.0",
"@nextcloud/axios": "^2.0.0",
+ "@nextcloud/capabilities": "^1.2.1",
"@nextcloud/l10n": "^2.0.0 || ^3.0.0",
"@nextcloud/router": "^2.0.0 || ^3.0.0",
"@nextcloud/vue": "^8.0.0",
@@ -2030,6 +2033,12 @@
"integrity": "sha512-KPnNOtm5i2pMabqZxpUz7iQf+mfrYZyKCZ8QNz85czgEt7cuHcGorWfdzUMWYA0SD+a6Hn4FmJ+YhzzzjkTZrQ==",
"license": "Apache-2.0"
},
+ "node_modules/@microsoft/fetch-event-source": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@microsoft/fetch-event-source/-/fetch-event-source-2.0.1.tgz",
+ "integrity": "sha512-W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA==",
+ "license": "MIT"
+ },
"node_modules/@napi-rs/wasm-runtime": {
"version": "0.2.12",
"resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz",
@@ -3285,9 +3294,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -3302,9 +3308,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -3319,9 +3322,6 @@
"ppc64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -3336,9 +3336,6 @@
"riscv64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -3353,9 +3350,6 @@
"riscv64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -3370,9 +3364,6 @@
"s390x"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -3387,9 +3378,6 @@
"x64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -3404,9 +3392,6 @@
"x64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -16038,9 +16023,9 @@
}
},
"@conduction/nextcloud-vue": {
- "version": "1.0.0-beta.29",
- "resolved": "https://registry.npmjs.org/@conduction/nextcloud-vue/-/nextcloud-vue-1.0.0-beta.29.tgz",
- "integrity": "sha512-gFnC9I9z2v76HutB7klBvZ52k7ep7VvCsYlM0iyK4R8yIOIb7bKTBV4OBMG51Epfg5hkVoKwayDxUnju+lUerg==",
+ "version": "1.0.0-beta.35",
+ "resolved": "https://registry.npmjs.org/@conduction/nextcloud-vue/-/nextcloud-vue-1.0.0-beta.35.tgz",
+ "integrity": "sha512-T80Y6z+m/ni2z1yCNVrXAjzacv2WdXFNQcfZYfXHHmtCbJOjdFWLwALZ/WCrGO1FQIQMnjq01G0gBdMXXKQimg==",
"requires": {
"@codemirror/autocomplete": "^6.0.0",
"@codemirror/commands": "^6.0.0",
@@ -16052,13 +16037,14 @@
"@codemirror/search": "^6.0.0",
"@codemirror/state": "^6.0.0",
"@codemirror/view": "^6.0.0",
- "@nextcloud/capabilities": "^1.2.1",
+ "@microsoft/fetch-event-source": "^2.0.1",
"@nextcloud/dialogs": "^7.3.0",
"@nextcloud/notify_push": "^1.0.0",
"@uiw/codemirror-theme-github": "^4.25.8",
"@vueuse/core": "^10.0.0",
"apexcharts": "^4.7.0",
"codemirror": "^6.0.0",
+ "dompurify": "^3.0.0",
"gridstack": "^10.3.1",
"leaflet": "^1.9.0",
"lodash": "^4.17.21",
@@ -17062,6 +17048,11 @@
"resolved": "https://registry.npmjs.org/@mdi/js/-/js-7.4.47.tgz",
"integrity": "sha512-KPnNOtm5i2pMabqZxpUz7iQf+mfrYZyKCZ8QNz85czgEt7cuHcGorWfdzUMWYA0SD+a6Hn4FmJ+YhzzzjkTZrQ=="
},
+ "@microsoft/fetch-event-source": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@microsoft/fetch-event-source/-/fetch-event-source-2.0.1.tgz",
+ "integrity": "sha512-W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA=="
+ },
"@napi-rs/wasm-runtime": {
"version": "0.2.12",
"resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz",
diff --git a/package.json b/package.json
index ac334ffc..703c39cf 100644
--- a/package.json
+++ b/package.json
@@ -22,7 +22,7 @@
"extends @nextcloud/browserslist-config"
],
"dependencies": {
- "@conduction/nextcloud-vue": "^1.0.0-beta.29",
+ "@conduction/nextcloud-vue": "^1.0.0-beta.35",
"@nextcloud/auth": "^2.6.0",
"@nextcloud/axios": "~2.5.2",
"@nextcloud/dialogs": "^3.2.0",
diff --git a/src/customComponents.js b/src/customComponents.js
index cfd2bb9e..c621376c 100644
--- a/src/customComponents.js
+++ b/src/customComponents.js
@@ -47,6 +47,11 @@ import VisualWorkflowEditor from './components/workflow/VisualWorkflowEditor.vue
// MAY reference it by string name. See openspec/changes/map-component/.
import MapComponent from './components/map/MapComponent.vue'
+// --- Features & Roadmap page — thin wrapper around the lib's
+// CnFeaturesAndRoadmapView (the in-product roadmap surface powered by
+// OpenRegister's github-issue-proxy). See ConductionNL/hydra#251. ---
+import FeaturesRoadmapView from './views/FeaturesRoadmap.vue'
+
export default {
// --- Genuine exceptions: no abstract analogue. ---
MyWorkView, // bespoke 4-tab filter UI mixing case + task entities
@@ -76,4 +81,7 @@ export default {
// --- Shared map surface — referenceable from manifest pages. ---
MapComponent,
+
+ // --- Features & Roadmap page (lib's CnFeaturesAndRoadmapView). ---
+ FeaturesRoadmap: FeaturesRoadmapView,
}
diff --git a/src/manifest.json b/src/manifest.json
index 3316a1cc..ea13f558 100644
--- a/src/manifest.json
+++ b/src/manifest.json
@@ -31,7 +31,8 @@
{ "id": "LhsRecommendationsMenu", "label": "LHS Recommendations", "icon": "icon-comment", "route": "LhsRecommendations", "section": "settings", "order": 97 },
{ "id": "LocationsMenu", "label": "Case locations", "icon": "icon-address", "route": "Locations", "section": "settings", "order": 98, "permission": "admin" },
{ "id": "BezwaarCommitteesMenu", "label": "Bezwaaradviescommissies", "icon": "icon-group", "route": "BezwaarCommittees", "section": "settings", "order": 99 },
- { "id": "SettingsMenu", "label": "Settings", "icon": "icon-settings", "route": "Settings", "section": "settings", "order": 99 }
+ { "id": "SettingsMenu", "label": "Settings", "icon": "icon-settings", "route": "Settings", "section": "settings", "order": 99 },
+ { "id": "FeaturesRoadmapMenu", "label": "Features & roadmap", "icon": "icon-toggle", "route": "FeaturesRoadmap", "section": "settings", "order": 100 }
],
"pages": [
{
@@ -924,6 +925,13 @@
{ "id": "audit", "label": "Audit trail", "icon": "icon-history", "widgets": [{ "type": "audit-trail" }], "order": 90 }
]
}
+ },
+ {
+ "id": "FeaturesRoadmap",
+ "route": "/features-roadmap",
+ "type": "custom",
+ "title": "Features & roadmap",
+ "component": "FeaturesRoadmap"
}
]
}
diff --git a/src/views/FeaturesRoadmap.vue b/src/views/FeaturesRoadmap.vue
new file mode 100644
index 00000000..2515c6e1
--- /dev/null
+++ b/src/views/FeaturesRoadmap.vue
@@ -0,0 +1,38 @@
+
+
+
+
+