Vanessa 2023-10-05 11:16:44 +08:00
parent 18d4c5800c
commit d87fd0f109
5 changed files with 21 additions and 7 deletions

View file

@ -191,7 +191,7 @@ export const addEmoji = (unicode: string) => {
fetchPost("/api/setting/setEmoji", {emoji: window.siyuan.config.editor.emoji}); fetchPost("/api/setting/setEmoji", {emoji: window.siyuan.config.editor.emoji});
}; };
export const openEmojiPanel = (id: string, type: "doc" | "notebook" | "av", position: IPosition) => { export const openEmojiPanel = (id: string, type: "doc" | "notebook" | "av", position: IPosition, avCB?: (emoji: string) => void) => {
if (type !== "av") { if (type !== "av") {
window.siyuan.menus.menu.remove(); window.siyuan.menus.menu.remove();
} else { } else {
@ -303,7 +303,7 @@ export const openEmojiPanel = (id: string, type: "doc" | "notebook" | "av", posi
updateOutlineEmoji(unicode, id); updateOutlineEmoji(unicode, id);
}); });
} else { } else {
avCB(unicode);
} }
event.preventDefault(); event.preventDefault();
event.stopPropagation(); event.stopPropagation();
@ -395,7 +395,7 @@ ${unicode2Emoji(emoji.unicode)}</button>`;
updateOutlineEmoji("", id); updateOutlineEmoji("", id);
}); });
} else { } else {
avCB("");
} }
return; return;
} }
@ -429,7 +429,7 @@ ${unicode2Emoji(emoji.unicode)}</button>`;
updateOutlineEmoji(unicode, id); updateOutlineEmoji(unicode, id);
}); });
} else { } else {
avCB(unicode);
} }
return; return;
} }

View file

@ -399,6 +399,18 @@ export const showColMenu = (protyle: IProtyle, blockElement: Element, cellElemen
y: rect.bottom, y: rect.bottom,
h: rect.height, h: rect.height,
w: rect.width w: rect.width
}, (unicode) => {
transaction(protyle, [{
action: "setAttrViewColIcon",
id: colId,
avID,
data: unicode,
}], [{
action: "setAttrViewColIcon",
id: colId,
avID,
data: cellElement.dataset.icon,
}]);
}); });
event.preventDefault(); event.preventDefault();
event.stopPropagation(); event.stopPropagation();

View file

@ -3,6 +3,7 @@ import {getColIconByType} from "./col";
import {Constants} from "../../../constants"; import {Constants} from "../../../constants";
import {getCalcValue} from "./cell"; import {getCalcValue} from "./cell";
import * as dayjs from "dayjs"; import * as dayjs from "dayjs";
import {unicode2Emoji} from "../../../emoji";
export const avRender = (element: Element, protyle: IProtyle, cb?: () => void) => { export const avRender = (element: Element, protyle: IProtyle, cb?: () => void) => {
let avElements: Element[] = []; let avElements: Element[] = [];
@ -32,11 +33,11 @@ export const avRender = (element: Element, protyle: IProtyle, cb?: () => void) =
if (column.hidden) { if (column.hidden) {
return; return;
} }
tableHTML += `<div class="av__cell" data-col-id="${column.id}" data-dtype="${column.type}" tableHTML += `<div class="av__cell" data-col-id="${column.id}" data-icon="${column.icon}" data-dtype="${column.type}"
style="width: ${column.width || "200px"}; style="width: ${column.width || "200px"};
${column.wrap ? "" : "white-space: nowrap;"}"> ${column.wrap ? "" : "white-space: nowrap;"}">
<div draggable="true" class="av__cellheader"> <div draggable="true" class="av__cellheader">
<svg><use xlink:href="#${column.icon || getColIconByType(column.type)}"></use></svg> ${column.icon ? unicode2Emoji(column.icon) : `<svg><use xlink:href="#${getColIconByType(column.type)}"></use></svg>`}
<span class="av__celltext">${column.name}</span> <span class="av__celltext">${column.name}</span>
</div> </div>
<div class="av__widthdrag"></div> <div class="av__widthdrag"></div>

View file

@ -709,7 +709,7 @@ export const onTransaction = (protyle: IProtyle, operation: IOperation, isUndo:
"updateAttrViewColOption", "updateAttrViewCell", "sortAttrViewRow", "sortAttrViewCol", "setAttrViewColHidden", "updateAttrViewColOption", "updateAttrViewCell", "sortAttrViewRow", "sortAttrViewCol", "setAttrViewColHidden",
"setAttrViewColWrap", "setAttrViewColWidth", "removeAttrViewColOption", "setAttrViewName", "setAttrViewFilters", "setAttrViewColWrap", "setAttrViewColWidth", "removeAttrViewColOption", "setAttrViewName", "setAttrViewFilters",
"setAttrViewSorts", "setAttrViewColCalc", "removeAttrViewCol", "updateAttrViewColNumberFormat", "setAttrViewSorts", "setAttrViewColCalc", "removeAttrViewCol", "updateAttrViewColNumberFormat",
"replaceAttrViewBlock", "updateAttrViewColTemplate"].includes(operation.action)) { "replaceAttrViewBlock", "updateAttrViewColTemplate", "setAttrViewColIcon"].includes(operation.action)) {
refreshAV(protyle, operation); refreshAV(protyle, operation);
} }
}; };

View file

@ -34,6 +34,7 @@ type TOperation =
| "removeAttrViewColOption" | "removeAttrViewColOption"
| "updateAttrViewColOption" | "updateAttrViewColOption"
| "setAttrViewName" | "setAttrViewName"
| "setAttrViewColIcon"
| "setAttrViewFilters" | "setAttrViewFilters"
| "setAttrViewSorts" | "setAttrViewSorts"
| "setAttrViewColCalc" | "setAttrViewColCalc"