Vanessa 2024-06-10 10:44:58 +08:00
parent 65042ab834
commit f1993e13e3
5 changed files with 25 additions and 69 deletions

View file

@ -34,69 +34,24 @@ export const duplicateCol = (options: {
newColData.id = Lute.NewNodeID();
const newUpdated = dayjs().format("YYYYMMDDHHmmss");
const blockId = options.blockElement.getAttribute("data-node-id");
if (["select", "mSelect", "rollup"].includes(newColData.type)) {
fetchPost("/api/av/renderAttributeView", {
id: options.data.id,
viewID: options.viewID
}, (response) => {
const data = response.data as IAV;
let colOptions;
data.view.columns.find((item) => {
if (item.id === options.colId) {
colOptions = item.options;
return true;
}
});
transaction(options.protyle, [{
action: "addAttrViewCol",
name: newColData.name,
avID: options.data.id,
type: newColData.type,
data: newColData.icon,
previousID: options.colId,
id: newColData.id
}, {
action: "updateAttrViewColOptions",
id: newColData.id,
avID: options.data.id,
data: colOptions
}, {
action: "doUpdateUpdated",
id: blockId,
data: newUpdated,
}], [{
action: "removeAttrViewCol",
id: newColData.id,
avID: options.data.id,
}, {
action: "doUpdateUpdated",
id: blockId,
data: options.blockElement.getAttribute("updated")
}]);
});
} else {
transaction(options.protyle, [{
action: "addAttrViewCol",
name: newColData.name,
avID: options.data.id,
type: newColData.type,
data: newColData.icon,
id: newColData.id,
previousID: options.colId,
}, {
action: "doUpdateUpdated",
id: blockId,
data: newUpdated,
}], [{
action: "removeAttrViewCol",
id: newColData.id,
avID: options.data.id,
}, {
action: "doUpdateUpdated",
id: blockId,
data: options.blockElement.getAttribute("updated")
}]);
}
transaction(options.protyle, [{
action: "duplicateAttrViewKey",
keyID:newColData.id,
nextID:options.colId,
avID: options.data.id,
}, {
action: "doUpdateUpdated",
id: blockId,
data: newUpdated,
}], [{
action: "removeAttrViewCol",
id: newColData.id,
avID: options.data.id,
}, {
action: "doUpdateUpdated",
id: blockId,
data: options.blockElement.getAttribute("updated")
}]);
addAttrViewColAnimation({
blockElement: options.blockElement,
protyle: options.protyle,

View file

@ -20,4 +20,4 @@ export const processClonePHElement = (item:Element) => {
phElement.setAttribute("data-content", Lute.UnEscapeHTMLStr(phElement.getAttribute("data-content")));
}
return item;
}
};