@deephaven/grid 0.22.3-deep-bot-test.14 → 0.23.0
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/dist/CellInputField.d.ts +6 -6
- package/dist/CellInputField.d.ts.map +1 -1
- package/dist/CellInputField.js +6 -23
- package/dist/CellInputField.js.map +1 -1
- package/dist/EditableGridModel.d.ts +1 -1
- package/dist/EditableGridModel.d.ts.map +1 -1
- package/dist/EditableGridModel.js +1 -0
- package/dist/EditableGridModel.js.map +1 -1
- package/dist/EventHandlerResult.d.ts +2 -2
- package/dist/EventHandlerResult.d.ts.map +1 -1
- package/dist/ExpandableGridModel.js +1 -0
- package/dist/ExpandableGridModel.js.map +1 -1
- package/dist/Grid.d.ts +76 -3
- package/dist/Grid.d.ts.map +1 -1
- package/dist/Grid.js +77 -315
- package/dist/Grid.js.map +1 -1
- package/dist/GridAxisRange.d.ts +3 -3
- package/dist/GridAxisRange.d.ts.map +1 -1
- package/dist/GridAxisRange.js.map +1 -1
- package/dist/GridColorUtils.js +1 -2
- package/dist/GridColorUtils.js.map +1 -1
- package/dist/GridMetricCalculator.js +83 -240
- package/dist/GridMetricCalculator.js.map +1 -1
- package/dist/GridMetrics.d.ts +10 -10
- package/dist/GridMetrics.d.ts.map +1 -1
- package/dist/GridModel.js +13 -31
- package/dist/GridModel.js.map +1 -1
- package/dist/GridMouseHandler.d.ts +3 -3
- package/dist/GridMouseHandler.d.ts.map +1 -1
- package/dist/GridMouseHandler.js +2 -15
- package/dist/GridMouseHandler.js.map +1 -1
- package/dist/GridRange.d.ts +6 -6
- package/dist/GridRange.d.ts.map +1 -1
- package/dist/GridRange.js +46 -160
- package/dist/GridRange.js.map +1 -1
- package/dist/GridRenderer.d.ts +7 -7
- package/dist/GridRenderer.d.ts.map +1 -1
- package/dist/GridRenderer.js +126 -407
- package/dist/GridRenderer.js.map +1 -1
- package/dist/GridTestUtils.js +0 -5
- package/dist/GridTestUtils.js.map +1 -1
- package/dist/GridTheme.d.ts +5 -5
- package/dist/GridTheme.d.ts.map +1 -1
- package/dist/GridTheme.js.map +1 -1
- package/dist/GridUtils.d.ts +2 -2
- package/dist/GridUtils.d.ts.map +1 -1
- package/dist/GridUtils.js +68 -217
- package/dist/GridUtils.js.map +1 -1
- package/dist/KeyHandler.d.ts +1 -1
- package/dist/KeyHandler.d.ts.map +1 -1
- package/dist/KeyHandler.js +2 -8
- package/dist/KeyHandler.js.map +1 -1
- package/dist/MockGridData.d.ts +2 -2
- package/dist/MockGridData.js.map +1 -1
- package/dist/MockGridModel.js +0 -42
- package/dist/MockGridModel.js.map +1 -1
- package/dist/MockTreeGridModel.d.ts +7 -7
- package/dist/MockTreeGridModel.d.ts.map +1 -1
- package/dist/MockTreeGridModel.js +6 -55
- package/dist/MockTreeGridModel.js.map +1 -1
- package/dist/StaticDataGridModel.js +0 -15
- package/dist/StaticDataGridModel.js.map +1 -1
- package/dist/ThemeContext.js.map +1 -1
- package/dist/ViewportDataGridModel.js +0 -14
- package/dist/ViewportDataGridModel.js.map +1 -1
- package/dist/errors/AssertionError.js +0 -3
- package/dist/errors/AssertionError.js.map +1 -1
- package/dist/errors/PasteError.js +0 -3
- package/dist/errors/PasteError.js.map +1 -1
- package/dist/errors/assertIsDefined.js.map +1 -1
- package/dist/errors/index.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/key-handlers/EditKeyHandler.js +0 -12
- package/dist/key-handlers/EditKeyHandler.js.map +1 -1
- package/dist/key-handlers/PasteKeyHandler.js +15 -33
- package/dist/key-handlers/PasteKeyHandler.js.map +1 -1
- package/dist/key-handlers/SelectionKeyHandler.js +6 -53
- package/dist/key-handlers/SelectionKeyHandler.js.map +1 -1
- package/dist/key-handlers/TreeKeyHandler.js +0 -11
- package/dist/key-handlers/TreeKeyHandler.js.map +1 -1
- package/dist/key-handlers/index.js.map +1 -1
- package/dist/memoizeClear.js +1 -4
- package/dist/memoizeClear.js.map +1 -1
- package/dist/mouse-handlers/EditMouseHandler.js +0 -5
- package/dist/mouse-handlers/EditMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridColumnMoveMouseHandler.js +35 -123
- package/dist/mouse-handlers/GridColumnMoveMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.js +2 -27
- package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridHorizontalScrollBarMouseHandler.js +0 -28
- package/dist/mouse-handlers/GridHorizontalScrollBarMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridRowMoveMouseHandler.js +0 -27
- package/dist/mouse-handlers/GridRowMoveMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridRowSeparatorMouseHandler.js +0 -23
- package/dist/mouse-handlers/GridRowSeparatorMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridRowTreeMouseHandler.js +0 -10
- package/dist/mouse-handlers/GridRowTreeMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridScrollBarCornerMouseHandler.js +0 -6
- package/dist/mouse-handlers/GridScrollBarCornerMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridSelectionMouseHandler.js +8 -38
- package/dist/mouse-handlers/GridSelectionMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridSeparatorMouseHandler.d.ts +9 -9
- package/dist/mouse-handlers/GridSeparatorMouseHandler.d.ts.map +1 -1
- package/dist/mouse-handlers/GridSeparatorMouseHandler.js +5 -54
- package/dist/mouse-handlers/GridSeparatorMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridVerticalScrollBarMouseHandler.js +0 -28
- package/dist/mouse-handlers/GridVerticalScrollBarMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/index.js.map +1 -1
- package/package.json +4 -4
package/dist/CellInputField.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { SELECTION_DIRECTION } from './GridRange';
|
|
4
4
|
import './CellInputField.scss';
|
|
5
|
-
export
|
|
5
|
+
export type CellInputFieldProps = {
|
|
6
6
|
selectionRange?: number[];
|
|
7
7
|
className?: string;
|
|
8
8
|
disabled?: boolean;
|
|
@@ -18,9 +18,9 @@ export declare type CellInputFieldProps = {
|
|
|
18
18
|
style?: React.CSSProperties;
|
|
19
19
|
};
|
|
20
20
|
export declare const directionForKey: (key: string) => SELECTION_DIRECTION | undefined;
|
|
21
|
-
export declare
|
|
22
|
-
|
|
23
|
-
propTypes: {
|
|
21
|
+
export declare function CellInputField({ selectionRange, className, disabled, value: propsValue, isQuickEdit: propsIsQuickEdit, onChange, onCancel, onDone, onContextMenu, style, }: CellInputFieldProps): JSX.Element;
|
|
22
|
+
export declare namespace CellInputField {
|
|
23
|
+
var propTypes: {
|
|
24
24
|
selectionRange: PropTypes.Requireable<(number | null | undefined)[]>;
|
|
25
25
|
className: PropTypes.Requireable<string>;
|
|
26
26
|
disabled: PropTypes.Requireable<boolean>;
|
|
@@ -32,7 +32,7 @@ export declare const CellInputField: {
|
|
|
32
32
|
onContextMenu: PropTypes.Requireable<(...args: any[]) => any>;
|
|
33
33
|
style: PropTypes.Requireable<PropTypes.InferProps<{}>>;
|
|
34
34
|
};
|
|
35
|
-
defaultProps: {
|
|
35
|
+
var defaultProps: {
|
|
36
36
|
selectionRange: null;
|
|
37
37
|
className: string;
|
|
38
38
|
disabled: boolean;
|
|
@@ -44,6 +44,6 @@ export declare const CellInputField: {
|
|
|
44
44
|
onContextMenu: () => undefined;
|
|
45
45
|
style: {};
|
|
46
46
|
};
|
|
47
|
-
}
|
|
47
|
+
}
|
|
48
48
|
export default CellInputField;
|
|
49
49
|
//# sourceMappingURL=CellInputField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CellInputField.d.ts","sourceRoot":"","sources":["../src/CellInputField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AACxE,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,uBAAuB,CAAC;AAE/B,
|
|
1
|
+
{"version":3,"file":"CellInputField.d.ts","sourceRoot":"","sources":["../src/CellInputField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AACxE,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,uBAAuB,CAAC;AAE/B,MAAM,MAAM,mBAAmB,GAAG;IAChC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,CACP,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;QACP,SAAS,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;QACvC,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,KACE,IAAI,CAAC;IACV,aAAa,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;IAC7D,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,eAAe,QACrB,MAAM,KACV,mBAAmB,GAAG,SAaxB,CAAC;AAEF,wBAAgB,cAAc,CAAC,EAC7B,cAA0B,EAC1B,SAAc,EACd,QAAgB,EAChB,KAAK,EAAE,UAAe,EACtB,WAAW,EAAE,gBAAuB,EACpC,QAA0B,EAC1B,QAA0B,EAC1B,MAAwB,EACxB,aAA+B,EAC/B,KAAU,GACX,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CA0JnC;yBArKe,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;AAiM9B,eAAe,cAAc,CAAC"}
|
package/dist/CellInputField.js
CHANGED
|
@@ -8,21 +8,17 @@ export var directionForKey = key => {
|
|
|
8
8
|
switch (key) {
|
|
9
9
|
case 'ArrowDown':
|
|
10
10
|
return SELECTION_DIRECTION.DOWN;
|
|
11
|
-
|
|
12
11
|
case 'ArrowUp':
|
|
13
12
|
return SELECTION_DIRECTION.UP;
|
|
14
|
-
|
|
15
13
|
case 'ArrowLeft':
|
|
16
14
|
return SELECTION_DIRECTION.LEFT;
|
|
17
|
-
|
|
18
15
|
case 'ArrowRight':
|
|
19
16
|
return SELECTION_DIRECTION.RIGHT;
|
|
20
|
-
|
|
21
17
|
default:
|
|
22
18
|
return undefined;
|
|
23
19
|
}
|
|
24
20
|
};
|
|
25
|
-
export
|
|
21
|
+
export function CellInputField(_ref) {
|
|
26
22
|
var {
|
|
27
23
|
selectionRange = undefined,
|
|
28
24
|
className = '',
|
|
@@ -35,25 +31,23 @@ export var CellInputField = _ref => {
|
|
|
35
31
|
onContextMenu = () => undefined,
|
|
36
32
|
style = {}
|
|
37
33
|
} = _ref;
|
|
38
|
-
var inputField = useRef(null);
|
|
39
|
-
|
|
34
|
+
var inputField = useRef(null);
|
|
35
|
+
// Use a ref for `isCancelled` as we need to know when it's cancelled after it's called by the event handlers as well
|
|
40
36
|
var isCancelled = useRef(false);
|
|
41
37
|
var [initialValue] = useState(propsValue);
|
|
42
38
|
var [isChanged, setIsChanged] = useState(false);
|
|
43
39
|
var [isQuickEdit, setIsQuickEdit] = useState(propsIsQuickEdit);
|
|
44
|
-
var [value, setValue] = useState(propsValue);
|
|
40
|
+
var [value, setValue] = useState(propsValue);
|
|
45
41
|
|
|
42
|
+
// Init field selection
|
|
46
43
|
useEffect(function selectInputField() {
|
|
47
44
|
var {
|
|
48
45
|
current: field
|
|
49
46
|
} = inputField;
|
|
50
|
-
|
|
51
47
|
if (field == null) {
|
|
52
48
|
return;
|
|
53
49
|
}
|
|
54
|
-
|
|
55
50
|
field.focus();
|
|
56
|
-
|
|
57
51
|
if (selectionRange) {
|
|
58
52
|
field.setSelectionRange(selectionRange[0], selectionRange[1]);
|
|
59
53
|
} else {
|
|
@@ -73,11 +67,9 @@ export var CellInputField = _ref => {
|
|
|
73
67
|
}, [sendUpdate, setValue, setIsChanged]);
|
|
74
68
|
var handleCancel = useCallback(() => {
|
|
75
69
|
isCancelled.current = true;
|
|
76
|
-
|
|
77
70
|
if (isChanged) {
|
|
78
71
|
sendUpdate(initialValue);
|
|
79
72
|
}
|
|
80
|
-
|
|
81
73
|
setIsChanged(false);
|
|
82
74
|
onCancel();
|
|
83
75
|
}, [initialValue, isChanged, onCancel, sendUpdate]);
|
|
@@ -95,21 +87,17 @@ export var CellInputField = _ref => {
|
|
|
95
87
|
if (isCancelled.current) {
|
|
96
88
|
return;
|
|
97
89
|
}
|
|
98
|
-
|
|
99
90
|
handleCommit(null);
|
|
100
91
|
}, [isCancelled, handleCommit]);
|
|
101
92
|
var handleKeyDown = useCallback(event => {
|
|
102
93
|
event.stopPropagation();
|
|
103
|
-
|
|
104
94
|
switch (event.key) {
|
|
105
95
|
case 'Escape':
|
|
106
96
|
event.preventDefault();
|
|
107
97
|
handleCancel();
|
|
108
98
|
break;
|
|
109
|
-
|
|
110
99
|
case 'Enter':
|
|
111
100
|
event.preventDefault();
|
|
112
|
-
|
|
113
101
|
if (GridUtils.isModifierKeyDown(event)) {
|
|
114
102
|
handleCommit(undefined, true);
|
|
115
103
|
} else if (event.altKey) {
|
|
@@ -120,14 +108,11 @@ export var CellInputField = _ref => {
|
|
|
120
108
|
} else {
|
|
121
109
|
handleCommit(event.shiftKey ? SELECTION_DIRECTION.UP : SELECTION_DIRECTION.DOWN);
|
|
122
110
|
}
|
|
123
|
-
|
|
124
111
|
break;
|
|
125
|
-
|
|
126
112
|
case 'Tab':
|
|
127
113
|
event.preventDefault();
|
|
128
114
|
handleCommit(event.shiftKey ? SELECTION_DIRECTION.LEFT : SELECTION_DIRECTION.RIGHT);
|
|
129
115
|
break;
|
|
130
|
-
|
|
131
116
|
case 'ArrowDown':
|
|
132
117
|
case 'ArrowUp':
|
|
133
118
|
case 'ArrowLeft':
|
|
@@ -136,9 +121,7 @@ export var CellInputField = _ref => {
|
|
|
136
121
|
event.preventDefault();
|
|
137
122
|
handleCommit(directionForKey(event.key));
|
|
138
123
|
}
|
|
139
|
-
|
|
140
124
|
break;
|
|
141
|
-
|
|
142
125
|
default:
|
|
143
126
|
break;
|
|
144
127
|
}
|
|
@@ -162,7 +145,7 @@ export var CellInputField = _ref => {
|
|
|
162
145
|
disabled: disabled,
|
|
163
146
|
style: style
|
|
164
147
|
});
|
|
165
|
-
}
|
|
148
|
+
}
|
|
166
149
|
CellInputField.propTypes = {
|
|
167
150
|
selectionRange: PropTypes.arrayOf(PropTypes.number),
|
|
168
151
|
className: PropTypes.string,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CellInputField.js","names":["React","useCallback","useEffect","useRef","useState","PropTypes","classNames","SELECTION_DIRECTION","GridUtils","directionForKey","key","DOWN","UP","LEFT","RIGHT","undefined","CellInputField","selectionRange","className","disabled","value","propsValue","isQuickEdit","propsIsQuickEdit","onChange","onCancel","onDone","onContextMenu","style","inputField","isCancelled","initialValue","isChanged","setIsChanged","setIsQuickEdit","setValue","selectInputField","current","field","focus","setSelectionRange","length","sendUpdate","newValue","handleChange","event","target","handleCancel","handleClick","handleCommit","direction","fillRange","handleBlur","handleKeyDown","stopPropagation","preventDefault","isModifierKeyDown","altKey","shiftKey","handleContextMenu","propTypes","arrayOf","number","string","bool","func","shape","defaultProps"],"sources":["../src/CellInputField.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { SELECTION_DIRECTION } from './GridRange';\nimport GridUtils from './GridUtils';\nimport './CellInputField.scss';\n\nexport type CellInputFieldProps = {\n selectionRange?: number[];\n className?: string;\n disabled?: boolean;\n isQuickEdit?: boolean;\n value?: string;\n onChange?: (value: string) => void;\n onCancel?: () => void;\n onDone?: (\n value: string,\n options: {\n direction?: SELECTION_DIRECTION | null;\n fillRange?: boolean;\n }\n ) => void;\n onContextMenu?: React.MouseEventHandler<HTMLTextAreaElement>;\n style?: React.CSSProperties;\n};\n\nexport const directionForKey = (\n key: string\n): SELECTION_DIRECTION | undefined => {\n switch (key) {\n case 'ArrowDown':\n return SELECTION_DIRECTION.DOWN;\n case 'ArrowUp':\n return SELECTION_DIRECTION.UP;\n case 'ArrowLeft':\n return SELECTION_DIRECTION.LEFT;\n case 'ArrowRight':\n return SELECTION_DIRECTION.RIGHT;\n default:\n return undefined;\n }\n};\n\nexport const CellInputField = ({\n selectionRange = undefined,\n className = '',\n disabled = false,\n value: propsValue = '',\n isQuickEdit: propsIsQuickEdit = true,\n onChange = () => undefined,\n onCancel = () => undefined,\n onDone = () => undefined,\n onContextMenu = () => undefined,\n style = {},\n}: CellInputFieldProps): JSX.Element => {\n const inputField = useRef<HTMLTextAreaElement>(null);\n // Use a ref for `isCancelled` as we need to know when it's cancelled after it's called by the event handlers as well\n const isCancelled = useRef<boolean>(false);\n const [initialValue] = useState(propsValue);\n const [isChanged, setIsChanged] = useState(false);\n const [isQuickEdit, setIsQuickEdit] = useState(propsIsQuickEdit);\n const [value, setValue] = useState(propsValue);\n\n // Init field selection\n useEffect(\n function selectInputField() {\n const { current: field } = inputField;\n if (field == null) {\n return;\n }\n\n field.focus();\n if (selectionRange) {\n field.setSelectionRange(selectionRange[0], selectionRange[1]);\n } else {\n field.setSelectionRange(field.value.length, field.value.length);\n }\n },\n [selectionRange]\n );\n\n const sendUpdate = useCallback(\n (newValue: string) => {\n onChange(newValue);\n },\n [onChange]\n );\n\n const handleChange = useCallback(\n (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n const { value: newValue } = event.target;\n setValue(newValue);\n setIsChanged(true);\n sendUpdate(newValue);\n },\n [sendUpdate, setValue, setIsChanged]\n );\n\n const handleCancel = useCallback(() => {\n isCancelled.current = true;\n if (isChanged) {\n sendUpdate(initialValue);\n }\n\n setIsChanged(false);\n onCancel();\n }, [initialValue, isChanged, onCancel, sendUpdate]);\n\n const handleClick = useCallback(() => {\n setIsQuickEdit(false);\n }, [setIsQuickEdit]);\n\n const handleCommit = useCallback(\n (direction?: SELECTION_DIRECTION | null, fillRange = false) => {\n onDone(value, { direction, fillRange });\n },\n [onDone, value]\n );\n\n const handleBlur = useCallback(() => {\n if (isCancelled.current) {\n return;\n }\n\n handleCommit(null);\n }, [isCancelled, handleCommit]);\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLTextAreaElement>) => {\n event.stopPropagation();\n\n switch (event.key) {\n case 'Escape':\n event.preventDefault();\n handleCancel();\n break;\n case 'Enter':\n event.preventDefault();\n if (GridUtils.isModifierKeyDown(event)) {\n handleCommit(undefined, true);\n } else if (event.altKey) {\n const newValue = `${value}\\n`;\n setValue(newValue);\n setIsChanged(true);\n sendUpdate(newValue);\n } else {\n handleCommit(\n event.shiftKey ? SELECTION_DIRECTION.UP : SELECTION_DIRECTION.DOWN\n );\n }\n break;\n case 'Tab':\n event.preventDefault();\n handleCommit(\n event.shiftKey\n ? SELECTION_DIRECTION.LEFT\n : SELECTION_DIRECTION.RIGHT\n );\n break;\n case 'ArrowDown':\n case 'ArrowUp':\n case 'ArrowLeft':\n case 'ArrowRight':\n if (isQuickEdit) {\n event.preventDefault();\n handleCommit(directionForKey(event.key));\n }\n break;\n default:\n break;\n }\n },\n [\n handleCancel,\n handleCommit,\n isQuickEdit,\n setValue,\n setIsChanged,\n sendUpdate,\n value,\n ]\n );\n\n const handleContextMenu = useCallback(\n (event: React.MouseEvent<HTMLTextAreaElement, MouseEvent>) => {\n onContextMenu(event);\n },\n [onContextMenu]\n );\n\n return (\n <textarea\n ref={inputField}\n className={classNames('grid-cell-input-field', className)}\n value={value}\n onBlur={handleBlur}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onContextMenu={handleContextMenu}\n onClick={handleClick}\n autoComplete=\"off\"\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck=\"false\"\n disabled={disabled}\n style={style}\n />\n );\n};\n\nCellInputField.propTypes = {\n selectionRange: PropTypes.arrayOf(PropTypes.number),\n className: PropTypes.string,\n disabled: PropTypes.bool,\n isQuickEdit: PropTypes.bool,\n value: PropTypes.string,\n onChange: PropTypes.func,\n onCancel: PropTypes.func,\n onDone: PropTypes.func,\n onContextMenu: PropTypes.func,\n style: PropTypes.shape({}),\n};\n\nCellInputField.defaultProps = {\n selectionRange: null,\n className: '',\n disabled: false,\n value: '',\n isQuickEdit: true,\n onChange: () => undefined,\n onCancel: () => undefined,\n onDone: () => undefined,\n onContextMenu: () => undefined,\n style: {},\n};\n\nexport default CellInputField;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CellInputField.js","names":["React","useCallback","useEffect","useRef","useState","PropTypes","classNames","SELECTION_DIRECTION","GridUtils","directionForKey","key","DOWN","UP","LEFT","RIGHT","undefined","CellInputField","selectionRange","className","disabled","value","propsValue","isQuickEdit","propsIsQuickEdit","onChange","onCancel","onDone","onContextMenu","style","inputField","isCancelled","initialValue","isChanged","setIsChanged","setIsQuickEdit","setValue","selectInputField","current","field","focus","setSelectionRange","length","sendUpdate","newValue","handleChange","event","target","handleCancel","handleClick","handleCommit","direction","fillRange","handleBlur","handleKeyDown","stopPropagation","preventDefault","isModifierKeyDown","altKey","shiftKey","handleContextMenu","propTypes","arrayOf","number","string","bool","func","shape","defaultProps"],"sources":["../src/CellInputField.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { SELECTION_DIRECTION } from './GridRange';\nimport GridUtils from './GridUtils';\nimport './CellInputField.scss';\n\nexport type CellInputFieldProps = {\n selectionRange?: number[];\n className?: string;\n disabled?: boolean;\n isQuickEdit?: boolean;\n value?: string;\n onChange?: (value: string) => void;\n onCancel?: () => void;\n onDone?: (\n value: string,\n options: {\n direction?: SELECTION_DIRECTION | null;\n fillRange?: boolean;\n }\n ) => void;\n onContextMenu?: React.MouseEventHandler<HTMLTextAreaElement>;\n style?: React.CSSProperties;\n};\n\nexport const directionForKey = (\n key: string\n): SELECTION_DIRECTION | undefined => {\n switch (key) {\n case 'ArrowDown':\n return SELECTION_DIRECTION.DOWN;\n case 'ArrowUp':\n return SELECTION_DIRECTION.UP;\n case 'ArrowLeft':\n return SELECTION_DIRECTION.LEFT;\n case 'ArrowRight':\n return SELECTION_DIRECTION.RIGHT;\n default:\n return undefined;\n }\n};\n\nexport function CellInputField({\n selectionRange = undefined,\n className = '',\n disabled = false,\n value: propsValue = '',\n isQuickEdit: propsIsQuickEdit = true,\n onChange = () => undefined,\n onCancel = () => undefined,\n onDone = () => undefined,\n onContextMenu = () => undefined,\n style = {},\n}: CellInputFieldProps): JSX.Element {\n const inputField = useRef<HTMLTextAreaElement>(null);\n // Use a ref for `isCancelled` as we need to know when it's cancelled after it's called by the event handlers as well\n const isCancelled = useRef<boolean>(false);\n const [initialValue] = useState(propsValue);\n const [isChanged, setIsChanged] = useState(false);\n const [isQuickEdit, setIsQuickEdit] = useState(propsIsQuickEdit);\n const [value, setValue] = useState(propsValue);\n\n // Init field selection\n useEffect(\n function selectInputField() {\n const { current: field } = inputField;\n if (field == null) {\n return;\n }\n\n field.focus();\n if (selectionRange) {\n field.setSelectionRange(selectionRange[0], selectionRange[1]);\n } else {\n field.setSelectionRange(field.value.length, field.value.length);\n }\n },\n [selectionRange]\n );\n\n const sendUpdate = useCallback(\n (newValue: string) => {\n onChange(newValue);\n },\n [onChange]\n );\n\n const handleChange = useCallback(\n (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n const { value: newValue } = event.target;\n setValue(newValue);\n setIsChanged(true);\n sendUpdate(newValue);\n },\n [sendUpdate, setValue, setIsChanged]\n );\n\n const handleCancel = useCallback(() => {\n isCancelled.current = true;\n if (isChanged) {\n sendUpdate(initialValue);\n }\n\n setIsChanged(false);\n onCancel();\n }, [initialValue, isChanged, onCancel, sendUpdate]);\n\n const handleClick = useCallback(() => {\n setIsQuickEdit(false);\n }, [setIsQuickEdit]);\n\n const handleCommit = useCallback(\n (direction?: SELECTION_DIRECTION | null, fillRange = false) => {\n onDone(value, { direction, fillRange });\n },\n [onDone, value]\n );\n\n const handleBlur = useCallback(() => {\n if (isCancelled.current) {\n return;\n }\n\n handleCommit(null);\n }, [isCancelled, handleCommit]);\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLTextAreaElement>) => {\n event.stopPropagation();\n\n switch (event.key) {\n case 'Escape':\n event.preventDefault();\n handleCancel();\n break;\n case 'Enter':\n event.preventDefault();\n if (GridUtils.isModifierKeyDown(event)) {\n handleCommit(undefined, true);\n } else if (event.altKey) {\n const newValue = `${value}\\n`;\n setValue(newValue);\n setIsChanged(true);\n sendUpdate(newValue);\n } else {\n handleCommit(\n event.shiftKey ? SELECTION_DIRECTION.UP : SELECTION_DIRECTION.DOWN\n );\n }\n break;\n case 'Tab':\n event.preventDefault();\n handleCommit(\n event.shiftKey\n ? SELECTION_DIRECTION.LEFT\n : SELECTION_DIRECTION.RIGHT\n );\n break;\n case 'ArrowDown':\n case 'ArrowUp':\n case 'ArrowLeft':\n case 'ArrowRight':\n if (isQuickEdit) {\n event.preventDefault();\n handleCommit(directionForKey(event.key));\n }\n break;\n default:\n break;\n }\n },\n [\n handleCancel,\n handleCommit,\n isQuickEdit,\n setValue,\n setIsChanged,\n sendUpdate,\n value,\n ]\n );\n\n const handleContextMenu = useCallback(\n (event: React.MouseEvent<HTMLTextAreaElement, MouseEvent>) => {\n onContextMenu(event);\n },\n [onContextMenu]\n );\n\n return (\n <textarea\n ref={inputField}\n className={classNames('grid-cell-input-field', className)}\n value={value}\n onBlur={handleBlur}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onContextMenu={handleContextMenu}\n onClick={handleClick}\n autoComplete=\"off\"\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck=\"false\"\n disabled={disabled}\n style={style}\n />\n );\n}\n\nCellInputField.propTypes = {\n selectionRange: PropTypes.arrayOf(PropTypes.number),\n className: PropTypes.string,\n disabled: PropTypes.bool,\n isQuickEdit: PropTypes.bool,\n value: PropTypes.string,\n onChange: PropTypes.func,\n onCancel: PropTypes.func,\n onDone: PropTypes.func,\n onContextMenu: PropTypes.func,\n style: PropTypes.shape({}),\n};\n\nCellInputField.defaultProps = {\n selectionRange: null,\n className: '',\n disabled: false,\n value: '',\n isQuickEdit: true,\n onChange: () => undefined,\n onCancel: () => undefined,\n onDone: () => undefined,\n onContextMenu: () => undefined,\n style: {},\n};\n\nexport default CellInputField;\n"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ export declare function assertIsEditableGridModel(model: GridModel): asserts mod
|
|
|
6
6
|
/**
|
|
7
7
|
* Edit operation when applying multiple edits
|
|
8
8
|
*/
|
|
9
|
-
export
|
|
9
|
+
export type EditOperation = {
|
|
10
10
|
/** Column to set the value for */
|
|
11
11
|
column: ModelIndex;
|
|
12
12
|
/** Row to set the value for */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditableGridModel.d.ts","sourceRoot":"","sources":["../src/EditableGridModel.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,SAAS,MAAM,aAAa,CAAC;AAGpC,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,SAAS,GACf,KAAK,IAAI,iBAAiB,CAE5B;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,KAAK,IAAI,iBAAiB,CAMpC;AAED;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"EditableGridModel.d.ts","sourceRoot":"","sources":["../src/EditableGridModel.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,SAAS,MAAM,aAAa,CAAC;AAGpC,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,SAAS,GACf,KAAK,IAAI,iBAAiB,CAE5B;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,KAAK,IAAI,iBAAiB,CAMpC;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,kCAAkC;IAClC,MAAM,EAAE,UAAU,CAAC;IAEnB,+BAA+B;IAC/B,GAAG,EAAE,UAAU,CAAC;IAEhB,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IAEb,uCAAuC;IACvC,CAAC,CAAC,EAAE,UAAU,CAAC;IACf,oCAAoC;IACpC,CAAC,CAAC,EAAE,UAAU,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,UAAU,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC;IAE3C;;;;;OAKG;IACH,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,MAAM,CAAC;IAE9D;;;;;;OAMG;IACH,eAAe,CACb,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;OAKG;IACH,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErE;;;;OAIG;IACH,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjD;;;;;;OAMG;IACH,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7E;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditableGridModel.js","names":["AssertionError","isEditableGridModel","model","isEditable","undefined","assertIsEditableGridModel"],"sources":["../src/EditableGridModel.ts"],"sourcesContent":["import GridRange from './GridRange';\nimport { ModelIndex } from './GridMetrics';\nimport GridModel from './GridModel';\nimport { AssertionError } from './errors';\n\nexport function isEditableGridModel(\n model: GridModel\n): model is EditableGridModel {\n return (model as EditableGridModel)?.isEditable !== undefined;\n}\n\nexport function assertIsEditableGridModel(\n model: GridModel\n): asserts model is EditableGridModel {\n if (!isEditableGridModel(model)) {\n throw new AssertionError(\n `Expected 'model' to be editable, but received ${model}`\n );\n }\n}\n\n/**\n * Edit operation when applying multiple edits\n */\nexport type EditOperation = {\n /** Column to set the value for */\n column: ModelIndex;\n\n /** Row to set the value for */\n row: ModelIndex;\n\n /** Text value to set */\n text: string;\n\n /** @deprecated use `column` instead */\n x?: ModelIndex;\n /** @deprecated use `row` instead */\n y?: ModelIndex;\n};\n\n/**\n * Model for an editable grid\n */\nexport interface EditableGridModel extends GridModel {\n isEditable: boolean;\n\n /**\n * Check if a given range is editable\n * @param range The range to check if it is editable\n * @returns True if the range is editable\n */\n isEditableRange(range: GridRange): boolean;\n\n /**\n * Get the edit text for a cell as a string\n * @param column Column to get\n * @param row Row to get\n * @returns The value to use for editing\n */\n editValueForCell(column: ModelIndex, row: ModelIndex): string;\n\n /**\n * Set value in an editable table\n * @param column Column to set\n * @param row Row to set\n * @param value The value to set\n * @returns A promise that resolves successfully when the operation is complete, or rejects if there's an error\n */\n setValueForCell(\n column: ModelIndex,\n row: ModelIndex,\n value: string\n ): Promise<void>;\n\n /**\n * Set value in an editable table\n * @param ranges The ranges to set\n * @param value The value to set\n * @returns A promise that resolves successfully when the operation is complete, or rejects if there's an error\n */\n setValueForRanges(ranges: GridRange[], value: string): Promise<void>;\n\n /**\n * Apply edits to the model\n * @param edits Edits to apply to the model\n * @returns A promise that resolves successfully when the operation is complete or rejects if there's an error\n */\n setValues(edits: EditOperation[]): Promise<void>;\n\n /**\n * Check if a text value is a valid edit for a cell\n * @param column Column to check\n * @param row Row to check\n * @param value Value to check if it's a valid value or not\n * @returns True if it's a valid value, false otherwise\n */\n isValidForCell(column: ModelIndex, row: ModelIndex, value: string): boolean;\n}\n\nexport default EditableGridModel;\n"],"mappings":"SAGSA,
|
|
1
|
+
{"version":3,"file":"EditableGridModel.js","names":["AssertionError","isEditableGridModel","model","isEditable","undefined","assertIsEditableGridModel"],"sources":["../src/EditableGridModel.ts"],"sourcesContent":["import GridRange from './GridRange';\nimport { ModelIndex } from './GridMetrics';\nimport GridModel from './GridModel';\nimport { AssertionError } from './errors';\n\nexport function isEditableGridModel(\n model: GridModel\n): model is EditableGridModel {\n return (model as EditableGridModel)?.isEditable !== undefined;\n}\n\nexport function assertIsEditableGridModel(\n model: GridModel\n): asserts model is EditableGridModel {\n if (!isEditableGridModel(model)) {\n throw new AssertionError(\n `Expected 'model' to be editable, but received ${model}`\n );\n }\n}\n\n/**\n * Edit operation when applying multiple edits\n */\nexport type EditOperation = {\n /** Column to set the value for */\n column: ModelIndex;\n\n /** Row to set the value for */\n row: ModelIndex;\n\n /** Text value to set */\n text: string;\n\n /** @deprecated use `column` instead */\n x?: ModelIndex;\n /** @deprecated use `row` instead */\n y?: ModelIndex;\n};\n\n/**\n * Model for an editable grid\n */\nexport interface EditableGridModel extends GridModel {\n isEditable: boolean;\n\n /**\n * Check if a given range is editable\n * @param range The range to check if it is editable\n * @returns True if the range is editable\n */\n isEditableRange(range: GridRange): boolean;\n\n /**\n * Get the edit text for a cell as a string\n * @param column Column to get\n * @param row Row to get\n * @returns The value to use for editing\n */\n editValueForCell(column: ModelIndex, row: ModelIndex): string;\n\n /**\n * Set value in an editable table\n * @param column Column to set\n * @param row Row to set\n * @param value The value to set\n * @returns A promise that resolves successfully when the operation is complete, or rejects if there's an error\n */\n setValueForCell(\n column: ModelIndex,\n row: ModelIndex,\n value: string\n ): Promise<void>;\n\n /**\n * Set value in an editable table\n * @param ranges The ranges to set\n * @param value The value to set\n * @returns A promise that resolves successfully when the operation is complete, or rejects if there's an error\n */\n setValueForRanges(ranges: GridRange[], value: string): Promise<void>;\n\n /**\n * Apply edits to the model\n * @param edits Edits to apply to the model\n * @returns A promise that resolves successfully when the operation is complete or rejects if there's an error\n */\n setValues(edits: EditOperation[]): Promise<void>;\n\n /**\n * Check if a text value is a valid edit for a cell\n * @param column Column to check\n * @param row Row to check\n * @param value Value to check if it's a valid value or not\n * @returns True if it's a valid value, false otherwise\n */\n isValidForCell(column: ModelIndex, row: ModelIndex, value: string): boolean;\n}\n\nexport default EditableGridModel;\n"],"mappings":"SAGSA,cAAc;AAEvB,OAAO,SAASC,mBAAmB,CACjCC,KAAgB,EACY;EAC5B,OAAO,CAACA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAwBC,UAAU,MAAKC,SAAS;AAC/D;AAEA,OAAO,SAASC,yBAAyB,CACvCH,KAAgB,EACoB;EACpC,IAAI,CAACD,mBAAmB,CAACC,KAAK,CAAC,EAAE;IAC/B,MAAM,IAAIF,cAAc,yDAC2BE,KAAK,EACvD;EACH;AACF;;AAEA;AACA;AACA"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* An options object can be returned as the result to control
|
|
3
3
|
* if event.stopPropagation() and event.preventDefault() should be called
|
|
4
4
|
*/
|
|
5
|
-
export
|
|
5
|
+
export type EventHandlerResultOptions = {
|
|
6
6
|
stopPropagation?: boolean;
|
|
7
7
|
preventDefault?: boolean;
|
|
8
8
|
};
|
|
@@ -13,5 +13,5 @@ export declare type EventHandlerResultOptions = {
|
|
|
13
13
|
* - `true` to stop the event from being passed along to other registered grid event handlers, as well as call event.stopPropagation() and event.preventDefault()
|
|
14
14
|
* - An `EventHandlerResultOptions` object to stop the event from being passed along to other registered grid event handlers, and decide whether to call event.stopPropagation() and/or event.preventDefault()
|
|
15
15
|
*/
|
|
16
|
-
export
|
|
16
|
+
export type EventHandlerResult = boolean | EventHandlerResultOptions;
|
|
17
17
|
//# sourceMappingURL=EventHandlerResult.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventHandlerResult.d.ts","sourceRoot":"","sources":["../src/EventHandlerResult.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"EventHandlerResult.d.ts","sourceRoot":"","sources":["../src/EventHandlerResult.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,yBAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpandableGridModel.js","names":["isExpandableGridModel","model","hasExpandableRows","undefined"],"sources":["../src/ExpandableGridModel.ts"],"sourcesContent":["import GridModel from './GridModel';\nimport { ModelIndex } from './GridMetrics';\n\nexport function isExpandableGridModel(\n model: GridModel\n): model is ExpandableGridModel {\n return (model as ExpandableGridModel)?.hasExpandableRows !== undefined;\n}\n\n/**\n * Expandable grid model. Allows for a grid with rows that can expand (e.g. A Tree Table)\n */\nexport interface ExpandableGridModel extends GridModel {\n /** Whether the grid has rows that can be expanded */\n hasExpandableRows: boolean;\n\n /**\n * @param row Row to check\n * @returns True if the row is expandable\n */\n isRowExpandable(row: ModelIndex): boolean;\n\n /**\n * @param row Row to check\n * @returns True if the row is currently expanded\n */\n isRowExpanded(row: ModelIndex): boolean;\n\n /**\n * Change the expanded status of an expandable row\n * @param row Row to expand\n * @param isExpanded True to expand the row, false to collapse\n */\n setRowExpanded(row: ModelIndex, isExpanded: boolean): void;\n\n /**\n * Get the depth of a row (ie. How indented the row should be)\n * @param row Row to check\n * @returns Depth of the row\n */\n depthForRow(row: ModelIndex): number;\n}\n\nexport default ExpandableGridModel;\n"],"mappings":"AAGA,OAAO,SAASA,
|
|
1
|
+
{"version":3,"file":"ExpandableGridModel.js","names":["isExpandableGridModel","model","hasExpandableRows","undefined"],"sources":["../src/ExpandableGridModel.ts"],"sourcesContent":["import GridModel from './GridModel';\nimport { ModelIndex } from './GridMetrics';\n\nexport function isExpandableGridModel(\n model: GridModel\n): model is ExpandableGridModel {\n return (model as ExpandableGridModel)?.hasExpandableRows !== undefined;\n}\n\n/**\n * Expandable grid model. Allows for a grid with rows that can expand (e.g. A Tree Table)\n */\nexport interface ExpandableGridModel extends GridModel {\n /** Whether the grid has rows that can be expanded */\n hasExpandableRows: boolean;\n\n /**\n * @param row Row to check\n * @returns True if the row is expandable\n */\n isRowExpandable(row: ModelIndex): boolean;\n\n /**\n * @param row Row to check\n * @returns True if the row is currently expanded\n */\n isRowExpanded(row: ModelIndex): boolean;\n\n /**\n * Change the expanded status of an expandable row\n * @param row Row to expand\n * @param isExpanded True to expand the row, false to collapse\n */\n setRowExpanded(row: ModelIndex, isExpanded: boolean): void;\n\n /**\n * Get the depth of a row (ie. How indented the row should be)\n * @param row Row to check\n * @returns Depth of the row\n */\n depthForRow(row: ModelIndex): number;\n}\n\nexport default ExpandableGridModel;\n"],"mappings":"AAGA,OAAO,SAASA,qBAAqB,CACnCC,KAAgB,EACc;EAC9B,OAAO,CAACA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAA0BC,iBAAiB,MAAKC,SAAS;AACxE;;AAEA;AACA;AACA"}
|
package/dist/Grid.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ import './Grid.scss';
|
|
|
11
11
|
import KeyHandler, { GridKeyboardEvent } from './KeyHandler';
|
|
12
12
|
import GridMetrics, { Coordinate, ModelIndex, MoveOperation, VisibleIndex } from './GridMetrics';
|
|
13
13
|
import { DraggingColumn } from './mouse-handlers/GridColumnMoveMouseHandler';
|
|
14
|
-
export
|
|
14
|
+
export type GridProps = typeof Grid.defaultProps & {
|
|
15
15
|
canvasOptions?: CanvasRenderingContext2DSettings;
|
|
16
16
|
isStickyBottom?: boolean;
|
|
17
17
|
isStickyRight?: boolean;
|
|
@@ -34,7 +34,7 @@ export declare type GridProps = typeof Grid.defaultProps & {
|
|
|
34
34
|
stateOverride?: Record<string, unknown>;
|
|
35
35
|
theme?: Partial<GridThemeType>;
|
|
36
36
|
};
|
|
37
|
-
export
|
|
37
|
+
export type GridState = {
|
|
38
38
|
top: VisibleIndex;
|
|
39
39
|
left: VisibleIndex;
|
|
40
40
|
topOffset: number;
|
|
@@ -102,7 +102,80 @@ declare class Grid extends PureComponent<GridProps, GridState> {
|
|
|
102
102
|
};
|
|
103
103
|
static pixelsPerLine: number;
|
|
104
104
|
static dragTimeout: number;
|
|
105
|
-
static getTheme: (
|
|
105
|
+
static getTheme: (contextTheme: Partial<GridThemeType>, userTheme: Partial<GridThemeType>) => {
|
|
106
|
+
allowColumnResize: boolean;
|
|
107
|
+
allowRowResize: boolean;
|
|
108
|
+
autoSelectRow: boolean;
|
|
109
|
+
autoSelectColumn: boolean;
|
|
110
|
+
autoSizeColumns: boolean;
|
|
111
|
+
autoSizeRows: boolean;
|
|
112
|
+
backgroundColor: string;
|
|
113
|
+
textColor: string;
|
|
114
|
+
black: string;
|
|
115
|
+
white: string;
|
|
116
|
+
cellHorizontalPadding: number;
|
|
117
|
+
headerHorizontalPadding: number;
|
|
118
|
+
font: string;
|
|
119
|
+
gridColumnColor: import("./GridTheme").NullableGridColor;
|
|
120
|
+
gridRowColor: import("./GridTheme").NullableGridColor;
|
|
121
|
+
headerBackgroundColor: string;
|
|
122
|
+
headerSeparatorColor: string;
|
|
123
|
+
headerSeparatorHoverColor: string;
|
|
124
|
+
headerSeparatorHandleSize: number;
|
|
125
|
+
headerHiddenSeparatorSize: number;
|
|
126
|
+
headerHiddenSeparatorHoverColor: string;
|
|
127
|
+
headerColor: string;
|
|
128
|
+
headerFont: string;
|
|
129
|
+
columnHoverBackgroundColor: import("./GridTheme").NullableGridColor;
|
|
130
|
+
selectedColumnHoverBackgroundColor: import("./GridTheme").NullableGridColor;
|
|
131
|
+
rowHoverBackgroundColor: import("./GridTheme").NullableGridColor;
|
|
132
|
+
selectedRowHoverBackgroundColor: import("./GridTheme").NullableGridColor;
|
|
133
|
+
rowBackgroundColors: string;
|
|
134
|
+
minScrollHandleSize: number;
|
|
135
|
+
scrollBarBackgroundColor: string;
|
|
136
|
+
scrollBarHoverBackgroundColor: string;
|
|
137
|
+
scrollBarCasingColor: string;
|
|
138
|
+
scrollBarCornerColor: string;
|
|
139
|
+
scrollBarColor: string;
|
|
140
|
+
scrollBarHoverColor: string;
|
|
141
|
+
scrollBarActiveColor: string;
|
|
142
|
+
scrollBarSize: number;
|
|
143
|
+
scrollBarHoverSize: number;
|
|
144
|
+
scrollBarCasingWidth: number;
|
|
145
|
+
scrollSnapToColumn: boolean;
|
|
146
|
+
scrollSnapToRow: boolean;
|
|
147
|
+
scrollBarSelectionTick: boolean;
|
|
148
|
+
scrollBarSelectionTickColor: import("./GridTheme").NullableGridColor;
|
|
149
|
+
scrollBarActiveSelectionTickColor: import("./GridTheme").NullableGridColor;
|
|
150
|
+
selectionColor: string;
|
|
151
|
+
selectionOutlineColor: string;
|
|
152
|
+
selectionOutlineCasingColor: string;
|
|
153
|
+
shadowBlur: number;
|
|
154
|
+
shadowColor: string;
|
|
155
|
+
maxDepth: number;
|
|
156
|
+
treeDepthIndent: number;
|
|
157
|
+
treeHorizontalPadding: number;
|
|
158
|
+
treeLineColor: string;
|
|
159
|
+
treeMarkerColor: string;
|
|
160
|
+
treeMarkerHoverColor: string;
|
|
161
|
+
rowHeight: number;
|
|
162
|
+
columnWidth: number;
|
|
163
|
+
minRowHeight: number;
|
|
164
|
+
minColumnWidth: number;
|
|
165
|
+
columnHeaderHeight: number;
|
|
166
|
+
rowHeaderWidth: number;
|
|
167
|
+
rowFooterWidth: number;
|
|
168
|
+
headerResizeSnapThreshold: number;
|
|
169
|
+
headerResizeHiddenSnapThreshold: number;
|
|
170
|
+
allowColumnReorder: boolean;
|
|
171
|
+
allowRowReorder: boolean;
|
|
172
|
+
reorderOffset: number;
|
|
173
|
+
floatingGridColumnColor: import("./GridTheme").NullableGridColor;
|
|
174
|
+
floatingGridRowColor: import("./GridTheme").NullableGridColor;
|
|
175
|
+
floatingRowBackgroundColors: string;
|
|
176
|
+
floatingDividerOuterColor: string;
|
|
177
|
+
floatingDividerInnerColor: string;
|
|
178
|
+
};
|
|
106
179
|
/**
|
|
107
180
|
* On some devices there may be different scaling required for high DPI. Get the scale required for the canvas.
|
|
108
181
|
* @param context The canvas context
|
package/dist/Grid.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../src/Grid.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAiB,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvE,OAAO,oBAAoB,EAAE,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,gBAAgB,EAAE,EACvB,cAAc,EACd,4BAA4B,EAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAkB,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,SAAS,EAAE,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,YAAY,EAAE,EACnB,WAAW,EACX,6BAA6B,EAC9B,MAAM,gBAAgB,CAAC;AACxB,OAAkB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAWL,aAAa,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,aAAa,CAAC;AACrB,OAAO,UAAU,EAAE,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAS7D,OAAO,WAAW,EAAE,EAClB,UAAU,EACV,UAAU,EACV,aAAa,EACb,YAAY,EACb,MAAM,eAAe,CAAC;AAUvB,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAU7E,
|
|
1
|
+
{"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../src/Grid.tsx"],"names":[],"mappings":"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"}
|