UNPKG

vue-gantt-3

Version:

A gantt component for Vue 3

53 lines (52 loc) 1.66 kB
import { toRef, markRaw, shallowRef, watch, onBeforeMount } from "vue"; import _sfc_main from "./FirstColumnCellRender.vue.mjs"; /* empty css */ const useTableColumns = ({ props, getRowNode }) => { const columns = toRef(props, "columns"); const firstColumnCellRenderComp = markRaw(_sfc_main); const columnDefs = shallowRef([]); let firstColumId = ""; watch(columns, (val) => { formatColumnDefs(val); }); onBeforeMount(() => { formatColumnDefs(columns.value); }); function formatColumnDefs(columnDatas) { var _a; firstColumId = ((_a = columnDatas[0]) == null ? void 0 : _a.field) || ""; const newColumnDefs = []; for (let columnData of columnDatas) { const newColumnData = { ...columnData }; newColumnData.cellRendererSelector = cellRendererSelector; newColumnDefs.push(newColumnData); } columnDefs.value = newColumnDefs; } function cellRendererSelector(params) { var _a, _b, _c; const field = (_a = params.colDef) == null ? void 0 : _a.field; const cellRendererParams = (_b = params.colDef) == null ? void 0 : _b.cellRendererParams; if (firstColumId && field === firstColumId && (cellRendererParams == null ? void 0 : cellRendererParams.expandable)) { return { component: firstColumnCellRenderComp, params: { ...cellRendererParams, component: (_c = params.colDef) == null ? void 0 : _c.cellRenderer, rowNode: getRowNode(params.data) } }; } return void 0; } return { columnDefs }; }; export { useTableColumns }; //# sourceMappingURL=useTableColumn.mjs.map