mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-22 09:30:14 +01:00
This commit is contained in:
parent
b33ef1389d
commit
8cf28fcd24
1 changed files with 35 additions and 1 deletions
|
|
@ -73,14 +73,48 @@ export const openMenuPanel = (protyle: IProtyle,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let type = "columns";
|
let type = "columns";
|
||||||
|
const isTop = targetElement.classList.contains("dragover__top");
|
||||||
if (targetElement.querySelector('[data-type="removeSort"]')) {
|
if (targetElement.querySelector('[data-type="removeSort"]')) {
|
||||||
type = "sorts";
|
type = "sorts";
|
||||||
} else if (targetElement.querySelector('[data-type="removeFilter"]')) {
|
} else if (targetElement.querySelector('[data-type="removeFilter"]')) {
|
||||||
type = "filters";
|
type = "filters";
|
||||||
|
} else if (targetElement.querySelector('[data-type="setSelectCol"]')) {
|
||||||
|
const changeData = data.columns.find((column) => column.id === options.cellElement.dataset.colId).options;
|
||||||
|
const oldData = Object.assign([], changeData);
|
||||||
|
let targetOption: { name: string, color: string };
|
||||||
|
changeData.find((option, index: number) => {
|
||||||
|
if (option.name === sourceElement.dataset.name) {
|
||||||
|
targetOption = changeData.splice(index, 1)[0];
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
changeData.find((option, index: number) => {
|
||||||
|
if (option.name === targetElement.dataset.name) {
|
||||||
|
if (isTop) {
|
||||||
|
changeData.splice(index, 0, targetOption);
|
||||||
|
} else {
|
||||||
|
changeData.splice(index + 1, 0, targetOption);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
transaction(protyle, [{
|
||||||
|
action: "updateAttrViewColOptions",
|
||||||
|
id: options.cellElement.dataset.colId,
|
||||||
|
parentID: data.id,
|
||||||
|
data: changeData,
|
||||||
|
}], [{
|
||||||
|
action: "updateAttrViewColOptions",
|
||||||
|
id: options.cellElement.dataset.colId,
|
||||||
|
parentID: data.id,
|
||||||
|
data: oldData,
|
||||||
|
}]);
|
||||||
|
menuElement.innerHTML = getSelectHTML(data, options);
|
||||||
|
bindSelectEvent(protyle, data, menuElement, options);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
const sourceId = sourceElement.dataset.id;
|
const sourceId = sourceElement.dataset.id;
|
||||||
const targetId = targetElement.dataset.id;
|
const targetId = targetElement.dataset.id;
|
||||||
const isTop = targetElement.classList.contains("dragover__top");
|
|
||||||
if (type !== "columns") {
|
if (type !== "columns") {
|
||||||
const changeData = (type === "sorts" ? data.sorts : data.filters) as IAVFilter[];
|
const changeData = (type === "sorts" ? data.sorts : data.filters) as IAVFilter[];
|
||||||
const oldData = Object.assign([], changeData);
|
const oldData = Object.assign([], changeData);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue