Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision

Target

Select target project
  • coscine/frontend/apps/ui
1 result
Select Git revision
Show changes
Commits on Source (3)
{ {
"name": "ui", "name": "ui",
"version": "2.3.0", "version": "2.4.0",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",
......
...@@ -297,6 +297,13 @@ export default defineComponent({ ...@@ -297,6 +297,13 @@ export default defineComponent({
return this.shownFiles[this.currentFileId]; return this.shownFiles[this.currentFileId];
}, },
isEntryNameUrlSafe(): boolean {
return (
this.currentFolderContent === undefined ||
!/[\\:?*<>|]+/g.test(this.currentFolderContent.name)
);
},
currentMetadata(): Dataset | null { currentMetadata(): Dataset | null {
if ( if (
this.currentFileId >= 0 && this.currentFileId >= 0 &&
...@@ -346,6 +353,7 @@ export default defineComponent({ ...@@ -346,6 +353,7 @@ export default defineComponent({
saveButtonDisabled(): boolean { saveButtonDisabled(): boolean {
return ( return (
(this.resource && this.resource.archived) || (this.resource && this.resource.archived) ||
!this.isEntryNameUrlSafe ||
!this.valid || !this.valid ||
this.isUploading || this.isUploading ||
(this.currentFolderContent?.isFolder === false && (this.currentFolderContent?.isFolder === false &&
......
...@@ -31,6 +31,11 @@ ...@@ -31,6 +31,11 @@
:label="$t('page.resource.metadataKey')" :label="$t('page.resource.metadataKey')"
:is-loading="showDetail && !currentFolderContent.name" :is-loading="showDetail && !currentFolderContent.name"
> >
<template v-if="!isEntryNameUrlSafe" #hint>
<span class="text-danger">{{
$t("page.resource.urlSafeEntryNameHint")
}}</span>
</template>
<b-form-input <b-form-input
:value="currentFolderContent.name" :value="currentFolderContent.name"
:placeholder="$t('page.resource.metadataKey')" :placeholder="$t('page.resource.metadataKey')"
...@@ -112,6 +117,9 @@ export default defineComponent({ ...@@ -112,6 +117,9 @@ export default defineComponent({
isGuest(): boolean | undefined { isGuest(): boolean | undefined {
return this.projectStore.currentUserRoleIsGuest; return this.projectStore.currentUserRoleIsGuest;
}, },
isEntryNameUrlSafe(): boolean {
return !/[\\:?*<>|]+/g.test(this.currentFolderContent.name);
},
}, },
methods: { methods: {
openURL() { openURL() {
......
...@@ -194,6 +194,8 @@ export default { ...@@ -194,6 +194,8 @@ export default {
dataUrl: "Daten URL", dataUrl: "Daten URL",
metadataKey: "Eintragsname", metadataKey: "Eintragsname",
size: "Dateigröße", size: "Dateigröße",
urlSafeEntryNameHint:
"Die folgenden Zeichen können nicht für den Eintragsnamen verwendet werden: \\ : ? * < > |",
}, },
settings: { settings: {
title: "@:(breadcrumbs.resource.settings)", title: "@:(breadcrumbs.resource.settings)",
......
...@@ -190,6 +190,8 @@ export default { ...@@ -190,6 +190,8 @@ export default {
dataUrl: "Data URL", dataUrl: "Data URL",
metadataKey: "Entry Name", metadataKey: "Entry Name",
size: "File Size", size: "File Size",
urlSafeEntryNameHint:
"The following characters cannot be used for the Entry Name: \\ : ? * < > |",
}, },
settings: { settings: {
title: "@:(breadcrumbs.resource.settings)", title: "@:(breadcrumbs.resource.settings)",
......