UNPKG

@platform/ui.datagrid

Version:

Isolated tabular DataGrid.

88 lines (87 loc) 3.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getSettings = void 0; var grid_1 = require("../grid"); var common_1 = require("../common"); var hooks = require("./hooks"); var DEFAULT = common_1.constants.DEFAULT; function getSettings(args) { var grid = args.grid; var selectionHandler = hooks.afterSelectionHandler(grid); var createColumns = function (length) { var col = { renderer: DEFAULT.CELL.RENDERER, editor: grid_1.Editor, }; return Array.from({ length: length }).map(function () { return col; }); }; var rowHeights = function (index) { var _a, _b; var height = grid.defaults.rowHeight; if (grid.isInitialized) { var row = grid.data.rows[index]; var props = row ? row.props : undefined; height = props && ((_a = props.grid) === null || _a === void 0 ? void 0 : _a.height) !== undefined ? (_b = props.grid) === null || _b === void 0 ? void 0 : _b.height : height; } return height; }; var colWidths = function (index) { var _a, _b; var width = grid.defaults.columnWidth; if (grid.isInitialized) { var key = common_1.coord.cell.toKey(index); var column = grid.data.columns[key]; var props = column ? column.props : undefined; width = props && ((_a = props.grid) === null || _a === void 0 ? void 0 : _a.width) !== undefined ? (_b = props.grid) === null || _b === void 0 ? void 0 : _b.width : width; } return width; }; var size = hooks.sizeHandlers(grid); var afterColumnResize = size.afterColumnResize, afterRowResize = size.afterRowResize, modifyColWidth = size.modifyColWidth, modifyRowHeight = size.modifyRowHeight; var afterSelection = selectionHandler.afterSelection, afterDeselect = selectionHandler.afterDeselect; var settings = { data: [], rowHeaders: true, rowHeights: rowHeights, colHeaders: true, colWidths: colWidths, columns: createColumns(grid.totalColumns), viewportRowRenderingOffset: 20, manualRowResize: true, manualColumnResize: true, renderAllRows: false, undo: false, beforeKeyDown: hooks.beforeKeyDownHandler(grid), afterSelection: afterSelection, afterDeselect: afterDeselect, afterColumnResize: afterColumnResize, afterRowResize: afterRowResize, modifyColWidth: modifyColWidth, modifyRowHeight: modifyRowHeight, fillHandle: true, beforeAutofill: function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } return false; }, beforeAutofillInsidePopulate: function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } return false; }, beforeOnCellMouseDown: hooks.mouseCell(grid, 'DOWN'), beforeOnCellMouseUp: hooks.mouseCell(grid, 'UP'), beforeOnCellMouseOver: hooks.mouseCell(grid, 'ENTER'), beforeOnCellMouseOut: hooks.mouseCell(grid, 'LEAVE'), beforeUndo: hooks.undo(grid, 'BEFORE', 'UNDO'), afterUndo: hooks.undo(grid, 'AFTER', 'UNDO'), beforeRedo: hooks.undo(grid, 'BEFORE', 'REDO'), afterRedo: hooks.undo(grid, 'AFTER', 'REDO'), }; return settings; } exports.getSettings = getSettings;