@elliemae/ds-datagrids 3.1.5-rc.9 → 3.2.0-rc.3
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/cjs/columns/IconColumn.js.map +1 -1
- package/dist/cjs/plugins/editable/EditableComponents/ComboBox.js.map +1 -1
- package/dist/cjs/plugins/editable/EditableComponents/TextBox.js.map +1 -1
- package/dist/cjs/plugins/selectable/SelectablePlugin.js.map +1 -1
- package/dist/cjs/plugins/selectable/useSelectableState.js.map +1 -1
- package/dist/cjs/plugins/virtualization/VirtualizedBody.js +1 -1
- package/dist/cjs/plugins/virtualization/VirtualizedBody.js.map +2 -2
- package/dist/esm/columns/IconColumn.js.map +1 -1
- package/dist/esm/plugins/editable/EditableComponents/ComboBox.js.map +1 -1
- package/dist/esm/plugins/editable/EditableComponents/TextBox.js.map +1 -1
- package/dist/esm/plugins/selectable/SelectablePlugin.js.map +1 -1
- package/dist/esm/plugins/selectable/useSelectableState.js.map +1 -1
- package/dist/esm/plugins/virtualization/VirtualizedBody.js +1 -1
- package/dist/esm/plugins/virtualization/VirtualizedBody.js.map +2 -2
- package/package.json +25 -25
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/columns/IconColumn.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable react/display-name */\nimport React from 'react';\nimport { cx } from '@elliemae/ds-utilities';\nimport { DSButton } from '@elliemae/ds-button';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\n\nconst Intents = {\n SUCCESS: 'success',\n INFO: 'info',\n DANGER: 'danger',\n WARNING: 'warning',\n};\n\nconst IntentIconColors = {\n [Intents.SUCCESS]: ['success', 900],\n [Intents.INFO]: ['brand-primary', 600],\n [Intents.DANGER]: ['danger', 900],\n [Intents.WARNING]: ['warning', 900],\n};\n\nconst ValueWrapper = aggregatedClasses('span')('icon-column-cell');\n\nconst addColorToIcon = (icon, intentColor) => {\n if (icon.props.color) {\n return icon;\n }\n return React.cloneElement(icon, { color: intentColor });\n};\n\nexport const IconColumn = ({\n property,\n label,\n headerIcon,\n getRowIcon = () => null,\n isVisited = () => null,\n intent = Intents.SUCCESS,\n width = 60,\n onClick,\n visible,\n resizable,\n sortable,\n searchable,\n}) => {\n const formatter = (value, extraParams) => {\n const icon = getRowIcon(value, extraParams);\n const onClickHandler = (e) => onClick(e, extraParams);\n return (\n <ValueWrapper className={cx(`icc-${intent}`, isVisited(value, extraParams))}>\n {icon && addColorToIcon(icon, IntentIconColors[intent])}\n {onClick && typeof value !== 'undefined' ? (\n <DSButton buttonType=\"text\" intent={intent} labelText={value} onClick={onClickHandler} />\n ) : (\n value\n )}\n </ValueWrapper>\n );\n };\n return {\n property,\n label,\n headerStyle: {\n justifyContent: 'center',\n },\n header: {\n formatters: [\n () => (\n <span>\n {React.cloneElement(headerIcon, {\n color: IntentIconColors[intent],\n })}\n </span>\n ),\n ],\n },\n cell: {\n formatters: [formatter],\n },\n cellStyle: {\n justifyContent: 'center',\n },\n width,\n visible: typeof visible === 'undefined' || visible,\n resizable,\n sortable,\n searchable,\n };\n};\n\nexport default IconColumn;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAkB;AAClB,0BAAmB;AACnB,uBAAyB;AACzB,2BAAkC;AAElC,MAAM,UAAU;AAAA,EACd,SAAS;AAAA,EACT,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,SAAS;AACX;AAEA,MAAM,mBAAmB;AAAA,
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAkB;AAClB,0BAAmB;AACnB,uBAAyB;AACzB,2BAAkC;AAElC,MAAM,UAAU;AAAA,EACd,SAAS;AAAA,EACT,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,SAAS;AACX;AAEA,MAAM,mBAAmB;AAAA,EACvB,CAAC,QAAQ,UAAU,CAAC,WAAW,GAAG;AAAA,EAClC,CAAC,QAAQ,OAAO,CAAC,iBAAiB,GAAG;AAAA,EACrC,CAAC,QAAQ,SAAS,CAAC,UAAU,GAAG;AAAA,EAChC,CAAC,QAAQ,UAAU,CAAC,WAAW,GAAG;AACpC;AAEA,MAAM,eAAe,4CAAkB,MAAM,EAAE,kBAAkB;AAEjE,MAAM,iBAAiB,CAAC,MAAM,gBAAgB;AAC5C,MAAI,KAAK,MAAM,OAAO;AACpB,WAAO;AAAA,EACT;AACA,SAAO,qBAAM,aAAa,MAAM,EAAE,OAAO,YAAY,CAAC;AACxD;AAEO,MAAM,aAAa,CAAC;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa,MAAM;AAAA,EACnB,YAAY,MAAM;AAAA,EAClB,SAAS,QAAQ;AAAA,EACjB,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MACI;AACJ,QAAM,YAAY,CAAC,OAAO,gBAAgB;AACxC,UAAM,OAAO,WAAW,OAAO,WAAW;AAC1C,UAAM,iBAAiB,CAAC,MAAM,QAAQ,GAAG,WAAW;AACpD,WACE,mDAAC;AAAA,MAAa,WAAW,4BAAG,OAAO,UAAU,UAAU,OAAO,WAAW,CAAC;AAAA,OACvE,QAAQ,eAAe,MAAM,iBAAiB,OAAO,GACrD,WAAW,OAAO,UAAU,cAC3B,mDAAC;AAAA,MAAS,YAAW;AAAA,MAAO;AAAA,MAAgB,WAAW;AAAA,MAAO,SAAS;AAAA,KAAgB,IAEvF,KAEJ;AAAA,EAEJ;AACA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,aAAa;AAAA,MACX,gBAAgB;AAAA,IAClB;AAAA,IACA,QAAQ;AAAA,MACN,YAAY;AAAA,QACV,MACE,mDAAC,cACE,qBAAM,aAAa,YAAY;AAAA,UAC9B,OAAO,iBAAiB;AAAA,QAC1B,CAAC,CACH;AAAA,MAEJ;AAAA,IACF;AAAA,IACA,MAAM;AAAA,MACJ,YAAY,CAAC,SAAS;AAAA,IACxB;AAAA,IACA,WAAW;AAAA,MACT,gBAAgB;AAAA,IAClB;AAAA,IACA;AAAA,IACA,SAAS,OAAO,YAAY,eAAe;AAAA,IAC3C;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEA,IAAO,qBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/plugins/editable/EditableComponents/ComboBox.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["import React, { Component } from 'react';\nimport { DSComboBox } from '@elliemae/ds-form';\n\nclass ComboBox extends Component {\n static defaultProps = {\n onValue: () => null,\n };\n\n constructor(props) {\n super(props);\n this.state = { value: props.value };\n }\n\n handleChange = (value) => {\n const { onValue } = this.props;\n\n // some how this is executed before handleBlur, and handleBlur before the value is set\n // causing the value to be the same as the prevProp\n // todo: find a better solution to this\n setTimeout(() => onValue(value), 1);\n this.setState({ value });\n }\n\n handleBlur = () => {\n const { onValue } = this.props;\n const { value } = this.state;\n onValue(value);\n }\n\n render() {\n const { value } = this.state;\n return (\n <DSComboBox\n {...this.props}\n menuIsOpen\n onBlur={this.handleBlur}\n onChange={this.handleChange}\n onClick={(e) => e.stopPropagation()}\n value={value}\n />\n );\n }\n}\n\nexport { ComboBox };\nexport default ComboBox;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAiC;AACjC,qBAA2B;AAE3B,MAAM,iBAAiB,uBAAU;AAAA,EAK/B,YAAY,OAAO;AACjB,UAAM,KAAK;AAIb,wBAAe,CAAC,UAAU;AACxB,YAAM,EAAE,YAAY,KAAK;AAKzB,iBAAW,MAAM,QAAQ,KAAK,GAAG,CAAC;AAClC,WAAK,SAAS,EAAE,MAAM,CAAC;AAAA,IACzB;AAEA,sBAAa,MAAM;AACjB,YAAM,EAAE,YAAY,KAAK;AACzB,YAAM,EAAE,UAAU,KAAK;AACvB,cAAQ,KAAK;AAAA,IACf;AAjBE,SAAK,QAAQ,EAAE,OAAO,MAAM,MAAM;AAAA,EACpC;AAAA,EAkBA,SAAS;AACP,UAAM,EAAE,UAAU,KAAK;AACvB,WACE,mDAAC,4DACK,KAAK,QADV;AAAA,MAEC,YAAU;AAAA,MACV,QAAQ,KAAK;AAAA,MACb,UAAU,KAAK;AAAA,MACf,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,MAClC;AAAA,MACF;AAAA,EAEJ;AACF;
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAiC;AACjC,qBAA2B;AAE3B,MAAM,iBAAiB,uBAAU;AAAA,EAK/B,YAAY,OAAO;AACjB,UAAM,KAAK;AAIb,wBAAe,CAAC,UAAU;AACxB,YAAM,EAAE,YAAY,KAAK;AAKzB,iBAAW,MAAM,QAAQ,KAAK,GAAG,CAAC;AAClC,WAAK,SAAS,EAAE,MAAM,CAAC;AAAA,IACzB;AAEA,sBAAa,MAAM;AACjB,YAAM,EAAE,YAAY,KAAK;AACzB,YAAM,EAAE,UAAU,KAAK;AACvB,cAAQ,KAAK;AAAA,IACf;AAjBE,SAAK,QAAQ,EAAE,OAAO,MAAM,MAAM;AAAA,EACpC;AAAA,EAkBA,SAAS;AACP,UAAM,EAAE,UAAU,KAAK;AACvB,WACE,mDAAC,4DACK,KAAK,QADV;AAAA,MAEC,YAAU;AAAA,MACV,QAAQ,KAAK;AAAA,MACb,UAAU,KAAK;AAAA,MACf,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,MAClC;AAAA,MACF;AAAA,EAEJ;AACF;AAtCE,AADI,SACG,eAAe;AAAA,EACpB,SAAS,MAAM;AACjB;AAuCF,IAAO,mBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/plugins/editable/EditableComponents/TextBox.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable react/prop-types */\n/* eslint-disable react/static-property-placement */\nimport React, { Component } from 'react';\nimport { DSTextBox } from '@elliemae/ds-form';\n\n// todo: redo with hooks\nclass TextBox extends Component {\n static defaultProps = {\n onValue: () => null,\n };\n\n constructor(props) {\n super(props);\n this.inputRef = React.createRef();\n this.state = { value: props.value };\n }\n\n componentDidMount() {\n setTimeout(() => {\n if (this.inputRef && this.inputRef.current) {\n this.inputRef.current.focus();\n }\n }, 50);\n }\n\n handleKeyUp = ({ key, target: { value } }) => {\n const { onValue } = this.props;\n if (key === 'Enter') {\n onValue(value);\n }\n }\n\n handleKeyDown = (e) => {\n // PUI-2553 prevent form submit on `Enter` keypress\n if (e.key === 'Enter') {\n e.preventDefault();\n }\n }\n\n handleBlur = (e) => {\n const { onValue } = this.props;\n const {\n target: { value },\n } = e;\n onValue(value);\n }\n\n handleChange = ({ target: { value } }) => {\n this.setState({ value });\n }\n\n render() {\n const { value } = this.state;\n return (\n <DSTextBox\n data-testid=\"ds-datagrids-editable-text-box\"\n {...this.props}\n innerRef={this.inputRef}\n onBlur={this.handleBlur}\n onChange={this.handleChange}\n onClick={(e) => e.stopPropagation()}\n onKeyUp={this.handleKeyUp}\n onKeyDown={this.handleKeyDown}\n value={value}\n />\n );\n }\n}\n\nexport { TextBox };\nexport default TextBox;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,mBAAiC;AACjC,qBAA0B;AAG1B,MAAM,gBAAgB,uBAAU;AAAA,EAK9B,YAAY,OAAO;AACjB,UAAM,KAAK;AAab,uBAAc,CAAC,EAAE,KAAK,QAAQ,EAAE,cAAc;AAC5C,YAAM,EAAE,YAAY,KAAK;AACzB,UAAI,QAAQ,SAAS;AACnB,gBAAQ,KAAK;AAAA,MACf;AAAA,IACF;AAEA,yBAAgB,CAAC,MAAM;AAErB,UAAI,EAAE,QAAQ,SAAS;AACrB,UAAE,eAAe;AAAA,MACnB;AAAA,IACF;AAEA,sBAAa,CAAC,MAAM;AAClB,YAAM,EAAE,YAAY,KAAK;AACzB,YAAM;AAAA,QACJ,QAAQ,EAAE;AAAA,UACR;AACJ,cAAQ,KAAK;AAAA,IACf;AAEA,wBAAe,CAAC,EAAE,QAAQ,EAAE,cAAc;AACxC,WAAK,SAAS,EAAE,MAAM,CAAC;AAAA,IACzB;AApCE,SAAK,WAAW,qBAAM,UAAU;AAChC,SAAK,QAAQ,EAAE,OAAO,MAAM,MAAM;AAAA,EACpC;AAAA,EAEA,oBAAoB;AAClB,eAAW,MAAM;AACf,UAAI,KAAK,YAAY,KAAK,SAAS,SAAS;AAC1C,aAAK,SAAS,QAAQ,MAAM;AAAA,MAC9B;AAAA,IACF,GAAG,EAAE;AAAA,EACP;AAAA,EA4BA,SAAS;AACP,UAAM,EAAE,UAAU,KAAK;AACvB,WACE,mDAAC;AAAA,MACC,eAAY;AAAA,OACR,KAAK,QAFV;AAAA,MAGC,UAAU,KAAK;AAAA,MACf,QAAQ,KAAK;AAAA,MACb,UAAU,KAAK;AAAA,MACf,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,MAClC,SAAS,KAAK;AAAA,MACd,WAAW,KAAK;AAAA,MAChB;AAAA,MACF;AAAA,EAEJ;AACF;
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,mBAAiC;AACjC,qBAA0B;AAG1B,MAAM,gBAAgB,uBAAU;AAAA,EAK9B,YAAY,OAAO;AACjB,UAAM,KAAK;AAab,uBAAc,CAAC,EAAE,KAAK,QAAQ,EAAE,cAAc;AAC5C,YAAM,EAAE,YAAY,KAAK;AACzB,UAAI,QAAQ,SAAS;AACnB,gBAAQ,KAAK;AAAA,MACf;AAAA,IACF;AAEA,yBAAgB,CAAC,MAAM;AAErB,UAAI,EAAE,QAAQ,SAAS;AACrB,UAAE,eAAe;AAAA,MACnB;AAAA,IACF;AAEA,sBAAa,CAAC,MAAM;AAClB,YAAM,EAAE,YAAY,KAAK;AACzB,YAAM;AAAA,QACJ,QAAQ,EAAE;AAAA,UACR;AACJ,cAAQ,KAAK;AAAA,IACf;AAEA,wBAAe,CAAC,EAAE,QAAQ,EAAE,cAAc;AACxC,WAAK,SAAS,EAAE,MAAM,CAAC;AAAA,IACzB;AApCE,SAAK,WAAW,qBAAM,UAAU;AAChC,SAAK,QAAQ,EAAE,OAAO,MAAM,MAAM;AAAA,EACpC;AAAA,EAEA,oBAAoB;AAClB,eAAW,MAAM;AACf,UAAI,KAAK,YAAY,KAAK,SAAS,SAAS;AAC1C,aAAK,SAAS,QAAQ,MAAM;AAAA,MAC9B;AAAA,IACF,GAAG,EAAE;AAAA,EACP;AAAA,EA4BA,SAAS;AACP,UAAM,EAAE,UAAU,KAAK;AACvB,WACE,mDAAC;AAAA,MACC,eAAY;AAAA,OACR,KAAK,QAFV;AAAA,MAGC,UAAU,KAAK;AAAA,MACf,QAAQ,KAAK;AAAA,MACb,UAAU,KAAK;AAAA,MACf,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,MAClC,SAAS,KAAK;AAAA,MACd,WAAW,KAAK;AAAA,MAChB;AAAA,MACF;AAAA,EAEJ;AACF;AA5DE,AADI,QACG,eAAe;AAAA,EACpB,SAAS,MAAM;AACjB;AA6DF,IAAO,kBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/plugins/selectable/SelectablePlugin.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable react-hooks/rules-of-hooks */\n/* eslint-disable max-lines */\nimport { useEffect, useState, useCallback } from 'react';\nimport cx from 'obj-str';\nimport { isFunction } from '@elliemae/ds-utilities';\nimport { createInstancePlugin } from '@elliemae/ds-shared';\nimport { selectionColumnCreator } from './addSelectableColumn';\nimport { useSelectableState } from './useSelectableState';\nimport { selectMultipleRow, selectSingleRow } from './helper';\n\n// DECORATORS\nconst decorateColumns = (columns, grid) => {\n const {\n props: {\n selectable,\n multiSelectFilterLabel,\n multiSelectFilterOptions,\n multiSelectFilterLabels,\n multiSelectComponent,\n },\n actions: { selectAll: handleSelectAll, selectRow: handleSelectRow },\n state: { selection },\n } = grid;\n\n const createSelectionColumn = selectionColumnCreator({\n grid,\n multiple: selectable === 'multi',\n selectAll: selection.selectAll,\n onSelectAll: handleSelectAll,\n onSelectRow: handleSelectRow,\n multiSelectFilterLabel,\n multiSelectFilterOptions,\n multiSelectFilterLabels,\n multiSelectComponent,\n });\n\n const { showSelectColumn, selectionColumnDefinition } = grid.props;\n\n if (showSelectColumn) {\n const selectionColumn = createSelectionColumn(selectionColumnDefinition);\n return [selectionColumn, ...columns];\n }\n return columns;\n};\n\nconst getRowProps = (rowProps, grid, { rowData }) => {\n const {\n props: { showSelectHighlight, showSelectColumn, rowKey },\n actions: { selectRow },\n } = grid.getInstance();\n\n const { _index } = rowData;\n const isSelected = rowData['metaData.selected'];\n\n if (!showSelectColumn) {\n rowProps.onClick = () => selectRow(rowData[rowKey], _index);\n }\n\n rowProps.className = cx({\n [rowProps.className]: true,\n selected: isSelected,\n 'select-highlight': showSelectHighlight && isSelected,\n });\n\n return rowProps;\n};\n\nconst composeRows = (rows, grid) => {\n const {\n props: { isRowSelected, multiple, rowKey },\n state: { selection },\n } = grid.getInstance();\n\n const selectionPredicate = (row) =>\n isFunction(isRowSelected) ? isRowSelected(row) : !!selection.selectedRows[row[rowKey]];\n\n return multiple ? selectMultipleRow(rows, selectionPredicate) : selectSingleRow(rows, selectionPredicate);\n};\n\nconst decorateGrid = (grid) => {\n // const handler = useRef();\n const {\n props: { isRowSelected, rowKey },\n actions: { selectRow },\n state: { selection },\n } = grid.getInstance();\n const [shiftPressed, setShiftPressed] = useState(false);\n const [lastSelectedRow, setLastSelectedRow] = useState(null);\n\n const selectRowHandler = useCallback(\n (rowData, index) => () => selectRow(rowData[rowKey], index, shiftPressed),\n [isRowSelected, selection, shiftPressed],\n );\n\n useEffect(() => {\n const keyDownListener = (event) => {\n if (\n event.key === 'Shift' &&\n event.target.tagName.toLowerCase() !== 'input' &&\n event.target.parentNode.className !== 'em-ds-combobox__input'\n ) {\n setShiftPressed(true);\n }\n };\n const keyUpListener = (event) => {\n if (\n event.key === 'Shift' &&\n event.target.tagName.toLowerCase() !== 'input' &&\n event.target.parentNode.className !== 'em-ds-combobox__input'\n ) {\n setShiftPressed(false);\n }\n };\n window.addEventListener('keydown', keyDownListener);\n window.addEventListener('keyup', keyUpListener);\n return () => {\n window.removeEventListener('keydown', keyDownListener);\n window.removeEventListener('keyup', keyUpListener);\n };\n });\n\n return {\n shiftPressed,\n selectRowHandler,\n setLastSelectedRow,\n lastSelectedRow,\n };\n};\n\nexport const SelectablePlugin = createInstancePlugin('selectable', {\n decorateGrid,\n registerStateHook: useSelectableState,\n decorateColumns,\n getRowProps,\n composeRows,\n registerHotKeys(grid) {\n return [\n {\n key: 'space',\n handler: ({ rowIndex }) => {\n const {\n composedRows,\n props: { rowKey },\n actions: { selectRow },\n } = grid.getInstance();\n const rows = composedRows.rows || composedRows;\n const row = rows[rowIndex];\n if (!row) return;\n selectRow(row[rowKey], rowIndex);\n },\n },\n {\n key: 'ctrl+a',\n handler: () => {\n const {\n state: { selection },\n actions: { selectAll },\n } = grid.getInstance();\n\n selectAll(!selection.selectAll);\n },\n },\n ];\n },\n});\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,mBAAiD;AACjD,qBAAe;AACf,0BAA2B;AAC3B,uBAAqC;AACrC,iCAAuC;AACvC,gCAAmC;AACnC,oBAAmD;AAGnD,MAAM,kBAAkB,CAAC,SAAS,SAAS;AACzC,QAAM;AAAA,IACJ,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,IAEF,SAAS,EAAE,WAAW,iBAAiB,WAAW;AAAA,IAClD,OAAO,EAAE;AAAA,MACP;AAEJ,QAAM,wBAAwB,uDAAuB;AAAA,IACnD;AAAA,IACA,UAAU,eAAe;AAAA,IACzB,WAAW,UAAU;AAAA,IACrB,aAAa;AAAA,IACb,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,EAAE,kBAAkB,8BAA8B,KAAK;AAE7D,MAAI,kBAAkB;AACpB,UAAM,kBAAkB,sBAAsB,yBAAyB;AACvE,WAAO,CAAC,iBAAiB,GAAG,OAAO;AAAA,EACrC;AACA,SAAO;AACT;AAEA,MAAM,cAAc,CAAC,UAAU,MAAM,EAAE,cAAc;AACnD,QAAM;AAAA,IACJ,OAAO,EAAE,qBAAqB,kBAAkB;AAAA,IAChD,SAAS,EAAE;AAAA,MACT,KAAK,YAAY;AAErB,QAAM,EAAE,WAAW;AACnB,QAAM,aAAa,QAAQ;AAE3B,MAAI,CAAC,kBAAkB;AACrB,aAAS,UAAU,MAAM,UAAU,QAAQ,SAAS,MAAM;AAAA,EAC5D;AAEA,WAAS,YAAY,4BAAG;AAAA,
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/plugins/selectable/useSelectableState.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable max-lines */\nimport { useDerivedStateFromProps } from '@elliemae/ds-utilities';\nimport { toggleInObject, hashArray, omit } from '@elliemae/ds-utilities';\nimport {\n checkAllRowsSelected,\n toggleSelectAll,\n toggleSingleSelectable,\n} from './helper';\n\nfunction deriveSelectedStateFromPropsOnUpdate(rows) {\n return (nextProp = {}, prevProp = {}) => {\n if (nextProp.selectAll !== prevProp.selectAll) {\n const nextSelectedRows = nextProp.selectAll\n ? toggleSelectAll(rows, true)\n : hashArray(nextProp.selectedRows || []);\n return {\n selectedRows: nextSelectedRows,\n selectAll: checkAllRowsSelected(rows, Object.keys(nextSelectedRows)),\n };\n }\n return {\n selectedRows: hashArray(nextProp.selectedRows || []),\n selectAll: checkAllRowsSelected(rows, Object.keys(nextProp.selectedRows)),\n };\n };\n}\n\nexport function useSelectableState(grid) {\n const {\n props: { rowKey = 'id', selectedRows, selectAll, selectable, onSelectRow, onSelectAll },\n rows,\n setLastSelectedRow,\n } = grid.getInstance();\n\n const multiple = selectable === 'multi';\n const [selection, setSelectedRowsState] = useDerivedStateFromProps(\n { selectedRows, selectAll },\n { onUpdate: deriveSelectedStateFromPropsOnUpdate(rows) },\n );\n\n // ACTIONS\n const handleSelectRow = (\n id,\n index,\n shift = false,\n lastSelectedRow = null,\n // eslint-disable-next-line max-params\n ) => {\n setSelectedRowsState((prevState) => {\n const { rows: nextRows } = grid.getInstance();\n const wasSelected = Object.keys(prevState.selectedRows).some(\n // we need to match softly as the id may be a number\n // eslint-disable-next-line eqeqeq\n (elem) => elem == id,\n );\n let nextSelectedRows = multiple\n ? toggleInObject(prevState.selectedRows, id, true)\n : toggleSingleSelectable(prevState.selectedRows, id);\n setLastSelectedRow({ index, mode: wasSelected ? 'deselect' : 'select' });\n if (shift && lastSelectedRow) {\n const prevSmallest = lastSelectedRow.index < index + 1;\n const sliceStart = prevSmallest ? lastSelectedRow.index : index;\n const sliceEnd = prevSmallest ? index + 1 : lastSelectedRow.index + 1;\n const rowSegment = nextRows.slice(sliceStart, sliceEnd).map((row) => row[rowKey]);\n if (lastSelectedRow.mode === 'deselect') {\n nextSelectedRows = omit(prevState.selectedRows, rowSegment);\n } else {\n const selectedSegment = rowSegment.reduce((o, key) => ({ ...o, [key]: true }), {});\n nextSelectedRows = {\n ...prevState.selectedRows,\n ...selectedSegment,\n };\n }\n }\n\n const nextState = {\n selectedRows: nextSelectedRows,\n selectAll: checkAllRowsSelected(nextRows, Object.keys(nextSelectedRows)),\n };\n if (index !== null && index !== undefined) {\n onSelectRow(\n nextRows.filter((row) => nextState.selectedRows[row[rowKey]]),\n nextState.selectAll,\n index,\n );\n }\n\n return nextState;\n });\n };\n\n const handleSelectAll = (checked) => {\n if (!multiple) return;\n setLastSelectedRow(null);\n setSelectedRowsState(() => {\n const { composedRows: nextRows } = grid.getInstance();\n\n const nextState = {\n selectAll: checked,\n selectedRows: toggleSelectAll(nextRows, checked),\n };\n\n onSelectAll(nextState.selectAll);\n onSelectRow(checked ? nextRows : [], nextState.selectAll);\n\n return nextState;\n });\n };\n\n return {\n actions: {\n selectRow: handleSelectRow,\n selectAll: handleSelectAll,\n },\n state: {\n selection,\n },\n };\n}\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,0BAAyC;AACzC,2BAAgD;AAChD,oBAIO;AAEP,8CAA8C,MAAM;AAClD,SAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,MAAM;AACvC,QAAI,SAAS,cAAc,SAAS,WAAW;AAC7C,YAAM,mBAAmB,SAAS,YAC9B,mCAAgB,MAAM,IAAI,IAC1B,oCAAU,SAAS,gBAAgB,CAAC,CAAC;AACzC,aAAO;AAAA,QACL,cAAc;AAAA,QACd,WAAW,wCAAqB,MAAM,OAAO,KAAK,gBAAgB,CAAC;AAAA,MACrE;AAAA,IACF;AACA,WAAO;AAAA,MACL,cAAc,oCAAU,SAAS,gBAAgB,CAAC,CAAC;AAAA,MACnD,WAAW,wCAAqB,MAAM,OAAO,KAAK,SAAS,YAAY,CAAC;AAAA,IAC1E;AAAA,EACF;AACF;AAEO,4BAA4B,MAAM;AACvC,QAAM;AAAA,IACJ,OAAO,EAAE,SAAS,MAAM,cAAc,WAAW,YAAY,aAAa;AAAA,IAC1E;AAAA,IACA;AAAA,MACE,KAAK,YAAY;AAErB,QAAM,WAAW,eAAe;AAChC,QAAM,CAAC,WAAW,wBAAwB,kDACxC,EAAE,cAAc,UAAU,GAC1B,EAAE,UAAU,qCAAqC,IAAI,EAAE,CACzD;AAGA,QAAM,kBAAkB,CACtB,IACA,OACA,QAAQ,OACR,kBAAkB,SAEf;AACH,yBAAqB,CAAC,cAAc;AAClC,YAAM,EAAE,MAAM,aAAa,KAAK,YAAY;AAC5C,YAAM,cAAc,OAAO,KAAK,UAAU,YAAY,EAAE,KAGtD,CAAC,SAAS,QAAQ,EACpB;AACA,UAAI,mBAAmB,WACnB,yCAAe,UAAU,cAAc,IAAI,IAAI,IAC/C,0CAAuB,UAAU,cAAc,EAAE;AACrD,yBAAmB,EAAE,OAAO,MAAM,cAAc,aAAa,SAAS,CAAC;AACvE,UAAI,SAAS,iBAAiB;AAC5B,cAAM,eAAe,gBAAgB,QAAQ,QAAQ;AACrD,cAAM,aAAa,eAAe,gBAAgB,QAAQ;AAC1D,cAAM,WAAW,eAAe,QAAQ,IAAI,gBAAgB,QAAQ;AACpE,cAAM,aAAa,SAAS,MAAM,YAAY,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,OAAO;AAChF,YAAI,gBAAgB,SAAS,YAAY;AACvC,6BAAmB,+BAAK,UAAU,cAAc,UAAU;AAAA,QAC5D,OAAO;AACL,gBAAM,kBAAkB,WAAW,OAAO,CAAC,GAAG,QAAS,iCAAK,IAAL,
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -254,7 +254,7 @@ VirtualizedBody.propTypes = {
|
|
|
254
254
|
itemSize: import_prop_types.default.func,
|
|
255
255
|
outerRef: import_prop_types.default.any
|
|
256
256
|
}),
|
|
257
|
-
noResultsPlaceholder: import_prop_types.default.
|
|
257
|
+
noResultsPlaceholder: import_prop_types.default.oneOfType([import_prop_types.default.string, import_prop_types.default.element]),
|
|
258
258
|
overscanCount: import_prop_types.default.number,
|
|
259
259
|
rows: import_prop_types.default.arrayOf(import_prop_types.default.shape({})),
|
|
260
260
|
rowHeight: import_prop_types.default.number,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/plugins/virtualization/VirtualizedBody.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable max-statements */\nimport React, { useEffect, useState, useCallback, useRef, useLayoutEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { mergeRefs, debounce, isNaN } from '@elliemae/ds-utilities';\nimport { NoResults } from '../../components/NoResults';\nimport { VirtualizedBodyRow } from './VirtualizedBodyRow';\nimport { RowSizes } from '../../rowSizes';\nimport { isSafari } from './helper';\n\nconst wrapperSafari = {};\nconst wrapperGeneric = { overflowY: 'auto', overflowX: 'visible' };\n\nconst VirtualizedBody = (props) => {\n const {\n autoScrollToId,\n columns,\n component: Component,\n expandable,\n innerRef,\n innerBody,\n isPlaceholderActive,\n listProps,\n noResultsPlaceholder,\n overscanCount,\n rows,\n rowHeight: defaultRowHeight,\n rowKey,\n rowRenderer,\n rowSize,\n setHasScroll,\n filters, // hack to reset the scrollTop to 0 if filters change\n } = props;\n const rowHeight = defaultRowHeight || RowSizes[rowSize];\n const [scrollTop, setScrollTop] = useState(0);\n const [visibleHeight, setVisibleHeight] = useState(0);\n const [hasScrollBar, setHasScrollBar] = useState(false);\n const rowStyleCache = useRef({});\n const [renderedIndexes, setRenderedIndexes] = useState([0, 30]);\n\n const getCalculatedHeightBetweenIndexes = (start, end) => {\n const { itemSize = () => rowHeight } = listProps;\n if (expandable) {\n return rows\n .slice(start, end)\n .map((_, idx) => idx)\n .map((idx) => itemSize(idx))\n .reduce((acc, curr) => acc + curr, 0);\n }\n return (end - start) * rowHeight;\n };\n\n const generateRowPositionMap = () => rows.map((row, idx) => getCalculatedHeightBetweenIndexes(0, idx));\n\n const rowPositionMap = useRef(generateRowPositionMap());\n const [virtualizedBodyRef, setVirtualizedBodyRef] = useState(null);\n const handlerRef = useRef();\n\n const autoScrollTo = useCallback(\n (scrollHeight) => {\n const { itemSize = () => rowHeight } = listProps;\n const idx = rows.findIndex((item) => item[rowKey] === autoScrollToId);\n let val = rowPositionMap.current[idx] || 0;\n const lastPositionIdx = rowPositionMap.current.length - 1;\n let lastPosition = 0;\n if (lastPositionIdx > -1) {\n lastPosition = rowPositionMap.current[lastPositionIdx] - scrollHeight + itemSize(lastPositionIdx);\n }\n if (lastPosition < val) {\n val = lastPosition;\n }\n if (virtualizedBodyRef) {\n if (idx > -1) {\n setScrollTop(val);\n virtualizedBodyRef.scrollTop = val;\n }\n }\n },\n [rows, virtualizedBodyRef],\n );\n\n useEffect(() => {\n autoScrollTo(visibleHeight);\n }, [autoScrollToId, visibleHeight]);\n\n const handler = useCallback(\n debounce(({ target }) => {\n // Update coordinates\n setScrollTop(target.scrollTop || 0);\n }, 100),\n [setScrollTop],\n );\n\n useEffect(() => {\n setScrollTop(0);\n }, [filters]);\n\n useEffect(() => {\n handlerRef.current = handler;\n }, [handler]);\n\n useLayoutEffect(() => {\n let top = Math.ceil(scrollTop / rowHeight);\n let bot = Math.ceil((scrollTop + visibleHeight) / rowHeight);\n if (expandable) {\n // updateMapperFirst\n rowPositionMap.current = generateRowPositionMap();\n top = rowPositionMap.current.findIndex((item) => item > scrollTop);\n bot = rowPositionMap.current.findIndex((item) => item > scrollTop + visibleHeight);\n if (bot === -1) bot = rowPositionMap.current.length;\n }\n let upperBound = top - 1 - overscanCount;\n let lowerBound = bot - 1 + overscanCount;\n if (upperBound < 0) {\n upperBound = 0;\n }\n if (lowerBound - upperBound < overscanCount) {\n lowerBound = upperBound + overscanCount;\n }\n if (lowerBound > rows.length) {\n lowerBound = rows.length;\n }\n setHasScrollBar(visibleHeight < getHeight());\n setHasScroll(visibleHeight < getHeight());\n setRenderedIndexes([upperBound, lowerBound]);\n }, [visibleHeight, scrollTop, rows]);\n\n useLayoutEffect(() => {\n if (virtualizedBodyRef) {\n const parsedVisibleHeight = parseFloat(\n window.getComputedStyle(virtualizedBodyRef, null).getPropertyValue('height'),\n );\n // eslint-disable-next-line no-restricted-globals\n if (!isNaN(parsedVisibleHeight)) {\n setVisibleHeight(parsedVisibleHeight);\n autoScrollTo(parsedVisibleHeight);\n }\n }\n }, [rows, virtualizedBodyRef]);\n\n useEffect(() => {\n if (virtualizedBodyRef) {\n const eventListener = (event) => handlerRef.current(event);\n virtualizedBodyRef.addEventListener('scroll', eventListener);\n\n return () => {\n virtualizedBodyRef.removeEventListener('scroll', eventListener);\n };\n }\n return () => null;\n }, [virtualizedBodyRef]);\n\n const getHeight = () => {\n let returnHeight = 0;\n if (expandable) {\n returnHeight = getCalculatedHeightBetweenIndexes(0, rows.length) + 8;\n } else {\n returnHeight = rows.length * rowHeight + 8;\n }\n // if (visibleHeight > returnHeight) {\n // return visibleHeight;\n // }\n if (virtualizedBodyRef && virtualizedBodyRef.scrollHeight > virtualizedBodyRef.clientHeight) {\n return returnHeight + 10;\n }\n return returnHeight;\n };\n\n const getRowStyle = (row, index, specificRowHeight) => {\n const { itemSize } = listProps;\n\n if (!expandable && rowStyleCache.current[index]) {\n return rowStyleCache.current[index];\n }\n rowStyleCache.current[index] = {\n height: itemSize ? itemSize(index) : specificRowHeight,\n left: 0,\n right: 0,\n top: getCalculatedHeightBetweenIndexes(0, index),\n position: 'absolute',\n };\n return rowStyleCache.current[index];\n };\n\n const generateRenderedRows = () =>\n rows.slice(renderedIndexes[0], renderedIndexes[1] + 1).map((_, index) => (\n <VirtualizedBodyRow\n data={{\n rows,\n columns,\n rowKey,\n renderer: { rowRenderer },\n }}\n index={renderedIndexes[0] + index}\n key={rows[renderedIndexes[0] + index][rowKey]}\n style={getRowStyle(rows[renderedIndexes[0] + index], renderedIndexes[0] + index, rowHeight)}\n ></VirtualizedBodyRow>\n ));\n\n const wrapperStyle = {\n height: '100%',\n ...(isSafari ? wrapperSafari : wrapperGeneric),\n };\n const bodyStyle = {\n height: getHeight(),\n willChange: 'transform',\n backfaceVisibility: 'hidden',\n };\n\n return (\n <Component {...props} innerRef={innerRef}>\n {!isPlaceholderActive ? (\n <div\n className=\"virtualized-body-wrapper\"\n style={wrapperStyle}\n ref={(elem) => {\n if (elem) {\n if (isSafari) {\n setVirtualizedBodyRef(elem.parentElement);\n // eslint-disable-next-line no-param-reassign\n elem.parentElement.scrollTop = scrollTop;\n mergeRefs(listProps.outerRef)(elem.parentElement);\n } else {\n setVirtualizedBodyRef(elem);\n mergeRefs(listProps.outerRef)(elem);\n }\n }\n }}\n >\n <div\n data-testid=\"virtualized-body\"\n className={`virtualized-body${hasScrollBar ? ' with-scrollbar' : ''}`}\n style={bodyStyle}\n ref={(r) => {\n mergeRefs(innerBody)(r);\n }}\n >\n {generateRenderedRows()}\n </div>\n </div>\n ) : (\n <NoResults innerRef={innerRef} rowRenderer={rowRenderer}>\n {noResultsPlaceholder}\n </NoResults>\n )}\n </Component>\n );\n};\n\nVirtualizedBody.defaultProps = {\n rows: [],\n overscanCount: 10,\n};\n\nVirtualizedBody.propTypes = {\n autoScrollToId: PropTypes.number,\n columns: PropTypes.arrayOf(PropTypes.shape({})),\n component: PropTypes.element,\n expandable: PropTypes.bool,\n filters: PropTypes.any,\n innerRef: PropTypes.any,\n innerBody: PropTypes.any,\n isPlaceholderActive: PropTypes.bool,\n listProps: PropTypes.shape({\n itemSize: PropTypes.func,\n outerRef: PropTypes.any,\n }),\n noResultsPlaceholder: PropTypes.
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable max-statements */\nimport React, { useEffect, useState, useCallback, useRef, useLayoutEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { mergeRefs, debounce, isNaN } from '@elliemae/ds-utilities';\nimport { NoResults } from '../../components/NoResults';\nimport { VirtualizedBodyRow } from './VirtualizedBodyRow';\nimport { RowSizes } from '../../rowSizes';\nimport { isSafari } from './helper';\n\nconst wrapperSafari = {};\nconst wrapperGeneric = { overflowY: 'auto', overflowX: 'visible' };\n\nconst VirtualizedBody = (props) => {\n const {\n autoScrollToId,\n columns,\n component: Component,\n expandable,\n innerRef,\n innerBody,\n isPlaceholderActive,\n listProps,\n noResultsPlaceholder,\n overscanCount,\n rows,\n rowHeight: defaultRowHeight,\n rowKey,\n rowRenderer,\n rowSize,\n setHasScroll,\n filters, // hack to reset the scrollTop to 0 if filters change\n } = props;\n const rowHeight = defaultRowHeight || RowSizes[rowSize];\n const [scrollTop, setScrollTop] = useState(0);\n const [visibleHeight, setVisibleHeight] = useState(0);\n const [hasScrollBar, setHasScrollBar] = useState(false);\n const rowStyleCache = useRef({});\n const [renderedIndexes, setRenderedIndexes] = useState([0, 30]);\n\n const getCalculatedHeightBetweenIndexes = (start, end) => {\n const { itemSize = () => rowHeight } = listProps;\n if (expandable) {\n return rows\n .slice(start, end)\n .map((_, idx) => idx)\n .map((idx) => itemSize(idx))\n .reduce((acc, curr) => acc + curr, 0);\n }\n return (end - start) * rowHeight;\n };\n\n const generateRowPositionMap = () => rows.map((row, idx) => getCalculatedHeightBetweenIndexes(0, idx));\n\n const rowPositionMap = useRef(generateRowPositionMap());\n const [virtualizedBodyRef, setVirtualizedBodyRef] = useState(null);\n const handlerRef = useRef();\n\n const autoScrollTo = useCallback(\n (scrollHeight) => {\n const { itemSize = () => rowHeight } = listProps;\n const idx = rows.findIndex((item) => item[rowKey] === autoScrollToId);\n let val = rowPositionMap.current[idx] || 0;\n const lastPositionIdx = rowPositionMap.current.length - 1;\n let lastPosition = 0;\n if (lastPositionIdx > -1) {\n lastPosition = rowPositionMap.current[lastPositionIdx] - scrollHeight + itemSize(lastPositionIdx);\n }\n if (lastPosition < val) {\n val = lastPosition;\n }\n if (virtualizedBodyRef) {\n if (idx > -1) {\n setScrollTop(val);\n virtualizedBodyRef.scrollTop = val;\n }\n }\n },\n [rows, virtualizedBodyRef],\n );\n\n useEffect(() => {\n autoScrollTo(visibleHeight);\n }, [autoScrollToId, visibleHeight]);\n\n const handler = useCallback(\n debounce(({ target }) => {\n // Update coordinates\n setScrollTop(target.scrollTop || 0);\n }, 100),\n [setScrollTop],\n );\n\n useEffect(() => {\n setScrollTop(0);\n }, [filters]);\n\n useEffect(() => {\n handlerRef.current = handler;\n }, [handler]);\n\n useLayoutEffect(() => {\n let top = Math.ceil(scrollTop / rowHeight);\n let bot = Math.ceil((scrollTop + visibleHeight) / rowHeight);\n if (expandable) {\n // updateMapperFirst\n rowPositionMap.current = generateRowPositionMap();\n top = rowPositionMap.current.findIndex((item) => item > scrollTop);\n bot = rowPositionMap.current.findIndex((item) => item > scrollTop + visibleHeight);\n if (bot === -1) bot = rowPositionMap.current.length;\n }\n let upperBound = top - 1 - overscanCount;\n let lowerBound = bot - 1 + overscanCount;\n if (upperBound < 0) {\n upperBound = 0;\n }\n if (lowerBound - upperBound < overscanCount) {\n lowerBound = upperBound + overscanCount;\n }\n if (lowerBound > rows.length) {\n lowerBound = rows.length;\n }\n setHasScrollBar(visibleHeight < getHeight());\n setHasScroll(visibleHeight < getHeight());\n setRenderedIndexes([upperBound, lowerBound]);\n }, [visibleHeight, scrollTop, rows]);\n\n useLayoutEffect(() => {\n if (virtualizedBodyRef) {\n const parsedVisibleHeight = parseFloat(\n window.getComputedStyle(virtualizedBodyRef, null).getPropertyValue('height'),\n );\n // eslint-disable-next-line no-restricted-globals\n if (!isNaN(parsedVisibleHeight)) {\n setVisibleHeight(parsedVisibleHeight);\n autoScrollTo(parsedVisibleHeight);\n }\n }\n }, [rows, virtualizedBodyRef]);\n\n useEffect(() => {\n if (virtualizedBodyRef) {\n const eventListener = (event) => handlerRef.current(event);\n virtualizedBodyRef.addEventListener('scroll', eventListener);\n\n return () => {\n virtualizedBodyRef.removeEventListener('scroll', eventListener);\n };\n }\n return () => null;\n }, [virtualizedBodyRef]);\n\n const getHeight = () => {\n let returnHeight = 0;\n if (expandable) {\n returnHeight = getCalculatedHeightBetweenIndexes(0, rows.length) + 8;\n } else {\n returnHeight = rows.length * rowHeight + 8;\n }\n // if (visibleHeight > returnHeight) {\n // return visibleHeight;\n // }\n if (virtualizedBodyRef && virtualizedBodyRef.scrollHeight > virtualizedBodyRef.clientHeight) {\n return returnHeight + 10;\n }\n return returnHeight;\n };\n\n const getRowStyle = (row, index, specificRowHeight) => {\n const { itemSize } = listProps;\n\n if (!expandable && rowStyleCache.current[index]) {\n return rowStyleCache.current[index];\n }\n rowStyleCache.current[index] = {\n height: itemSize ? itemSize(index) : specificRowHeight,\n left: 0,\n right: 0,\n top: getCalculatedHeightBetweenIndexes(0, index),\n position: 'absolute',\n };\n return rowStyleCache.current[index];\n };\n\n const generateRenderedRows = () =>\n rows.slice(renderedIndexes[0], renderedIndexes[1] + 1).map((_, index) => (\n <VirtualizedBodyRow\n data={{\n rows,\n columns,\n rowKey,\n renderer: { rowRenderer },\n }}\n index={renderedIndexes[0] + index}\n key={rows[renderedIndexes[0] + index][rowKey]}\n style={getRowStyle(rows[renderedIndexes[0] + index], renderedIndexes[0] + index, rowHeight)}\n ></VirtualizedBodyRow>\n ));\n\n const wrapperStyle = {\n height: '100%',\n ...(isSafari ? wrapperSafari : wrapperGeneric),\n };\n const bodyStyle = {\n height: getHeight(),\n willChange: 'transform',\n backfaceVisibility: 'hidden',\n };\n\n return (\n <Component {...props} innerRef={innerRef}>\n {!isPlaceholderActive ? (\n <div\n className=\"virtualized-body-wrapper\"\n style={wrapperStyle}\n ref={(elem) => {\n if (elem) {\n if (isSafari) {\n setVirtualizedBodyRef(elem.parentElement);\n // eslint-disable-next-line no-param-reassign\n elem.parentElement.scrollTop = scrollTop;\n mergeRefs(listProps.outerRef)(elem.parentElement);\n } else {\n setVirtualizedBodyRef(elem);\n mergeRefs(listProps.outerRef)(elem);\n }\n }\n }}\n >\n <div\n data-testid=\"virtualized-body\"\n className={`virtualized-body${hasScrollBar ? ' with-scrollbar' : ''}`}\n style={bodyStyle}\n ref={(r) => {\n mergeRefs(innerBody)(r);\n }}\n >\n {generateRenderedRows()}\n </div>\n </div>\n ) : (\n <NoResults innerRef={innerRef} rowRenderer={rowRenderer}>\n {noResultsPlaceholder}\n </NoResults>\n )}\n </Component>\n );\n};\n\nVirtualizedBody.defaultProps = {\n rows: [],\n overscanCount: 10,\n};\n\nVirtualizedBody.propTypes = {\n autoScrollToId: PropTypes.number,\n columns: PropTypes.arrayOf(PropTypes.shape({})),\n component: PropTypes.element,\n expandable: PropTypes.bool,\n filters: PropTypes.any,\n innerRef: PropTypes.any,\n innerBody: PropTypes.any,\n isPlaceholderActive: PropTypes.bool,\n listProps: PropTypes.shape({\n itemSize: PropTypes.func,\n outerRef: PropTypes.any,\n }),\n noResultsPlaceholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n overscanCount: PropTypes.number,\n rows: PropTypes.arrayOf(PropTypes.shape({})),\n rowHeight: PropTypes.number,\n rowKey: PropTypes.string,\n rowRenderer: PropTypes.element,\n rowSize: PropTypes.any,\n setHasScroll: PropTypes.func,\n};\n\nexport { VirtualizedBody };\nexport default VirtualizedBody;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/columns/IconColumn.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/display-name */\nimport React from 'react';\nimport { cx } from '@elliemae/ds-utilities';\nimport { DSButton } from '@elliemae/ds-button';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\n\nconst Intents = {\n SUCCESS: 'success',\n INFO: 'info',\n DANGER: 'danger',\n WARNING: 'warning',\n};\n\nconst IntentIconColors = {\n [Intents.SUCCESS]: ['success', 900],\n [Intents.INFO]: ['brand-primary', 600],\n [Intents.DANGER]: ['danger', 900],\n [Intents.WARNING]: ['warning', 900],\n};\n\nconst ValueWrapper = aggregatedClasses('span')('icon-column-cell');\n\nconst addColorToIcon = (icon, intentColor) => {\n if (icon.props.color) {\n return icon;\n }\n return React.cloneElement(icon, { color: intentColor });\n};\n\nexport const IconColumn = ({\n property,\n label,\n headerIcon,\n getRowIcon = () => null,\n isVisited = () => null,\n intent = Intents.SUCCESS,\n width = 60,\n onClick,\n visible,\n resizable,\n sortable,\n searchable,\n}) => {\n const formatter = (value, extraParams) => {\n const icon = getRowIcon(value, extraParams);\n const onClickHandler = (e) => onClick(e, extraParams);\n return (\n <ValueWrapper className={cx(`icc-${intent}`, isVisited(value, extraParams))}>\n {icon && addColorToIcon(icon, IntentIconColors[intent])}\n {onClick && typeof value !== 'undefined' ? (\n <DSButton buttonType=\"text\" intent={intent} labelText={value} onClick={onClickHandler} />\n ) : (\n value\n )}\n </ValueWrapper>\n );\n };\n return {\n property,\n label,\n headerStyle: {\n justifyContent: 'center',\n },\n header: {\n formatters: [\n () => (\n <span>\n {React.cloneElement(headerIcon, {\n color: IntentIconColors[intent],\n })}\n </span>\n ),\n ],\n },\n cell: {\n formatters: [formatter],\n },\n cellStyle: {\n justifyContent: 'center',\n },\n width,\n visible: typeof visible === 'undefined' || visible,\n resizable,\n sortable,\n searchable,\n };\n};\n\nexport default IconColumn;\n"],
|
|
5
|
-
"mappings": "AAAA;ACCA;AACA;AACA;AACA;AAEA,MAAM,UAAU;AAAA,EACd,SAAS;AAAA,EACT,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,SAAS;AACX;AAEA,MAAM,mBAAmB;AAAA,
|
|
5
|
+
"mappings": "AAAA;ACCA;AACA;AACA;AACA;AAEA,MAAM,UAAU;AAAA,EACd,SAAS;AAAA,EACT,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,SAAS;AACX;AAEA,MAAM,mBAAmB;AAAA,EACvB,CAAC,QAAQ,UAAU,CAAC,WAAW,GAAG;AAAA,EAClC,CAAC,QAAQ,OAAO,CAAC,iBAAiB,GAAG;AAAA,EACrC,CAAC,QAAQ,SAAS,CAAC,UAAU,GAAG;AAAA,EAChC,CAAC,QAAQ,UAAU,CAAC,WAAW,GAAG;AACpC;AAEA,MAAM,eAAe,kBAAkB,MAAM,EAAE,kBAAkB;AAEjE,MAAM,iBAAiB,CAAC,MAAM,gBAAgB;AAC5C,MAAI,KAAK,MAAM,OAAO;AACpB,WAAO;AAAA,EACT;AACA,SAAO,OAAM,aAAa,MAAM,EAAE,OAAO,YAAY,CAAC;AACxD;AAEO,MAAM,aAAa,CAAC;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa,MAAM;AAAA,EACnB,YAAY,MAAM;AAAA,EAClB,SAAS,QAAQ;AAAA,EACjB,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MACI;AACJ,QAAM,YAAY,CAAC,OAAO,gBAAgB;AACxC,UAAM,OAAO,WAAW,OAAO,WAAW;AAC1C,UAAM,iBAAiB,CAAC,MAAM,QAAQ,GAAG,WAAW;AACpD,WACE,qCAAC;AAAA,MAAa,WAAW,GAAG,OAAO,UAAU,UAAU,OAAO,WAAW,CAAC;AAAA,OACvE,QAAQ,eAAe,MAAM,iBAAiB,OAAO,GACrD,WAAW,OAAO,UAAU,cAC3B,qCAAC;AAAA,MAAS,YAAW;AAAA,MAAO;AAAA,MAAgB,WAAW;AAAA,MAAO,SAAS;AAAA,KAAgB,IAEvF,KAEJ;AAAA,EAEJ;AACA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,aAAa;AAAA,MACX,gBAAgB;AAAA,IAClB;AAAA,IACA,QAAQ;AAAA,MACN,YAAY;AAAA,QACV,MACE,qCAAC,cACE,OAAM,aAAa,YAAY;AAAA,UAC9B,OAAO,iBAAiB;AAAA,QAC1B,CAAC,CACH;AAAA,MAEJ;AAAA,IACF;AAAA,IACA,MAAM;AAAA,MACJ,YAAY,CAAC,SAAS;AAAA,IACxB;AAAA,IACA,WAAW;AAAA,MACT,gBAAgB;AAAA,IAClB;AAAA,IACA;AAAA,IACA,SAAS,OAAO,YAAY,eAAe;AAAA,IAC3C;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEA,IAAO,qBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/plugins/editable/EditableComponents/ComboBox.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { Component } from 'react';\nimport { DSComboBox } from '@elliemae/ds-form';\n\nclass ComboBox extends Component {\n static defaultProps = {\n onValue: () => null,\n };\n\n constructor(props) {\n super(props);\n this.state = { value: props.value };\n }\n\n handleChange = (value) => {\n const { onValue } = this.props;\n\n // some how this is executed before handleBlur, and handleBlur before the value is set\n // causing the value to be the same as the prevProp\n // todo: find a better solution to this\n setTimeout(() => onValue(value), 1);\n this.setState({ value });\n }\n\n handleBlur = () => {\n const { onValue } = this.props;\n const { value } = this.state;\n onValue(value);\n }\n\n render() {\n const { value } = this.state;\n return (\n <DSComboBox\n {...this.props}\n menuIsOpen\n onBlur={this.handleBlur}\n onChange={this.handleChange}\n onClick={(e) => e.stopPropagation()}\n value={value}\n />\n );\n }\n}\n\nexport { ComboBox };\nexport default ComboBox;\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;ACAA;AACA;AAEA,MAAM,iBAAiB,UAAU;AAAA,EAK/B,YAAY,OAAO;AACjB,UAAM,KAAK;AAIb,wBAAe,CAAC,UAAU;AACxB,YAAM,EAAE,YAAY,KAAK;AAKzB,iBAAW,MAAM,QAAQ,KAAK,GAAG,CAAC;AAClC,WAAK,SAAS,EAAE,MAAM,CAAC;AAAA,IACzB;AAEA,sBAAa,MAAM;AACjB,YAAM,EAAE,YAAY,KAAK;AACzB,YAAM,EAAE,UAAU,KAAK;AACvB,cAAQ,KAAK;AAAA,IACf;AAjBE,SAAK,QAAQ,EAAE,OAAO,MAAM,MAAM;AAAA,EACpC;AAAA,EAkBA,SAAS;AACP,UAAM,EAAE,UAAU,KAAK;AACvB,WACE,qCAAC,6CACK,KAAK,QADV;AAAA,MAEC,YAAU;AAAA,MACV,QAAQ,KAAK;AAAA,MACb,UAAU,KAAK;AAAA,MACf,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,MAClC;AAAA,MACF;AAAA,EAEJ;AACF;
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;ACAA;AACA;AAEA,MAAM,iBAAiB,UAAU;AAAA,EAK/B,YAAY,OAAO;AACjB,UAAM,KAAK;AAIb,wBAAe,CAAC,UAAU;AACxB,YAAM,EAAE,YAAY,KAAK;AAKzB,iBAAW,MAAM,QAAQ,KAAK,GAAG,CAAC;AAClC,WAAK,SAAS,EAAE,MAAM,CAAC;AAAA,IACzB;AAEA,sBAAa,MAAM;AACjB,YAAM,EAAE,YAAY,KAAK;AACzB,YAAM,EAAE,UAAU,KAAK;AACvB,cAAQ,KAAK;AAAA,IACf;AAjBE,SAAK,QAAQ,EAAE,OAAO,MAAM,MAAM;AAAA,EACpC;AAAA,EAkBA,SAAS;AACP,UAAM,EAAE,UAAU,KAAK;AACvB,WACE,qCAAC,6CACK,KAAK,QADV;AAAA,MAEC,YAAU;AAAA,MACV,QAAQ,KAAK;AAAA,MACb,UAAU,KAAK;AAAA,MACf,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,MAClC;AAAA,MACF;AAAA,EAEJ;AACF;AAtCE,AADI,SACG,eAAe;AAAA,EACpB,SAAS,MAAM;AACjB;AAuCF,IAAO,mBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/plugins/editable/EditableComponents/TextBox.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/prop-types */\n/* eslint-disable react/static-property-placement */\nimport React, { Component } from 'react';\nimport { DSTextBox } from '@elliemae/ds-form';\n\n// todo: redo with hooks\nclass TextBox extends Component {\n static defaultProps = {\n onValue: () => null,\n };\n\n constructor(props) {\n super(props);\n this.inputRef = React.createRef();\n this.state = { value: props.value };\n }\n\n componentDidMount() {\n setTimeout(() => {\n if (this.inputRef && this.inputRef.current) {\n this.inputRef.current.focus();\n }\n }, 50);\n }\n\n handleKeyUp = ({ key, target: { value } }) => {\n const { onValue } = this.props;\n if (key === 'Enter') {\n onValue(value);\n }\n }\n\n handleKeyDown = (e) => {\n // PUI-2553 prevent form submit on `Enter` keypress\n if (e.key === 'Enter') {\n e.preventDefault();\n }\n }\n\n handleBlur = (e) => {\n const { onValue } = this.props;\n const {\n target: { value },\n } = e;\n onValue(value);\n }\n\n handleChange = ({ target: { value } }) => {\n this.setState({ value });\n }\n\n render() {\n const { value } = this.state;\n return (\n <DSTextBox\n data-testid=\"ds-datagrids-editable-text-box\"\n {...this.props}\n innerRef={this.inputRef}\n onBlur={this.handleBlur}\n onChange={this.handleChange}\n onClick={(e) => e.stopPropagation()}\n onKeyUp={this.handleKeyUp}\n onKeyDown={this.handleKeyDown}\n value={value}\n />\n );\n }\n}\n\nexport { TextBox };\nexport default TextBox;\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;ACEA;AACA;AAGA,MAAM,gBAAgB,UAAU;AAAA,EAK9B,YAAY,OAAO;AACjB,UAAM,KAAK;AAab,uBAAc,CAAC,EAAE,KAAK,QAAQ,EAAE,cAAc;AAC5C,YAAM,EAAE,YAAY,KAAK;AACzB,UAAI,QAAQ,SAAS;AACnB,gBAAQ,KAAK;AAAA,MACf;AAAA,IACF;AAEA,yBAAgB,CAAC,MAAM;AAErB,UAAI,EAAE,QAAQ,SAAS;AACrB,UAAE,eAAe;AAAA,MACnB;AAAA,IACF;AAEA,sBAAa,CAAC,MAAM;AAClB,YAAM,EAAE,YAAY,KAAK;AACzB,YAAM;AAAA,QACJ,QAAQ,EAAE;AAAA,UACR;AACJ,cAAQ,KAAK;AAAA,IACf;AAEA,wBAAe,CAAC,EAAE,QAAQ,EAAE,cAAc;AACxC,WAAK,SAAS,EAAE,MAAM,CAAC;AAAA,IACzB;AApCE,SAAK,WAAW,OAAM,UAAU;AAChC,SAAK,QAAQ,EAAE,OAAO,MAAM,MAAM;AAAA,EACpC;AAAA,EAEA,oBAAoB;AAClB,eAAW,MAAM;AACf,UAAI,KAAK,YAAY,KAAK,SAAS,SAAS;AAC1C,aAAK,SAAS,QAAQ,MAAM;AAAA,MAC9B;AAAA,IACF,GAAG,EAAE;AAAA,EACP;AAAA,EA4BA,SAAS;AACP,UAAM,EAAE,UAAU,KAAK;AACvB,WACE,qCAAC;AAAA,MACC,eAAY;AAAA,OACR,KAAK,QAFV;AAAA,MAGC,UAAU,KAAK;AAAA,MACf,QAAQ,KAAK;AAAA,MACb,UAAU,KAAK;AAAA,MACf,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,MAClC,SAAS,KAAK;AAAA,MACd,WAAW,KAAK;AAAA,MAChB;AAAA,MACF;AAAA,EAEJ;AACF;
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;ACEA;AACA;AAGA,MAAM,gBAAgB,UAAU;AAAA,EAK9B,YAAY,OAAO;AACjB,UAAM,KAAK;AAab,uBAAc,CAAC,EAAE,KAAK,QAAQ,EAAE,cAAc;AAC5C,YAAM,EAAE,YAAY,KAAK;AACzB,UAAI,QAAQ,SAAS;AACnB,gBAAQ,KAAK;AAAA,MACf;AAAA,IACF;AAEA,yBAAgB,CAAC,MAAM;AAErB,UAAI,EAAE,QAAQ,SAAS;AACrB,UAAE,eAAe;AAAA,MACnB;AAAA,IACF;AAEA,sBAAa,CAAC,MAAM;AAClB,YAAM,EAAE,YAAY,KAAK;AACzB,YAAM;AAAA,QACJ,QAAQ,EAAE;AAAA,UACR;AACJ,cAAQ,KAAK;AAAA,IACf;AAEA,wBAAe,CAAC,EAAE,QAAQ,EAAE,cAAc;AACxC,WAAK,SAAS,EAAE,MAAM,CAAC;AAAA,IACzB;AApCE,SAAK,WAAW,OAAM,UAAU;AAChC,SAAK,QAAQ,EAAE,OAAO,MAAM,MAAM;AAAA,EACpC;AAAA,EAEA,oBAAoB;AAClB,eAAW,MAAM;AACf,UAAI,KAAK,YAAY,KAAK,SAAS,SAAS;AAC1C,aAAK,SAAS,QAAQ,MAAM;AAAA,MAC9B;AAAA,IACF,GAAG,EAAE;AAAA,EACP;AAAA,EA4BA,SAAS;AACP,UAAM,EAAE,UAAU,KAAK;AACvB,WACE,qCAAC;AAAA,MACC,eAAY;AAAA,OACR,KAAK,QAFV;AAAA,MAGC,UAAU,KAAK;AAAA,MACf,QAAQ,KAAK;AAAA,MACb,UAAU,KAAK;AAAA,MACf,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,MAClC,SAAS,KAAK;AAAA,MACd,WAAW,KAAK;AAAA,MAChB;AAAA,MACF;AAAA,EAEJ;AACF;AA5DE,AADI,QACG,eAAe;AAAA,EACpB,SAAS,MAAM;AACjB;AA6DF,IAAO,kBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/plugins/selectable/SelectablePlugin.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react-hooks/rules-of-hooks */\n/* eslint-disable max-lines */\nimport { useEffect, useState, useCallback } from 'react';\nimport cx from 'obj-str';\nimport { isFunction } from '@elliemae/ds-utilities';\nimport { createInstancePlugin } from '@elliemae/ds-shared';\nimport { selectionColumnCreator } from './addSelectableColumn';\nimport { useSelectableState } from './useSelectableState';\nimport { selectMultipleRow, selectSingleRow } from './helper';\n\n// DECORATORS\nconst decorateColumns = (columns, grid) => {\n const {\n props: {\n selectable,\n multiSelectFilterLabel,\n multiSelectFilterOptions,\n multiSelectFilterLabels,\n multiSelectComponent,\n },\n actions: { selectAll: handleSelectAll, selectRow: handleSelectRow },\n state: { selection },\n } = grid;\n\n const createSelectionColumn = selectionColumnCreator({\n grid,\n multiple: selectable === 'multi',\n selectAll: selection.selectAll,\n onSelectAll: handleSelectAll,\n onSelectRow: handleSelectRow,\n multiSelectFilterLabel,\n multiSelectFilterOptions,\n multiSelectFilterLabels,\n multiSelectComponent,\n });\n\n const { showSelectColumn, selectionColumnDefinition } = grid.props;\n\n if (showSelectColumn) {\n const selectionColumn = createSelectionColumn(selectionColumnDefinition);\n return [selectionColumn, ...columns];\n }\n return columns;\n};\n\nconst getRowProps = (rowProps, grid, { rowData }) => {\n const {\n props: { showSelectHighlight, showSelectColumn, rowKey },\n actions: { selectRow },\n } = grid.getInstance();\n\n const { _index } = rowData;\n const isSelected = rowData['metaData.selected'];\n\n if (!showSelectColumn) {\n rowProps.onClick = () => selectRow(rowData[rowKey], _index);\n }\n\n rowProps.className = cx({\n [rowProps.className]: true,\n selected: isSelected,\n 'select-highlight': showSelectHighlight && isSelected,\n });\n\n return rowProps;\n};\n\nconst composeRows = (rows, grid) => {\n const {\n props: { isRowSelected, multiple, rowKey },\n state: { selection },\n } = grid.getInstance();\n\n const selectionPredicate = (row) =>\n isFunction(isRowSelected) ? isRowSelected(row) : !!selection.selectedRows[row[rowKey]];\n\n return multiple ? selectMultipleRow(rows, selectionPredicate) : selectSingleRow(rows, selectionPredicate);\n};\n\nconst decorateGrid = (grid) => {\n // const handler = useRef();\n const {\n props: { isRowSelected, rowKey },\n actions: { selectRow },\n state: { selection },\n } = grid.getInstance();\n const [shiftPressed, setShiftPressed] = useState(false);\n const [lastSelectedRow, setLastSelectedRow] = useState(null);\n\n const selectRowHandler = useCallback(\n (rowData, index) => () => selectRow(rowData[rowKey], index, shiftPressed),\n [isRowSelected, selection, shiftPressed],\n );\n\n useEffect(() => {\n const keyDownListener = (event) => {\n if (\n event.key === 'Shift' &&\n event.target.tagName.toLowerCase() !== 'input' &&\n event.target.parentNode.className !== 'em-ds-combobox__input'\n ) {\n setShiftPressed(true);\n }\n };\n const keyUpListener = (event) => {\n if (\n event.key === 'Shift' &&\n event.target.tagName.toLowerCase() !== 'input' &&\n event.target.parentNode.className !== 'em-ds-combobox__input'\n ) {\n setShiftPressed(false);\n }\n };\n window.addEventListener('keydown', keyDownListener);\n window.addEventListener('keyup', keyUpListener);\n return () => {\n window.removeEventListener('keydown', keyDownListener);\n window.removeEventListener('keyup', keyUpListener);\n };\n });\n\n return {\n shiftPressed,\n selectRowHandler,\n setLastSelectedRow,\n lastSelectedRow,\n };\n};\n\nexport const SelectablePlugin = createInstancePlugin('selectable', {\n decorateGrid,\n registerStateHook: useSelectableState,\n decorateColumns,\n getRowProps,\n composeRows,\n registerHotKeys(grid) {\n return [\n {\n key: 'space',\n handler: ({ rowIndex }) => {\n const {\n composedRows,\n props: { rowKey },\n actions: { selectRow },\n } = grid.getInstance();\n const rows = composedRows.rows || composedRows;\n const row = rows[rowIndex];\n if (!row) return;\n selectRow(row[rowKey], rowIndex);\n },\n },\n {\n key: 'ctrl+a',\n handler: () => {\n const {\n state: { selection },\n actions: { selectAll },\n } = grid.getInstance();\n\n selectAll(!selection.selectAll);\n },\n },\n ];\n },\n});\n"],
|
|
5
|
-
"mappings": "AAAA;ACEA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA,MAAM,kBAAkB,CAAC,SAAS,SAAS;AACzC,QAAM;AAAA,IACJ,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,IAEF,SAAS,EAAE,WAAW,iBAAiB,WAAW;AAAA,IAClD,OAAO,EAAE;AAAA,MACP;AAEJ,QAAM,wBAAwB,uBAAuB;AAAA,IACnD;AAAA,IACA,UAAU,eAAe;AAAA,IACzB,WAAW,UAAU;AAAA,IACrB,aAAa;AAAA,IACb,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,EAAE,kBAAkB,8BAA8B,KAAK;AAE7D,MAAI,kBAAkB;AACpB,UAAM,kBAAkB,sBAAsB,yBAAyB;AACvE,WAAO,CAAC,iBAAiB,GAAG,OAAO;AAAA,EACrC;AACA,SAAO;AACT;AAEA,MAAM,cAAc,CAAC,UAAU,MAAM,EAAE,cAAc;AACnD,QAAM;AAAA,IACJ,OAAO,EAAE,qBAAqB,kBAAkB;AAAA,IAChD,SAAS,EAAE;AAAA,MACT,KAAK,YAAY;AAErB,QAAM,EAAE,WAAW;AACnB,QAAM,aAAa,QAAQ;AAE3B,MAAI,CAAC,kBAAkB;AACrB,aAAS,UAAU,MAAM,UAAU,QAAQ,SAAS,MAAM;AAAA,EAC5D;AAEA,WAAS,YAAY,GAAG;AAAA,
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/plugins/selectable/useSelectableState.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport { useDerivedStateFromProps } from '@elliemae/ds-utilities';\nimport { toggleInObject, hashArray, omit } from '@elliemae/ds-utilities';\nimport {\n checkAllRowsSelected,\n toggleSelectAll,\n toggleSingleSelectable,\n} from './helper';\n\nfunction deriveSelectedStateFromPropsOnUpdate(rows) {\n return (nextProp = {}, prevProp = {}) => {\n if (nextProp.selectAll !== prevProp.selectAll) {\n const nextSelectedRows = nextProp.selectAll\n ? toggleSelectAll(rows, true)\n : hashArray(nextProp.selectedRows || []);\n return {\n selectedRows: nextSelectedRows,\n selectAll: checkAllRowsSelected(rows, Object.keys(nextSelectedRows)),\n };\n }\n return {\n selectedRows: hashArray(nextProp.selectedRows || []),\n selectAll: checkAllRowsSelected(rows, Object.keys(nextProp.selectedRows)),\n };\n };\n}\n\nexport function useSelectableState(grid) {\n const {\n props: { rowKey = 'id', selectedRows, selectAll, selectable, onSelectRow, onSelectAll },\n rows,\n setLastSelectedRow,\n } = grid.getInstance();\n\n const multiple = selectable === 'multi';\n const [selection, setSelectedRowsState] = useDerivedStateFromProps(\n { selectedRows, selectAll },\n { onUpdate: deriveSelectedStateFromPropsOnUpdate(rows) },\n );\n\n // ACTIONS\n const handleSelectRow = (\n id,\n index,\n shift = false,\n lastSelectedRow = null,\n // eslint-disable-next-line max-params\n ) => {\n setSelectedRowsState((prevState) => {\n const { rows: nextRows } = grid.getInstance();\n const wasSelected = Object.keys(prevState.selectedRows).some(\n // we need to match softly as the id may be a number\n // eslint-disable-next-line eqeqeq\n (elem) => elem == id,\n );\n let nextSelectedRows = multiple\n ? toggleInObject(prevState.selectedRows, id, true)\n : toggleSingleSelectable(prevState.selectedRows, id);\n setLastSelectedRow({ index, mode: wasSelected ? 'deselect' : 'select' });\n if (shift && lastSelectedRow) {\n const prevSmallest = lastSelectedRow.index < index + 1;\n const sliceStart = prevSmallest ? lastSelectedRow.index : index;\n const sliceEnd = prevSmallest ? index + 1 : lastSelectedRow.index + 1;\n const rowSegment = nextRows.slice(sliceStart, sliceEnd).map((row) => row[rowKey]);\n if (lastSelectedRow.mode === 'deselect') {\n nextSelectedRows = omit(prevState.selectedRows, rowSegment);\n } else {\n const selectedSegment = rowSegment.reduce((o, key) => ({ ...o, [key]: true }), {});\n nextSelectedRows = {\n ...prevState.selectedRows,\n ...selectedSegment,\n };\n }\n }\n\n const nextState = {\n selectedRows: nextSelectedRows,\n selectAll: checkAllRowsSelected(nextRows, Object.keys(nextSelectedRows)),\n };\n if (index !== null && index !== undefined) {\n onSelectRow(\n nextRows.filter((row) => nextState.selectedRows[row[rowKey]]),\n nextState.selectAll,\n index,\n );\n }\n\n return nextState;\n });\n };\n\n const handleSelectAll = (checked) => {\n if (!multiple) return;\n setLastSelectedRow(null);\n setSelectedRowsState(() => {\n const { composedRows: nextRows } = grid.getInstance();\n\n const nextState = {\n selectAll: checked,\n selectedRows: toggleSelectAll(nextRows, checked),\n };\n\n onSelectAll(nextState.selectAll);\n onSelectRow(checked ? nextRows : [], nextState.selectAll);\n\n return nextState;\n });\n };\n\n return {\n actions: {\n selectRow: handleSelectRow,\n selectAll: handleSelectAll,\n },\n state: {\n selection,\n },\n };\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;ACCA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAMA,8CAA8C,MAAM;AAClD,SAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,MAAM;AACvC,QAAI,SAAS,cAAc,SAAS,WAAW;AAC7C,YAAM,mBAAmB,SAAS,YAC9B,gBAAgB,MAAM,IAAI,IAC1B,UAAU,SAAS,gBAAgB,CAAC,CAAC;AACzC,aAAO;AAAA,QACL,cAAc;AAAA,QACd,WAAW,qBAAqB,MAAM,OAAO,KAAK,gBAAgB,CAAC;AAAA,MACrE;AAAA,IACF;AACA,WAAO;AAAA,MACL,cAAc,UAAU,SAAS,gBAAgB,CAAC,CAAC;AAAA,MACnD,WAAW,qBAAqB,MAAM,OAAO,KAAK,SAAS,YAAY,CAAC;AAAA,IAC1E;AAAA,EACF;AACF;AAEO,4BAA4B,MAAM;AACvC,QAAM;AAAA,IACJ,OAAO,EAAE,SAAS,MAAM,cAAc,WAAW,YAAY,aAAa;AAAA,IAC1E;AAAA,IACA;AAAA,MACE,KAAK,YAAY;AAErB,QAAM,WAAW,eAAe;AAChC,QAAM,CAAC,WAAW,wBAAwB,yBACxC,EAAE,cAAc,UAAU,GAC1B,EAAE,UAAU,qCAAqC,IAAI,EAAE,CACzD;AAGA,QAAM,kBAAkB,CACtB,IACA,OACA,QAAQ,OACR,kBAAkB,SAEf;AACH,yBAAqB,CAAC,cAAc;AAClC,YAAM,EAAE,MAAM,aAAa,KAAK,YAAY;AAC5C,YAAM,cAAc,OAAO,KAAK,UAAU,YAAY,EAAE,KAGtD,CAAC,SAAS,QAAQ,EACpB;AACA,UAAI,mBAAmB,WACnB,eAAe,UAAU,cAAc,IAAI,IAAI,IAC/C,uBAAuB,UAAU,cAAc,EAAE;AACrD,yBAAmB,EAAE,OAAO,MAAM,cAAc,aAAa,SAAS,CAAC;AACvE,UAAI,SAAS,iBAAiB;AAC5B,cAAM,eAAe,gBAAgB,QAAQ,QAAQ;AACrD,cAAM,aAAa,eAAe,gBAAgB,QAAQ;AAC1D,cAAM,WAAW,eAAe,QAAQ,IAAI,gBAAgB,QAAQ;AACpE,cAAM,aAAa,SAAS,MAAM,YAAY,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,OAAO;AAChF,YAAI,gBAAgB,SAAS,YAAY;AACvC,6BAAmB,KAAK,UAAU,cAAc,UAAU;AAAA,QAC5D,OAAO;AACL,gBAAM,kBAAkB,WAAW,OAAO,CAAC,GAAG,QAAS,iCAAK,IAAL,
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -230,7 +230,7 @@ VirtualizedBody.propTypes = {
|
|
|
230
230
|
itemSize: PropTypes.func,
|
|
231
231
|
outerRef: PropTypes.any
|
|
232
232
|
}),
|
|
233
|
-
noResultsPlaceholder: PropTypes.
|
|
233
|
+
noResultsPlaceholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
|
|
234
234
|
overscanCount: PropTypes.number,
|
|
235
235
|
rows: PropTypes.arrayOf(PropTypes.shape({})),
|
|
236
236
|
rowHeight: PropTypes.number,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/plugins/virtualization/VirtualizedBody.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable max-statements */\nimport React, { useEffect, useState, useCallback, useRef, useLayoutEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { mergeRefs, debounce, isNaN } from '@elliemae/ds-utilities';\nimport { NoResults } from '../../components/NoResults';\nimport { VirtualizedBodyRow } from './VirtualizedBodyRow';\nimport { RowSizes } from '../../rowSizes';\nimport { isSafari } from './helper';\n\nconst wrapperSafari = {};\nconst wrapperGeneric = { overflowY: 'auto', overflowX: 'visible' };\n\nconst VirtualizedBody = (props) => {\n const {\n autoScrollToId,\n columns,\n component: Component,\n expandable,\n innerRef,\n innerBody,\n isPlaceholderActive,\n listProps,\n noResultsPlaceholder,\n overscanCount,\n rows,\n rowHeight: defaultRowHeight,\n rowKey,\n rowRenderer,\n rowSize,\n setHasScroll,\n filters, // hack to reset the scrollTop to 0 if filters change\n } = props;\n const rowHeight = defaultRowHeight || RowSizes[rowSize];\n const [scrollTop, setScrollTop] = useState(0);\n const [visibleHeight, setVisibleHeight] = useState(0);\n const [hasScrollBar, setHasScrollBar] = useState(false);\n const rowStyleCache = useRef({});\n const [renderedIndexes, setRenderedIndexes] = useState([0, 30]);\n\n const getCalculatedHeightBetweenIndexes = (start, end) => {\n const { itemSize = () => rowHeight } = listProps;\n if (expandable) {\n return rows\n .slice(start, end)\n .map((_, idx) => idx)\n .map((idx) => itemSize(idx))\n .reduce((acc, curr) => acc + curr, 0);\n }\n return (end - start) * rowHeight;\n };\n\n const generateRowPositionMap = () => rows.map((row, idx) => getCalculatedHeightBetweenIndexes(0, idx));\n\n const rowPositionMap = useRef(generateRowPositionMap());\n const [virtualizedBodyRef, setVirtualizedBodyRef] = useState(null);\n const handlerRef = useRef();\n\n const autoScrollTo = useCallback(\n (scrollHeight) => {\n const { itemSize = () => rowHeight } = listProps;\n const idx = rows.findIndex((item) => item[rowKey] === autoScrollToId);\n let val = rowPositionMap.current[idx] || 0;\n const lastPositionIdx = rowPositionMap.current.length - 1;\n let lastPosition = 0;\n if (lastPositionIdx > -1) {\n lastPosition = rowPositionMap.current[lastPositionIdx] - scrollHeight + itemSize(lastPositionIdx);\n }\n if (lastPosition < val) {\n val = lastPosition;\n }\n if (virtualizedBodyRef) {\n if (idx > -1) {\n setScrollTop(val);\n virtualizedBodyRef.scrollTop = val;\n }\n }\n },\n [rows, virtualizedBodyRef],\n );\n\n useEffect(() => {\n autoScrollTo(visibleHeight);\n }, [autoScrollToId, visibleHeight]);\n\n const handler = useCallback(\n debounce(({ target }) => {\n // Update coordinates\n setScrollTop(target.scrollTop || 0);\n }, 100),\n [setScrollTop],\n );\n\n useEffect(() => {\n setScrollTop(0);\n }, [filters]);\n\n useEffect(() => {\n handlerRef.current = handler;\n }, [handler]);\n\n useLayoutEffect(() => {\n let top = Math.ceil(scrollTop / rowHeight);\n let bot = Math.ceil((scrollTop + visibleHeight) / rowHeight);\n if (expandable) {\n // updateMapperFirst\n rowPositionMap.current = generateRowPositionMap();\n top = rowPositionMap.current.findIndex((item) => item > scrollTop);\n bot = rowPositionMap.current.findIndex((item) => item > scrollTop + visibleHeight);\n if (bot === -1) bot = rowPositionMap.current.length;\n }\n let upperBound = top - 1 - overscanCount;\n let lowerBound = bot - 1 + overscanCount;\n if (upperBound < 0) {\n upperBound = 0;\n }\n if (lowerBound - upperBound < overscanCount) {\n lowerBound = upperBound + overscanCount;\n }\n if (lowerBound > rows.length) {\n lowerBound = rows.length;\n }\n setHasScrollBar(visibleHeight < getHeight());\n setHasScroll(visibleHeight < getHeight());\n setRenderedIndexes([upperBound, lowerBound]);\n }, [visibleHeight, scrollTop, rows]);\n\n useLayoutEffect(() => {\n if (virtualizedBodyRef) {\n const parsedVisibleHeight = parseFloat(\n window.getComputedStyle(virtualizedBodyRef, null).getPropertyValue('height'),\n );\n // eslint-disable-next-line no-restricted-globals\n if (!isNaN(parsedVisibleHeight)) {\n setVisibleHeight(parsedVisibleHeight);\n autoScrollTo(parsedVisibleHeight);\n }\n }\n }, [rows, virtualizedBodyRef]);\n\n useEffect(() => {\n if (virtualizedBodyRef) {\n const eventListener = (event) => handlerRef.current(event);\n virtualizedBodyRef.addEventListener('scroll', eventListener);\n\n return () => {\n virtualizedBodyRef.removeEventListener('scroll', eventListener);\n };\n }\n return () => null;\n }, [virtualizedBodyRef]);\n\n const getHeight = () => {\n let returnHeight = 0;\n if (expandable) {\n returnHeight = getCalculatedHeightBetweenIndexes(0, rows.length) + 8;\n } else {\n returnHeight = rows.length * rowHeight + 8;\n }\n // if (visibleHeight > returnHeight) {\n // return visibleHeight;\n // }\n if (virtualizedBodyRef && virtualizedBodyRef.scrollHeight > virtualizedBodyRef.clientHeight) {\n return returnHeight + 10;\n }\n return returnHeight;\n };\n\n const getRowStyle = (row, index, specificRowHeight) => {\n const { itemSize } = listProps;\n\n if (!expandable && rowStyleCache.current[index]) {\n return rowStyleCache.current[index];\n }\n rowStyleCache.current[index] = {\n height: itemSize ? itemSize(index) : specificRowHeight,\n left: 0,\n right: 0,\n top: getCalculatedHeightBetweenIndexes(0, index),\n position: 'absolute',\n };\n return rowStyleCache.current[index];\n };\n\n const generateRenderedRows = () =>\n rows.slice(renderedIndexes[0], renderedIndexes[1] + 1).map((_, index) => (\n <VirtualizedBodyRow\n data={{\n rows,\n columns,\n rowKey,\n renderer: { rowRenderer },\n }}\n index={renderedIndexes[0] + index}\n key={rows[renderedIndexes[0] + index][rowKey]}\n style={getRowStyle(rows[renderedIndexes[0] + index], renderedIndexes[0] + index, rowHeight)}\n ></VirtualizedBodyRow>\n ));\n\n const wrapperStyle = {\n height: '100%',\n ...(isSafari ? wrapperSafari : wrapperGeneric),\n };\n const bodyStyle = {\n height: getHeight(),\n willChange: 'transform',\n backfaceVisibility: 'hidden',\n };\n\n return (\n <Component {...props} innerRef={innerRef}>\n {!isPlaceholderActive ? (\n <div\n className=\"virtualized-body-wrapper\"\n style={wrapperStyle}\n ref={(elem) => {\n if (elem) {\n if (isSafari) {\n setVirtualizedBodyRef(elem.parentElement);\n // eslint-disable-next-line no-param-reassign\n elem.parentElement.scrollTop = scrollTop;\n mergeRefs(listProps.outerRef)(elem.parentElement);\n } else {\n setVirtualizedBodyRef(elem);\n mergeRefs(listProps.outerRef)(elem);\n }\n }\n }}\n >\n <div\n data-testid=\"virtualized-body\"\n className={`virtualized-body${hasScrollBar ? ' with-scrollbar' : ''}`}\n style={bodyStyle}\n ref={(r) => {\n mergeRefs(innerBody)(r);\n }}\n >\n {generateRenderedRows()}\n </div>\n </div>\n ) : (\n <NoResults innerRef={innerRef} rowRenderer={rowRenderer}>\n {noResultsPlaceholder}\n </NoResults>\n )}\n </Component>\n );\n};\n\nVirtualizedBody.defaultProps = {\n rows: [],\n overscanCount: 10,\n};\n\nVirtualizedBody.propTypes = {\n autoScrollToId: PropTypes.number,\n columns: PropTypes.arrayOf(PropTypes.shape({})),\n component: PropTypes.element,\n expandable: PropTypes.bool,\n filters: PropTypes.any,\n innerRef: PropTypes.any,\n innerBody: PropTypes.any,\n isPlaceholderActive: PropTypes.bool,\n listProps: PropTypes.shape({\n itemSize: PropTypes.func,\n outerRef: PropTypes.any,\n }),\n noResultsPlaceholder: PropTypes.
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable max-statements */\nimport React, { useEffect, useState, useCallback, useRef, useLayoutEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { mergeRefs, debounce, isNaN } from '@elliemae/ds-utilities';\nimport { NoResults } from '../../components/NoResults';\nimport { VirtualizedBodyRow } from './VirtualizedBodyRow';\nimport { RowSizes } from '../../rowSizes';\nimport { isSafari } from './helper';\n\nconst wrapperSafari = {};\nconst wrapperGeneric = { overflowY: 'auto', overflowX: 'visible' };\n\nconst VirtualizedBody = (props) => {\n const {\n autoScrollToId,\n columns,\n component: Component,\n expandable,\n innerRef,\n innerBody,\n isPlaceholderActive,\n listProps,\n noResultsPlaceholder,\n overscanCount,\n rows,\n rowHeight: defaultRowHeight,\n rowKey,\n rowRenderer,\n rowSize,\n setHasScroll,\n filters, // hack to reset the scrollTop to 0 if filters change\n } = props;\n const rowHeight = defaultRowHeight || RowSizes[rowSize];\n const [scrollTop, setScrollTop] = useState(0);\n const [visibleHeight, setVisibleHeight] = useState(0);\n const [hasScrollBar, setHasScrollBar] = useState(false);\n const rowStyleCache = useRef({});\n const [renderedIndexes, setRenderedIndexes] = useState([0, 30]);\n\n const getCalculatedHeightBetweenIndexes = (start, end) => {\n const { itemSize = () => rowHeight } = listProps;\n if (expandable) {\n return rows\n .slice(start, end)\n .map((_, idx) => idx)\n .map((idx) => itemSize(idx))\n .reduce((acc, curr) => acc + curr, 0);\n }\n return (end - start) * rowHeight;\n };\n\n const generateRowPositionMap = () => rows.map((row, idx) => getCalculatedHeightBetweenIndexes(0, idx));\n\n const rowPositionMap = useRef(generateRowPositionMap());\n const [virtualizedBodyRef, setVirtualizedBodyRef] = useState(null);\n const handlerRef = useRef();\n\n const autoScrollTo = useCallback(\n (scrollHeight) => {\n const { itemSize = () => rowHeight } = listProps;\n const idx = rows.findIndex((item) => item[rowKey] === autoScrollToId);\n let val = rowPositionMap.current[idx] || 0;\n const lastPositionIdx = rowPositionMap.current.length - 1;\n let lastPosition = 0;\n if (lastPositionIdx > -1) {\n lastPosition = rowPositionMap.current[lastPositionIdx] - scrollHeight + itemSize(lastPositionIdx);\n }\n if (lastPosition < val) {\n val = lastPosition;\n }\n if (virtualizedBodyRef) {\n if (idx > -1) {\n setScrollTop(val);\n virtualizedBodyRef.scrollTop = val;\n }\n }\n },\n [rows, virtualizedBodyRef],\n );\n\n useEffect(() => {\n autoScrollTo(visibleHeight);\n }, [autoScrollToId, visibleHeight]);\n\n const handler = useCallback(\n debounce(({ target }) => {\n // Update coordinates\n setScrollTop(target.scrollTop || 0);\n }, 100),\n [setScrollTop],\n );\n\n useEffect(() => {\n setScrollTop(0);\n }, [filters]);\n\n useEffect(() => {\n handlerRef.current = handler;\n }, [handler]);\n\n useLayoutEffect(() => {\n let top = Math.ceil(scrollTop / rowHeight);\n let bot = Math.ceil((scrollTop + visibleHeight) / rowHeight);\n if (expandable) {\n // updateMapperFirst\n rowPositionMap.current = generateRowPositionMap();\n top = rowPositionMap.current.findIndex((item) => item > scrollTop);\n bot = rowPositionMap.current.findIndex((item) => item > scrollTop + visibleHeight);\n if (bot === -1) bot = rowPositionMap.current.length;\n }\n let upperBound = top - 1 - overscanCount;\n let lowerBound = bot - 1 + overscanCount;\n if (upperBound < 0) {\n upperBound = 0;\n }\n if (lowerBound - upperBound < overscanCount) {\n lowerBound = upperBound + overscanCount;\n }\n if (lowerBound > rows.length) {\n lowerBound = rows.length;\n }\n setHasScrollBar(visibleHeight < getHeight());\n setHasScroll(visibleHeight < getHeight());\n setRenderedIndexes([upperBound, lowerBound]);\n }, [visibleHeight, scrollTop, rows]);\n\n useLayoutEffect(() => {\n if (virtualizedBodyRef) {\n const parsedVisibleHeight = parseFloat(\n window.getComputedStyle(virtualizedBodyRef, null).getPropertyValue('height'),\n );\n // eslint-disable-next-line no-restricted-globals\n if (!isNaN(parsedVisibleHeight)) {\n setVisibleHeight(parsedVisibleHeight);\n autoScrollTo(parsedVisibleHeight);\n }\n }\n }, [rows, virtualizedBodyRef]);\n\n useEffect(() => {\n if (virtualizedBodyRef) {\n const eventListener = (event) => handlerRef.current(event);\n virtualizedBodyRef.addEventListener('scroll', eventListener);\n\n return () => {\n virtualizedBodyRef.removeEventListener('scroll', eventListener);\n };\n }\n return () => null;\n }, [virtualizedBodyRef]);\n\n const getHeight = () => {\n let returnHeight = 0;\n if (expandable) {\n returnHeight = getCalculatedHeightBetweenIndexes(0, rows.length) + 8;\n } else {\n returnHeight = rows.length * rowHeight + 8;\n }\n // if (visibleHeight > returnHeight) {\n // return visibleHeight;\n // }\n if (virtualizedBodyRef && virtualizedBodyRef.scrollHeight > virtualizedBodyRef.clientHeight) {\n return returnHeight + 10;\n }\n return returnHeight;\n };\n\n const getRowStyle = (row, index, specificRowHeight) => {\n const { itemSize } = listProps;\n\n if (!expandable && rowStyleCache.current[index]) {\n return rowStyleCache.current[index];\n }\n rowStyleCache.current[index] = {\n height: itemSize ? itemSize(index) : specificRowHeight,\n left: 0,\n right: 0,\n top: getCalculatedHeightBetweenIndexes(0, index),\n position: 'absolute',\n };\n return rowStyleCache.current[index];\n };\n\n const generateRenderedRows = () =>\n rows.slice(renderedIndexes[0], renderedIndexes[1] + 1).map((_, index) => (\n <VirtualizedBodyRow\n data={{\n rows,\n columns,\n rowKey,\n renderer: { rowRenderer },\n }}\n index={renderedIndexes[0] + index}\n key={rows[renderedIndexes[0] + index][rowKey]}\n style={getRowStyle(rows[renderedIndexes[0] + index], renderedIndexes[0] + index, rowHeight)}\n ></VirtualizedBodyRow>\n ));\n\n const wrapperStyle = {\n height: '100%',\n ...(isSafari ? wrapperSafari : wrapperGeneric),\n };\n const bodyStyle = {\n height: getHeight(),\n willChange: 'transform',\n backfaceVisibility: 'hidden',\n };\n\n return (\n <Component {...props} innerRef={innerRef}>\n {!isPlaceholderActive ? (\n <div\n className=\"virtualized-body-wrapper\"\n style={wrapperStyle}\n ref={(elem) => {\n if (elem) {\n if (isSafari) {\n setVirtualizedBodyRef(elem.parentElement);\n // eslint-disable-next-line no-param-reassign\n elem.parentElement.scrollTop = scrollTop;\n mergeRefs(listProps.outerRef)(elem.parentElement);\n } else {\n setVirtualizedBodyRef(elem);\n mergeRefs(listProps.outerRef)(elem);\n }\n }\n }}\n >\n <div\n data-testid=\"virtualized-body\"\n className={`virtualized-body${hasScrollBar ? ' with-scrollbar' : ''}`}\n style={bodyStyle}\n ref={(r) => {\n mergeRefs(innerBody)(r);\n }}\n >\n {generateRenderedRows()}\n </div>\n </div>\n ) : (\n <NoResults innerRef={innerRef} rowRenderer={rowRenderer}>\n {noResultsPlaceholder}\n </NoResults>\n )}\n </Component>\n );\n};\n\nVirtualizedBody.defaultProps = {\n rows: [],\n overscanCount: 10,\n};\n\nVirtualizedBody.propTypes = {\n autoScrollToId: PropTypes.number,\n columns: PropTypes.arrayOf(PropTypes.shape({})),\n component: PropTypes.element,\n expandable: PropTypes.bool,\n filters: PropTypes.any,\n innerRef: PropTypes.any,\n innerBody: PropTypes.any,\n isPlaceholderActive: PropTypes.bool,\n listProps: PropTypes.shape({\n itemSize: PropTypes.func,\n outerRef: PropTypes.any,\n }),\n noResultsPlaceholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n overscanCount: PropTypes.number,\n rows: PropTypes.arrayOf(PropTypes.shape({})),\n rowHeight: PropTypes.number,\n rowKey: PropTypes.string,\n rowRenderer: PropTypes.element,\n rowSize: PropTypes.any,\n setHasScroll: PropTypes.func,\n};\n\nexport { VirtualizedBody };\nexport default VirtualizedBody;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-datagrids",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.0-rc.3",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Data Grids",
|
|
6
6
|
"files": [
|
|
@@ -543,27 +543,27 @@
|
|
|
543
543
|
"typeSafety": false
|
|
544
544
|
},
|
|
545
545
|
"dependencies": {
|
|
546
|
-
"@elliemae/ds-button": "3.
|
|
547
|
-
"@elliemae/ds-classnames": "3.
|
|
548
|
-
"@elliemae/ds-controlled-form": "3.
|
|
549
|
-
"@elliemae/ds-datagrids": "3.
|
|
550
|
-
"@elliemae/ds-dropdownmenu": "3.
|
|
551
|
-
"@elliemae/ds-filterbar": "3.
|
|
552
|
-
"@elliemae/ds-form": "3.
|
|
553
|
-
"@elliemae/ds-grid": "3.
|
|
554
|
-
"@elliemae/ds-icons": "3.
|
|
555
|
-
"@elliemae/ds-menu": "3.
|
|
556
|
-
"@elliemae/ds-popper": "3.
|
|
557
|
-
"@elliemae/ds-separator": "3.
|
|
558
|
-
"@elliemae/ds-shared": "3.
|
|
559
|
-
"@elliemae/ds-spinner": "3.
|
|
560
|
-
"@elliemae/ds-system": "3.
|
|
561
|
-
"@elliemae/ds-toolbar": "3.
|
|
562
|
-
"@elliemae/ds-truncated-tooltip-text": "3.
|
|
563
|
-
"@elliemae/ds-utilities": "3.
|
|
546
|
+
"@elliemae/ds-button": "3.2.0-rc.3",
|
|
547
|
+
"@elliemae/ds-classnames": "3.2.0-rc.3",
|
|
548
|
+
"@elliemae/ds-controlled-form": "3.2.0-rc.3",
|
|
549
|
+
"@elliemae/ds-datagrids": "3.2.0-rc.3",
|
|
550
|
+
"@elliemae/ds-dropdownmenu": "3.2.0-rc.3",
|
|
551
|
+
"@elliemae/ds-filterbar": "3.2.0-rc.3",
|
|
552
|
+
"@elliemae/ds-form": "3.2.0-rc.3",
|
|
553
|
+
"@elliemae/ds-grid": "3.2.0-rc.3",
|
|
554
|
+
"@elliemae/ds-icons": "3.2.0-rc.3",
|
|
555
|
+
"@elliemae/ds-menu": "3.2.0-rc.3",
|
|
556
|
+
"@elliemae/ds-popper": "3.2.0-rc.3",
|
|
557
|
+
"@elliemae/ds-separator": "3.2.0-rc.3",
|
|
558
|
+
"@elliemae/ds-shared": "3.2.0-rc.3",
|
|
559
|
+
"@elliemae/ds-spinner": "3.2.0-rc.3",
|
|
560
|
+
"@elliemae/ds-system": "3.2.0-rc.3",
|
|
561
|
+
"@elliemae/ds-toolbar": "3.2.0-rc.3",
|
|
562
|
+
"@elliemae/ds-truncated-tooltip-text": "3.2.0-rc.3",
|
|
563
|
+
"@elliemae/ds-utilities": "3.2.0-rc.3",
|
|
564
564
|
"comparejs": "~1.0.3",
|
|
565
|
-
"memoize-one": "~
|
|
566
|
-
"moment": "~2.29.
|
|
565
|
+
"memoize-one": "~6.0.0",
|
|
566
|
+
"moment": "~2.29.3",
|
|
567
567
|
"obj-str": "~1.1.0",
|
|
568
568
|
"prop-types": "~15.8.1",
|
|
569
569
|
"react-edit": "~6.4.1",
|
|
@@ -576,16 +576,16 @@
|
|
|
576
576
|
"uuid": "~8.3.2"
|
|
577
577
|
},
|
|
578
578
|
"devDependencies": {
|
|
579
|
-
"@testing-library/jest-dom": "~5.16.
|
|
580
|
-
"@testing-library/react": "~12.1.
|
|
579
|
+
"@testing-library/jest-dom": "~5.16.4",
|
|
580
|
+
"@testing-library/react": "~12.1.3",
|
|
581
581
|
"@testing-library/user-event": "~13.5.0",
|
|
582
|
-
"styled-components": "~5.3.
|
|
582
|
+
"styled-components": "~5.3.5"
|
|
583
583
|
},
|
|
584
584
|
"peerDependencies": {
|
|
585
585
|
"lodash": "^4.17.21",
|
|
586
586
|
"react": "~17.0.2",
|
|
587
587
|
"react-dom": "^17.0.2",
|
|
588
|
-
"styled-components": "^5.3.
|
|
588
|
+
"styled-components": "^5.3.5"
|
|
589
589
|
},
|
|
590
590
|
"scripts": {
|
|
591
591
|
"dev": "cross-env NODE_ENV=development node ../../scripts/build/build.mjs --watch",
|