vue-gantt-3
Version:
A gantt component for Vue 3
53 lines (52 loc) • 1.84 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const vue = require("vue");
const FirstColumnCellRender_vue_vue_type_script_setup_true_lang = require("./FirstColumnCellRender.vue.js");
;/* empty css */
const useTableColumns = ({
props,
getRowNode
}) => {
const columns = vue.toRef(props, "columns");
const firstColumnCellRenderComp = vue.markRaw(FirstColumnCellRender_vue_vue_type_script_setup_true_lang.default);
const columnDefs = vue.shallowRef([]);
let firstColumId = "";
vue.watch(columns, (val) => {
formatColumnDefs(val);
});
vue.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
};
};
exports.useTableColumns = useTableColumns;
//# sourceMappingURL=useTableColumn.js.map