mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-08-08 00:39:50 +00:00
377 - add the document filename to document title when uploading a new document
This commit is contained in:
parent
3e7f03d331
commit
a9c3aab528
7
.changes/unreleased/Feature-20250424-142211.yaml
Normal file
7
.changes/unreleased/Feature-20250424-142211.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
kind: Feature
|
||||||
|
body: Add the document file name to the document title when a user upload a document,
|
||||||
|
unless there is already a document title.
|
||||||
|
time: 2025-04-24T14:22:11.800975422+02:00
|
||||||
|
custom:
|
||||||
|
Issue: "377"
|
||||||
|
SchemaChange: No schema change
|
@ -10,6 +10,9 @@ const startApp = (
|
|||||||
collectionEntry: null | HTMLLIElement,
|
collectionEntry: null | HTMLLIElement,
|
||||||
): void => {
|
): void => {
|
||||||
console.log("app started", divElement);
|
console.log("app started", divElement);
|
||||||
|
|
||||||
|
const inputTitle = collectionEntry?.querySelector("input[type='text']");
|
||||||
|
|
||||||
const input_stored_object: HTMLInputElement | null =
|
const input_stored_object: HTMLInputElement | null =
|
||||||
divElement.querySelector("input[data-stored-object]");
|
divElement.querySelector("input[data-stored-object]");
|
||||||
if (null === input_stored_object) {
|
if (null === input_stored_object) {
|
||||||
@ -26,9 +29,10 @@ const startApp = (
|
|||||||
const app = createApp({
|
const app = createApp({
|
||||||
template:
|
template:
|
||||||
'<drop-file-widget :existingDoc="this.$data.existingDoc" :allowRemove="true" @addDocument="this.addDocument" @removeDocument="removeDocument"></drop-file-widget>',
|
'<drop-file-widget :existingDoc="this.$data.existingDoc" :allowRemove="true" @addDocument="this.addDocument" @removeDocument="removeDocument"></drop-file-widget>',
|
||||||
data(vm) {
|
data() {
|
||||||
return {
|
return {
|
||||||
existingDoc: existingDoc,
|
existingDoc: existingDoc,
|
||||||
|
inputTitle: inputTitle,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
@ -38,10 +42,13 @@ const startApp = (
|
|||||||
addDocument: function ({
|
addDocument: function ({
|
||||||
stored_object,
|
stored_object,
|
||||||
stored_object_version,
|
stored_object_version,
|
||||||
|
file_name,
|
||||||
}: {
|
}: {
|
||||||
stored_object: StoredObject;
|
stored_object: StoredObject;
|
||||||
stored_object_version: StoredObjectVersion;
|
stored_object_version: StoredObjectVersion;
|
||||||
|
file_name: string;
|
||||||
}): void {
|
}): void {
|
||||||
|
stored_object.title = file_name;
|
||||||
console.log("object added", stored_object);
|
console.log("object added", stored_object);
|
||||||
console.log("version added", stored_object_version);
|
console.log("version added", stored_object_version);
|
||||||
this.$data.existingDoc = stored_object;
|
this.$data.existingDoc = stored_object;
|
||||||
@ -49,6 +56,11 @@ const startApp = (
|
|||||||
input_stored_object.value = JSON.stringify(
|
input_stored_object.value = JSON.stringify(
|
||||||
this.$data.existingDoc,
|
this.$data.existingDoc,
|
||||||
);
|
);
|
||||||
|
if (this.$data.inputTitle) {
|
||||||
|
if (!this.$data.inputTitle?.value) {
|
||||||
|
this.$data.inputTitle.value = file_name;
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
removeDocument: function (object: StoredObject): void {
|
removeDocument: function (object: StoredObject): void {
|
||||||
console.log("catch remove document", object);
|
console.log("catch remove document", object);
|
||||||
|
@ -23,6 +23,7 @@ const emit =
|
|||||||
{
|
{
|
||||||
stored_object_version: StoredObjectVersionCreated,
|
stored_object_version: StoredObjectVersionCreated,
|
||||||
stored_object: StoredObject,
|
stored_object: StoredObject,
|
||||||
|
file_name: string,
|
||||||
},
|
},
|
||||||
) => void
|
) => void
|
||||||
>();
|
>();
|
||||||
@ -114,7 +115,21 @@ const handleFile = async (file: File): Promise<void> => {
|
|||||||
persisted: false,
|
persisted: false,
|
||||||
};
|
};
|
||||||
|
|
||||||
emit("addDocument", { stored_object, stored_object_version });
|
const fileName = file.name;
|
||||||
|
let file_name = "Nouveau document";
|
||||||
|
const file_name_split = fileName.split(".");
|
||||||
|
if (file_name_split.length > 1) {
|
||||||
|
const extension = file_name_split
|
||||||
|
? file_name_split[file_name_split.length - 1]
|
||||||
|
: "";
|
||||||
|
file_name = fileName.replace(extension, "").slice(0, -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
emit("addDocument", {
|
||||||
|
stored_object,
|
||||||
|
stored_object_version,
|
||||||
|
file_name: file_name,
|
||||||
|
});
|
||||||
uploading.value = false;
|
uploading.value = false;
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
@ -20,6 +20,7 @@ const emit = defineEmits<{
|
|||||||
{
|
{
|
||||||
stored_object: StoredObject,
|
stored_object: StoredObject,
|
||||||
stored_object_version: StoredObjectVersion,
|
stored_object_version: StoredObjectVersion,
|
||||||
|
file_name: string,
|
||||||
},
|
},
|
||||||
): void;
|
): void;
|
||||||
(e: "removeDocument"): void;
|
(e: "removeDocument"): void;
|
||||||
@ -42,14 +43,16 @@ const buttonState = computed<"add" | "replace">(() => {
|
|||||||
function onAddDocument({
|
function onAddDocument({
|
||||||
stored_object,
|
stored_object,
|
||||||
stored_object_version,
|
stored_object_version,
|
||||||
|
file_name,
|
||||||
}: {
|
}: {
|
||||||
stored_object: StoredObject;
|
stored_object: StoredObject;
|
||||||
stored_object_version: StoredObjectVersion;
|
stored_object_version: StoredObjectVersion;
|
||||||
|
file_name: string;
|
||||||
}): void {
|
}): void {
|
||||||
const message =
|
const message =
|
||||||
buttonState.value === "add" ? "Document ajouté" : "Document remplacé";
|
buttonState.value === "add" ? "Document ajouté" : "Document remplacé";
|
||||||
$toast.success(message);
|
$toast.success(message);
|
||||||
emit("addDocument", { stored_object_version, stored_object });
|
emit("addDocument", { stored_object_version, stored_object, file_name });
|
||||||
state.showModal = false;
|
state.showModal = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,6 +19,7 @@ const emit = defineEmits<{
|
|||||||
{
|
{
|
||||||
stored_object: StoredObject,
|
stored_object: StoredObject,
|
||||||
stored_object_version: StoredObjectVersion,
|
stored_object_version: StoredObjectVersion,
|
||||||
|
file_name: string,
|
||||||
},
|
},
|
||||||
): void;
|
): void;
|
||||||
(e: "removeDocument"): void;
|
(e: "removeDocument"): void;
|
||||||
@ -53,11 +54,13 @@ const dav_link_href = computed<string | undefined>(() => {
|
|||||||
const onAddDocument = ({
|
const onAddDocument = ({
|
||||||
stored_object,
|
stored_object,
|
||||||
stored_object_version,
|
stored_object_version,
|
||||||
|
file_name,
|
||||||
}: {
|
}: {
|
||||||
stored_object: StoredObject;
|
stored_object: StoredObject;
|
||||||
stored_object_version: StoredObjectVersion;
|
stored_object_version: StoredObjectVersion;
|
||||||
|
file_name: string;
|
||||||
}): void => {
|
}): void => {
|
||||||
emit("addDocument", { stored_object, stored_object_version });
|
emit("addDocument", { stored_object, stored_object_version, file_name });
|
||||||
};
|
};
|
||||||
|
|
||||||
const onRemoveDocument = (e: Event): void => {
|
const onRemoveDocument = (e: Event): void => {
|
||||||
|
@ -535,11 +535,11 @@ export default {
|
|||||||
title: title,
|
title: title,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
addDocument({ stored_object, stored_object_version }) {
|
addDocument({ stored_object, stored_object_version, file_name }) {
|
||||||
let document = {
|
let document = {
|
||||||
type: "accompanying_period_work_evaluation_document",
|
type: "accompanying_period_work_evaluation_document",
|
||||||
storedObject: stored_object,
|
storedObject: stored_object,
|
||||||
title: "Nouveau document",
|
title: file_name,
|
||||||
};
|
};
|
||||||
this.$store.commit("addDocument", {
|
this.$store.commit("addDocument", {
|
||||||
key: this.evaluation.key,
|
key: this.evaluation.key,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user