d2coreui 23.0.37 → 23.0.39
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/components/date/dateRangeInput.js +3 -3
- package/components/date/dateRangeInput.js.map +1 -1
- package/components/date/dateRangeInputConfirm.js +3 -3
- package/components/date/dateRangeInputConfirm.js.map +1 -1
- package/components/date/dateTimeInput.d.ts +2 -1
- package/components/date/dateTimeInput.js +5 -5
- package/components/date/dateTimeInput.js.map +1 -1
- package/components/grid/cell/customEnumCellEditor.js +7 -7
- package/components/grid/cell/customEnumCellEditor.js.map +1 -1
- package/components/grid/cell/dateCellEditor.js +3 -4
- package/components/grid/cell/dateCellEditor.js.map +1 -1
- package/components/grid/cell/simpleStatusTextCellEditor.js +7 -7
- package/components/grid/cell/simpleStatusTextCellEditor.js.map +1 -1
- package/components/grid/cell/statusTextCellEditor.js +6 -6
- package/components/grid/cell/statusTextCellEditor.js.map +1 -1
- package/components/grid/dataGrid.js +4 -5
- package/components/grid/dataGrid.js.map +1 -1
- package/components/grid/extendedDataGrid.js +1 -1
- package/components/grid/extendedDataGrid.js.map +1 -1
- package/components/input/autoCompleteInput.d.ts +10 -11
- package/components/input/autoCompleteInput.js +76 -85
- package/components/input/autoCompleteInput.js.map +1 -1
- package/components/modal/impl/draggableModalInner.js +2 -2
- package/components/modal/impl/draggableModalInner.js.map +1 -1
- package/components/modal/impl/draggableModalReducer.d.ts +0 -2
- package/components/modal/impl/draggableModalReducer.js +5 -8
- package/components/modal/impl/draggableModalReducer.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statusTextCellEditor.js","sourceRoot":"","sources":["../../../../../components/grid/cell/statusTextCellEditor.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\r\nimport {InputNumber, Select} from \"antd\";\r\nimport {Key} from \"ts-key-enum\";\r\nimport KeyboardUtils from \"d2coreui/components/keyboard/keyboardUtils\";\r\nimport {LocaleHolder} from \"d2core/i18n/localeHolder\";\r\nimport ReactDOM from 'react-dom';\r\nimport scrollIntoView from \"dom-scroll-into-view\";\r\nimport {CustomCellEditorProps} from \"ag-grid-react\";\r\nimport {DataGridCellEditorComponent, withAgGridHooks} from \"./dataGridCellEditorComponent\";\r\n\r\ninterface StatusTextCellEditorProperties extends CustomCellEditorProps {\r\n decimalSeparator?: string\r\n precision?: number\r\n statusTexts: { text: string, value: number }[];\r\n}\r\n\r\ninterface StatusTextCellEditorState {\r\n value: number | null\r\n opened: boolean\r\n}\r\n\r\nclass StatusTextCellEditor extends DataGridCellEditorComponent<StatusTextCellEditorProperties, StatusTextCellEditorState> {\r\n private inputComponent: HTMLInputElement | null = null;\r\n\r\n constructor(props: Readonly<StatusTextCellEditorProperties>) {\r\n super(props);\r\n this.state = this.getInitialState(props);\r\n }\r\n\r\n getInitialState(props: Readonly<StatusTextCellEditorProperties>): StatusTextCellEditorState {\r\n let value: number | null;\r\n\r\n if (props.eventKey === Key.Backspace || props.eventKey === Key.Delete) {\r\n // if backspace or delete pressed, we clear the cell\r\n value = null;\r\n props.onValueChange(null);\r\n } else if (props.eventKey && props.eventKey.length === 1) {\r\n // if a letter was pressed, we start with the letter\r\n const parsedValue = Number.parseInt(props.eventKey);\r\n value = isNaN(parsedValue) ? props.value : parsedValue;\r\n props.onValueChange(value);\r\n } else {\r\n // otherwise we start with the current value\r\n value = props.initialValue;\r\n }\r\n return {value: value} as StatusTextCellEditorState;\r\n }\r\n\r\n focus() {\r\n this.inputComponent?.focus();\r\n }\r\n\r\n select() {\r\n this.inputComponent?.select();\r\n }\r\n\r\n placeCursorToEnd() {\r\n // when we started editing, we want the carot at the end, not the start.\r\n // this comes into play in two scenarios: a) when user hits F2 and b)\r\n // when user hits a printable character, then on IE (and only IE) the carot\r\n // was placed after the first character, thus 'apply' would end up as 'pplea'\r\n const length = this.inputComponent?.value ? this.inputComponent?.value.length : 0;\r\n if (length > 0) {\r\n this.inputComponent?.setSelectionRange(length, length);\r\n }\r\n }\r\n\r\n isCancelBeforeStart(): boolean {\r\n return !!this.props.eventKey && this.props.eventKey.length === 1 && '1234567890'.indexOf(this.props.eventKey) < 0;\r\n }\r\n\r\n // noinspection DuplicatedCode\r\n getScrollParent(element: HTMLElement, includeHidden = false): HTMLElement {\r\n var style = getComputedStyle(element);\r\n var excludeStaticParent = style.position === \"absolute\";\r\n var overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/;\r\n if (style.position === \"fixed\") return document.body;\r\n let parent: HTMLElement | null;\r\n for (parent = element; (parent = parent.parentElement);) {\r\n style = getComputedStyle(parent);\r\n if (excludeStaticParent && style.position === \"static\") {\r\n continue;\r\n }\r\n if (overflowRegex.test(style.overflow + style.overflowY + style.overflowX)) return parent;\r\n }\r\n return document.body;\r\n }\r\n\r\n scrollTo(value: number) {\r\n const elementToScroll = document.getElementById(\"select-value-\" + value);\r\n if (elementToScroll) {\r\n const parent = this.getScrollParent(elementToScroll, true);\r\n scrollIntoView(elementToScroll, parent, {\r\n onlyScrollIfNeeded: true,\r\n allowHorizontalScroll: false,\r\n alignWithTop: true,\r\n offsetTop: 20,\r\n offsetBottom: 20,\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div style={{width: \"100%\", minWidth: 150}}>\r\n <Select<number>\r\n size={\"small\"}\r\n virtual={false}\r\n popupMatchSelectWidth={false}\r\n className={\"select-with-one-item\"}\r\n style={{width: \"100%\", overflow: \"auto\", visibility: \"hidden\"}}\r\n dropdownStyle={{maxHeight: 400, overflow: 'auto'}}\r\n allowClear\r\n dropdownAlign={{points: [\"tl\", \"tr\"], offset: [0, -100], overflow: {adjustX: true, adjustY: true}}}\r\n filterOption={(inputValue, option) => {\r\n const inputToSearch = inputValue.toLocaleLowerCase(LocaleHolder.formattingLocale);\r\n const value: number = option?.value as number;\r\n return (value?.toString().indexOf(inputToSearch) >= 0) || ((option?.title?.toLocaleLowerCase(LocaleHolder.formattingLocale).indexOf(inputToSearch) ?? -1) >= 0);\r\n }}\r\n value={this.state.value !== null ? this.state.value : undefined}\r\n onChange={(value) => {\r\n this.setState({value: value});\r\n this.props.onValueChange(value);\r\n }}\r\n open={this.state.opened}\r\n onDropdownVisibleChange={(visible) => {\r\n this.setState({opened: visible});\r\n }}\r\n getPopupContainer={(_trigger) => {\r\n // very nasty trick how to keep select's popup within focusable area of ag-grid cell editor popup (prevent closing cell editor when we click in select's dropdown area)\r\n return (ReactDOM.findDOMNode(this)?.parentNode ?? document.body) as HTMLElement;\r\n }}\r\n >\r\n {this.props.statusTexts?.map((statusTextItem) => {\r\n return <Select.Option\r\n id={\"select-value-\" + statusTextItem.value}\r\n key={\"\" + statusTextItem.value}\r\n value={statusTextItem.value}\r\n title={statusTextItem.text}\r\n >\r\n <span style={{\r\n color: \"rgba(0, 0, 0, 0.85)\",\r\n whiteSpace: \"nowrap\"\r\n }}>{`${statusTextItem.text} (${statusTextItem.value})`}</span>\r\n </Select.Option>;\r\n })}\r\n </Select>\r\n <InputNumber\r\n ref={(component) => {\r\n this.inputComponent = component;\r\n }}\r\n size=\"small\"\r\n style={{\r\n position: \"absolute\",\r\n top: 0,\r\n bottom: 0,\r\n left: 0,\r\n right: 0,\r\n width: \"100%\"\r\n }}\r\n autoFocus\r\n decimalSeparator={this.props.decimalSeparator}\r\n precision={this.props.precision}\r\n placeholder={this.state.value === null ? \"NULL\" : \"\"}\r\n value={this.state.value !== undefined && this.state.value !== null ? this.state.value : undefined}\r\n onChange={value => {\r\n if (KeyboardUtils.isKeyPressed(Key.Alt)) {\r\n // ignore navigational keystrokes ALT+cursor arrow\r\n return;\r\n }\r\n if (typeof value === \"number\") {\r\n this.setState({value: value, opened: true});\r\n this.scrollTo(value);\r\n this.props.onValueChange(value);\r\n } else if (value === undefined || value === \"\") {\r\n this.setState({value: null, opened: true});\r\n this.props.onValueChange(null);\r\n }\r\n }}\r\n onKeyDown={(e) => {\r\n if (e.key === Key.ArrowUp || e.key === Key.ArrowDown) {\r\n this.props.onKeyDown(e.nativeEvent);\r\n e.preventDefault();\r\n }\r\n }}\r\n onFocus={() => {\r\n this.setState({opened: true});\r\n }}\r\n onClick={() => {\r\n this.setState({opened: true});\r\n }}\r\n />\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport default withAgGridHooks(StatusTextCellEditor)"]}
|
|
1
|
+
{"version":3,"file":"statusTextCellEditor.js","sourceRoot":"","sources":["../../../../../components/grid/cell/statusTextCellEditor.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\r\nimport {InputNumber, Select} from \"antd\";\r\nimport {Key} from \"ts-key-enum\";\r\nimport KeyboardUtils from \"d2coreui/components/keyboard/keyboardUtils\";\r\nimport {LocaleHolder} from \"d2core/i18n/localeHolder\";\r\nimport scrollIntoView from \"dom-scroll-into-view\";\r\nimport {CustomCellEditorProps} from \"ag-grid-react\";\r\nimport {DataGridCellEditorComponent, withAgGridHooks} from \"./dataGridCellEditorComponent\";\r\n\r\ninterface StatusTextCellEditorProperties extends CustomCellEditorProps {\r\n decimalSeparator?: string\r\n precision?: number\r\n statusTexts: { text: string, value: number }[];\r\n}\r\n\r\ninterface StatusTextCellEditorState {\r\n value: number | null\r\n opened: boolean\r\n}\r\n\r\nclass StatusTextCellEditor extends DataGridCellEditorComponent<StatusTextCellEditorProperties, StatusTextCellEditorState> {\r\n private inputComponent: HTMLInputElement | null = null;\r\n private containerRef = React.createRef<HTMLDivElement>();\r\n\r\n constructor(props: Readonly<StatusTextCellEditorProperties>) {\r\n super(props);\r\n this.state = this.getInitialState(props);\r\n }\r\n\r\n getInitialState(props: Readonly<StatusTextCellEditorProperties>): StatusTextCellEditorState {\r\n let value: number | null;\r\n\r\n if (props.eventKey === Key.Backspace || props.eventKey === Key.Delete) {\r\n // if backspace or delete pressed, we clear the cell\r\n value = null;\r\n props.onValueChange(null);\r\n } else if (props.eventKey && props.eventKey.length === 1) {\r\n // if a letter was pressed, we start with the letter\r\n const parsedValue = Number.parseInt(props.eventKey);\r\n value = isNaN(parsedValue) ? props.value : parsedValue;\r\n props.onValueChange(value);\r\n } else {\r\n // otherwise we start with the current value\r\n value = props.initialValue;\r\n }\r\n return {value: value} as StatusTextCellEditorState;\r\n }\r\n\r\n focus() {\r\n this.inputComponent?.focus();\r\n }\r\n\r\n select() {\r\n this.inputComponent?.select();\r\n }\r\n\r\n placeCursorToEnd() {\r\n // when we started editing, we want the carot at the end, not the start.\r\n // this comes into play in two scenarios: a) when user hits F2 and b)\r\n // when user hits a printable character, then on IE (and only IE) the carot\r\n // was placed after the first character, thus 'apply' would end up as 'pplea'\r\n const length = this.inputComponent?.value ? this.inputComponent?.value.length : 0;\r\n if (length > 0) {\r\n this.inputComponent?.setSelectionRange(length, length);\r\n }\r\n }\r\n\r\n isCancelBeforeStart(): boolean {\r\n return !!this.props.eventKey && this.props.eventKey.length === 1 && '1234567890'.indexOf(this.props.eventKey) < 0;\r\n }\r\n\r\n // noinspection DuplicatedCode\r\n getScrollParent(element: HTMLElement, includeHidden = false): HTMLElement {\r\n var style = getComputedStyle(element);\r\n var excludeStaticParent = style.position === \"absolute\";\r\n var overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/;\r\n if (style.position === \"fixed\") return document.body;\r\n let parent: HTMLElement | null;\r\n for (parent = element; (parent = parent.parentElement);) {\r\n style = getComputedStyle(parent);\r\n if (excludeStaticParent && style.position === \"static\") {\r\n continue;\r\n }\r\n if (overflowRegex.test(style.overflow + style.overflowY + style.overflowX)) return parent;\r\n }\r\n return document.body;\r\n }\r\n\r\n scrollTo(value: number) {\r\n const elementToScroll = document.getElementById(\"select-value-\" + value);\r\n if (elementToScroll) {\r\n const parent = this.getScrollParent(elementToScroll, true);\r\n scrollIntoView(elementToScroll, parent, {\r\n onlyScrollIfNeeded: true,\r\n allowHorizontalScroll: false,\r\n alignWithTop: true,\r\n offsetTop: 20,\r\n offsetBottom: 20,\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <div style={{width: \"100%\", minWidth: 150}} ref={this.containerRef}>\r\n <Select<number>\r\n size={\"small\"}\r\n virtual={false}\r\n popupMatchSelectWidth={false}\r\n className={\"select-with-one-item\"}\r\n style={{width: \"100%\", overflow: \"auto\", visibility: \"hidden\"}}\r\n styles={{popup: {root: {maxHeight: 400, overflow: 'auto'}}}}\r\n allowClear\r\n dropdownAlign={{points: [\"tl\", \"tr\"], offset: [0, -100], overflow: {adjustX: true, adjustY: true}}}\r\n filterOption={(inputValue, option) => {\r\n const inputToSearch = inputValue.toLocaleLowerCase(LocaleHolder.formattingLocale);\r\n const value: number = option?.value as number;\r\n return (value?.toString().indexOf(inputToSearch) >= 0) || ((option?.title?.toLocaleLowerCase(LocaleHolder.formattingLocale).indexOf(inputToSearch) ?? -1) >= 0);\r\n }}\r\n value={this.state.value !== null ? this.state.value : undefined}\r\n onChange={(value) => {\r\n this.setState({value: value});\r\n this.props.onValueChange(value);\r\n }}\r\n open={this.state.opened}\r\n onOpenChange={(visible) => {\r\n this.setState({opened: visible});\r\n }}\r\n getPopupContainer={() => {\r\n // very nasty trick how to keep select's popup within focusable area of ag-grid cell editor popup (prevent closing cell editor when we click in select's dropdown area)\r\n return (this.containerRef.current?.parentNode ?? document.body) as HTMLElement;\r\n }}\r\n >\r\n {this.props.statusTexts?.map((statusTextItem) => {\r\n return <Select.Option\r\n id={\"select-value-\" + statusTextItem.value}\r\n key={\"\" + statusTextItem.value}\r\n value={statusTextItem.value}\r\n title={statusTextItem.text}\r\n >\r\n <span style={{\r\n color: \"rgba(0, 0, 0, 0.85)\",\r\n whiteSpace: \"nowrap\"\r\n }}>{`${statusTextItem.text} (${statusTextItem.value})`}</span>\r\n </Select.Option>;\r\n })}\r\n </Select>\r\n <InputNumber\r\n ref={(component) => {\r\n this.inputComponent = component;\r\n }}\r\n size=\"small\"\r\n style={{\r\n position: \"absolute\",\r\n top: 0,\r\n bottom: 0,\r\n left: 0,\r\n right: 0,\r\n width: \"100%\"\r\n }}\r\n autoFocus\r\n decimalSeparator={this.props.decimalSeparator}\r\n precision={this.props.precision}\r\n placeholder={this.state.value === null ? \"NULL\" : \"\"}\r\n value={this.state.value !== undefined && this.state.value !== null ? this.state.value : undefined}\r\n onChange={value => {\r\n if (KeyboardUtils.isKeyPressed(Key.Alt)) {\r\n // ignore navigational keystrokes ALT+cursor arrow\r\n return;\r\n }\r\n if (typeof value === \"number\") {\r\n this.setState({value: value, opened: true});\r\n this.scrollTo(value);\r\n this.props.onValueChange(value);\r\n } else if (value === undefined || value === \"\") {\r\n this.setState({value: null, opened: true});\r\n this.props.onValueChange(null);\r\n }\r\n }}\r\n onKeyDown={(e) => {\r\n if (e.key === Key.ArrowUp || e.key === Key.ArrowDown) {\r\n this.props.onKeyDown(e.nativeEvent);\r\n e.preventDefault();\r\n }\r\n }}\r\n onFocus={() => {\r\n this.setState({opened: true});\r\n }}\r\n onClick={() => {\r\n this.setState({opened: true});\r\n }}\r\n />\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport default withAgGridHooks(StatusTextCellEditor)"]}
|
|
@@ -49,7 +49,6 @@ import DurationCellEditor from "d2coreui/components/grid/cell/durationCellEditor
|
|
|
49
49
|
import CustomEnumCellEditor from "d2coreui/components/grid/cell/customEnumCellEditor";
|
|
50
50
|
import HexaValueCellEditor from "d2coreui/components/grid/cell/hexaValueCellEditor";
|
|
51
51
|
import HexaOctetStringCellEditor from "d2coreui/components/grid/cell/hexaOctetStringCellEditor";
|
|
52
|
-
import ReactDOM from "react-dom";
|
|
53
52
|
import { D2000UnixTimeNullValue, unixTimeToMoment } from "d2core/types/unixTimeUtils";
|
|
54
53
|
import { compileExpression } from "filtrex";
|
|
55
54
|
import DataGridPagination from "./panel/dataGridPagination";
|
|
@@ -1700,9 +1699,9 @@ class DataGrid extends React.Component {
|
|
|
1700
1699
|
React.createElement("div", { style: tPanelStyle },
|
|
1701
1700
|
React.createElement(WithCss, { useStyles: useStyles }, (styles) => {
|
|
1702
1701
|
var _a, _b, _c, _d;
|
|
1703
|
-
return React.createElement(Dropdown, { trigger: ["contextMenu"], getPopupContainer: () => {
|
|
1704
|
-
var _a
|
|
1705
|
-
const parentNode = ((
|
|
1702
|
+
return React.createElement(Dropdown, { trigger: ["contextMenu"], getPopupContainer: (triggerNode) => {
|
|
1703
|
+
var _a;
|
|
1704
|
+
const parentNode = ((_a = triggerNode === null || triggerNode === void 0 ? void 0 : triggerNode.parentNode) !== null && _a !== void 0 ? _a : document.body);
|
|
1706
1705
|
return parentNode;
|
|
1707
1706
|
}, menu: getContextMenu({
|
|
1708
1707
|
onlySelectedNodes: true,
|
|
@@ -1725,7 +1724,7 @@ class DataGrid extends React.Component {
|
|
|
1725
1724
|
React.createElement(ConfigProvider.ConfigContext.Consumer, null, (context) => {
|
|
1726
1725
|
var _a;
|
|
1727
1726
|
const defaultTheme = theme !== null && theme !== void 0 ? theme : this.getTheme((_a = context.theme) === null || _a === void 0 ? void 0 : _a.algorithm, styles.theme);
|
|
1728
|
-
return (React.createElement(AgGridReact, Object.assign({ key: key, debug: debugMode, ref: gridRef, theme: defaultTheme, paginationPageSize: paginationPageSize, maxConcurrentDatasourceRequests: this.props.rowModelType === "infinite" ? 1 : undefined, onGridReady: this.onGridReady, onPaginationChanged: this.onPaginationChanged, onFilterModified: this.onFilterModified, onFilterChanged: this.onFilterChanged, onSortChanged: this.onSortChanged, defaultColDef: this.getDefaultColDefinition(defaultColDef), columnDefs: adaptedColumnDefs, rowData: !rowDataManualMode ? rowData : undefined }, passedProperties, { onCellFocused: this.onCellFocused, cellSelection: rowSelection === "multiple" || (rowSelection === null || rowSelection === void 0 ? void 0 : rowSelection.mode) === "multiRow", rowSelection: rowSelection, suppressPaginationPanel: true, getRowId: getRowId, maintainColumnOrder: true, components: customComponents, columnTypes: this.columnTypes, onColumnVisible: this.onColumnsChanged, onColumnPinned: this.onColumnsChanged, onColumnResized: this.onColumnsChanged, onColumnMoved: this.onColumnsChanged, onCellMouseOver: this.onCellMouseOver, onCellMouseDown: this.onCellMouseDown, navigateToNextCell: this.navigateToNextCell, onViewportChanged: this.onViewportChanged, onCellContextMenu: this.onCellContextMenu, loadingOverlayComponent: 'loadingOverlay', noRowsOverlayComponent: 'noRecordsOverlay', onRowDataUpdated: this.onRowDataUpdated, context: this.table_context, rowHeight: this.state.rowHeight, getRowStyle: this._getRowStyle, getRowHeight: this._getRowHeight, headerHeight: headerHeight !== undefined ? headerHeight : headerFilterRowHeight, floatingFiltersHeight: headerFilterRowHeight, suppressLoadingOverlay: this.props.loadingOverlayRenderer ? true : this.props.suppressLoadingOverlay, quickFilterParser: this.wildcardQuickFilter.quickFilterParser, quickFilterMatcher: this.wildcardQuickFilter.quickFilterMatcher })));
|
|
1727
|
+
return (React.createElement(AgGridReact, Object.assign({ key: key, debug: debugMode, ref: gridRef, theme: defaultTheme, paginationPageSize: paginationPageSize, maxConcurrentDatasourceRequests: this.props.rowModelType === "infinite" ? 1 : undefined, onGridReady: this.onGridReady, onPaginationChanged: this.onPaginationChanged, onFilterModified: this.onFilterModified, onFilterChanged: this.onFilterChanged, onSortChanged: this.onSortChanged, defaultColDef: this.getDefaultColDefinition(defaultColDef), columnDefs: adaptedColumnDefs, rowData: !rowDataManualMode ? rowData : undefined }, passedProperties, { onCellFocused: this.onCellFocused, cellSelection: rowSelection === "multiple" || (rowSelection === null || rowSelection === void 0 ? void 0 : rowSelection.mode) === "multiRow", rowSelection: rowSelection, suppressRowClickSelection: rowSelection === "multiple" || (rowSelection === null || rowSelection === void 0 ? void 0 : rowSelection.mode) === "multiRow", suppressRowDeselection: rowSelection === "multiple" || (rowSelection === null || rowSelection === void 0 ? void 0 : rowSelection.mode) === "multiRow", suppressPaginationPanel: true, getRowId: getRowId, maintainColumnOrder: true, components: customComponents, columnTypes: this.columnTypes, onColumnVisible: this.onColumnsChanged, onColumnPinned: this.onColumnsChanged, onColumnResized: this.onColumnsChanged, onColumnMoved: this.onColumnsChanged, onCellMouseOver: this.onCellMouseOver, onCellMouseDown: this.onCellMouseDown, navigateToNextCell: this.navigateToNextCell, onViewportChanged: this.onViewportChanged, onCellContextMenu: this.onCellContextMenu, loadingOverlayComponent: 'loadingOverlay', noRowsOverlayComponent: 'noRecordsOverlay', onRowDataUpdated: this.onRowDataUpdated, context: this.table_context, rowHeight: this.state.rowHeight, getRowStyle: this._getRowStyle, getRowHeight: this._getRowHeight, headerHeight: headerHeight !== undefined ? headerHeight : headerFilterRowHeight, floatingFiltersHeight: headerFilterRowHeight, suppressLoadingOverlay: this.props.loadingOverlayRenderer ? true : this.props.suppressLoadingOverlay, quickFilterParser: this.wildcardQuickFilter.quickFilterParser, quickFilterMatcher: this.wildcardQuickFilter.quickFilterMatcher })));
|
|
1729
1728
|
}),
|
|
1730
1729
|
this.state.loading && this.props.loadingOverlayRenderer &&
|
|
1731
1730
|
React.createElement("div", { className: "ag-overlay", "aria-hidden": "true" },
|