diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index 8da6634fb..f06d88a1e 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -14,25 +14,25 @@
"@xterm/xterm": "^5.5.0",
"anser": "^2.1.1",
"combokeys": "^3.0.1",
- "filesize": "^10.1.2",
- "marked": "^13.0.1",
+ "filesize": "^10.1.4",
+ "marked": "^13.0.2",
"moment": "^2.30.1",
- "pankow": "^1.6.5",
- "pankow-viewers": "^1.0.1",
+ "pankow": "^1.6.8",
+ "pankow-viewers": "^1.0.4",
"superagent": "^9.0.2",
- "vue": "^3.4.30",
+ "vue": "^3.4.33",
"vue-i18n": "^9.13.1",
"vue-router": "^4.4.0"
},
"devDependencies": {
"@vitejs/plugin-vue": "^5.0.5",
- "vite": "^5.3.1"
+ "vite": "^5.3.4"
}
},
"node_modules/@babel/parser": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz",
- "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==",
+ "version": "7.24.8",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.8.tgz",
+ "integrity": "sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==",
"bin": {
"parser": "bin/babel-parser.js"
},
@@ -414,10 +414,9 @@
"integrity": "sha512-PwjvKPGFbgpwfKjWZj1zeUvd7ExUW2AqHE9PF9ysAJ2gOuzIHWE6mEVIlchYif7WC2pQhn+g0w6xooCObVi+4A=="
},
"node_modules/@fortawesome/fontawesome-free": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.5.2.tgz",
- "integrity": "sha512-hRILoInAx8GNT5IMkrtIt9blOdrqHOnPBH+k70aWUAqPZPgopb9G5EQJFpaBx/S8zp2fC+mPW349Bziuk1o28Q==",
- "hasInstallScript": true,
+ "version": "6.6.0",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.6.0.tgz",
+ "integrity": "sha512-60G28ke/sXdtS9KZCpZSHHkCbdsOGEhIUGlwq6yhY74UpTiToIh8np7A8yphhM4BWsvNFtIvLpi4co+h9Mr9Ow==",
"engines": {
"node": ">=6"
}
@@ -464,9 +463,9 @@
}
},
"node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.15",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
- "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
+ "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="
},
"node_modules/@rollup/rollup-android-arm-eabi": {
"version": "4.13.0",
@@ -665,49 +664,49 @@
}
},
"node_modules/@vue/compiler-core": {
- "version": "3.4.30",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.30.tgz",
- "integrity": "sha512-ZL8y4Xxdh8O6PSwfdZ1IpQ24PjTAieOz3jXb/MDTfDtANcKBMxg1KLm6OX2jofsaQGYfIVzd3BAG22i56/cF1w==",
+ "version": "3.4.33",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.33.tgz",
+ "integrity": "sha512-MoIREbkdPQlnGfSKDMgzTqzqx5nmEjIc0ydLVYlTACGBsfvOJ4tHSbZXKVF536n6fB+0eZaGEOqsGThPpdvF5A==",
"dependencies": {
"@babel/parser": "^7.24.7",
- "@vue/shared": "3.4.30",
+ "@vue/shared": "3.4.33",
"entities": "^4.5.0",
"estree-walker": "^2.0.2",
"source-map-js": "^1.2.0"
}
},
"node_modules/@vue/compiler-dom": {
- "version": "3.4.30",
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.30.tgz",
- "integrity": "sha512-+16Sd8lYr5j/owCbr9dowcNfrHd+pz+w2/b5Lt26Oz/kB90C9yNbxQ3bYOvt7rI2bxk0nqda39hVcwDFw85c2Q==",
+ "version": "3.4.33",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.33.tgz",
+ "integrity": "sha512-GzB8fxEHKw0gGet5BKlpfXEqoBnzSVWwMnT+dc25wE7pFEfrU/QsvjZMP9rD4iVXHBBoemTct8mN0GJEI6ZX5A==",
"dependencies": {
- "@vue/compiler-core": "3.4.30",
- "@vue/shared": "3.4.30"
+ "@vue/compiler-core": "3.4.33",
+ "@vue/shared": "3.4.33"
}
},
"node_modules/@vue/compiler-sfc": {
- "version": "3.4.30",
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.30.tgz",
- "integrity": "sha512-8vElKklHn/UY8+FgUFlQrYAPbtiSB2zcgeRKW7HkpSRn/JjMRmZvuOtwDx036D1aqKNSTtXkWRfqx53Qb+HmMg==",
+ "version": "3.4.33",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.33.tgz",
+ "integrity": "sha512-7rk7Vbkn21xMwIUpHQR4hCVejwE6nvhBOiDgoBcR03qvGqRKA7dCBSsHZhwhYUsmjlbJ7OtD5UFIyhP6BY+c8A==",
"dependencies": {
"@babel/parser": "^7.24.7",
- "@vue/compiler-core": "3.4.30",
- "@vue/compiler-dom": "3.4.30",
- "@vue/compiler-ssr": "3.4.30",
- "@vue/shared": "3.4.30",
+ "@vue/compiler-core": "3.4.33",
+ "@vue/compiler-dom": "3.4.33",
+ "@vue/compiler-ssr": "3.4.33",
+ "@vue/shared": "3.4.33",
"estree-walker": "^2.0.2",
"magic-string": "^0.30.10",
- "postcss": "^8.4.38",
+ "postcss": "^8.4.39",
"source-map-js": "^1.2.0"
}
},
"node_modules/@vue/compiler-ssr": {
- "version": "3.4.30",
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.30.tgz",
- "integrity": "sha512-ZJ56YZGXJDd6jky4mmM0rNaNP6kIbQu9LTKZDhcpddGe/3QIalB1WHHmZ6iZfFNyj5mSypTa4+qDJa5VIuxMSg==",
+ "version": "3.4.33",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.33.tgz",
+ "integrity": "sha512-0WveC9Ai+eT/1b6LCV5IfsufBZ0HP7pSSTdDjcuW302tTEgoBw8rHVHKPbGUtzGReUFCRXbv6zQDDgucnV2WzQ==",
"dependencies": {
- "@vue/compiler-dom": "3.4.30",
- "@vue/shared": "3.4.30"
+ "@vue/compiler-dom": "3.4.33",
+ "@vue/shared": "3.4.33"
}
},
"node_modules/@vue/devtools-api": {
@@ -716,49 +715,49 @@
"integrity": "sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA=="
},
"node_modules/@vue/reactivity": {
- "version": "3.4.30",
- "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.30.tgz",
- "integrity": "sha512-bVJurnCe3LS0JII8PPoAA63Zd2MBzcKrEzwdQl92eHCcxtIbxD2fhNwJpa+KkM3Y/A4T5FUnmdhgKwOf6BfbcA==",
+ "version": "3.4.33",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.33.tgz",
+ "integrity": "sha512-B24QIelahDbyHipBgbUItQblbd4w5HpG3KccL+YkGyo3maXyS253FzcTR3pSz739OTphmzlxP7JxEMWBpewilA==",
"dependencies": {
- "@vue/shared": "3.4.30"
+ "@vue/shared": "3.4.33"
}
},
"node_modules/@vue/runtime-core": {
- "version": "3.4.30",
- "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.30.tgz",
- "integrity": "sha512-qaFEbnNpGz+tlnkaualomogzN8vBLkgzK55uuWjYXbYn039eOBZrWxyXWq/7qh9Bz2FPifZqGjVDl/FXiq9L2g==",
+ "version": "3.4.33",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.33.tgz",
+ "integrity": "sha512-6wavthExzT4iAxpe8q37/rDmf44nyOJGISJPxCi9YsQO+8w9v0gLCFLfH5TzD1V1AYrTAdiF4Y1cgUmP68jP6w==",
"dependencies": {
- "@vue/reactivity": "3.4.30",
- "@vue/shared": "3.4.30"
+ "@vue/reactivity": "3.4.33",
+ "@vue/shared": "3.4.33"
}
},
"node_modules/@vue/runtime-dom": {
- "version": "3.4.30",
- "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.30.tgz",
- "integrity": "sha512-tV6B4YiZRj5QsaJgw2THCy5C1H+2UeywO9tqgWEc21tn85qHEERndHN/CxlyXvSBFrpmlexCIdnqPuR9RM9thw==",
+ "version": "3.4.33",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.33.tgz",
+ "integrity": "sha512-iHsMCUSFJ+4z432Bn9kZzHX+zOXa6+iw36DaVRmKYZpPt9jW9riF32SxNwB124i61kp9+AZtheQ/mKoJLerAaQ==",
"dependencies": {
- "@vue/reactivity": "3.4.30",
- "@vue/runtime-core": "3.4.30",
- "@vue/shared": "3.4.30",
+ "@vue/reactivity": "3.4.33",
+ "@vue/runtime-core": "3.4.33",
+ "@vue/shared": "3.4.33",
"csstype": "^3.1.3"
}
},
"node_modules/@vue/server-renderer": {
- "version": "3.4.30",
- "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.30.tgz",
- "integrity": "sha512-TBD3eqR1DeDc0cMrXS/vEs/PWzq1uXxnvjoqQuDGFIEHFIwuDTX/KWAQKIBjyMWLFHEeTDGYVsYci85z2UbTDg==",
+ "version": "3.4.33",
+ "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.33.tgz",
+ "integrity": "sha512-jTH0d6gQcaYideFP/k0WdEu8PpRS9MF8d0b6SfZzNi+ap972pZ0TNIeTaESwdOtdY0XPVj54XEJ6K0wXxir4fw==",
"dependencies": {
- "@vue/compiler-ssr": "3.4.30",
- "@vue/shared": "3.4.30"
+ "@vue/compiler-ssr": "3.4.33",
+ "@vue/shared": "3.4.33"
},
"peerDependencies": {
- "vue": "3.4.30"
+ "vue": "3.4.33"
}
},
"node_modules/@vue/shared": {
- "version": "3.4.30",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.30.tgz",
- "integrity": "sha512-CLg+f8RQCHQnKvuHY9adMsMaQOcqclh6Z5V9TaoMgy0ut0tz848joZ7/CYFFyF/yZ5i2yaw7Fn498C+CNZVHIg=="
+ "version": "3.4.33",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.33.tgz",
+ "integrity": "sha512-aoRY0jQk3A/cuvdkodTrM4NMfxco8n55eG4H7ML/CRy7OryHfiqvug4xrCBBMbbN+dvXAetDDwZW9DXWWjBntA=="
},
"node_modules/@xterm/addon-attach": {
"version": "0.11.0",
@@ -973,9 +972,9 @@
"integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA=="
},
"node_modules/filesize": {
- "version": "10.1.2",
- "resolved": "https://registry.npmjs.org/filesize/-/filesize-10.1.2.tgz",
- "integrity": "sha512-Dx770ai81ohflojxhU+oG+Z2QGvKdYxgEr9OSA8UVrqhwNHjfH9A8f5NKfg83fEH8ZFA5N5llJo5T3PIoZ4CRA==",
+ "version": "10.1.4",
+ "resolved": "https://registry.npmjs.org/filesize/-/filesize-10.1.4.tgz",
+ "integrity": "sha512-ryBwPIIeErmxgPnm6cbESAzXjuEFubs+yKYLBZvg3CaiNcmkJChoOGcBSrZ6IwkMwPABwPpVXE6IlNdGJJrvEg==",
"engines": {
"node": ">= 10.4.0"
}
@@ -1118,9 +1117,9 @@
}
},
"node_modules/marked": {
- "version": "13.0.1",
- "resolved": "https://registry.npmjs.org/marked/-/marked-13.0.1.tgz",
- "integrity": "sha512-7kBohS6GrZKvCsNXZyVVXSW7/hGBHe49ng99YPkDCckSUrrG7MSFLCexsRxptzOmyW2eT5dySh4Md1V6my52fA==",
+ "version": "13.0.2",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-13.0.2.tgz",
+ "integrity": "sha512-J6CPjP8pS5sgrRqxVRvkCIkZ6MFdRIjDkwUwgJ9nL2fbmM6qGQeB2C16hi8Cc9BOzj6xXzy0jyi0iPIfnMHYzA==",
"bin": {
"marked": "bin/marked.js"
},
@@ -1218,33 +1217,33 @@
}
},
"node_modules/pankow": {
- "version": "1.6.5",
- "resolved": "https://registry.npmjs.org/pankow/-/pankow-1.6.5.tgz",
- "integrity": "sha512-BOtzIouQUR3lfzQjfbvvt7fYYVhuCsbkC6pnG3Z31Smf/cz1WHu1SXMT9H+ASX26JlPpQ6sRZDYsWMWjJOgLBA==",
+ "version": "1.6.8",
+ "resolved": "https://registry.npmjs.org/pankow/-/pankow-1.6.8.tgz",
+ "integrity": "sha512-FfwddmMcIhbCnBroA7JaKNq5hgg92OTe4ioYihZDiM8xw3U2xMDNcTYzsSMoMG0FzR1kKw7oQ4YpJOS1uonhIw==",
"dependencies": {
"@fontsource/noto-sans": "^5.0.22",
- "@fortawesome/fontawesome-free": "^6.5.2",
- "filesize": "^10.1.2"
+ "@fortawesome/fontawesome-free": "^6.6.0",
+ "filesize": "^10.1.4"
}
},
"node_modules/pankow-viewers": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/pankow-viewers/-/pankow-viewers-1.0.1.tgz",
- "integrity": "sha512-6AX0tviAA6TT5Y4U6n0e29+8ZfJZkw0QFSG9lmuTDDBt4MLYFUhALta2g5vcllH6k7Q2LqTUsOIvoq58Q6e5fA==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/pankow-viewers/-/pankow-viewers-1.0.4.tgz",
+ "integrity": "sha512-V7ooj3zLkyvqystRlo4qVXidIUL2kmHSvMDri9Tr9bMyA4zAiN+amHxuSeimR5WNga5y967kvmT1qycsvdG12Q==",
"dependencies": {
"monaco-editor": "^0.50.0",
- "pankow": "^1.6.5"
+ "pankow": "^1.6.8"
}
},
"node_modules/picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
+ "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew=="
},
"node_modules/postcss": {
- "version": "8.4.38",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
- "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
+ "version": "8.4.39",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz",
+ "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==",
"funding": [
{
"type": "opencollective",
@@ -1261,7 +1260,7 @@
],
"dependencies": {
"nanoid": "^3.3.7",
- "picocolors": "^1.0.0",
+ "picocolors": "^1.0.1",
"source-map-js": "^1.2.0"
},
"engines": {
@@ -1375,13 +1374,13 @@
}
},
"node_modules/vite": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.1.tgz",
- "integrity": "sha512-XBmSKRLXLxiaPYamLv3/hnP/KXDai1NDexN0FpkTaZXTfycHvkRHoenpgl/fvuK/kPbB6xAgoyiryAhQNxYmAQ==",
+ "version": "5.3.4",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.4.tgz",
+ "integrity": "sha512-Cw+7zL3ZG9/NZBB8C+8QbQZmR54GwqIz+WMI4b3JgdYJvX+ny9AjJXqkGQlDXSXRP9rP0B4tbciRMOVEKulVOA==",
"dev": true,
"dependencies": {
"esbuild": "^0.21.3",
- "postcss": "^8.4.38",
+ "postcss": "^8.4.39",
"rollup": "^4.13.0"
},
"bin": {
@@ -1430,15 +1429,15 @@
}
},
"node_modules/vue": {
- "version": "3.4.30",
- "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.30.tgz",
- "integrity": "sha512-NcxtKCwkdf1zPsr7Y8+QlDBCGqxvjLXF2EX+yi76rV5rrz90Y6gK1cq0olIhdWGgrlhs9ElHuhi9t3+W5sG5Xw==",
+ "version": "3.4.33",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.33.tgz",
+ "integrity": "sha512-VdMCWQOummbhctl4QFMcW6eNtXHsFyDlX60O/tsSQuCcuDOnJ1qPOhhVla65Niece7xq/P2zyZReIO5mP+LGTQ==",
"dependencies": {
- "@vue/compiler-dom": "3.4.30",
- "@vue/compiler-sfc": "3.4.30",
- "@vue/runtime-dom": "3.4.30",
- "@vue/server-renderer": "3.4.30",
- "@vue/shared": "3.4.30"
+ "@vue/compiler-dom": "3.4.33",
+ "@vue/compiler-sfc": "3.4.33",
+ "@vue/runtime-dom": "3.4.33",
+ "@vue/server-renderer": "3.4.33",
+ "@vue/shared": "3.4.33"
},
"peerDependencies": {
"typescript": "*"
diff --git a/frontend/package.json b/frontend/package.json
index 02dfd64c1..82b068b53 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -15,18 +15,18 @@
"@xterm/xterm": "^5.5.0",
"anser": "^2.1.1",
"combokeys": "^3.0.1",
- "filesize": "^10.1.2",
- "marked": "^13.0.1",
+ "filesize": "^10.1.4",
+ "marked": "^13.0.2",
"moment": "^2.30.1",
- "pankow": "^1.6.5",
- "pankow-viewers": "^1.0.1",
+ "pankow": "^1.6.8",
+ "pankow-viewers": "^1.0.4",
"superagent": "^9.0.2",
- "vue": "^3.4.30",
+ "vue": "^3.4.33",
"vue-i18n": "^9.13.1",
"vue-router": "^4.4.0"
},
"devDependencies": {
"@vitejs/plugin-vue": "^5.0.5",
- "vite": "^5.3.1"
+ "vite": "^5.3.4"
}
}
diff --git a/frontend/src/views/Viewer.vue b/frontend/src/views/Viewer.vue
index 1934fec7a..6dcf42fec 100644
--- a/frontend/src/views/Viewer.vue
+++ b/frontend/src/views/Viewer.vue
@@ -6,7 +6,7 @@
@close="onClose"
:tr="$t"
/>
-
+
@@ -36,6 +36,9 @@ export default {
onClose() {
location.replace('#/home' + location.hash.slice('#/viewer'.length, location.hash.lastIndexOf('/')+1));
},
+ imageViewerNavigationHandler() {
+ // nothing to do
+ },
async saveHandler(item, content) {
await this.directoryModel.save(this.filePath, content);
}