import { tableEmits, tableProps, table_default } from "./chunk-KZYYK2Y7.js"; import { getDomNode, getOffsetHeight, getPaddingTopBottomSize, toCssUnit } from "./chunk-W4BZ55WN.js"; import { toolbar_default } from "./chunk-OJJZNSUY.js"; import { defineVxeComponent, errLog, getSlotVNs, warnLog } from "./chunk-GPQQMF6N.js"; import { getLastZIndex, isEnableConf, nextZIndex } from "./chunk-Z4MEN7AG.js"; import { VxeUI, require_xe_utils } from "./chunk-YJNUXQVJ.js"; import "./chunk-VAL2CHZC.js"; import { computed, h, nextTick, onMounted, onUnmounted, provide, reactive, ref, watch } from "./chunk-AAHVYXXY.js"; import "./chunk-OWZYVOTZ.js"; import { __toESM } from "./chunk-V4OQ3NZ2.js"; // ../node_modules/.pnpm/vxe-table@4.17.14_vue@3.5.24_typescript@5.9.3_/node_modules/vxe-table/es/grid/src/grid.js var import_xe_utils = __toESM(require_xe_utils()); // ../node_modules/.pnpm/vxe-table@4.17.14_vue@3.5.24_typescript@5.9.3_/node_modules/vxe-table/es/grid/src/props.js var { getConfig } = VxeUI; var gridProps = Object.assign(Object.assign({}, tableProps), { layouts: Array, columns: Array, pagerConfig: Object, proxyConfig: Object, toolbarConfig: Object, formConfig: Object, zoomConfig: Object, size: { type: String, default: () => getConfig().grid.size || getConfig().size } }); // ../node_modules/.pnpm/vxe-table@4.17.14_vue@3.5.24_typescript@5.9.3_/node_modules/vxe-table/es/grid/src/emits.js var gridEmits = [ ...tableEmits, "page-change", "form-submit", "form-submit-invalid", "form-reset", "form-collapse", "form-toggle-collapse", "proxy-query", "proxy-delete", "proxy-save", "toolbar-button-click", "toolbar-tool-click", "zoom" ]; // ../node_modules/.pnpm/vxe-table@4.17.14_vue@3.5.24_typescript@5.9.3_/node_modules/vxe-table/es/grid/src/grid.js var { getConfig: getConfig2, getI18n, commands, hooks, useFns, createEvent, globalEvents, GLOBAL_EVENT_KEYS, renderEmptyElement } = VxeUI; var tableComponentPropKeys = Object.keys(tableProps); var tableComponentMethodKeys = ["clearAll", "syncData", "updateData", "loadData", "reloadData", "reloadRow", "loadColumn", "reloadColumn", "getRowNode", "getColumnNode", "getRowIndex", "getVTRowIndex", "getVMRowIndex", "getColumnIndex", "getVTColumnIndex", "getVMColumnIndex", "setRow", "createData", "createRow", "revertData", "clearData", "isRemoveByRow", "isInsertByRow", "isUpdateByRow", "getColumns", "getColumnById", "getColumnByField", "getTableColumn", "getFullColumns", "getData", "getCheckboxRecords", "getParentRow", "getTreeRowChildren", "getTreeRowLevel", "getTreeParentRow", "getRowSeq", "getRowById", "getRowid", "getTableData", "getFullData", "setColumnFixed", "clearColumnFixed", "setColumnWidth", "getColumnWidth", "recalcRowHeight", "setRowHeightConf", "getRowHeightConf", "setRowHeight", "getRowHeight", "hideColumn", "showColumn", "resetColumn", "refreshColumn", "refreshScroll", "recalculate", "closeTooltip", "isAllCheckboxChecked", "isAllCheckboxIndeterminate", "getCheckboxIndeterminateRecords", "setCheckboxRow", "setCheckboxRowKey", "isCheckedByCheckboxRow", "isCheckedByCheckboxRowKey", "isIndeterminateByCheckboxRow", "isIndeterminateByCheckboxRowKey", "toggleCheckboxRow", "setAllCheckboxRow", "getRadioReserveRecord", "clearRadioReserve", "getCheckboxReserveRecords", "clearCheckboxReserve", "toggleAllCheckboxRow", "clearCheckboxRow", "setCurrentRow", "isCheckedByRadioRow", "isCheckedByRadioRowKey", "setRadioRow", "setRadioRowKey", "clearCurrentRow", "clearRadioRow", "getCurrentRecord", "getRadioRecord", "getCurrentColumn", "setCurrentColumn", "clearCurrentColumn", "setPendingRow", "togglePendingRow", "hasPendingByRow", "isPendingByRow", "getPendingRecords", "clearPendingRow", "setFilterByEvent", "sort", "setSort", "setSortByEvent", "clearSort", "clearSortByEvent", "isSort", "getSortColumns", "closeFilter", "isFilter", "clearFilterByEvent", "isActiveFilterByColumn", "isRowExpandLoaded", "clearRowExpandLoaded", "reloadRowExpand", "reloadRowExpand", "toggleRowExpand", "setAllRowExpand", "setRowExpand", "isExpandByRow", "isRowExpandByRow", "clearRowExpand", "clearRowExpandReserve", "getRowExpandRecords", "getTreeExpandRecords", "isTreeExpandLoaded", "clearTreeExpandLoaded", "reloadTreeExpand", "reloadTreeChilds", "toggleTreeExpand", "setAllTreeExpand", "setTreeExpand", "isTreeExpandByRow", "clearTreeExpand", "clearTreeExpandReserve", "getScroll", "getScrollData", "scrollTo", "scrollToRow", "scrollToColumn", "clearScroll", "updateFooter", "updateStatus", "setMergeCells", "removeInsertRow", "removeMergeCells", "getMergeCells", "setMergeHeaderCells", "removeMergeHeaderCells", "getMergeHeaderCells", "clearMergeHeaderCells", "clearMergeCells", "setMergeFooterItems", "removeMergeFooterItems", "getMergeFooterItems", "clearMergeFooterItems", "getCustomStoreData", "setRowGroupExpand", "setRowGroupExpandByField", "setAllRowGroupExpand", "clearRowGroupExpand", "isRowGroupExpandByRow", "isRowGroupRecord", "isAggregateRecord", "isAggregateExpandByRow", "getAggregateContentByRow", "getAggregateRowChildren", "setRowGroups", "clearRowGroups", "openTooltip", "moveColumnTo", "moveRowTo", "getCellLabel", "getCellElement", "focus", "blur", "connect", "connectToolbar"]; function createInternalData() { return {}; } var grid_default = defineVxeComponent({ name: "VxeGrid", props: gridProps, emits: gridEmits, setup(props, context) { var _a; const { slots, emit } = context; const xID = import_xe_utils.default.uniqueId(); const VxeUIFormComponent = VxeUI.getComponent("VxeForm"); const VxeUIPagerComponent = VxeUI.getComponent("VxePager"); const defaultLayouts = [["Form"], ["Toolbar", "Top", "Table", "Bottom", "Pager"]]; const { computeSize } = useFns.useSize(props); const reactData = reactive({ tableLoading: false, proxyInited: false, isZMax: false, tableData: [], filterData: [], formData: {}, sortData: [], tZindex: 0, tablePage: { total: 0, pageSize: ((_a = getConfig2().pager) === null || _a === void 0 ? void 0 : _a.pageSize) || 10, currentPage: 1 } }); const internalData = createInternalData(); const refElem = ref(); const refTable = ref(); const refForm = ref(); const refToolbar = ref(); const refPager = ref(); const refPopupContainerElem = ref(); const refFormWrapper = ref(); const refToolbarWrapper = ref(); const refTopWrapper = ref(); const refBottomWrapper = ref(); const refPagerWrapper = ref(); const extendTableMethods = (methodKeys) => { const funcs = {}; methodKeys.forEach((name) => { funcs[name] = (...args) => { const $xeTable = refTable.value; if ($xeTable && $xeTable[name]) { return $xeTable[name](...args); } }; }); return funcs; }; const gridExtendTableMethods = extendTableMethods(tableComponentMethodKeys); tableComponentMethodKeys.forEach((name) => { gridExtendTableMethods[name] = (...args) => { const $xeTable = refTable.value; if ($xeTable && $xeTable[name]) { return $xeTable && $xeTable[name](...args); } }; }); const computeProxyOpts = computed(() => { return import_xe_utils.default.merge({}, import_xe_utils.default.clone(getConfig2().grid.proxyConfig, true), props.proxyConfig); }); const computeIsRespMsg = computed(() => { const proxyOpts = computeProxyOpts.value; return !!(import_xe_utils.default.isBoolean(proxyOpts.message) ? proxyOpts.message : proxyOpts.showResponseMsg); }); const computeIsActiveMsg = computed(() => { const proxyOpts = computeProxyOpts.value; return import_xe_utils.default.isBoolean(proxyOpts.showActionMsg) ? proxyOpts.showActionMsg : !!proxyOpts.showActiveMsg; }); const computePagerOpts = computed(() => { return Object.assign({}, getConfig2().grid.pagerConfig, props.pagerConfig); }); const computeFormOpts = computed(() => { return Object.assign({}, getConfig2().grid.formConfig, props.formConfig); }); const computeToolbarOpts = computed(() => { return Object.assign({}, getConfig2().grid.toolbarConfig, props.toolbarConfig); }); const computeZoomOpts = computed(() => { return Object.assign({}, getConfig2().grid.zoomConfig, props.zoomConfig); }); const computeStyles = computed(() => { const { height, maxHeight } = props; const { isZMax, tZindex } = reactData; const stys = {}; if (isZMax) { stys.zIndex = tZindex; } else { if (height) { stys.height = height === "auto" || height === "100%" ? "100%" : toCssUnit(height); } if (maxHeight) { stys.maxHeight = maxHeight === "auto" || maxHeight === "100%" ? "100%" : toCssUnit(maxHeight); } } return stys; }); const computeTableExtendProps = computed(() => { const rest = {}; tableComponentPropKeys.forEach((key) => { rest[key] = props[key]; }); return rest; }); const computeTableProps = computed(() => { const { seqConfig, pagerConfig, editConfig, proxyConfig } = props; const { isZMax, tablePage } = reactData; const tableExtendProps = computeTableExtendProps.value; const proxyOpts = computeProxyOpts.value; const pagerOpts = computePagerOpts.value; const isLoading = computeIsLoading.value; const tProps = Object.assign({}, tableExtendProps); if (isZMax) { if (tableExtendProps.maxHeight) { tProps.maxHeight = "100%"; } else { tProps.height = "100%"; } } if (proxyConfig && isEnableConf(proxyOpts)) { tProps.loading = isLoading; if (pagerConfig && proxyOpts.seq && isEnableConf(pagerOpts)) { tProps.seqConfig = Object.assign({}, seqConfig, { startIndex: (tablePage.currentPage - 1) * tablePage.pageSize }); } } if (editConfig) { tProps.editConfig = Object.assign({}, editConfig); } return tProps; }); const computeCurrLayoutConf = computed(() => { const { layouts } = props; let confs = []; if (layouts && layouts.length) { confs = layouts; } else { confs = getConfig2().grid.layouts || defaultLayouts; } let headKeys = []; let bodyKeys = []; let footKeys = []; if (confs.length) { if (import_xe_utils.default.isArray(confs[0])) { headKeys = confs[0]; bodyKeys = confs[1] || []; footKeys = confs[2] || []; } else { bodyKeys = confs; } } return { headKeys, bodyKeys, footKeys }; }); const computeCustomCurrentPageFlag = computed(() => { const pagerOpts = computePagerOpts.value; return pagerOpts.currentPage; }); const computeCustomPageSizeFlag = computed(() => { const pagerOpts = computePagerOpts.value; return pagerOpts.pageSize; }); const computeCustomTotalFlag = computed(() => { const pagerOpts = computePagerOpts.value; return pagerOpts.total; }); const computePageCount = computed(() => { const { tablePage } = reactData; return Math.max(Math.ceil(tablePage.total / tablePage.pageSize), 1); }); const computeIsLoading = computed(() => { const { loading, proxyConfig } = props; const { tableLoading } = reactData; const proxyOpts = computeProxyOpts.value; const { showLoading } = proxyOpts; return loading || tableLoading && showLoading && proxyConfig && isEnableConf(proxyOpts); }); const refMaps = { refElem, refTable, refForm, refToolbar, refPager, refPopupContainerElem }; const computeMaps = { computeProxyOpts, computePagerOpts, computeFormOpts, computeToolbarOpts, computeZoomOpts }; const $xeGrid = { xID, props, context, reactData, internalData, getRefMaps: () => refMaps, getComputeMaps: () => computeMaps }; const initToolbar = () => { const toolbarOpts = computeToolbarOpts.value; if (props.toolbarConfig && isEnableConf(toolbarOpts)) { nextTick(() => { const $xeTable = refTable.value; const $xeToolbar = refToolbar.value; if ($xeTable && $xeToolbar) { $xeTable.connectToolbar($xeToolbar); } }); } }; const getFormData = () => { const { proxyConfig } = props; const { formData } = reactData; const proxyOpts = computeProxyOpts.value; const formOpts = computeFormOpts.value; return proxyConfig && isEnableConf(proxyOpts) && proxyOpts.form ? formData : formOpts.data; }; const initPages = (propKey) => { const { tablePage } = reactData; const { pagerConfig } = props; const pagerOpts = computePagerOpts.value; if (pagerConfig && isEnableConf(pagerOpts)) { if (propKey) { if (pagerOpts[propKey]) { tablePage[propKey] = import_xe_utils.default.toNumber(pagerOpts[propKey]); } } else { const { currentPage, pageSize, total } = pagerOpts; if (currentPage) { tablePage.currentPage = currentPage; } if (pageSize) { tablePage.pageSize = pageSize; } if (total) { tablePage.total = total; } } } }; const triggerPendingEvent = (code) => { const isActiveMsg = computeIsActiveMsg.value; const $xeTable = refTable.value; const selectRecords = $xeTable ? $xeTable.getCheckboxRecords() : []; if (selectRecords.length) { if ($xeTable) { $xeTable.togglePendingRow(selectRecords); } $xeGrid.clearCheckboxRow(); } else { if (isActiveMsg) { if (VxeUI.modal) { VxeUI.modal.message({ id: code, content: getI18n("vxe.grid.selectOneRecord"), status: "warning" }); } } } }; const getRespMsg = (rest, defaultMsg) => { const proxyOpts = computeProxyOpts.value; const resConfigs = proxyOpts.response || proxyOpts.props || {}; const messageProp = resConfigs.message; const $xeTable = refTable.value; let msg; if (rest && messageProp) { msg = import_xe_utils.default.isFunction(messageProp) ? messageProp({ data: rest, $table: $xeTable, $grid: $xeGrid, $gantt: null }) : import_xe_utils.default.get(rest, messageProp); } return msg || getI18n(defaultMsg); }; const handleDeleteRow = (code, alertKey, callback) => { const isActiveMsg = computeIsActiveMsg.value; const selectRecords = $xeGrid.getCheckboxRecords(); if (isActiveMsg) { if (selectRecords.length) { if (VxeUI.modal) { return VxeUI.modal.confirm({ id: `cfm_${code}`, content: getI18n(alertKey), escClosable: true }).then((type) => { if (type === "confirm") { return callback(); } }); } } else { if (VxeUI.modal) { VxeUI.modal.message({ id: `msg_${code}`, content: getI18n("vxe.grid.selectOneRecord"), status: "warning" }); } } } else { if (selectRecords.length) { callback(); } } return Promise.resolve(); }; const pageChangeEvent = (params) => { const { proxyConfig } = props; const { tablePage } = reactData; const { $event, currentPage, pageSize } = params; const proxyOpts = computeProxyOpts.value; tablePage.currentPage = currentPage; tablePage.pageSize = pageSize; $xeGrid.dispatchEvent("page-change", params, $event); if (proxyConfig && isEnableConf(proxyOpts)) { $xeGrid.commitProxy("query").then((rest) => { $xeGrid.dispatchEvent("proxy-query", rest, $event); }); } }; const handleSortEvent = (params) => { const $xeTable = refTable.value; const { proxyConfig } = props; if (!$xeTable) { return; } const { computeSortOpts } = $xeTable.getComputeMaps(); const proxyOpts = computeProxyOpts.value; const sortOpts = computeSortOpts.value; if (sortOpts.remote) { reactData.sortData = params.sortList; if (proxyConfig && isEnableConf(proxyOpts)) { reactData.tablePage.currentPage = 1; $xeGrid.commitProxy("query").then((rest) => { $xeGrid.dispatchEvent("proxy-query", rest, params.$event); }); } } }; const sortChangeEvent = (params) => { handleSortEvent(params); $xeGrid.dispatchEvent("sort-change", params, params.$event); }; const clearAllSortEvent = (params) => { handleSortEvent(params); $xeGrid.dispatchEvent("clear-all-sort", params, params.$event); }; const handleFilterEvent = (params) => { const $xeTable = refTable.value; const { proxyConfig } = props; if (!$xeTable) { return; } const { computeFilterOpts } = $xeTable.getComputeMaps(); const proxyOpts = computeProxyOpts.value; const filterOpts = computeFilterOpts.value; if (filterOpts.remote) { reactData.filterData = params.filterList; if (proxyConfig && isEnableConf(proxyOpts)) { reactData.tablePage.currentPage = 1; $xeGrid.commitProxy("query").then((rest) => { $xeGrid.dispatchEvent("proxy-query", rest, params.$event); }); } } }; const filterChangeEvent = (params) => { handleFilterEvent(params); $xeGrid.dispatchEvent("filter-change", params, params.$event); }; const clearAllFilterEvent = (params) => { handleFilterEvent(params); $xeGrid.dispatchEvent("clear-all-filter", params, params.$event); }; const submitFormEvent = (params) => { const { proxyConfig } = props; const proxyOpts = computeProxyOpts.value; if (reactData.tableLoading) { return; } if (proxyConfig && isEnableConf(proxyOpts)) { $xeGrid.commitProxy("reload").then((rest) => { $xeGrid.dispatchEvent("proxy-query", Object.assign(Object.assign({}, rest), { isReload: true }), params.$event); }); } $xeGrid.dispatchEvent("form-submit", params, params.$event); }; const resetFormEvent = (params) => { const $xeTable = refTable.value; const { proxyConfig } = props; const { $event } = params; const proxyOpts = computeProxyOpts.value; if (proxyConfig && isEnableConf(proxyOpts)) { if ($xeTable) { $xeTable.clearScroll(); } $xeGrid.commitProxy("reload").then((rest) => { $xeGrid.dispatchEvent("proxy-query", Object.assign(Object.assign({}, rest), { isReload: true }), $event); }); } $xeGrid.dispatchEvent("form-reset", params, $event); }; const submitInvalidEvent = (params) => { $xeGrid.dispatchEvent("form-submit-invalid", params, params.$event); }; const collapseEvent = (params) => { const { $event } = params; $xeGrid.dispatchEvent("form-toggle-collapse", params, $event); $xeGrid.dispatchEvent("form-collapse", params, $event); }; const handleZoom = (isMax) => { const { isZMax } = reactData; if (isMax ? !isZMax : isZMax) { reactData.isZMax = !isZMax; if (reactData.tZindex < getLastZIndex()) { reactData.tZindex = nextZIndex(); } } return nextTick().then(() => $xeGrid.recalculate(true)).then(() => { setTimeout(() => $xeGrid.recalculate(true), 15); return reactData.isZMax; }); }; const getFuncSlot = (optSlots, slotKey) => { const funcSlot = optSlots[slotKey]; if (funcSlot) { if (import_xe_utils.default.isString(funcSlot)) { if (slots[funcSlot]) { return slots[funcSlot]; } else { errLog("vxe.error.notSlot", [`[grid] ${funcSlot}`]); } } else { return funcSlot; } } return null; }; const getConfigSlot = (slotConfigs) => { const slotConf = {}; import_xe_utils.default.objectMap(slotConfigs, (slotFunc, slotKey) => { if (slotFunc) { if (import_xe_utils.default.isString(slotFunc)) { if (slots[slotFunc]) { slotConf[slotKey] = slots[slotFunc]; } else { errLog("vxe.error.notSlot", [`[grid] ${slotFunc}`]); } } else { slotConf[slotKey] = slotFunc; } } }); return slotConf; }; const renderForm = () => { const { formConfig, proxyConfig } = props; const { formData } = reactData; const proxyOpts = computeProxyOpts.value; const formOpts = computeFormOpts.value; if (formConfig && isEnableConf(formOpts) || slots.form) { let slotVNs = []; if (slots.form) { slotVNs = slots.form({ $grid: $xeGrid, $gantt: null }); } else { if (formOpts.items) { const formSlots = {}; if (!formOpts.inited) { formOpts.inited = true; const beforeItem = proxyOpts.beforeItem; if (proxyOpts && beforeItem) { formOpts.items.forEach((item) => { beforeItem({ $grid: $xeGrid, $gantt: null, item }); }); } } formOpts.items.forEach((item) => { import_xe_utils.default.each(item.slots, (func) => { if (!import_xe_utils.default.isFunction(func)) { if (slots[func]) { formSlots[func] = slots[func]; } } }); }); if (VxeUIFormComponent) { slotVNs.push(h(VxeUIFormComponent, Object.assign(Object.assign({ ref: refForm }, Object.assign({}, formOpts, { data: proxyConfig && isEnableConf(proxyOpts) && proxyOpts.form ? formData : formOpts.data })), { onSubmit: submitFormEvent, onReset: resetFormEvent, onSubmitInvalid: submitInvalidEvent, onCollapse: collapseEvent }), formSlots)); } } } return h("div", { ref: refFormWrapper, key: "form", class: "vxe-grid--form-wrapper" }, slotVNs); } return renderEmptyElement($xeGrid); }; const renderToolbar = () => { const { toolbarConfig } = props; const toolbarOpts = computeToolbarOpts.value; const toolbarSlot = slots.toolbar; if (toolbarConfig && isEnableConf(toolbarOpts) || toolbarSlot) { let slotVNs = []; if (toolbarSlot) { slotVNs = toolbarSlot({ $grid: $xeGrid, $gantt: null }); } else { const toolbarOptSlots = toolbarOpts.slots; const toolbarSlots = {}; if (toolbarOptSlots) { const buttonsSlot = getFuncSlot(toolbarOptSlots, "buttons"); const buttonPrefixSlot = getFuncSlot(toolbarOptSlots, "buttonPrefix"); const buttonSuffixSlot = getFuncSlot(toolbarOptSlots, "buttonSuffix"); const toolsSlot = getFuncSlot(toolbarOptSlots, "tools"); const toolPrefixSlot = getFuncSlot(toolbarOptSlots, "toolPrefix"); const toolSuffixSlot = getFuncSlot(toolbarOptSlots, "toolSuffix"); if (buttonsSlot) { toolbarSlots.buttons = buttonsSlot; } if (buttonPrefixSlot) { toolbarSlots.buttonPrefix = buttonPrefixSlot; } if (buttonSuffixSlot) { toolbarSlots.buttonSuffix = buttonSuffixSlot; } if (toolsSlot) { toolbarSlots.tools = toolsSlot; } if (toolPrefixSlot) { toolbarSlots.toolPrefix = toolPrefixSlot; } if (toolSuffixSlot) { toolbarSlots.toolSuffix = toolSuffixSlot; } } slotVNs.push(h(toolbar_default, Object.assign(Object.assign({ ref: refToolbar }, toolbarOpts), { slots: void 0 }), toolbarSlots)); } return h("div", { ref: refToolbarWrapper, key: "toolbar", class: "vxe-grid--toolbar-wrapper" }, slotVNs); } return renderEmptyElement($xeGrid); }; const renderTop = () => { const topSlot = slots.top; if (topSlot) { return h("div", { ref: refTopWrapper, key: "top", class: "vxe-grid--top-wrapper" }, topSlot({ $grid: $xeGrid, $gantt: null })); } return renderEmptyElement($xeGrid); }; const renderTableLeft = () => { const leftSlot = slots.left; if (leftSlot) { return h("div", { class: "vxe-grid--left-wrapper" }, leftSlot({ $grid: $xeGrid, $gantt: null })); } return renderEmptyElement($xeGrid); }; const renderTableRight = () => { const rightSlot = slots.right; if (rightSlot) { return h("div", { class: "vxe-grid--right-wrapper" }, rightSlot({ $grid: $xeGrid, $gantt: null })); } return renderEmptyElement($xeGrid); }; const renderTable = () => { const { proxyConfig } = props; const tableProps2 = computeTableProps.value; const proxyOpts = computeProxyOpts.value; const tableOns = Object.assign({}, tableCompEvents); const emptySlot = slots.empty; const loadingSlot = slots.loading; const rowDragIconSlot = slots.rowDragIcon || slots["row-drag-icon"]; const columnDragIconSlot = slots.columnDragIcon || slots["column-drag-icon"]; const headerTooltipSlot = slots.headerTooltip || slots["header-tooltip"]; const tooltipSlot = slots.tooltip; const footerTooltipSlot = slots.footerTooltip || slots["footer-tooltip"]; if (proxyConfig && isEnableConf(proxyOpts)) { if (proxyOpts.sort) { tableOns.onSortChange = sortChangeEvent; tableOns.onClearAllSort = clearAllSortEvent; } if (proxyOpts.filter) { tableOns.onFilterChange = filterChangeEvent; tableOns.onClearAllFilter = clearAllFilterEvent; } } const slotObj = {}; if (emptySlot) { slotObj.empty = emptySlot; } if (loadingSlot) { slotObj.loading = loadingSlot; } if (rowDragIconSlot) { slotObj.rowDragIcon = rowDragIconSlot; } if (columnDragIconSlot) { slotObj.columnDragIcon = columnDragIconSlot; } if (headerTooltipSlot) { slotObj.headerTooltip = headerTooltipSlot; } if (tooltipSlot) { slotObj.tooltip = tooltipSlot; } if (footerTooltipSlot) { slotObj.footerTooltip = footerTooltipSlot; } return h("div", { class: "vxe-grid--table-wrapper" }, [ h(table_default, Object.assign(Object.assign({ ref: refTable }, tableProps2), tableOns), slotObj) ]); }; const renderBottom = () => { if (slots.bottom) { return h("div", { ref: refBottomWrapper, key: "bottom", class: "vxe-grid--bottom-wrapper" }, slots.bottom({ $grid: $xeGrid, $gantt: null })); } return renderEmptyElement($xeGrid); }; const renderPager = () => { const { proxyConfig, pagerConfig } = props; const proxyOpts = computeProxyOpts.value; const pagerOpts = computePagerOpts.value; const pagerSlot = slots.pager; if (pagerConfig && isEnableConf(pagerOpts) || slots.pager) { return h("div", { ref: refPagerWrapper, key: "pager", class: "vxe-grid--pager-wrapper" }, pagerSlot ? pagerSlot({ $grid: $xeGrid, $gantt: null }) : [ VxeUIPagerComponent ? h(VxeUIPagerComponent, Object.assign(Object.assign(Object.assign({ ref: refPager }, pagerOpts), proxyConfig && isEnableConf(proxyOpts) ? reactData.tablePage : {}), { onPageChange: pageChangeEvent }), getConfigSlot(pagerOpts.slots)) : renderEmptyElement($xeGrid) ]); } return renderEmptyElement($xeGrid); }; const renderChildLayout = (layoutKeys) => { const childVNs = []; layoutKeys.forEach((key) => { switch (key) { case "Form": childVNs.push(renderForm()); break; case "Toolbar": childVNs.push(renderToolbar()); break; case "Top": childVNs.push(renderTop()); break; case "Table": childVNs.push(h("div", { key: "table", class: "vxe-grid--table-container" }, [ renderTableLeft(), renderTable(), renderTableRight() ])); break; case "Bottom": childVNs.push(renderBottom()); break; case "Pager": childVNs.push(renderPager()); break; default: errLog("vxe.error.notProp", [`[grid] layouts -> ${key}`]); break; } }); return childVNs; }; const renderLayout = () => { const currLayoutConf = computeCurrLayoutConf.value; const { headKeys, bodyKeys, footKeys } = currLayoutConf; const asideLeftSlot = slots.asideLeft || slots["aside-left"]; const asideRightSlot = slots.asideRight || slots["aside-right"]; return [ h("div", { class: "vxe-grid--layout-header-wrapper" }, renderChildLayout(headKeys)), h("div", { class: "vxe-grid--layout-body-wrapper" }, [ asideLeftSlot ? h("div", { class: "vxe-grid--layout-aside-left-wrapper" }, asideLeftSlot({})) : renderEmptyElement($xeGrid), h("div", { class: "vxe-grid--layout-body-content-wrapper" }, renderChildLayout(bodyKeys)), asideRightSlot ? h("div", { class: "vxe-grid--layout-aside-right-wrapper" }, asideRightSlot({})) : renderEmptyElement($xeGrid) ]), h("div", { class: "vxe-grid--layout-footer-wrapper" }, renderChildLayout(footKeys)), h("div", { ref: refPopupContainerElem }) ]; }; const tableCompEvents = {}; tableEmits.forEach((name) => { const type = import_xe_utils.default.camelCase(`on-${name}`); tableCompEvents[type] = (...args) => emit(name, ...args); }); const getDefaultFormData = () => { const formOpts = computeFormOpts.value; if (formOpts.items) { const fData = {}; formOpts.items.forEach((item) => { const { field, itemRender } = item; if (field) { let itemValue = null; if (itemRender) { const { startField, endField, defaultValue } = itemRender; if (import_xe_utils.default.isFunction(defaultValue)) { itemValue = defaultValue({ item }); } else if (!import_xe_utils.default.isUndefined(defaultValue)) { itemValue = defaultValue; } if (startField && endField) { import_xe_utils.default.set(fData, startField, null); import_xe_utils.default.set(fData, endField, null); } } fData[field] = itemValue; } }); return fData; } return {}; }; const initProxy = () => { const { proxyConfig, formConfig } = props; const { proxyInited } = reactData; const proxyOpts = computeProxyOpts.value; const formOpts = computeFormOpts.value; if (proxyConfig && isEnableConf(proxyOpts)) { if (formConfig && isEnableConf(formOpts) && proxyOpts.form && formOpts.items) { reactData.formData = getDefaultFormData(); } if (!proxyInited) { reactData.proxyInited = true; if (proxyOpts.autoLoad !== false) { nextTick().then(() => $xeGrid.commitProxy("initial")).then((rest) => { dispatchEvent("proxy-query", Object.assign(Object.assign({}, rest), { isInited: true }), new Event("initial")); }); } } } }; const handleGlobalKeydownEvent = (evnt) => { const zoomOpts = computeZoomOpts.value; const isEsc = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ESCAPE); if (isEsc && reactData.isZMax && zoomOpts.escRestore !== false) { $xeGrid.triggerZoomEvent(evnt); } }; const dispatchEvent = (type, params, evnt) => { emit(type, createEvent(evnt, { $grid: $xeGrid, $gantt: null }, params)); }; const gridMethods = { dispatchEvent, getEl() { return refElem.value; }, /** * 提交指令,支持 code 或 button * @param {String/Object} code 字符串或对象 */ commitProxy(proxyTarget, ...args) { const { proxyConfig, toolbarConfig, pagerConfig, editRules, validConfig } = props; const { tablePage } = reactData; const isActiveMsg = computeIsActiveMsg.value; const isRespMsg = computeIsRespMsg.value; const proxyOpts = computeProxyOpts.value; const pagerOpts = computePagerOpts.value; const toolbarOpts = computeToolbarOpts.value; const { beforeQuery, afterQuery, beforeDelete, afterDelete, beforeSave, afterSave, ajax = {} } = proxyOpts; const resConfigs = proxyOpts.response || proxyOpts.props || {}; const $xeTable = refTable.value; if (!$xeTable) { return nextTick(); } let formData = getFormData(); let button = null; let code = null; if (import_xe_utils.default.isString(proxyTarget)) { const { buttons } = toolbarOpts; const matchObj = toolbarConfig && isEnableConf(toolbarOpts) && buttons ? import_xe_utils.default.findTree(buttons, (item) => item.code === proxyTarget, { children: "dropdowns" }) : null; button = matchObj ? matchObj.item : null; code = proxyTarget; } else { button = proxyTarget; code = button.code; } const btnParams = button ? button.params : null; switch (code) { case "insert": return $xeTable.insert({}); case "insert_edit": return $xeTable.insert({}).then(({ row }) => $xeTable.setEditRow(row, true)); // 已废弃 case "insert_actived": return $xeTable.insert({}).then(({ row }) => $xeTable.setEditRow(row, true)); // 已废弃 case "mark_cancel": triggerPendingEvent(code); break; case "remove": return handleDeleteRow(code, "vxe.grid.removeSelectRecord", () => $xeTable.removeCheckboxRow()); case "import": $xeTable.importData(btnParams); break; case "open_import": $xeTable.openImport(btnParams); break; case "export": $xeTable.exportData(btnParams); break; case "open_export": $xeTable.openExport(btnParams); break; case "reset_custom": return $xeTable.resetCustom(true); case "initial": case "reload": case "query": { const ajaxMethods = ajax.query; const querySuccessMethods = ajax.querySuccess; const queryErrorMethods = ajax.queryError; if (ajaxMethods) { const isInited = code === "initial"; const isReload = code === "reload"; if (!isInited && reactData.tableLoading) { return nextTick(); } let operPromise = null; let sortList = []; let filterList = []; let pageParams = {}; if (pagerConfig) { if (isInited || isReload) { tablePage.currentPage = 1; } if (isEnableConf(pagerOpts)) { pageParams = Object.assign({}, tablePage); } } if (isInited) { if (proxyConfig && isEnableConf(proxyOpts) && proxyOpts.form) { formData = getDefaultFormData(); reactData.formData = formData; } if ($xeTable) { const tableInternalData = $xeTable.internalData; const { tableFullColumn, fullColumnFieldData } = tableInternalData; const { computeSortOpts } = $xeTable.getComputeMaps(); const sortOpts = computeSortOpts.value; let defaultSort = sortOpts.defaultSort; tableFullColumn.forEach((column) => { column.order = null; }); if (defaultSort) { if (!import_xe_utils.default.isArray(defaultSort)) { defaultSort = [defaultSort]; } sortList = defaultSort.map((item) => { const { field, order } = item; const colRest = fullColumnFieldData[field]; if (colRest) { const column = colRest.column; if (column) { column.order = order; } } return { field, property: field, order }; }); } filterList = $xeTable.getCheckedFilters(); } } else { if ($xeTable) { if (isReload) { operPromise = $xeTable.clearAll(); } else { sortList = $xeTable.getSortColumns(); filterList = $xeTable.getCheckedFilters(); } } } const commitParams = { $table: $xeTable, $grid: $xeGrid, $gantt: null, code, button, isInited, isReload, page: pageParams, sort: sortList.length ? sortList[0] : {}, sorts: sortList, filters: filterList, form: formData, options: ajaxMethods }; reactData.sortData = sortList; reactData.filterData = filterList; reactData.tableLoading = true; return Promise.all([ Promise.resolve((beforeQuery || ajaxMethods)(commitParams, ...args)), operPromise ]).then(([rest]) => { let tableData = []; reactData.tableLoading = false; if (rest) { if (pagerConfig && isEnableConf(pagerOpts)) { const totalProp = resConfigs.total; const total = (import_xe_utils.default.isFunction(totalProp) ? totalProp({ data: rest, $table: $xeTable, $grid: $xeGrid, $gantt: null }) : import_xe_utils.default.get(rest, totalProp || "page.total")) || 0; tablePage.total = import_xe_utils.default.toNumber(total); const resultProp = resConfigs.result; tableData = (import_xe_utils.default.isFunction(resultProp) ? resultProp({ data: rest, $table: $xeTable, $grid: $xeGrid, $gantt: null }) : import_xe_utils.default.get(rest, resultProp || "result")) || []; const pageCount = Math.max(Math.ceil(total / tablePage.pageSize), 1); if (tablePage.currentPage > pageCount) { tablePage.currentPage = pageCount; } } else { const listProp = resConfigs.list; tableData = (listProp ? import_xe_utils.default.isFunction(listProp) ? listProp({ data: rest, $table: $xeTable, $grid: $xeGrid, $gantt: null }) : import_xe_utils.default.get(rest, listProp) : rest) || []; } } if ($xeTable) { $xeTable.loadData(tableData); } else { nextTick(() => { const $xeTable2 = refTable.value; if ($xeTable2) { $xeTable2.loadData(tableData); } }); } if (afterQuery) { afterQuery(commitParams, ...args); } if (querySuccessMethods) { querySuccessMethods(Object.assign(Object.assign({}, commitParams), { response: rest })); } return { status: true }; }).catch((rest) => { reactData.tableLoading = false; if (queryErrorMethods) { queryErrorMethods(Object.assign(Object.assign({}, commitParams), { response: rest })); } return { status: false }; }); } else { errLog("vxe.error.notFunc", ["[grid] proxy-config.ajax.query"]); } break; } case "delete": { const ajaxMethods = ajax.delete; const deleteSuccessMethods = ajax.deleteSuccess; const deleteErrorMethods = ajax.deleteError; if (ajaxMethods) { const selectRecords = $xeGrid.getCheckboxRecords(); const removeRecords = selectRecords.filter((row) => !$xeTable.isInsertByRow(row)); const body = { removeRecords }; const commitParams = { $table: $xeTable, $grid: $xeGrid, $gantt: null, code, button, body, form: formData, options: ajaxMethods }; if (selectRecords.length) { return handleDeleteRow(code, "vxe.grid.deleteSelectRecord", () => { if (!removeRecords.length) { return $xeTable.remove(selectRecords); } reactData.tableLoading = true; return Promise.resolve((beforeDelete || ajaxMethods)(commitParams, ...args)).then((rest) => { reactData.tableLoading = false; $xeTable.setPendingRow(removeRecords, false); if (isRespMsg) { if (VxeUI.modal) { VxeUI.modal.message({ content: getRespMsg(rest, "vxe.grid.delSuccess"), status: "success" }); } } if (afterDelete) { afterDelete(commitParams, ...args); } else { $xeGrid.commitProxy("query"); } if (deleteSuccessMethods) { deleteSuccessMethods(Object.assign(Object.assign({}, commitParams), { response: rest })); } return { status: true }; }).catch((rest) => { reactData.tableLoading = false; if (isRespMsg) { if (VxeUI.modal) { VxeUI.modal.message({ id: code, content: getRespMsg(rest, "vxe.grid.operError"), status: "error" }); } } if (deleteErrorMethods) { deleteErrorMethods(Object.assign(Object.assign({}, commitParams), { response: rest })); } return { status: false }; }); }); } else { if (isActiveMsg) { if (VxeUI.modal) { VxeUI.modal.message({ id: code, content: getI18n("vxe.grid.selectOneRecord"), status: "warning" }); } } } } else { errLog("vxe.error.notFunc", ["[grid] proxy-config.ajax.delete"]); } break; } case "save": { const ajaxMethods = ajax.save; const saveSuccessMethods = ajax.saveSuccess; const saveErrorMethods = ajax.saveError; if (ajaxMethods) { const body = $xeTable.getRecordset(); const { insertRecords, removeRecords, updateRecords, pendingRecords } = body; const commitParams = { $table: $xeTable, $grid: $xeGrid, $gantt: null, code, button, body, form: formData, options: ajaxMethods }; if (insertRecords.length) { body.pendingRecords = pendingRecords.filter((row) => $xeTable.findRowIndexOf(insertRecords, row) === -1); } if (pendingRecords.length) { body.insertRecords = insertRecords.filter((row) => $xeTable.findRowIndexOf(pendingRecords, row) === -1); } let restPromise = Promise.resolve(); if (editRules) { restPromise = $xeTable[validConfig && validConfig.msgMode === "full" ? "fullValidate" : "validate"](body.insertRecords.concat(updateRecords)); } return restPromise.then((errMap) => { if (errMap) { return; } if (body.insertRecords.length || removeRecords.length || updateRecords.length || body.pendingRecords.length) { reactData.tableLoading = true; return Promise.resolve((beforeSave || ajaxMethods)(commitParams, ...args)).then((rest) => { reactData.tableLoading = false; $xeTable.clearPendingRow(); if (isRespMsg) { if (VxeUI.modal) { VxeUI.modal.message({ content: getRespMsg(rest, "vxe.grid.saveSuccess"), status: "success" }); } } if (afterSave) { afterSave(commitParams, ...args); } else { $xeGrid.commitProxy("query"); } if (saveSuccessMethods) { saveSuccessMethods(Object.assign(Object.assign({}, commitParams), { response: rest })); } return { status: true }; }).catch((rest) => { reactData.tableLoading = false; if (isRespMsg) { if (VxeUI.modal) { VxeUI.modal.message({ id: code, content: getRespMsg(rest, "vxe.grid.operError"), status: "error" }); } } if (saveErrorMethods) { saveErrorMethods(Object.assign(Object.assign({}, commitParams), { response: rest })); } return { status: false }; }); } else { if (isActiveMsg) { if (VxeUI.modal) { VxeUI.modal.message({ id: code, content: getI18n("vxe.grid.dataUnchanged"), status: "info" }); } } } }); } else { errLog("vxe.error.notFunc", ["[grid] proxy-config.ajax.save"]); } break; } default: { const gCommandOpts = commands.get(code); if (gCommandOpts) { const tCommandMethod = gCommandOpts.tableCommandMethod || gCommandOpts.commandMethod; if (tCommandMethod) { tCommandMethod({ code, button, $grid: $xeGrid, $table: $xeTable, $gantt: null }, ...args); } else { errLog("vxe.error.notCommands", [`[grid] ${code}`]); } } } } return nextTick(); }, getParams() { return props.params; }, zoom() { if (reactData.isZMax) { return $xeGrid.revert(); } return $xeGrid.maximize(); }, isMaximized() { return reactData.isZMax; }, maximize() { return handleZoom(true); }, revert() { return handleZoom(); }, getFormData, getFormItems(itemIndex) { const formOpts = computeFormOpts.value; const { formConfig } = props; const { items } = formOpts; const itemList = []; import_xe_utils.default.eachTree(formConfig && isEnableConf(formOpts) && items ? items : [], (item) => { itemList.push(item); }, { children: "children" }); return import_xe_utils.default.isUndefined(itemIndex) ? itemList : itemList[itemIndex]; }, resetForm() { const $form = refForm.value; if ($form) { return $form.reset(); } return nextTick(); }, validateForm() { const $form = refForm.value; if ($form) { return $form.validate(); } return nextTick(); }, validateFormField(field) { const $form = refForm.value; if ($form) { return $form.validateField(field); } return nextTick(); }, clearFormValidate(field) { const $form = refForm.value; if ($form) { return $form.clearValidate(field); } return nextTick(); }, homePage() { const { tablePage } = reactData; tablePage.currentPage = 1; return nextTick(); }, homePageByEvent(evnt) { const $pager = refPager.value; if ($pager) { $pager.homePageByEvent(evnt); } }, endPage() { const { tablePage } = reactData; const pageCount = computePageCount.value; tablePage.currentPage = pageCount; return nextTick(); }, endPageByEvent(evnt) { const $pager = refPager.value; if ($pager) { $pager.endPageByEvent(evnt); } }, getCurrentPage() { const { tablePage } = reactData; return tablePage.currentPage; }, setCurrentPage(currentPage) { const { tablePage } = reactData; const pageCount = computePageCount.value; tablePage.currentPage = Math.min(pageCount, Math.max(1, import_xe_utils.default.toNumber(currentPage))); return nextTick(); }, setCurrentPageByEvent(evnt, currentPage) { const $pager = refPager.value; if ($pager) { $pager.setCurrentPageByEvent(evnt, currentPage); } }, getPageSize() { const { tablePage } = reactData; return tablePage.pageSize; }, setPageSize(pageSize) { const { tablePage } = reactData; tablePage.pageSize = Math.max(1, import_xe_utils.default.toNumber(pageSize)); return nextTick(); }, setPageSizeByEvent(evnt, pageSize) { const $pager = refPager.value; if ($pager) { $pager.setPageSizeByEvent(evnt, pageSize); } }, getProxyInfo() { const $xeTable = refTable.value; if (props.proxyConfig) { const { sortData } = reactData; return { data: $xeTable ? $xeTable.getFullData() : [], filter: reactData.filterData, form: getFormData(), sort: sortData.length ? sortData[0] : {}, sorts: sortData, pager: reactData.tablePage, pendingRecords: $xeTable ? $xeTable.getPendingRecords() : [] }; } return null; } // setProxyInfo (options) { // if (props.proxyConfig && options) { // const { pager, form } = options // const proxyOpts = computeProxyOpts.value // if (pager) { // if (pager.currentPage) { // reactData.tablePage.currentPage = Number(pager.currentPage) // } // if (pager.pageSize) { // reactData.tablePage.pageSize = Number(pager.pageSize) // } // } // if (proxyOpts.form && form) { // Object.assign(reactData.formData, form) // } // } // return nextTick() // } }; const gridPrivateMethods = { extendTableMethods, callSlot(slotFunc, params) { if (slotFunc) { if (import_xe_utils.default.isString(slotFunc)) { slotFunc = slots[slotFunc] || null; } if (import_xe_utils.default.isFunction(slotFunc)) { return getSlotVNs(slotFunc(params)); } } return []; }, /** * 获取需要排除的高度 */ getExcludeHeight() { const { height } = props; const { isZMax } = reactData; const el = refElem.value; if (el) { const formWrapper = refFormWrapper.value; const toolbarWrapper = refToolbarWrapper.value; const topWrapper = refTopWrapper.value; const bottomWrapper = refBottomWrapper.value; const pagerWrapper = refPagerWrapper.value; const parentEl = el.parentElement; let parentPaddingSize = 0; if (parentEl && (height === "100%" || height === "auto")) { parentPaddingSize = isZMax ? 0 : getPaddingTopBottomSize(parentEl); } return parentPaddingSize + getPaddingTopBottomSize(el) + getOffsetHeight(formWrapper) + getOffsetHeight(toolbarWrapper) + getOffsetHeight(topWrapper) + getOffsetHeight(bottomWrapper) + getOffsetHeight(pagerWrapper); } return 0; }, getParentHeight() { const el = refElem.value; if (el) { const parentEl = el.parentElement; return (reactData.isZMax ? getDomNode().visibleHeight : parentEl ? import_xe_utils.default.toNumber(getComputedStyle(parentEl).height) : 0) - gridPrivateMethods.getExcludeHeight(); } return 0; }, triggerToolbarCommitEvent(params, evnt) { const { code } = params; return $xeGrid.commitProxy(params, evnt).then((rest) => { if (code && rest && rest.status && ["query", "reload", "delete", "save"].includes(code)) { $xeGrid.dispatchEvent(code === "delete" || code === "save" ? `proxy-${code}` : "proxy-query", Object.assign(Object.assign({}, rest), { isReload: code === "reload" }), evnt); } }); }, triggerToolbarBtnEvent(button, evnt) { $xeGrid.triggerToolbarCommitEvent(button, evnt); $xeGrid.dispatchEvent("toolbar-button-click", { code: button.code, button }, evnt); }, triggerToolbarTolEvent(tool, evnt) { $xeGrid.triggerToolbarCommitEvent(tool, evnt); $xeGrid.dispatchEvent("toolbar-tool-click", { code: tool.code, tool }, evnt); }, triggerZoomEvent(evnt) { $xeGrid.zoom(); $xeGrid.dispatchEvent("zoom", { type: reactData.isZMax ? "max" : "revert" }, evnt); } }; Object.assign($xeGrid, gridExtendTableMethods, gridMethods, gridPrivateMethods, { // 检查插槽 loadColumn(columns) { const $xeTable = refTable.value; import_xe_utils.default.eachTree(columns, (column) => { if (column.slots) { import_xe_utils.default.each(column.slots, (func) => { if (!import_xe_utils.default.isFunction(func)) { if (!slots[func]) { errLog("vxe.error.notSlot", [`[grid] ${func}`]); } } }); } }); if ($xeTable) { return $xeTable.loadColumn(columns); } return nextTick(); }, reloadColumn(columns) { $xeGrid.clearAll(); return $xeGrid.loadColumn(columns); } }); const renderVN = () => { const vSize = computeSize.value; const styles = computeStyles.value; const isLoading = computeIsLoading.value; return h("div", { ref: refElem, class: ["vxe-grid", { [`size--${vSize}`]: vSize, "is--animat": !!props.animat, "is--round": props.round, "is--maximize": reactData.isZMax, "is--loading": isLoading }], style: styles }, renderLayout()); }; const columnFlag = ref(0); watch(() => props.columns ? props.columns.length : -1, () => { columnFlag.value++; }); watch(() => props.columns, () => { columnFlag.value++; }); watch(columnFlag, () => { nextTick(() => $xeGrid.loadColumn(props.columns || [])); }); watch(() => props.toolbarConfig, () => { initToolbar(); }); watch(computeCustomCurrentPageFlag, () => { initPages("currentPage"); }); watch(computeCustomPageSizeFlag, () => { initPages("pageSize"); }); watch(computeCustomTotalFlag, () => { initPages("total"); }); watch(() => props.proxyConfig, () => { initProxy(); }); hooks.forEach((options) => { const { setupGrid } = options; if (setupGrid) { const hookRest = setupGrid($xeGrid); if (hookRest && import_xe_utils.default.isObject(hookRest)) { Object.assign($xeGrid, hookRest); } } }); initPages(); onMounted(() => { nextTick(() => { const { columns } = props; const proxyOpts = computeProxyOpts.value; if (props.formConfig) { if (!VxeUIFormComponent) { errLog("vxe.error.reqComp", ["vxe-form"]); } } if (props.pagerConfig) { if (!VxeUIPagerComponent) { errLog("vxe.error.reqComp", ["vxe-pager"]); } } if (proxyOpts.props) { warnLog("vxe.error.delProp", ["[grid] proxy-config.props", "proxy-config.response"]); } if (columns && columns.length) { $xeGrid.loadColumn(columns); } initToolbar(); initProxy(); }); globalEvents.on($xeGrid, "keydown", handleGlobalKeydownEvent); }); onUnmounted(() => { globalEvents.off($xeGrid, "keydown"); import_xe_utils.default.assign(internalData, createInternalData()); }); $xeGrid.renderVN = renderVN; provide("$xeGrid", $xeGrid); provide("$xeGantt", null); return $xeGrid; }, render() { return this.renderVN(); } }); // ../node_modules/.pnpm/vxe-table@4.17.14_vue@3.5.24_typescript@5.9.3_/node_modules/vxe-table/es/grid/index.js var VxeGrid = Object.assign({}, grid_default, { install(app) { app.component(grid_default.name, grid_default); } }); if (VxeUI.dynamicApp) { VxeUI.dynamicApp.component(grid_default.name, grid_default); } VxeUI.component(grid_default); var Grid = VxeGrid; var grid_default2 = VxeGrid; // ../node_modules/.pnpm/vxe-table@4.17.14_vue@3.5.24_typescript@5.9.3_/node_modules/vxe-table/es/vxe-grid/index.js var vxe_grid_default = grid_default2; export { Grid, VxeGrid, vxe_grid_default as default }; //# sourceMappingURL=vxe-table_es_vxe-grid_index__js.js.map