diff --git a/appinfo/info.xml b/appinfo/info.xml
index ba2c9b9..d67ada0 100644
--- a/appinfo/info.xml
+++ b/appinfo/info.xml
@@ -18,6 +18,6 @@
https://raw.githubusercontent.com/nextcloud/files_mindmap/master/screenshots/2.png
https://raw.githubusercontent.com/nextcloud/files_mindmap/master/screenshots/3.png
-
+
diff --git a/package-lock.json b/package-lock.json
index 40d4068..6522a88 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -12,7 +12,7 @@
"@mdi/svg": "^7.3.67",
"@nextcloud/axios": "^2.4.0",
"@nextcloud/event-bus": "^3.1.0",
- "@nextcloud/files": "^3.0.0",
+ "@nextcloud/files": "^4.0.0",
"@nextcloud/l10n": "^3.0.0",
"@nextcloud/logger": "^3.0.0",
"@nextcloud/paths": "^3.0.0",
@@ -1385,9 +1385,9 @@
}
},
"node_modules/@nextcloud/files": {
- "version": "3.12.2",
- "resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-3.12.2.tgz",
- "integrity": "sha512-vBo8tf3Xh6efiF8CrEo3pKj9AtvAF6RdDGO1XKL65IxV8+UUd9Uxl2lUExHlzoDRRczCqfGfaWfRRaFhYqce5Q==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-4.0.0.tgz",
+ "integrity": "sha512-TmecnZIS+PGWGtRh7RpGEboCT4K6iTbHULUcfR6hs3eEzjDVsCc1Ldf8popGY/70lbpdlfYle8xbXnPIo3qaXA==",
"license": "AGPL-3.0-or-later",
"dependencies": {
"@nextcloud/auth": "^2.5.3",
@@ -1397,13 +1397,12 @@
"@nextcloud/paths": "^3.0.0",
"@nextcloud/router": "^3.1.0",
"@nextcloud/sharing": "^0.3.0",
- "cancelable-promise": "^4.3.1",
"is-svg": "^6.1.0",
- "typescript-event-target": "^1.1.1",
- "webdav": "^5.8.0"
+ "typescript-event-target": "^1.1.2",
+ "webdav": "^5.9.0"
},
"engines": {
- "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
+ "node": "^24.0.0"
}
},
"node_modules/@nextcloud/initial-state": {
@@ -1480,6 +1479,29 @@
"@nextcloud/files": "^3.12.0"
}
},
+ "node_modules/@nextcloud/sharing/node_modules/@nextcloud/files": {
+ "version": "3.12.2",
+ "resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-3.12.2.tgz",
+ "integrity": "sha512-vBo8tf3Xh6efiF8CrEo3pKj9AtvAF6RdDGO1XKL65IxV8+UUd9Uxl2lUExHlzoDRRczCqfGfaWfRRaFhYqce5Q==",
+ "license": "AGPL-3.0-or-later",
+ "optional": true,
+ "dependencies": {
+ "@nextcloud/auth": "^2.5.3",
+ "@nextcloud/capabilities": "^1.2.1",
+ "@nextcloud/l10n": "^3.4.1",
+ "@nextcloud/logger": "^3.0.3",
+ "@nextcloud/paths": "^3.0.0",
+ "@nextcloud/router": "^3.1.0",
+ "@nextcloud/sharing": "^0.3.0",
+ "cancelable-promise": "^4.3.1",
+ "is-svg": "^6.1.0",
+ "typescript-event-target": "^1.1.1",
+ "webdav": "^5.8.0"
+ },
+ "engines": {
+ "node": "^20.0.0 || ^22.0.0 || ^24.0.0"
+ }
+ },
"node_modules/@nextcloud/typings": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/@nextcloud/typings/-/typings-1.10.0.tgz",
@@ -4135,7 +4157,8 @@
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/cancelable-promise/-/cancelable-promise-4.3.1.tgz",
"integrity": "sha512-A/8PwLk/T7IJDfUdQ68NR24QHa8rIlnN/stiJEBo6dmVUkD4K14LswG0w3VwdeK/o7qOwRUR1k2MhK5Rpy2m7A==",
- "license": "MIT"
+ "license": "MIT",
+ "optional": true
},
"node_modules/caniuse-lite": {
"version": "1.0.30001767",
@@ -5820,16 +5843,33 @@
],
"license": "BSD-3-Clause"
},
+ "node_modules/fast-xml-builder": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/fast-xml-builder/-/fast-xml-builder-1.1.2.tgz",
+ "integrity": "sha512-NJAmiuVaJEjVa7TjLZKlYd7RqmzOC91EtPFXHvlTcqBVo50Qh7XV5IwvXi1c7NRz2Q/majGX9YLcwJtWgHjtkA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "path-expression-matcher": "^1.1.3"
+ }
+ },
"node_modules/fast-xml-parser": {
"version": "4.5.4",
"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.4.tgz",
"integrity": "sha512-jE8ugADnYOBsu1uaoayVl1tVKAMNOXyjwvv2U6udEA2ORBhDooJDWoGxTkhd4Qn4yh59JVVt/pKXtjPwx9OguQ==",
+ "dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/NaturalIntelligence"
}
],
+ "peer": true,
"dependencies": {
"strnum": "^1.0.5"
},
@@ -8147,6 +8187,21 @@
"node": ">=8"
}
},
+ "node_modules/path-expression-matcher": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/path-expression-matcher/-/path-expression-matcher-1.1.3.tgz",
+ "integrity": "sha512-qdVgY8KXmVdJZRSS1JdEPOKPdTiEK/pi0RkcT2sw1RhXxohdujUlJFPuS1TSkevZ9vzd3ZlL7ULl1MHGTApKzQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
"node_modules/path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
@@ -9562,13 +9617,15 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz",
"integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==",
+ "dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/NaturalIntelligence"
}
],
- "license": "MIT"
+ "license": "MIT",
+ "peer": true
},
"node_modules/strtok3": {
"version": "10.3.4",
@@ -10917,16 +10974,16 @@
}
},
"node_modules/webdav": {
- "version": "5.8.0",
- "resolved": "https://registry.npmjs.org/webdav/-/webdav-5.8.0.tgz",
- "integrity": "sha512-iuFG7NamJ41Oshg4930iQgfIpRrUiatPWIekeznYgEf2EOraTRcDPTjy7gIOMtkdpKTaqPk1E68NO5PAGtJahA==",
+ "version": "5.9.0",
+ "resolved": "https://registry.npmjs.org/webdav/-/webdav-5.9.0.tgz",
+ "integrity": "sha512-OMJ6wtK1WvCO++aOLoQgE96S8KT4e5aaClWHmHXfFU369r4eyELN569B7EqT4OOUb99mmO58GkyuiCv/Ag6J0Q==",
"license": "MIT",
"dependencies": {
"@buttercup/fetch": "^0.2.1",
"base-64": "^1.0.0",
"byte-length": "^1.0.2",
- "entities": "^6.0.0",
- "fast-xml-parser": "^4.5.1",
+ "entities": "^6.0.1",
+ "fast-xml-parser": "^5.3.4",
"hot-patcher": "^2.0.1",
"layerr": "^3.0.0",
"md5": "^2.3.0",
@@ -10953,6 +11010,38 @@
"url": "https://github.com/fb55/entities?sponsor=1"
}
},
+ "node_modules/webdav/node_modules/fast-xml-parser": {
+ "version": "5.5.3",
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.5.3.tgz",
+ "integrity": "sha512-Ymnuefk6VzAhT3SxLzVUw+nMio/wB1NGypHkgetwtXcK1JfryaHk4DWQFGVwQ9XgzyS5iRZ7C2ZGI4AMsdMZ6A==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "fast-xml-builder": "^1.1.2",
+ "path-expression-matcher": "^1.1.3",
+ "strnum": "^2.1.2"
+ },
+ "bin": {
+ "fxparser": "src/cli/cli.js"
+ }
+ },
+ "node_modules/webdav/node_modules/strnum": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.2.0.tgz",
+ "integrity": "sha512-Y7Bj8XyJxnPAORMZj/xltsfo55uOiyHcU2tnAVzHUnSJR/KsEX+9RoDeXEnsXtl/CX4fAcrt64gZ13aGaWPeBg==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/NaturalIntelligence"
+ }
+ ],
+ "license": "MIT"
+ },
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
diff --git a/package.json b/package.json
index 554c371..239bf6b 100644
--- a/package.json
+++ b/package.json
@@ -29,7 +29,7 @@
"@mdi/svg": "^7.3.67",
"@nextcloud/axios": "^2.4.0",
"@nextcloud/event-bus": "^3.1.0",
- "@nextcloud/files": "^3.0.0",
+ "@nextcloud/files": "^4.0.0",
"@nextcloud/l10n": "^3.0.0",
"@nextcloud/logger": "^3.0.0",
"@nextcloud/router": "^3.0.0",
diff --git a/src/mindmap.js b/src/mindmap.js
index bf4b705..88d4422 100644
--- a/src/mindmap.js
+++ b/src/mindmap.js
@@ -1,9 +1,9 @@
import { basename, extname } from 'path'
import SvgPencil from '@mdi/svg/svg/pencil.svg?raw'
+import MindMapSvg from '../img/mindmap.svg?raw'
import {
DefaultType,
- FileAction,
addNewFileMenuEntry,
registerFileAction,
File,
@@ -187,7 +187,7 @@ var FilesMindMap = {
var mimes = this.getSupportedMimetypes(),
_self = this;
- registerFileAction(new FileAction({
+ registerFileAction({
id: 'file_mindmap',
displayName() {
return t('files_mindmap', 'Edit')
@@ -209,14 +209,14 @@ var FilesMindMap = {
},
default: DefaultType.HIDDEN,
- }))
+ })
},
registerNewFileMenuPlugin: function() {
addNewFileMenuEntry({
id: 'mindmapfile',
displayName: t('files_mindmap', 'New mind map file'),
- iconClass: 'icon-mindmap',
+ iconSvgInline: MindMapSvg,
enabled(context) {
// only attach to main file list, public view is not supported yet
console.log('addNewFileMenuEntry', context);