componentManager duplicate-item message
This commit is contained in:
@@ -372,6 +372,8 @@ class ComponentManager {
|
||||
this.handleInstallLocalComponentMessage(component, message);
|
||||
} else if(message.action === "present-conflict-resolution") {
|
||||
this.handlePresentConflictResolutionMessage(component, message);
|
||||
} else if(message.action === "duplicate-item") {
|
||||
this.handleDuplicateItemMessage(component, message);
|
||||
}
|
||||
|
||||
// Notify observers
|
||||
@@ -568,6 +570,24 @@ class ComponentManager {
|
||||
});
|
||||
}
|
||||
|
||||
handleDuplicateItemMessage(component, message) {
|
||||
var itemParams = message.data.item;
|
||||
var item = this.modelManager.findItem(itemParams.uuid);
|
||||
var requiredPermissions = [
|
||||
{
|
||||
name: "stream-items",
|
||||
content_types: [item.content_type]
|
||||
}
|
||||
];
|
||||
|
||||
this.runWithPermissions(component, requiredPermissions, () => {
|
||||
var duplicate = this.modelManager.duplicateItem(item);
|
||||
this.syncManager.sync();
|
||||
|
||||
this.replyToMessage(component, message, {item: this.jsonForItem(duplicate, component)});
|
||||
});
|
||||
}
|
||||
|
||||
handleCreateItemsMessage(component, message) {
|
||||
var responseItems = message.data.item ? [message.data.item] : message.data.items;
|
||||
let uniqueContentTypes = _.uniq(responseItems.map((item) => {return item.content_type}));
|
||||
|
||||
Reference in New Issue
Block a user