import {unicode2Emoji} from "../../../emoji"; import {getColIconByType} from "./col"; import {escapeHtml} from "../../../util/escape"; import {transaction} from "../../wysiwyg/transaction"; import {setPosition} from "../../../util/setPosition"; import {getFieldsByData} from "./view"; export const setGroupMethod = (options: { protyle: IProtyle; fieldId: string; data: IAV; menuElement: HTMLElement, blockElement: Element, }) => { const blockID = options.blockElement.getAttribute("data-block-id"); transaction(options.protyle, [{ action: "setAttrViewGroup", avID: options.data.id, blockID, data: { field: options.fieldId, method: null, order: null, range: null } }], [{ action: "setAttrViewGroup", avID: options.data.id, blockID, data: { field: options.data.view.group?.field || "", method: null, order: null, range: null } }]); if (!options.data.view.group) { options.data.view.group = { field: options.fieldId }; } else { options.data.view.group.field = options.fieldId; } options.menuElement.innerHTML = getGroupsHTML(getFieldsByData(options.data), options.data.view.group); // bindGroupsEvent(options.protyle, options.menuElement, options.data, blockID); const tabRect = options.blockElement.querySelector(".av__views").getBoundingClientRect(); setPosition(options.menuElement, tabRect.right - options.menuElement.clientWidth, tabRect.bottom, tabRect.height); }; export const getGroupsMethodHTML = (columns: IAVColumn[], group: IAVGroup) => { const selectHTML = ''; let html = ``; columns.forEach(item => { html += ``; }); return `
${html}
`; }; export const getGroupsHTML = (columns: IAVColumn[], group: IAVGroup) => { let html = ""; if (group && group.field) { html = ` `; } return `
${html}
`; }; export const bindGroupsEvent = () => { };