@elliemae/ds-datagrids 3.1.4-rc.2 → 3.1.5-rc.11
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/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/package.json +19 -19
|
@@ -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
|
}
|
|
@@ -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
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-datagrids",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.5-rc.11",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Data Grids",
|
|
6
6
|
"files": [
|
|
@@ -543,24 +543,24 @@
|
|
|
543
543
|
"typeSafety": false
|
|
544
544
|
},
|
|
545
545
|
"dependencies": {
|
|
546
|
-
"@elliemae/ds-button": "3.1.
|
|
547
|
-
"@elliemae/ds-classnames": "3.1.
|
|
548
|
-
"@elliemae/ds-controlled-form": "3.1.
|
|
549
|
-
"@elliemae/ds-datagrids": "3.1.
|
|
550
|
-
"@elliemae/ds-dropdownmenu": "3.1.
|
|
551
|
-
"@elliemae/ds-filterbar": "3.1.
|
|
552
|
-
"@elliemae/ds-form": "3.1.
|
|
553
|
-
"@elliemae/ds-grid": "3.1.
|
|
554
|
-
"@elliemae/ds-icons": "3.1.
|
|
555
|
-
"@elliemae/ds-menu": "3.1.
|
|
556
|
-
"@elliemae/ds-popper": "3.1.
|
|
557
|
-
"@elliemae/ds-separator": "3.1.
|
|
558
|
-
"@elliemae/ds-shared": "3.1.
|
|
559
|
-
"@elliemae/ds-spinner": "3.1.
|
|
560
|
-
"@elliemae/ds-system": "3.1.
|
|
561
|
-
"@elliemae/ds-toolbar": "3.1.
|
|
562
|
-
"@elliemae/ds-truncated-tooltip-text": "3.1.
|
|
563
|
-
"@elliemae/ds-utilities": "3.1.
|
|
546
|
+
"@elliemae/ds-button": "3.1.5-rc.11",
|
|
547
|
+
"@elliemae/ds-classnames": "3.1.5-rc.11",
|
|
548
|
+
"@elliemae/ds-controlled-form": "3.1.5-rc.11",
|
|
549
|
+
"@elliemae/ds-datagrids": "3.1.5-rc.11",
|
|
550
|
+
"@elliemae/ds-dropdownmenu": "3.1.5-rc.11",
|
|
551
|
+
"@elliemae/ds-filterbar": "3.1.5-rc.11",
|
|
552
|
+
"@elliemae/ds-form": "3.1.5-rc.11",
|
|
553
|
+
"@elliemae/ds-grid": "3.1.5-rc.11",
|
|
554
|
+
"@elliemae/ds-icons": "3.1.5-rc.11",
|
|
555
|
+
"@elliemae/ds-menu": "3.1.5-rc.11",
|
|
556
|
+
"@elliemae/ds-popper": "3.1.5-rc.11",
|
|
557
|
+
"@elliemae/ds-separator": "3.1.5-rc.11",
|
|
558
|
+
"@elliemae/ds-shared": "3.1.5-rc.11",
|
|
559
|
+
"@elliemae/ds-spinner": "3.1.5-rc.11",
|
|
560
|
+
"@elliemae/ds-system": "3.1.5-rc.11",
|
|
561
|
+
"@elliemae/ds-toolbar": "3.1.5-rc.11",
|
|
562
|
+
"@elliemae/ds-truncated-tooltip-text": "3.1.5-rc.11",
|
|
563
|
+
"@elliemae/ds-utilities": "3.1.5-rc.11",
|
|
564
564
|
"comparejs": "~1.0.3",
|
|
565
565
|
"memoize-one": "~5.1.1",
|
|
566
566
|
"moment": "~2.29.1",
|