Skip to content

Commit fbda0cb

Browse files
authored
Merge pull request #4746 from AlexVelezLl/fix-suggestion-multiple-resources
Fix selection on inherit metadata
2 parents cc0b008 + 7c55455 commit fbda0cb

File tree

2 files changed

+47
-20
lines changed

2 files changed

+47
-20
lines changed

contentcuration/contentcuration/frontend/channelEdit/components/edit/EditModal.vue

Lines changed: 38 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
</ToolBar>
7171
<div ref="list">
7272
<EditList
73-
v-model="selected"
73+
v-model="currentSelectedNodes"
7474
:nodeIds="nodeIds"
7575
@input="enableValidation(nodeIds);"
7676
/>
@@ -96,7 +96,7 @@
9696
<EditView
9797
v-else
9898
ref="editView"
99-
:nodeIds="selected"
99+
:nodeIds="currentSelectedNodes"
100100
:tab="tab"
101101
/>
102102
</VContent>
@@ -123,8 +123,10 @@
123123
</VLayout>
124124
</BottomBar>
125125
<InheritAncestorMetadataModal
126+
ref="inheritModal"
126127
:parent="(createMode && detailNodeIds.length) ? parent : null"
127128
@inherit="inheritMetadata"
129+
@updateActive="active => isInheritModalOpen = active"
128130
/>
129131
</VDialog>
130132

@@ -252,6 +254,8 @@
252254
listElevated: false,
253255
storagePoll: null,
254256
openTime: null,
257+
isInheritModalOpen: false,
258+
newNodeIds: [],
255259
};
256260
},
257261
computed: {
@@ -315,6 +319,17 @@
315319
invalidNodes() {
316320
return this.nodeIds.filter(id => !this.getContentNodeIsValid(id));
317321
},
322+
currentSelectedNodes: {
323+
get() {
324+
if (this.isInheritModalOpen && this.newNodeIds.length) {
325+
return this.newNodeIds;
326+
}
327+
return this.selected;
328+
},
329+
set(value) {
330+
this.selected = value;
331+
},
332+
},
318333
},
319334
beforeRouteEnter(to, from, next) {
320335
if (
@@ -513,30 +528,33 @@
513528
this.selected = [newNodeId];
514529
});
515530
},
516-
createNodesFromUploads(fileUploads) {
517-
fileUploads.forEach((file, index) => {
518-
let title;
519-
if (file.metadata.title) {
520-
title = file.metadata.title;
521-
} else {
522-
title = file.original_filename
523-
.split('.')
524-
.slice(0, -1)
525-
.join('.');
526-
}
527-
this.createNode(
528-
FormatPresets.has(file.preset) && FormatPresets.get(file.preset).kind_id,
529-
{ title, ...file.metadata }
530-
).then(newNodeId => {
531+
async createNodesFromUploads(fileUploads) {
532+
this.newNodeIds = await Promise.all(
533+
fileUploads.map(async (file, index) => {
534+
let title;
535+
if (file.metadata.title) {
536+
title = file.metadata.title;
537+
} else {
538+
title = file.original_filename
539+
.split('.')
540+
.slice(0, -1)
541+
.join('.');
542+
}
543+
const newNodeId = await this.createNode(
544+
FormatPresets.has(file.preset) && FormatPresets.get(file.preset).kind_id,
545+
{ title, ...file.metadata }
546+
);
531547
if (index === 0) {
532548
this.selected = [newNodeId];
533549
}
534550
this.updateFile({
535551
...file,
536552
contentnode: newNodeId,
537553
});
538-
});
539-
});
554+
return newNodeId;
555+
})
556+
);
557+
this.$refs.inheritModal?.resetClosed();
540558
},
541559
updateTitleForPage() {
542560
this.updateTabTitle(this.$store.getters.appendChannelName(this.modalTitle));
@@ -547,7 +565,7 @@
547565
});
548566
},
549567
inheritMetadata(metadata) {
550-
for (const nodeId of this.nodeIds) {
568+
for (const nodeId of this.currentSelectedNodes) {
551569
this.updateContentNode({ id: nodeId, ...metadata, mergeMapFields: true });
552570
}
553571
},

contentcuration/contentcuration/frontend/channelEdit/components/edit/InheritAncestorMetadataModal.vue

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,9 @@
178178
this.resetData();
179179
}
180180
},
181+
active(newValue) {
182+
this.$emit('updateActive', newValue);
183+
},
181184
},
182185
created() {
183186
this.resetData();
@@ -283,6 +286,12 @@
283286
}
284287
this.closed = true;
285288
},
289+
/**
290+
* @public
291+
*/
292+
resetClosed() {
293+
this.closed = false;
294+
},
286295
},
287296
$trs: {
288297
applyResourceDetailsTitle: "Apply details from the folder '{folder}'",

0 commit comments

Comments
 (0)