abdul-react 0.0.50 → 0.0.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/ComponentProps/TreeNodeProps.d.ts +2 -0
- package/lib/_virtual/index10.js +2 -2
- package/lib/_virtual/index11.js +2 -2
- package/lib/assets/icons/apps_icon.svg.js +6 -0
- package/lib/assets/icons/apps_icon.svg.js.map +1 -0
- package/lib/assets/icons/dataset_list.svg.js +1 -1
- package/lib/assets/icons/dataset_list.svg.js.map +1 -1
- package/lib/assets/icons/home_icon.svg.js +6 -0
- package/lib/assets/icons/home_icon.svg.js.map +1 -0
- package/lib/assets/icons/lambda_icon.svg.js +1 -1
- package/lib/assets/icons/lambda_icon.svg.js.map +1 -1
- package/lib/assets/icons/sause_lab_icon.svg.js +1 -1
- package/lib/assets/icons/sause_lab_icon.svg.js.map +1 -1
- package/lib/components/Button/Button.js +2 -2
- package/lib/components/Button/Button.js.map +1 -1
- package/lib/components/Charts/BarChart/BarChart.js +38 -8
- package/lib/components/Charts/BarChart/BarChart.js.map +1 -1
- package/lib/components/Chip/Chip.js +1 -1
- package/lib/components/Chip/Chip.js.map +1 -1
- package/lib/components/Excel/ExcelFile/ExcelFile.js +4 -4
- package/lib/components/Excel/ExcelFile/ExcelFile.js.map +1 -1
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/ActiveCell.js +15 -6
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/ActiveCell.js.map +1 -1
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/DataEditor.js +8 -46
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/DataEditor.js.map +1 -1
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/EditableCell.d.ts +9 -0
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/EditableCell.js +75 -0
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/EditableCell.js.map +1 -0
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/actions.d.ts +1 -9
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/actions.js +1 -11
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/actions.js.map +1 -1
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/reducer.js +32 -245
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/reducer.js.map +1 -1
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/util.d.ts +1 -1
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/util.js +16 -44
- package/lib/components/Excel/ExcelFile/ExcelFileComponents/util.js.map +1 -1
- package/lib/components/Excel/ExcelToolBar/ExcelToolBar.js +8 -8
- package/lib/components/Excel/ExcelToolBar/ExcelToolBar.js.map +1 -1
- package/lib/components/Icon/iconList.js +4 -0
- package/lib/components/Icon/iconList.js.map +1 -1
- package/lib/components/IconButton/IconButton.js +5 -1
- package/lib/components/IconButton/IconButton.js.map +1 -1
- package/lib/components/IconButton/types.d.ts +1 -0
- package/lib/components/InputWithDropdown/InputWithDropdown.js +4 -2
- package/lib/components/InputWithDropdown/InputWithDropdown.js.map +1 -1
- package/lib/components/InputWithDropdown/types.d.ts +1 -0
- package/lib/components/MenuOption/MenuOption.js +2 -1
- package/lib/components/MenuOption/MenuOption.js.map +1 -1
- package/lib/components/MultiSelect/Dropdown.js +2 -1
- package/lib/components/MultiSelect/Dropdown.js.map +1 -1
- package/lib/components/MultiSelect/MultiSelect.js +2 -1
- package/lib/components/MultiSelect/MultiSelect.js.map +1 -1
- package/lib/components/NLPInput/NlpInput.js +0 -11
- package/lib/components/NLPInput/NlpInput.js.map +1 -1
- package/lib/components/NLPInput/components/NlpDropDown/NlpDropdown.js +9 -0
- package/lib/components/NLPInput/components/NlpDropDown/NlpDropdown.js.map +1 -1
- package/lib/components/Select/Select.js +43 -25
- package/lib/components/Select/Select.js.map +1 -1
- package/lib/components/Select/components/types.d.ts +1 -0
- package/lib/components/Select/components/types.js.map +1 -1
- package/lib/components/Select/types.d.ts +1 -0
- package/lib/components/SessionDropdown/SessionDropdown.js +45 -29
- package/lib/components/SessionDropdown/SessionDropdown.js.map +1 -1
- package/lib/components/SessionDropdown/type.d.ts +2 -0
- package/lib/components/StepsLandingTable/Components/StepTableMainRow.js +1 -1
- package/lib/components/StepsLandingTable/Components/StepTableMainRow.js.map +1 -1
- package/lib/components/StepsLandingTable/StepLandingTable.js +4 -2
- package/lib/components/StepsLandingTable/StepLandingTable.js.map +1 -1
- package/lib/components/StepsLandingTable/types.d.ts +3 -2
- package/lib/components/TableTreeFn/Utils/addNewRow.js +30 -14
- package/lib/components/TableTreeFn/Utils/addNewRow.js.map +1 -1
- package/lib/components/TableTreeFn/Utils/updateParentSibling.d.ts +3 -0
- package/lib/components/TableTreeFn/Utils/updateParentSibling.js +56 -0
- package/lib/components/TableTreeFn/Utils/updateParentSibling.js.map +1 -0
- package/lib/components/TextArea/Textarea.js +2 -2
- package/lib/components/TextArea/Textarea.js.map +1 -1
- package/lib/index.cjs +398 -462
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.ts +8 -0
- package/lib/node_modules/js-beautify/js/src/css/index.js +1 -1
- package/lib/node_modules/js-beautify/js/src/html/options.js +1 -1
- package/lib/node_modules/js-beautify/js/src/html/tokenizer.js +1 -1
- package/lib/node_modules/js-beautify/js/src/javascript/index.js +1 -1
- package/lib/node_modules/js-beautify/js/src/javascript/options.js +1 -1
- package/lib/node_modules/js-beautify/js/src/javascript/tokenizer.js +1 -1
- package/lib/styles.css +1 -1
- package/lib/styles.css.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/utils/getEncryptedData/getEncryptedData.js.map +1 -1
- package/lib/validations/regex.d.ts +2 -1
- package/lib/validations/regex.js +2 -2
- package/lib/validations/regex.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import React__default, { useRef, useEffect } from 'react';
|
|
3
|
+
|
|
4
|
+
const EditableCell = /*#__PURE__*/React__default.forwardRef(({
|
|
5
|
+
initialValue = '',
|
|
6
|
+
onChange,
|
|
7
|
+
className = '',
|
|
8
|
+
style = {}
|
|
9
|
+
}, ref) => {
|
|
10
|
+
const cellRef = useRef(null);
|
|
11
|
+
React__default.useImperativeHandle(ref, () => cellRef.current);
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
if (cellRef.current && initialValue !== cellRef.current.innerText) {
|
|
14
|
+
cellRef.current.innerText = initialValue;
|
|
15
|
+
}
|
|
16
|
+
}, [initialValue]);
|
|
17
|
+
const defaultStyle = {
|
|
18
|
+
outline: 'none',
|
|
19
|
+
transition: 'border 0.2s',
|
|
20
|
+
whiteSpace: 'pre-wrap',
|
|
21
|
+
wordBreak: 'break-word'
|
|
22
|
+
};
|
|
23
|
+
const handleKeyDown = e => {
|
|
24
|
+
if (e.key === 'Enter') {
|
|
25
|
+
if (e.altKey || e.shiftKey) {
|
|
26
|
+
e.preventDefault();
|
|
27
|
+
document.execCommand('insertLineBreak');
|
|
28
|
+
handleInput();
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
cellRef.current?.blur();
|
|
32
|
+
}
|
|
33
|
+
if (e.key === 'Delete' || e.key === 'Backspace') {
|
|
34
|
+
e.stopPropagation();
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
const handleInput = () => {
|
|
39
|
+
if (cellRef.current) {
|
|
40
|
+
const newValue = cellRef.current.innerText;
|
|
41
|
+
onChange?.(newValue);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
const handlePaste = e => {
|
|
45
|
+
e.preventDefault();
|
|
46
|
+
const text = e.clipboardData.getData('text/plain');
|
|
47
|
+
const selection = window.getSelection();
|
|
48
|
+
if (!selection || !selection.rangeCount) return;
|
|
49
|
+
const range = selection.getRangeAt(0);
|
|
50
|
+
range.deleteContents();
|
|
51
|
+
const textNode = document.createTextNode(text);
|
|
52
|
+
range.insertNode(textNode);
|
|
53
|
+
range.setStartAfter(textNode);
|
|
54
|
+
range.collapse(true);
|
|
55
|
+
selection.removeAllRanges();
|
|
56
|
+
selection.addRange(range);
|
|
57
|
+
handleInput();
|
|
58
|
+
};
|
|
59
|
+
return jsx("div", {
|
|
60
|
+
ref: cellRef,
|
|
61
|
+
className: `editable-cell ${className}`,
|
|
62
|
+
contentEditable: true,
|
|
63
|
+
suppressContentEditableWarning: true,
|
|
64
|
+
onKeyDown: handleKeyDown,
|
|
65
|
+
onInput: handleInput,
|
|
66
|
+
onPaste: handlePaste,
|
|
67
|
+
style: {
|
|
68
|
+
...defaultStyle,
|
|
69
|
+
...style
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
export { EditableCell as default };
|
|
75
|
+
//# sourceMappingURL=EditableCell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EditableCell.js","sources":["../../../../../src/components/Excel/ExcelFile/ExcelFileComponents/EditableCell.tsx"],"sourcesContent":[null],"names":["EditableCell","React","forwardRef","initialValue","onChange","className","style","ref","cellRef","useRef","useImperativeHandle","current","useEffect","innerText","defaultStyle","outline","transition","whiteSpace","wordBreak","handleKeyDown","e","key","altKey","shiftKey","preventDefault","document","execCommand","handleInput","blur","stopPropagation","newValue","handlePaste","text","clipboardData","getData","selection","window","getSelection","rangeCount","range","getRangeAt","deleteContents","textNode","createTextNode","insertNode","setStartAfter","collapse","removeAllRanges","addRange","_jsx","contentEditable","suppressContentEditableWarning","onKeyDown","onInput","onPaste"],"mappings":"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"}
|
|
@@ -45,7 +45,6 @@ export declare const SET_COLUMN_POSITION = "SET_COLUMN_POSITION";
|
|
|
45
45
|
export declare const SET_AUTO_FILL = "SET_AUTO_FILL";
|
|
46
46
|
export declare const SET_EDITABLE = "SET_EDITABLE";
|
|
47
47
|
export declare const ON_MOUSE_UP = "ON_MOUSE_UP";
|
|
48
|
-
export declare const BATCH_RESIZE = "BATCH_RESIZE";
|
|
49
48
|
export type BaseAction<T extends string> = {
|
|
50
49
|
type: T;
|
|
51
50
|
};
|
|
@@ -266,13 +265,6 @@ export declare function view(): ViewAction;
|
|
|
266
265
|
export type ClearAction = BaseAction<typeof CLEAR>;
|
|
267
266
|
export declare function clear(): ClearAction;
|
|
268
267
|
export type BlurAction = BaseAction<typeof BLUR>;
|
|
269
|
-
export type BatchResizeAction = BaseAction<typeof BATCH_RESIZE> & {
|
|
270
|
-
payload: {
|
|
271
|
-
rows: number[];
|
|
272
|
-
columns: number[];
|
|
273
|
-
};
|
|
274
|
-
};
|
|
275
|
-
export declare function batchResize(rows: number[], columns: number[]): BatchResizeAction;
|
|
276
268
|
export declare function blur(): BlurAction;
|
|
277
|
-
export type Action = SetDataAction | SetCreateFormulaParserAction | SelectEntireRowAction | SelectEntireColumnAction | SelectEntireWorksheetAction | SetSelectionAction | SelectAction | ActivateAction | SetCellDataAction | SetCellDimensionsAction | PasteAction | KeyDownAction | DragStartAction | DragEndAction | CommitAction | CopyAction | CutAction | EditAction | ViewAction | ClearAction | UnderlineTypeStyle | FontSize | FontFamily | KeyPressAction | TextAlignType | BorderType | ItalicStyle | BoldStyle | ColorStyle | BackgroundStyle | FormatePainterStyle | AddRowTop | AddRowBottom | AddColumnLeft | AddColumnRight | DeleteRow | DeleteColumn | SetRowHeight | SetColumnPosition | SetAutoFill | SetEditable | OnMouseUp | BlurAction
|
|
269
|
+
export type Action = SetDataAction | SetCreateFormulaParserAction | SelectEntireRowAction | SelectEntireColumnAction | SelectEntireWorksheetAction | SetSelectionAction | SelectAction | ActivateAction | SetCellDataAction | SetCellDimensionsAction | PasteAction | KeyDownAction | DragStartAction | DragEndAction | CommitAction | CopyAction | CutAction | EditAction | ViewAction | ClearAction | UnderlineTypeStyle | FontSize | FontFamily | KeyPressAction | TextAlignType | BorderType | ItalicStyle | BoldStyle | ColorStyle | BackgroundStyle | FormatePainterStyle | AddRowTop | AddRowBottom | AddColumnLeft | AddColumnRight | DeleteRow | DeleteColumn | SetRowHeight | SetColumnPosition | SetAutoFill | SetEditable | OnMouseUp | BlurAction;
|
|
278
270
|
export {};
|
|
@@ -41,7 +41,6 @@ const SET_COLUMN_POSITION = 'SET_COLUMN_POSITION';
|
|
|
41
41
|
const SET_AUTO_FILL = 'SET_AUTO_FILL';
|
|
42
42
|
const SET_EDITABLE = 'SET_EDITABLE';
|
|
43
43
|
const ON_MOUSE_UP = 'ON_MOUSE_UP';
|
|
44
|
-
const BATCH_RESIZE = 'BATCH_RESIZE';
|
|
45
44
|
function onMouseUp(point) {
|
|
46
45
|
return {
|
|
47
46
|
type: ON_MOUSE_UP,
|
|
@@ -352,20 +351,11 @@ function view() {
|
|
|
352
351
|
type: VIEW
|
|
353
352
|
};
|
|
354
353
|
}
|
|
355
|
-
function batchResize(rows, columns) {
|
|
356
|
-
return {
|
|
357
|
-
type: BATCH_RESIZE,
|
|
358
|
-
payload: {
|
|
359
|
-
rows,
|
|
360
|
-
columns
|
|
361
|
-
}
|
|
362
|
-
};
|
|
363
|
-
}
|
|
364
354
|
function blur() {
|
|
365
355
|
return {
|
|
366
356
|
type: BLUR
|
|
367
357
|
};
|
|
368
358
|
}
|
|
369
359
|
|
|
370
|
-
export { ACTIVATE, ADD_COLUMN_LEFT, ADD_COLUMN_RIGHT, ADD_ROW_BOTTOM, ADD_ROW_TOP, BACKGROUND_COLOR,
|
|
360
|
+
export { ACTIVATE, ADD_COLUMN_LEFT, ADD_COLUMN_RIGHT, ADD_ROW_BOTTOM, ADD_ROW_TOP, BACKGROUND_COLOR, BLUR, BOLD, BORDER_TYPE, CLEAR, COLOR, COMMIT, COPY, CUT, DELETE_COLUMN, DELETE_ROW, DRAG_END, DRAG_START, EDIT, FONT_FAMILY, FONT_SIZE, FORMATE_PAINTER, ITALIC, KEY_DOWN, KEY_PRESS, ON_MOUSE_UP, PASTE, SELECT, SELECT_ENTIRE_COLUMN, SELECT_ENTIRE_ROW, SELECT_ENTIRE_WORKSHEET, SET_AUTO_FILL, SET_CELL_DATA, SET_CELL_DIMENSIONS, SET_COLUMN_POSITION, SET_CREATE_FORMULA_PARSER, SET_DATA, SET_EDITABLE, SET_ROW_HEIGHT, SET_SELECTION, TEXT_ALIGN, UNDERLINE_TYPE, VIEW, activate, addColumnLeft, addColumnRight, addRowBottom, addRowTop, autoFill, backgroundStyle, blur, bold, borderType, color, commit, copy, cut, deleteColumn, deleteRow, dragEnd, dragStart, edit, editable, fontFamily, fontSize, formatePainter, italic, keyDown, keyPress, onMouseUp, paste, select, selectEntireColumn, selectEntireRow, selectEntireWorksheet, setCellData, setCellDimensions, setColumnPosition, setCreateFormulaParser, setData, setRowHeight, setSelection, textAlign, underlineType, view };
|
|
371
361
|
//# sourceMappingURL=actions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sources":["../../../../../src/components/Excel/ExcelFile/ExcelFileComponents/actions.ts"],"sourcesContent":[null],"names":["SET_DATA","SET_CREATE_FORMULA_PARSER","SELECT_ENTIRE_ROW","SELECT_ENTIRE_COLUMN","SELECT_ENTIRE_WORKSHEET","SET_SELECTION","SELECT","ACTIVATE","SET_CELL_DATA","SET_CELL_DIMENSIONS","COPY","CUT","PASTE","EDIT","VIEW","CLEAR","BLUR","KEY_PRESS","KEY_DOWN","DRAG_START","DRAG_END","COMMIT","BOLD","ITALIC","UNDERLINE_TYPE","FONT_FAMILY","FONT_SIZE","TEXT_ALIGN","BORDER_TYPE","COLOR","BACKGROUND_COLOR","FORMATE_PAINTER","ADD_ROW_TOP","ADD_ROW_BOTTOM","ADD_COLUMN_LEFT","ADD_COLUMN_RIGHT","DELETE_ROW","DELETE_COLUMN","SET_ROW_HEIGHT","SET_COLUMN_POSITION","SET_AUTO_FILL","SET_EDITABLE","ON_MOUSE_UP","
|
|
1
|
+
{"version":3,"file":"actions.js","sources":["../../../../../src/components/Excel/ExcelFile/ExcelFileComponents/actions.ts"],"sourcesContent":[null],"names":["SET_DATA","SET_CREATE_FORMULA_PARSER","SELECT_ENTIRE_ROW","SELECT_ENTIRE_COLUMN","SELECT_ENTIRE_WORKSHEET","SET_SELECTION","SELECT","ACTIVATE","SET_CELL_DATA","SET_CELL_DIMENSIONS","COPY","CUT","PASTE","EDIT","VIEW","CLEAR","BLUR","KEY_PRESS","KEY_DOWN","DRAG_START","DRAG_END","COMMIT","BOLD","ITALIC","UNDERLINE_TYPE","FONT_FAMILY","FONT_SIZE","TEXT_ALIGN","BORDER_TYPE","COLOR","BACKGROUND_COLOR","FORMATE_PAINTER","ADD_ROW_TOP","ADD_ROW_BOTTOM","ADD_COLUMN_LEFT","ADD_COLUMN_RIGHT","DELETE_ROW","DELETE_COLUMN","SET_ROW_HEIGHT","SET_COLUMN_POSITION","SET_AUTO_FILL","SET_EDITABLE","ON_MOUSE_UP","onMouseUp","point","type","payload","editable","autoFill","autofill","setRowHeight","row","height","setColumnPosition","column","width","bold","data","italic","borderType","value","color","underlineType","fontSize","fontFamily","textAlign","backgroundStyle","formatePainter","addRowTop","addRowBottom","addColumnLeft","columnWidth","addColumnRight","deleteRow","deleteColumn","keyPress","event","setData","setCreateFormulaParser","createFormulaParser","selectEntireRow","extend","selectEntireColumn","selectEntireWorksheet","setSelection","selection","select","activate","setCellData","active","setCellDimensions","dimensions","paste","keyDown","dragStart","dragEnd","commit","changes","copy","cut","edit","view","blur"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { PointRange } from './point-range.js';
|
|
2
|
-
import {
|
|
2
|
+
import { split, getSize, get, unset, set, pad, entries, has } from './matrix.js';
|
|
3
3
|
import { ORIGIN } from './point.js';
|
|
4
4
|
import { EmptySelection, RangeSelection, EntireWorksheetSelection, EntireColumnsSelection, EntireRowsSelection } from './selection.js';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { EmptyCell, isPasteAllowed, isActive, deleteColumnDimension, deleteRowDimension, insertColumnDimension, insertRowDimension } from './util.js';
|
|
6
|
+
import { COMMIT, DRAG_END, ON_MOUSE_UP, DRAG_START, SET_COLUMN_POSITION, SET_ROW_HEIGHT, KEY_DOWN, KEY_PRESS, BLUR, CLEAR, VIEW, EDIT, PASTE, CUT, COPY, SET_CELL_DIMENSIONS, SET_CELL_DATA, ACTIVATE, SELECT, SET_SELECTION, SELECT_ENTIRE_WORKSHEET, SELECT_ENTIRE_COLUMN, SELECT_ENTIRE_ROW, SET_CREATE_FORMULA_PARSER, SET_DATA, FORMATE_PAINTER, BACKGROUND_COLOR, COLOR, TEXT_ALIGN, FONT_FAMILY, FONT_SIZE, UNDERLINE_TYPE, BORDER_TYPE, ITALIC, BOLD, DELETE_COLUMN, DELETE_ROW, ADD_COLUMN_RIGHT, ADD_COLUMN_LEFT, ADD_ROW_BOTTOM, ADD_ROW_TOP, SET_AUTO_FILL, SET_EDITABLE } from './actions.js';
|
|
7
7
|
import { Model, updateCellValue } from './engine/engine.js';
|
|
8
8
|
import { createFormulaParser } from './engine/formula.js';
|
|
9
9
|
import { commit, dragEndFormatePainter, dragEndAutoFill, cellFormatePainter, isActiveReadOnly, getKeyDownHandler, edit, clear, blur, view, applyFormatePainter, applyBackgroundColorToCells, applyColorToCells, applyTextAlign, applyFontFamily, applyFontSize, applyUnderlineToCells, applyBorderToCells, applyItalicToCells, applyBoldToCells } from './reducerFunctions.js';
|
|
@@ -326,58 +326,40 @@ function reducer(state, action) {
|
|
|
326
326
|
const selectedRange = state.selected.toRange(state.model.data);
|
|
327
327
|
const updatedData = applyFontSize(state.model.data, selectedRange, value, state.editable);
|
|
328
328
|
const updatedModel = new Model(state.model.createFormulaParser, updatedData);
|
|
329
|
-
// Auto-resize all rows
|
|
329
|
+
// Auto-resize all rows on initial load
|
|
330
330
|
let newRowDimensions = {
|
|
331
331
|
...state.rowDimensions
|
|
332
332
|
};
|
|
333
|
-
let newColumnDimensions = {
|
|
334
|
-
...state.columnDimensions
|
|
335
|
-
};
|
|
336
333
|
// Auto-resize all rows
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
})
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
updatedData.forEach((rowData, _rowIndex) => {
|
|
361
|
-
const cell = rowData[col];
|
|
362
|
-
if (cell && cell.value && !['file'].includes(cell?.inputType?.type ?? 'text')) {
|
|
363
|
-
const font = getFontString(cell);
|
|
364
|
-
const textWidth = measureText(String(cell.value), font) + 20;
|
|
365
|
-
maxWidth = Math.max(maxWidth, textWidth);
|
|
366
|
-
}
|
|
334
|
+
if (!(state.mode === 'edit' && state.active)) {
|
|
335
|
+
updatedData.forEach((rowData, rowIndex) => {
|
|
336
|
+
let maxHeight = 32; // Default row height
|
|
337
|
+
rowData.forEach((cell, _colIndex) => {
|
|
338
|
+
if (cell && cell.value) {
|
|
339
|
+
const fontSize = cell.style?.fontSize ? parseInt(cell.style.fontSize.toString().replace('px', '')) : 11;
|
|
340
|
+
const lineHeight = Math.max(fontSize * 1.2, 18);
|
|
341
|
+
let lines = 0;
|
|
342
|
+
if (!['file', 'dropDown'].includes(cell?.inputType?.type ?? '')) {
|
|
343
|
+
lines = String(cell.value).split(' ').length;
|
|
344
|
+
}
|
|
345
|
+
lines += String(cell.value).split('\n').length - 1;
|
|
346
|
+
const cellHeight = lineHeight * lines + 10;
|
|
347
|
+
maxHeight = Math.max(maxHeight, cellHeight);
|
|
348
|
+
}
|
|
349
|
+
});
|
|
350
|
+
newRowDimensions[rowIndex] = {
|
|
351
|
+
...(newRowDimensions[rowIndex] || {
|
|
352
|
+
top: 0,
|
|
353
|
+
height: 32
|
|
354
|
+
}),
|
|
355
|
+
height: maxHeight
|
|
356
|
+
};
|
|
367
357
|
});
|
|
368
|
-
newColumnDimensions[col] = {
|
|
369
|
-
...(newColumnDimensions[col] || {
|
|
370
|
-
left: 0,
|
|
371
|
-
width: 100
|
|
372
|
-
}),
|
|
373
|
-
width: maxWidth
|
|
374
|
-
};
|
|
375
358
|
}
|
|
376
359
|
return {
|
|
377
360
|
...state,
|
|
378
361
|
model: updatedModel,
|
|
379
|
-
rowDimensions: newRowDimensions
|
|
380
|
-
columnDimensions: newColumnDimensions
|
|
362
|
+
rowDimensions: newRowDimensions
|
|
381
363
|
};
|
|
382
364
|
}
|
|
383
365
|
case FONT_FAMILY:
|
|
@@ -466,61 +448,11 @@ function reducer(state, action) {
|
|
|
466
448
|
} = action.payload;
|
|
467
449
|
const nextActive = state.active && has(state.active, data) ? state.active : null;
|
|
468
450
|
const nextSelected = state.selected.normalizeTo(data);
|
|
469
|
-
const updatedModel = new Model(state.model.createFormulaParser, data);
|
|
470
|
-
// Auto-resize all rows and columns on initial load
|
|
471
|
-
let newRowDimensions = {
|
|
472
|
-
...state.rowDimensions
|
|
473
|
-
};
|
|
474
|
-
let newColumnDimensions = {
|
|
475
|
-
...state.columnDimensions
|
|
476
|
-
};
|
|
477
|
-
// Auto-resize all rows
|
|
478
|
-
data.forEach((rowData, rowIndex) => {
|
|
479
|
-
let maxHeight = 32; // Default row height
|
|
480
|
-
rowData.forEach((cell, _colIndex) => {
|
|
481
|
-
if (cell && cell.value) {
|
|
482
|
-
const fontSize = cell.style?.fontSize ? parseInt(cell.style.fontSize.toString().replace('px', '')) : 11;
|
|
483
|
-
const lineHeight = Math.max(fontSize * 1.2, 18);
|
|
484
|
-
const lines = String(cell.value).split('\n').length;
|
|
485
|
-
const cellHeight = lineHeight * lines + 10;
|
|
486
|
-
maxHeight = Math.max(maxHeight, cellHeight);
|
|
487
|
-
}
|
|
488
|
-
});
|
|
489
|
-
newRowDimensions[rowIndex] = {
|
|
490
|
-
...(newRowDimensions[rowIndex] || {
|
|
491
|
-
top: 0,
|
|
492
|
-
height: 32
|
|
493
|
-
}),
|
|
494
|
-
height: maxHeight
|
|
495
|
-
};
|
|
496
|
-
});
|
|
497
|
-
// Auto-resize all columns
|
|
498
|
-
const columnCount = data[0] ? data[0].length : 0;
|
|
499
|
-
for (let col = 0; col < columnCount; col++) {
|
|
500
|
-
let maxWidth = 100; // Default column width
|
|
501
|
-
data.forEach((rowData, _rowIndex) => {
|
|
502
|
-
const cell = rowData[col];
|
|
503
|
-
if (cell && cell.value && !['file'].includes(cell?.inputType?.type ?? 'text')) {
|
|
504
|
-
const font = getFontString(cell);
|
|
505
|
-
const textWidth = measureText(String(cell.value), font) + 20;
|
|
506
|
-
maxWidth = Math.max(maxWidth, textWidth);
|
|
507
|
-
}
|
|
508
|
-
});
|
|
509
|
-
newColumnDimensions[col] = {
|
|
510
|
-
...(newColumnDimensions[col] || {
|
|
511
|
-
left: 0,
|
|
512
|
-
width: 100
|
|
513
|
-
}),
|
|
514
|
-
width: maxWidth
|
|
515
|
-
};
|
|
516
|
-
}
|
|
517
451
|
return {
|
|
518
452
|
...state,
|
|
519
|
-
model:
|
|
453
|
+
model: new Model(state.model.createFormulaParser, data),
|
|
520
454
|
active: nextActive,
|
|
521
|
-
selected: nextSelected
|
|
522
|
-
rowDimensions: newRowDimensions,
|
|
523
|
-
columnDimensions: newColumnDimensions
|
|
455
|
+
selected: nextSelected
|
|
524
456
|
};
|
|
525
457
|
}
|
|
526
458
|
case SET_CREATE_FORMULA_PARSER:
|
|
@@ -637,64 +569,9 @@ function reducer(state, action) {
|
|
|
637
569
|
if (isActiveReadOnly(state) || !state.editable) {
|
|
638
570
|
return state;
|
|
639
571
|
}
|
|
640
|
-
const updatedModel = updateCellValue(state.model, active, cellData);
|
|
641
|
-
// Only auto-resize if the cell value actually changed
|
|
642
|
-
const previousCell = get(active, state.model.data);
|
|
643
|
-
const valueChanged = previousCell?.value !== cellData.value;
|
|
644
|
-
let newRowDimensions = {
|
|
645
|
-
...state.rowDimensions
|
|
646
|
-
};
|
|
647
|
-
let newColumnDimensions = {
|
|
648
|
-
...state.columnDimensions
|
|
649
|
-
};
|
|
650
|
-
if (valueChanged) {
|
|
651
|
-
debouncedResize(`resize-${active.row}-${active.column}`, () => {
|
|
652
|
-
// Auto-resize row
|
|
653
|
-
const rowData = updatedModel.data[active.row] || [];
|
|
654
|
-
let maxRowHeight = 32; // Default row height
|
|
655
|
-
// Only check this row's cells for height calculation
|
|
656
|
-
rowData.forEach((cell, _colIndex) => {
|
|
657
|
-
if (cell && cell.value) {
|
|
658
|
-
const fontSize = cell.style?.fontSize ? parseInt(cell.style.fontSize.toString().replace('px', '')) : 11;
|
|
659
|
-
const lineHeight = Math.max(fontSize * 1.2, 18);
|
|
660
|
-
const lines = String(cell.value).split('\n').length;
|
|
661
|
-
const cellHeight = lineHeight * lines + 10;
|
|
662
|
-
maxRowHeight = Math.max(maxRowHeight, cellHeight);
|
|
663
|
-
}
|
|
664
|
-
});
|
|
665
|
-
newRowDimensions[active.row] = {
|
|
666
|
-
...(newRowDimensions[active.row] || {
|
|
667
|
-
top: 0,
|
|
668
|
-
height: 32
|
|
669
|
-
}),
|
|
670
|
-
height: maxRowHeight
|
|
671
|
-
};
|
|
672
|
-
// Auto-resize column
|
|
673
|
-
let maxColWidth = 100; // Default column width
|
|
674
|
-
// Only check this column's cells for width calculation
|
|
675
|
-
updatedModel.data.forEach((rowData, _rowIndex) => {
|
|
676
|
-
const cell = rowData[active.column];
|
|
677
|
-
if (cell && cell.value && !['file'].includes(cell?.inputType?.type ?? 'text')) {
|
|
678
|
-
const font = getFontString(cell);
|
|
679
|
-
const textWidth = measureText(String(cell.value), font) + 20;
|
|
680
|
-
maxColWidth = Math.max(maxColWidth, textWidth);
|
|
681
|
-
}
|
|
682
|
-
});
|
|
683
|
-
newColumnDimensions[active.column] = {
|
|
684
|
-
...(newColumnDimensions[active.column] || {
|
|
685
|
-
left: 0,
|
|
686
|
-
width: 100
|
|
687
|
-
}),
|
|
688
|
-
width: maxColWidth
|
|
689
|
-
};
|
|
690
|
-
}, 300 // 300ms delay
|
|
691
|
-
);
|
|
692
|
-
}
|
|
693
572
|
return {
|
|
694
573
|
...state,
|
|
695
|
-
model:
|
|
696
|
-
rowDimensions: newRowDimensions,
|
|
697
|
-
columnDimensions: newColumnDimensions,
|
|
574
|
+
model: updateCellValue(state.model, active, cellData),
|
|
698
575
|
lastChanged: active
|
|
699
576
|
};
|
|
700
577
|
}
|
|
@@ -855,36 +732,9 @@ function reducer(state, action) {
|
|
|
855
732
|
{
|
|
856
733
|
return view(state);
|
|
857
734
|
}
|
|
858
|
-
// In reducer.ts, update the CLEAR action for better performance
|
|
859
735
|
case CLEAR:
|
|
860
736
|
{
|
|
861
|
-
|
|
862
|
-
if (!selectedRange || !state.editable) {
|
|
863
|
-
return state;
|
|
864
|
-
}
|
|
865
|
-
let updatedData = state.model.data;
|
|
866
|
-
const commit = [];
|
|
867
|
-
// Track which rows and columns were cleared
|
|
868
|
-
const clearedRows = new Set();
|
|
869
|
-
const clearedColumns = new Set();
|
|
870
|
-
for (const point of selectedRange) {
|
|
871
|
-
const cell = get(point, updatedData) || null;
|
|
872
|
-
commit.push({
|
|
873
|
-
prevCell: cell,
|
|
874
|
-
nextCell: null
|
|
875
|
-
});
|
|
876
|
-
updatedData = set(point, EmptyCell, updatedData);
|
|
877
|
-
// Track cleared rows and columns
|
|
878
|
-
clearedRows.add(point.row);
|
|
879
|
-
clearedColumns.add(point.column);
|
|
880
|
-
}
|
|
881
|
-
const updatedModel = new Model(state.model.createFormulaParser, updatedData);
|
|
882
|
-
// Use batch resize for better performance
|
|
883
|
-
return reducer({
|
|
884
|
-
...state,
|
|
885
|
-
model: updatedModel,
|
|
886
|
-
lastCommit: commit
|
|
887
|
-
}, batchResize(Array.from(clearedRows), Array.from(clearedColumns)));
|
|
737
|
+
return clear(state);
|
|
888
738
|
}
|
|
889
739
|
case BLUR:
|
|
890
740
|
{
|
|
@@ -1084,69 +934,6 @@ function reducer(state, action) {
|
|
|
1084
934
|
...commit(changes)
|
|
1085
935
|
};
|
|
1086
936
|
}
|
|
1087
|
-
case BATCH_RESIZE:
|
|
1088
|
-
{
|
|
1089
|
-
const {
|
|
1090
|
-
rows,
|
|
1091
|
-
columns
|
|
1092
|
-
} = action.payload;
|
|
1093
|
-
const {
|
|
1094
|
-
model,
|
|
1095
|
-
rowDimensions,
|
|
1096
|
-
columnDimensions
|
|
1097
|
-
} = state;
|
|
1098
|
-
let newRowDimensions = {
|
|
1099
|
-
...rowDimensions
|
|
1100
|
-
};
|
|
1101
|
-
let newColumnDimensions = {
|
|
1102
|
-
...columnDimensions
|
|
1103
|
-
};
|
|
1104
|
-
// Resize specified rows
|
|
1105
|
-
rows.forEach(row => {
|
|
1106
|
-
const rowData = model.data[row] || [];
|
|
1107
|
-
let maxHeight = 32;
|
|
1108
|
-
rowData.forEach((cell, _colIndex) => {
|
|
1109
|
-
if (cell && cell.value) {
|
|
1110
|
-
const fontSize = cell.style?.fontSize ? parseInt(cell.style.fontSize.toString().replace('px', '')) : 11;
|
|
1111
|
-
const lineHeight = Math.max(fontSize * 1.2, 18);
|
|
1112
|
-
const lines = String(cell.value).split('\n').length;
|
|
1113
|
-
const cellHeight = lineHeight * lines + 10;
|
|
1114
|
-
maxHeight = Math.max(maxHeight, cellHeight);
|
|
1115
|
-
}
|
|
1116
|
-
});
|
|
1117
|
-
newRowDimensions[row] = {
|
|
1118
|
-
...(newRowDimensions[row] || {
|
|
1119
|
-
top: 0,
|
|
1120
|
-
height: 32
|
|
1121
|
-
}),
|
|
1122
|
-
height: maxHeight
|
|
1123
|
-
};
|
|
1124
|
-
});
|
|
1125
|
-
// Resize specified columns
|
|
1126
|
-
columns.forEach(col => {
|
|
1127
|
-
let maxWidth = 100;
|
|
1128
|
-
model.data.forEach((rowData, _rowIndex) => {
|
|
1129
|
-
const cell = rowData[col];
|
|
1130
|
-
if (cell && cell.value && !['file'].includes(cell?.inputType?.type ?? 'text')) {
|
|
1131
|
-
const font = getFontString(cell);
|
|
1132
|
-
const textWidth = measureText(String(cell.value), font) + 20;
|
|
1133
|
-
maxWidth = Math.max(maxWidth, textWidth);
|
|
1134
|
-
}
|
|
1135
|
-
});
|
|
1136
|
-
newColumnDimensions[col] = {
|
|
1137
|
-
...(newColumnDimensions[col] || {
|
|
1138
|
-
left: 0,
|
|
1139
|
-
width: 100
|
|
1140
|
-
}),
|
|
1141
|
-
width: maxWidth
|
|
1142
|
-
};
|
|
1143
|
-
});
|
|
1144
|
-
return {
|
|
1145
|
-
...state,
|
|
1146
|
-
rowDimensions: newRowDimensions,
|
|
1147
|
-
columnDimensions: newColumnDimensions
|
|
1148
|
-
};
|
|
1149
|
-
}
|
|
1150
937
|
default:
|
|
1151
938
|
throw new Error('Unknown action');
|
|
1152
939
|
}
|