@deephaven/grid 1.23.1-legacy-table-plugin.bbf55c8.0 → 1.25.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.
@@ -4,8 +4,10 @@
4
4
  border: none;
5
5
  width: 100%;
6
6
  height: 100%;
7
- padding: 2px 5px 3px 5px;
7
+ padding: calc((var(--grid-row-height, 19px) - var(--grid-font-size, 12px)) / 2 - 1px) var(--grid-cell-horizontal-padding, 5px) calc((var(--grid-row-height, 19px) - var(--grid-font-size, 12px)) / 2 + 1px);
8
8
  border-radius: 2px;
9
+ font-size: var(--grid-font-size, 12px);
10
+ line-height: 1;
9
11
  resize: none;
10
12
  }
11
13
  .grid-cell-input-field:focus {
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/CellInputField.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;AACA;EACE","file":"CellInputField.css","sourcesContent":[".grid-cell-input-field {\n color: #e5e5e5;\n background: #393939;\n border: none;\n width: 100%;\n height: 100%;\n padding: 2px 5px 3px 5px;\n border-radius: 2px;\n resize: none;\n\n &:focus {\n outline: none;\n border: none;\n box-shadow: 0 0 0 2px blue;\n }\n\n &.error {\n color: red;\n &:focus {\n box-shadow: 0 0 0 2px red;\n }\n }\n}\n"]}
1
+ {"version":3,"sourceRoot":"","sources":["../src/CellInputField.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;EACA;EAOA;EAKA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;AACA;EACE","file":"CellInputField.css","sourcesContent":[".grid-cell-input-field {\n color: #e5e5e5;\n background: #393939;\n border: none;\n width: 100%;\n height: 100%;\n // The canvas draws cell text with `textBaseline: middle`, which sits ~1px\n // higher than a `line-height: 1` textarea with symmetric vertical padding.\n // Shift 1px from the top padding to the bottom so the edit text lines up\n // with the canvas-rendered selection text (matches the legacy 2/3 split).\n // Horizontal padding uses the theme's `cellHorizontalPadding` so the text\n // aligns with the canvas across densities (5px regular, 7px spacious).\n padding: calc(\n (var(--grid-row-height, 19px) - var(--grid-font-size, 12px)) / 2 - 1px\n )\n var(--grid-cell-horizontal-padding, 5px)\n calc((var(--grid-row-height, 19px) - var(--grid-font-size, 12px)) / 2 + 1px);\n border-radius: 2px;\n font-size: var(--grid-font-size, 12px);\n line-height: 1;\n resize: none;\n\n &:focus {\n outline: none;\n border: none;\n box-shadow: 0 0 0 2px blue;\n }\n\n &.error {\n color: red;\n &:focus {\n box-shadow: 0 0 0 2px red;\n }\n }\n}\n"]}
@@ -13,9 +13,8 @@ export type CellInputFieldProps = {
13
13
  direction?: SELECTION_DIRECTION | null;
14
14
  fillRange?: boolean;
15
15
  }) => void;
16
- onContextMenu?: React.MouseEventHandler<HTMLTextAreaElement>;
17
16
  style?: React.CSSProperties;
18
17
  };
19
- export declare function CellInputField({ selectionRange, className, disabled, value: propsValue, isQuickEdit: propsIsQuickEdit, onChange, onCancel, onDone, onContextMenu, style, }: CellInputFieldProps): JSX.Element;
18
+ export declare function CellInputField({ selectionRange, className, disabled, value: propsValue, isQuickEdit: propsIsQuickEdit, onChange, onCancel, onDone, style, }: CellInputFieldProps): JSX.Element;
20
19
  export default CellInputField;
21
20
  //# 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;AAGxE,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;AAiBF,wBAAgB,cAAc,CAAC,EAC7B,cAAc,EACd,SAAc,EACd,QAAgB,EAChB,KAAK,EAAE,UAAe,EACtB,WAAW,EAAE,gBAAuB,EACpC,QAAyB,EACzB,QAAyB,EACzB,MAAuB,EACvB,aAA8B,EAC9B,KAAK,GACN,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CA0JnC;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"CellInputField.d.ts","sourceRoot":"","sources":["../src/CellInputField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAGxE,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,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B,CAAC;AAiBF,wBAAgB,cAAc,CAAC,EAC7B,cAAc,EACd,SAAc,EACd,QAAgB,EAChB,KAAK,EAAE,UAAe,EACtB,WAAW,EAAE,gBAAuB,EACpC,QAAyB,EACzB,QAAyB,EACzB,MAAuB,EACvB,KAAK,GACN,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAkJnC;AAED,eAAe,cAAc,CAAC"}
@@ -41,8 +41,6 @@ export function CellInputField(_ref) {
41
41
  onCancel = _ref$onCancel === void 0 ? EMPTY_FUNCTION : _ref$onCancel,
42
42
  _ref$onDone = _ref.onDone,
43
43
  onDone = _ref$onDone === void 0 ? EMPTY_FUNCTION : _ref$onDone,
44
- _ref$onContextMenu = _ref.onContextMenu,
45
- onContextMenu = _ref$onContextMenu === void 0 ? EMPTY_FUNCTION : _ref$onContextMenu,
46
44
  style = _ref.style;
47
45
  var inputField = useRef(null);
48
46
  // Use a ref for `isCancelled` as we need to know when it's cancelled after it's called by the event handlers as well
@@ -146,9 +144,6 @@ export function CellInputField(_ref) {
146
144
  break;
147
145
  }
148
146
  }, [handleCancel, handleCommit, isQuickEdit, setValue, setIsChanged, sendUpdate, value]);
149
- var handleContextMenu = useCallback(event => {
150
- onContextMenu(event);
151
- }, [onContextMenu]);
152
147
  return /*#__PURE__*/_jsx("textarea", {
153
148
  ref: inputField,
154
149
  className: classNames('grid-cell-input-field', className),
@@ -156,7 +151,6 @@ export function CellInputField(_ref) {
156
151
  onBlur: handleBlur,
157
152
  onChange: handleChange,
158
153
  onKeyDown: handleKeyDown,
159
- onContextMenu: handleContextMenu,
160
154
  onClick: handleClick,
161
155
  autoComplete: "off",
162
156
  autoCorrect: "off",
@@ -1 +1 @@
1
- {"version":3,"file":"CellInputField.js","names":["React","useCallback","useEffect","useRef","useState","classNames","EMPTY_FUNCTION","SELECTION_DIRECTION","GridUtils","jsx","_jsx","directionForKey","key","DOWN","UP","LEFT","RIGHT","undefined","CellInputField","_ref","selectionRange","_ref$className","className","_ref$disabled","disabled","_ref$value","value","propsValue","_ref$isQuickEdit","isQuickEdit","propsIsQuickEdit","_ref$onChange","onChange","_ref$onCancel","onCancel","_ref$onDone","onDone","_ref$onContextMenu","onContextMenu","style","inputField","isCancelled","_useState","_useState2","_slicedToArray","initialValue","_useState3","_useState4","isChanged","setIsChanged","_useState5","_useState6","setIsQuickEdit","_useState7","_useState8","setValue","selectInputField","field","current","focus","setSelectionRange","length","sendUpdate","newValue","handleChange","event","target","handleCancel","handleClick","handleCommit","direction","fillRange","arguments","handleBlur","handleKeyDown","stopPropagation","preventDefault","isModifierKeyDown","altKey","concat","shiftKey","handleContextMenu","ref","onBlur","onKeyDown","onClick","autoComplete","autoCorrect","autoCapitalize","spellCheck"],"sources":["../src/CellInputField.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { EMPTY_FUNCTION } from '@deephaven/utils';\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\nconst directionForKey = (key: string): 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,\n className = '',\n disabled = false,\n value: propsValue = '',\n isQuickEdit: propsIsQuickEdit = true,\n onChange = EMPTY_FUNCTION,\n onCancel = EMPTY_FUNCTION,\n onDone = EMPTY_FUNCTION,\n onContextMenu = EMPTY_FUNCTION,\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\nexport default CellInputField;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"CellInputField.js","names":["React","useCallback","useEffect","useRef","useState","classNames","EMPTY_FUNCTION","SELECTION_DIRECTION","GridUtils","jsx","_jsx","directionForKey","key","DOWN","UP","LEFT","RIGHT","undefined","CellInputField","_ref","selectionRange","_ref$className","className","_ref$disabled","disabled","_ref$value","value","propsValue","_ref$isQuickEdit","isQuickEdit","propsIsQuickEdit","_ref$onChange","onChange","_ref$onCancel","onCancel","_ref$onDone","onDone","style","inputField","isCancelled","_useState","_useState2","_slicedToArray","initialValue","_useState3","_useState4","isChanged","setIsChanged","_useState5","_useState6","setIsQuickEdit","_useState7","_useState8","setValue","selectInputField","field","current","focus","setSelectionRange","length","sendUpdate","newValue","handleChange","event","target","handleCancel","handleClick","handleCommit","direction","fillRange","arguments","handleBlur","handleKeyDown","stopPropagation","preventDefault","isModifierKeyDown","altKey","concat","shiftKey","ref","onBlur","onKeyDown","onClick","autoComplete","autoCorrect","autoCapitalize","spellCheck"],"sources":["../src/CellInputField.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { EMPTY_FUNCTION } from '@deephaven/utils';\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 style?: React.CSSProperties;\n};\n\nconst directionForKey = (key: string): 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,\n className = '',\n disabled = false,\n value: propsValue = '',\n isQuickEdit: propsIsQuickEdit = true,\n onChange = EMPTY_FUNCTION,\n onCancel = EMPTY_FUNCTION,\n onDone = EMPTY_FUNCTION,\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 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 onClick={handleClick}\n autoComplete=\"off\"\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck=\"false\"\n disabled={disabled}\n style={style}\n />\n );\n}\n\nexport default CellInputField;\n"],"mappings":"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","ignoreList":[]}
package/dist/Grid.d.ts CHANGED
@@ -15,7 +15,7 @@ import { type Coordinate, type ModelIndex, type MoveOperation, type VisibleIndex
15
15
  import type GridMetrics from './GridMetrics';
16
16
  import ThemeContext from './ThemeContext';
17
17
  import { type DraggingColumn } from './mouse-handlers/GridColumnMoveMouseHandler';
18
- import { type EditingCell, type GridRenderState, type EditingCellTextSelectionRange } from './GridRendererTypes';
18
+ import { type EditingCell, type GridRenderState, type EditingCellTextSelectionRange, type CellInputRendererRegistry } from './GridRendererTypes';
19
19
  export type GridProps = typeof Grid.defaultProps & {
20
20
  children?: ReactNode;
21
21
  canvasOptions?: CanvasRenderingContext2DSettings;
@@ -38,6 +38,12 @@ export type GridProps = typeof Grid.defaultProps & {
38
38
  onViewChanged?: (metrics: GridMetrics) => void;
39
39
  onTokenClicked?: (token: Token) => void;
40
40
  renderer?: GridRenderer;
41
+ /**
42
+ * Registry of cell input renderer functions keyed by column restriction type.
43
+ * Grid looks up columnRestrictions[0].type at render time and falls back to
44
+ * its built-in CellInputField when there is no match.
45
+ */
46
+ cellInputRendererRegistry?: CellInputRendererRegistry;
41
47
  stateOverride?: Record<string, unknown>;
42
48
  theme?: Partial<GridThemeType>;
43
49
  };
@@ -114,6 +120,7 @@ declare class Grid extends PureComponent<GridProps, GridState> {
114
120
  onMoveRowComplete: () => void;
115
121
  onViewChanged: (metrics: GridMetrics) => void;
116
122
  onTokenClicked: (token: Token) => void;
123
+ cellInputRendererRegistry: CellInputRendererRegistry;
117
124
  stateOverride: Record<string, unknown>;
118
125
  theme: Partial<GridThemeType>;
119
126
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../src/Grid.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../src/Grid.tsx"],"names":[],"mappings":"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"}
package/dist/Grid.js CHANGED
@@ -1761,8 +1761,11 @@ class Grid extends PureComponent {
1761
1761
  allRowYs = metrics.allRowYs,
1762
1762
  allColumnWidths = metrics.allColumnWidths,
1763
1763
  allRowHeights = metrics.allRowHeights;
1764
- var _this$getTheme = this.getTheme(),
1765
- activeCellSelectionBorderWidth = _this$getTheme.activeCellSelectionBorderWidth;
1764
+ var theme = this.getTheme();
1765
+ var activeCellSelectionBorderWidth = theme.activeCellSelectionBorderWidth,
1766
+ rowBackgroundColors = theme.rowBackgroundColors,
1767
+ maxDepth = theme.maxDepth,
1768
+ cellHorizontalPadding = theme.cellHorizontalPadding;
1766
1769
  var x = allColumnXs.get(column);
1767
1770
  var y = allRowYs.get(row);
1768
1771
  var w = allColumnWidths.get(column);
@@ -1770,6 +1773,29 @@ class Grid extends PureComponent {
1770
1773
 
1771
1774
  // make sure cell doeesn't go off the left side of the grid
1772
1775
  var leftBorderOffset = gridX + (x !== null && x !== void 0 ? x : 0) <= 0 && scrollX <= 0 ? activeCellSelectionBorderWidth : 0;
1776
+ var modelColumn;
1777
+ var modelRow;
1778
+ try {
1779
+ modelColumn = this.getModelColumn(column);
1780
+ modelRow = this.getModelRow(row);
1781
+ } catch (e) {
1782
+ return null;
1783
+ }
1784
+
1785
+ // Per-cell formatting takes priority; only compute the row stripe if there's no cell-specific color
1786
+ var cellBackgroundColor;
1787
+ var cellForegroundColor;
1788
+ if (modelColumn != null && modelRow != null) {
1789
+ var _model$backgroundColo;
1790
+ cellBackgroundColor = (_model$backgroundColo = model.backgroundColorForCell(modelColumn, modelRow, theme)) !== null && _model$backgroundColo !== void 0 ? _model$backgroundColo : undefined;
1791
+ cellForegroundColor = model.colorForCell(modelColumn, modelRow, theme);
1792
+ }
1793
+ if (cellBackgroundColor == null && rowBackgroundColors) {
1794
+ var colorSets = GridRenderer.getCachedBackgroundColors(rowBackgroundColors, maxDepth);
1795
+ var depth = isExpandableGridModel(model) ? model.depthForRow(row) : 0;
1796
+ var colorSet = colorSets[row % colorSets.length];
1797
+ cellBackgroundColor = colorSet[Math.min(depth, colorSet.length - 1)];
1798
+ }
1773
1799
 
1774
1800
  // If the cell isn't visible, we still need to display an invisible cell for focus purposes
1775
1801
  var wrapperStyle = x != null && y != null && w != null && h != null ? {
@@ -1777,37 +1803,45 @@ class Grid extends PureComponent {
1777
1803
  left: gridX + x + leftBorderOffset,
1778
1804
  top: gridY + y,
1779
1805
  width: w - leftBorderOffset,
1780
- height: h
1806
+ height: h,
1807
+ '--grid-cell-bg': cellBackgroundColor,
1808
+ '--grid-cell-fg': cellForegroundColor,
1809
+ '--grid-row-height': "".concat(h, "px"),
1810
+ '--grid-font-size': theme.font.split(' ')[0],
1811
+ '--grid-cell-horizontal-padding': "".concat(cellHorizontalPadding, "px")
1781
1812
  } : {
1782
1813
  opacity: 0
1783
1814
  };
1784
- var modelColumn;
1785
- var modelRow;
1786
- try {
1787
- modelColumn = this.getModelColumn(column);
1788
- modelRow = this.getModelRow(row);
1789
- } catch (e) {
1790
- return null;
1791
- }
1792
1815
  var inputStyle = modelColumn != null && modelRow != null ? {
1793
1816
  textAlign: model.textAlignForCell(modelColumn, modelRow)
1794
1817
  } : undefined;
1795
1818
  var isValid = modelColumn != null && modelRow != null ? model.isValidForCell(modelColumn, modelRow, value) : false;
1819
+ var cellInputRendererRegistry = this.props.cellInputRendererRegistry;
1820
+ var restrictions = modelColumn != null ? model.getColumnRestrictions(modelColumn) : EMPTY_ARRAY;
1821
+ var cellInputProps = {
1822
+ selectionRange,
1823
+ className: classNames({
1824
+ error: !isValid
1825
+ }),
1826
+ onCancel: this.handleEditCellCancel,
1827
+ onChange: this.handleEditCellChange,
1828
+ onDone: this.handleEditCellCommit,
1829
+ isQuickEdit,
1830
+ style: inputStyle,
1831
+ value,
1832
+ restrictions
1833
+ };
1834
+
1835
+ // The server supports multiple restrictions on a single column, but the UI does not know how to render multiple restrictions simultaneously
1836
+ // This uses a custom renderer if there is only one restriction and uses the default renderer if there are multiple restrictions
1837
+ var renderer = restrictions.length === 1 ? cellInputRendererRegistry === null || cellInputRendererRegistry === void 0 ? void 0 : cellInputRendererRegistry.get(restrictions[0].type) : undefined;
1796
1838
  return /*#__PURE__*/_jsx("div", {
1797
1839
  style: wrapperStyle,
1798
- children: /*#__PURE__*/_jsx(CellInputField, {
1799
- selectionRange: selectionRange,
1800
- className: classNames({
1801
- error: !isValid
1802
- }),
1803
- onCancel: this.handleEditCellCancel,
1804
- onChange: this.handleEditCellChange,
1805
- onDone: this.handleEditCellCommit,
1806
- isQuickEdit: isQuickEdit,
1807
- style: inputStyle,
1808
- value: value
1809
- }, "".concat(column, ",").concat(row))
1810
- });
1840
+ children: renderer != null ? renderer(cellInputProps) :
1841
+ /*#__PURE__*/
1842
+ // eslint-disable-next-line react/jsx-props-no-spreading
1843
+ _jsx(CellInputField, _objectSpread({}, cellInputProps))
1844
+ }, "".concat(column, ",").concat(row));
1811
1845
  }
1812
1846
 
1813
1847
  /**
@@ -1915,6 +1949,7 @@ _defineProperty(Grid, "defaultProps", {
1915
1949
  window.open(token.href, '_blank', 'noopener,noreferrer');
1916
1950
  }
1917
1951
  },
1952
+ cellInputRendererRegistry: new Map(),
1918
1953
  stateOverride: {},
1919
1954
  theme: {
1920
1955
  autoSelectColumn: false,