@epignosis_llc/gnosis 6.8.2 → 6.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs +492 -223
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/src/components/FormElements/ToggleSwitch/ToggleLabel.js +0 -1
- package/dist/esm/src/components/FormElements/ToggleSwitch/ToggleLabel.js.map +1 -1
- package/dist/esm/src/components/FormElements/ToggleSwitch/ToggleSwitch.js +0 -1
- package/dist/esm/src/components/FormElements/ToggleSwitch/ToggleSwitch.js.map +1 -1
- package/dist/esm/src/components/FormElements/ToggleSwitch/ToggleSwitchCore.js +0 -1
- package/dist/esm/src/components/FormElements/ToggleSwitch/ToggleSwitchCore.js.map +1 -1
- package/dist/esm/src/components/Table/Table.js +2 -1
- package/dist/esm/src/components/Table/Table.js.map +1 -1
- package/dist/esm/src/components/Table/components/Body.js +41 -11
- package/dist/esm/src/components/Table/components/Body.js.map +1 -1
- package/dist/esm/src/components/Table/components/Cell.js.map +1 -1
- package/dist/esm/src/components/Table/components/DataCells.js +2 -1
- package/dist/esm/src/components/Table/components/DataCells.js.map +1 -1
- package/dist/esm/src/components/Table/components/Header.js +7 -3
- package/dist/esm/src/components/Table/components/Header.js.map +1 -1
- package/dist/esm/src/components/Table/components/MobileTablePrimaryRow.js +98 -0
- package/dist/esm/src/components/Table/components/MobileTablePrimaryRow.js.map +1 -0
- package/dist/esm/src/components/Table/components/MobileTableRow.js +97 -0
- package/dist/esm/src/components/Table/components/MobileTableRow.js.map +1 -0
- package/dist/esm/src/components/Table/components/MobileTableRowDetails.js +55 -0
- package/dist/esm/src/components/Table/components/MobileTableRowDetails.js.map +1 -0
- package/dist/esm/src/components/Table/components/TableRow.js +23 -2
- package/dist/esm/src/components/Table/components/TableRow.js.map +1 -1
- package/dist/esm/src/components/Table/constants.js +1 -0
- package/dist/esm/src/components/Table/constants.js.map +1 -1
- package/dist/esm/src/components/Table/helpers.js +17 -6
- package/dist/esm/src/components/Table/helpers.js.map +1 -1
- package/dist/esm/src/components/Table/reducer.js +21 -2
- package/dist/esm/src/components/Table/reducer.js.map +1 -1
- package/dist/esm/src/components/Table/styles.js +11 -3
- package/dist/esm/src/components/Table/styles.js.map +1 -1
- package/dist/esm/src/components/Toast/ToastNotifications.js +0 -1
- package/dist/esm/src/components/Toast/ToastNotifications.js.map +1 -1
- package/dist/esm/src/theme/default/config/table.js +1 -0
- package/dist/esm/src/theme/default/config/table.js.map +1 -1
- package/dist/types/components/Table/components/Cell.d.ts +1 -0
- package/dist/types/components/Table/components/MobileTablePrimaryRow.d.ts +25 -0
- package/dist/types/components/Table/components/MobileTableRow.d.ts +17 -0
- package/dist/types/components/Table/components/MobileTableRowDetails.d.ts +13 -0
- package/dist/types/components/Table/components/TableRow.d.ts +4 -1
- package/dist/types/components/Table/constants.d.ts +2 -1
- package/dist/types/components/Table/helpers.d.ts +5 -1
- package/dist/types/components/Table/styles.d.ts +2 -2
- package/dist/types/components/Table/types.d.ts +5 -1
- package/dist/types/icons/arrows/index.d.ts +1 -0
- package/dist/types/icons/client/index.d.ts +1 -0
- package/dist/types/theme/default/config/table.d.ts +1 -0
- package/dist/types/theme/default/defaultTheme.d.ts +1 -0
- package/icons/index.cjs +616 -588
- package/icons/index.js +615 -589
- package/package.json +1 -1
- package/dist/esm/node_modules/core-js/modules/es.array.join.js +0 -33
- package/dist/esm/node_modules/core-js/modules/es.array.join.js.map +0 -1
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* author: epignosis front-end team
|
|
5
|
+
* @epignosis_llc/gnosis.js v6.6.16
|
|
6
|
+
* Released under the MIT license.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import 'react';
|
|
10
|
+
import classNames from '../../../../node_modules/classnames/index.js';
|
|
11
|
+
import SvgChevronArrowRight from '../../../icons/chevrons/chevron-arrow-right.svg.js';
|
|
12
|
+
import Checkbox from '../../FormElements/CheckboxGroup/Checkbox.js';
|
|
13
|
+
import { renderRowValue } from '../helpers.js';
|
|
14
|
+
import Cell from './Cell.js';
|
|
15
|
+
import { createElement as jsx } from '../../../../node_modules/@emotion/react/dist/emotion-react.browser.esm.js';
|
|
16
|
+
|
|
17
|
+
var rowClassnames = function rowClassnames(isSelected, callback) {
|
|
18
|
+
return classNames({
|
|
19
|
+
selected: isSelected,
|
|
20
|
+
link: callback
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
var checkboxWrapperClassnames = function checkboxWrapperClassnames() {
|
|
24
|
+
return classNames("selectable-cell");
|
|
25
|
+
};
|
|
26
|
+
var MobileTablePrimaryRow = function MobileTablePrimaryRow(_ref) {
|
|
27
|
+
var rowId = _ref.rowId,
|
|
28
|
+
row = _ref.row,
|
|
29
|
+
isSelected = _ref.isSelected,
|
|
30
|
+
isExpanded = _ref.isExpanded,
|
|
31
|
+
selectable = _ref.selectable,
|
|
32
|
+
disabled = _ref.disabled,
|
|
33
|
+
mobileColSpan = _ref.mobileColSpan,
|
|
34
|
+
isRowClickable = _ref.isRowClickable,
|
|
35
|
+
primaryCellId = _ref.primaryCellId,
|
|
36
|
+
detailsRowId = _ref.detailsRowId,
|
|
37
|
+
hasSecondaryColumns = _ref.hasSecondaryColumns,
|
|
38
|
+
primaryValue = _ref.primaryValue,
|
|
39
|
+
onRowSelection = _ref.onRowSelection,
|
|
40
|
+
onRowClick = _ref.onRowClick,
|
|
41
|
+
onExpandToggle = _ref.onExpandToggle,
|
|
42
|
+
onControlClick = _ref.onControlClick,
|
|
43
|
+
onMouseEnter = _ref.onMouseEnter,
|
|
44
|
+
onMouseLeave = _ref.onMouseLeave,
|
|
45
|
+
renderMobileActions = _ref.renderMobileActions;
|
|
46
|
+
return jsx("tr", {
|
|
47
|
+
key: "entry-".concat(row.id, "-summary"),
|
|
48
|
+
className: classNames("table-mobile-row", rowClassnames(isSelected, isRowClickable), {
|
|
49
|
+
"table-mobile-row--expanded": isExpanded
|
|
50
|
+
}),
|
|
51
|
+
onClick: onRowClick,
|
|
52
|
+
onMouseEnter: onMouseEnter,
|
|
53
|
+
onMouseLeave: onMouseLeave
|
|
54
|
+
}, jsx(Cell, {
|
|
55
|
+
colSpan: mobileColSpan,
|
|
56
|
+
className: "table-mobile-row__cell"
|
|
57
|
+
}, jsx("div", {
|
|
58
|
+
className: classNames("table-mobile-row__content", {
|
|
59
|
+
"table-mobile-row__content--padded": !hasSecondaryColumns
|
|
60
|
+
})
|
|
61
|
+
}, jsx("div", {
|
|
62
|
+
className: "table-mobile-row__main"
|
|
63
|
+
}, selectable && jsx("div", {
|
|
64
|
+
className: checkboxWrapperClassnames(),
|
|
65
|
+
onClick: onControlClick
|
|
66
|
+
}, jsx(Checkbox, {
|
|
67
|
+
id: rowId,
|
|
68
|
+
key: rowId,
|
|
69
|
+
name: rowId,
|
|
70
|
+
value: rowId,
|
|
71
|
+
checked: isSelected,
|
|
72
|
+
onChange: onRowSelection,
|
|
73
|
+
disabled: disabled,
|
|
74
|
+
"aria-labelledby": primaryCellId
|
|
75
|
+
})), hasSecondaryColumns && jsx("button", {
|
|
76
|
+
type: "button",
|
|
77
|
+
className: "table-mobile-row__toggle",
|
|
78
|
+
onClick: onExpandToggle,
|
|
79
|
+
"aria-expanded": isExpanded,
|
|
80
|
+
"aria-controls": detailsRowId,
|
|
81
|
+
"aria-label": isExpanded ? "Collapse row details" : "Expand row details",
|
|
82
|
+
disabled: disabled
|
|
83
|
+
}, jsx(SvgChevronArrowRight, {
|
|
84
|
+
width: 32,
|
|
85
|
+
className: "table-mobile-row__toggle-icon"
|
|
86
|
+
})), jsx("div", {
|
|
87
|
+
id: primaryCellId,
|
|
88
|
+
className: "table-mobile-row__primary"
|
|
89
|
+
}, jsx("div", {
|
|
90
|
+
className: "table-mobile-row__primary-value"
|
|
91
|
+
}, renderRowValue(primaryValue, row))), renderMobileActions && jsx("div", {
|
|
92
|
+
className: "table-mobile-row__actions",
|
|
93
|
+
onClick: onControlClick
|
|
94
|
+
}, renderMobileActions(row))))));
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
export { MobileTablePrimaryRow as default };
|
|
98
|
+
//# sourceMappingURL=MobileTablePrimaryRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MobileTablePrimaryRow.js","sources":["../../../../../../src/components/Table/components/MobileTablePrimaryRow.tsx"],"sourcesContent":["import React, { FC, MouseEvent, ReactNode } from \"react\";\nimport classNames from \"classnames\";\nimport { ChevronArrowRightSVG } from \"../../../icons\";\nimport Checkbox from \"../../FormElements/CheckboxGroup/Checkbox\";\nimport { Row } from \"../types\";\nimport { renderRowValue } from \"../helpers\";\nimport Cell from \"./Cell\";\n\nconst rowClassnames = (isSelected: boolean, callback: boolean): string =>\n classNames({\n selected: isSelected,\n link: callback,\n });\n\nconst checkboxWrapperClassnames = (): string => classNames(\"selectable-cell\");\n\nexport type MobileTablePrimaryRowProps = {\n rowId: string;\n row: Row;\n isSelected: boolean;\n isExpanded: boolean;\n selectable: boolean;\n disabled?: boolean;\n mobileColSpan: number;\n isRowClickable: boolean;\n primaryCellId: string;\n detailsRowId: string;\n hasSecondaryColumns: boolean;\n primaryValue: unknown;\n onRowSelection: () => void;\n onRowClick: () => void;\n onExpandToggle: (e: MouseEvent<HTMLButtonElement>) => void;\n onControlClick: (e: MouseEvent<HTMLElement>) => void;\n onMouseEnter: () => void;\n onMouseLeave: () => void;\n renderMobileActions?: (row: Row) => ReactNode;\n};\n\nconst MobileTablePrimaryRow: FC<MobileTablePrimaryRowProps> = ({\n rowId,\n row,\n isSelected,\n isExpanded,\n selectable,\n disabled,\n mobileColSpan,\n isRowClickable,\n primaryCellId,\n detailsRowId,\n hasSecondaryColumns,\n primaryValue,\n onRowSelection,\n onRowClick,\n onExpandToggle,\n onControlClick,\n onMouseEnter,\n onMouseLeave,\n renderMobileActions,\n}) => (\n <tr\n key={`entry-${row.id}-summary`}\n className={classNames(\"table-mobile-row\", rowClassnames(isSelected, isRowClickable), {\n \"table-mobile-row--expanded\": isExpanded,\n })}\n onClick={onRowClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n <Cell colSpan={mobileColSpan} className=\"table-mobile-row__cell\">\n <div\n className={classNames(\"table-mobile-row__content\", {\n \"table-mobile-row__content--padded\": !hasSecondaryColumns,\n })}\n >\n <div className=\"table-mobile-row__main\">\n {selectable && (\n <div className={checkboxWrapperClassnames()} onClick={onControlClick}>\n <Checkbox\n id={rowId}\n key={rowId}\n name={rowId}\n value={rowId}\n checked={isSelected}\n onChange={onRowSelection}\n disabled={disabled}\n aria-labelledby={primaryCellId}\n />\n </div>\n )}\n {hasSecondaryColumns && (\n <button\n type=\"button\"\n className=\"table-mobile-row__toggle\"\n onClick={onExpandToggle}\n aria-expanded={isExpanded}\n aria-controls={detailsRowId}\n aria-label={isExpanded ? \"Collapse row details\" : \"Expand row details\"}\n disabled={disabled}\n >\n <ChevronArrowRightSVG width={32} className=\"table-mobile-row__toggle-icon\" />\n </button>\n )}\n <div id={primaryCellId} className=\"table-mobile-row__primary\">\n <div className=\"table-mobile-row__primary-value\">\n {renderRowValue(primaryValue, row)}\n </div>\n </div>\n\n {renderMobileActions && (\n <div className=\"table-mobile-row__actions\" onClick={onControlClick}>\n {renderMobileActions(row)}\n </div>\n )}\n </div>\n </div>\n </Cell>\n </tr>\n);\n\nexport default MobileTablePrimaryRow;\n"],"names":["rowClassnames","isSelected","callback","classNames","selected","link","checkboxWrapperClassnames","MobileTablePrimaryRow","_ref","rowId","row","isExpanded","selectable","disabled","mobileColSpan","isRowClickable","primaryCellId","detailsRowId","hasSecondaryColumns","primaryValue","onRowSelection","onRowClick","onExpandToggle","onControlClick","onMouseEnter","onMouseLeave","renderMobileActions","___EmotionJSX","key","concat","id","className","onClick","Cell","colSpan","Checkbox","name","value","checked","onChange","type","ChevronArrowRightSVG","width","renderRowValue"],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* author: epignosis front-end team
|
|
5
|
+
* @epignosis_llc/gnosis.js v6.6.16
|
|
6
|
+
* Released under the MIT license.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import '../../../../node_modules/core-js/modules/es.array.concat.js';
|
|
10
|
+
import '../../../../node_modules/core-js/modules/es.array.filter.js';
|
|
11
|
+
import '../../../../node_modules/core-js/modules/es.object.to-string.js';
|
|
12
|
+
import React__default, { memo, useMemo } from 'react';
|
|
13
|
+
import { getVisibleColumns, getDefaultAccessor } from '../helpers.js';
|
|
14
|
+
import MobileTableRowDetails from './MobileTableRowDetails.js';
|
|
15
|
+
import MobileTablePrimaryRow from './MobileTablePrimaryRow.js';
|
|
16
|
+
import { createElement as jsx } from '../../../../node_modules/@emotion/react/dist/emotion-react.browser.esm.js';
|
|
17
|
+
|
|
18
|
+
var MobileTableRow = function MobileTableRow(_ref) {
|
|
19
|
+
var rowId = _ref.rowId,
|
|
20
|
+
row = _ref.row,
|
|
21
|
+
columns = _ref.columns,
|
|
22
|
+
isSelected = _ref.isSelected,
|
|
23
|
+
isExpanded = _ref.isExpanded,
|
|
24
|
+
selectable = _ref.selectable,
|
|
25
|
+
_ref$disabled = _ref.disabled,
|
|
26
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
27
|
+
onRowSelection = _ref.onRowSelection,
|
|
28
|
+
onExpandToggle = _ref.onExpandToggle,
|
|
29
|
+
onHoveredRowChange = _ref.onHoveredRowChange,
|
|
30
|
+
renderMobileActions = _ref.renderMobileActions;
|
|
31
|
+
var visibleColumns = useMemo(function () {
|
|
32
|
+
return getVisibleColumns(columns);
|
|
33
|
+
}, [columns]);
|
|
34
|
+
var defaultAccessor = getDefaultAccessor(visibleColumns);
|
|
35
|
+
var primaryCellId = "".concat(rowId, "-").concat(defaultAccessor);
|
|
36
|
+
var detailsRowId = "".concat(rowId, "-details");
|
|
37
|
+
var mobileColSpan = visibleColumns.length + (selectable ? 1 : 0);
|
|
38
|
+
var secondaryColumns = useMemo(function () {
|
|
39
|
+
return visibleColumns.filter(function (column) {
|
|
40
|
+
return column.accessor !== defaultAccessor;
|
|
41
|
+
});
|
|
42
|
+
}, [defaultAccessor, visibleColumns]);
|
|
43
|
+
var hasSecondaryColumns = secondaryColumns.length > 0;
|
|
44
|
+
var primaryValue = defaultAccessor ? row[defaultAccessor] : null;
|
|
45
|
+
var isRowClickable = hasSecondaryColumns && !disabled;
|
|
46
|
+
var handleMobileRowClick = function handleMobileRowClick() {
|
|
47
|
+
if (!isRowClickable) return;
|
|
48
|
+
onExpandToggle();
|
|
49
|
+
};
|
|
50
|
+
var handleExpandToggle = function handleExpandToggle(e) {
|
|
51
|
+
e.stopPropagation();
|
|
52
|
+
if (!isRowClickable) return;
|
|
53
|
+
onExpandToggle();
|
|
54
|
+
};
|
|
55
|
+
var handleControlClick = function handleControlClick(e) {
|
|
56
|
+
e.stopPropagation();
|
|
57
|
+
};
|
|
58
|
+
var handleMouseEnter = function handleMouseEnter() {
|
|
59
|
+
if (!disabled) onHoveredRowChange(row);
|
|
60
|
+
};
|
|
61
|
+
var handleMouseLeave = function handleMouseLeave() {
|
|
62
|
+
if (!disabled) onHoveredRowChange(null);
|
|
63
|
+
};
|
|
64
|
+
return jsx(React__default.Fragment, null, jsx(MobileTablePrimaryRow, {
|
|
65
|
+
rowId: rowId,
|
|
66
|
+
row: row,
|
|
67
|
+
isSelected: isSelected,
|
|
68
|
+
isExpanded: isExpanded,
|
|
69
|
+
selectable: selectable,
|
|
70
|
+
disabled: disabled,
|
|
71
|
+
mobileColSpan: mobileColSpan,
|
|
72
|
+
isRowClickable: isRowClickable,
|
|
73
|
+
primaryCellId: primaryCellId,
|
|
74
|
+
detailsRowId: detailsRowId,
|
|
75
|
+
hasSecondaryColumns: hasSecondaryColumns,
|
|
76
|
+
primaryValue: primaryValue,
|
|
77
|
+
onRowSelection: onRowSelection,
|
|
78
|
+
onRowClick: handleMobileRowClick,
|
|
79
|
+
onExpandToggle: handleExpandToggle,
|
|
80
|
+
onControlClick: handleControlClick,
|
|
81
|
+
onMouseEnter: handleMouseEnter,
|
|
82
|
+
onMouseLeave: handleMouseLeave,
|
|
83
|
+
renderMobileActions: renderMobileActions
|
|
84
|
+
}), isExpanded && hasSecondaryColumns && jsx(MobileTableRowDetails, {
|
|
85
|
+
row: row,
|
|
86
|
+
isSelected: isSelected,
|
|
87
|
+
detailsRowId: detailsRowId,
|
|
88
|
+
mobileColSpan: mobileColSpan,
|
|
89
|
+
secondaryColumns: secondaryColumns,
|
|
90
|
+
onMouseEnter: handleMouseEnter,
|
|
91
|
+
onMouseLeave: handleMouseLeave
|
|
92
|
+
}));
|
|
93
|
+
};
|
|
94
|
+
var MobileTableRow$1 = /*#__PURE__*/memo(MobileTableRow);
|
|
95
|
+
|
|
96
|
+
export { MobileTableRow$1 as default };
|
|
97
|
+
//# sourceMappingURL=MobileTableRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MobileTableRow.js","sources":["../../../../../../src/components/Table/components/MobileTableRow.tsx"],"sourcesContent":["import React, { FC, memo, MouseEvent, ReactNode, useMemo } from \"react\";\nimport { Column, Row } from \"../types\";\nimport { getDefaultAccessor, getVisibleColumns } from \"../helpers\";\nimport MobileTableRowDetails from \"./MobileTableRowDetails\";\nimport MobileTablePrimaryRow from \"./MobileTablePrimaryRow\";\n\nexport type MobileTableRowProps = {\n rowId: string;\n row: Row;\n columns: Column[];\n isSelected: boolean;\n isExpanded: boolean;\n selectable: boolean;\n disabled?: boolean;\n onRowSelection: () => void;\n onExpandToggle: () => void;\n onHoveredRowChange: (row: Row | null) => void;\n renderMobileActions?: (row: Row) => ReactNode;\n};\n\nconst MobileTableRow: FC<MobileTableRowProps> = ({\n rowId,\n row,\n columns,\n isSelected,\n isExpanded,\n selectable,\n disabled = false,\n onRowSelection,\n onExpandToggle,\n onHoveredRowChange,\n renderMobileActions,\n}) => {\n const visibleColumns = useMemo(() => getVisibleColumns(columns), [columns]);\n const defaultAccessor = getDefaultAccessor(visibleColumns);\n\n const primaryCellId = `${rowId}-${defaultAccessor}`;\n const detailsRowId = `${rowId}-details`;\n const mobileColSpan = visibleColumns.length + (selectable ? 1 : 0);\n\n const secondaryColumns = useMemo(\n () => visibleColumns.filter((column) => column.accessor !== defaultAccessor),\n [defaultAccessor, visibleColumns],\n );\n const hasSecondaryColumns = secondaryColumns.length > 0;\n\n const primaryValue = defaultAccessor ? row[defaultAccessor] : null;\n const isRowClickable = hasSecondaryColumns && !disabled;\n\n const handleMobileRowClick = (): void => {\n if (!isRowClickable) return;\n onExpandToggle();\n };\n\n const handleExpandToggle = (e: MouseEvent<HTMLButtonElement>): void => {\n e.stopPropagation();\n if (!isRowClickable) return;\n onExpandToggle();\n };\n\n const handleControlClick = (e: MouseEvent<HTMLElement>): void => {\n e.stopPropagation();\n };\n\n const handleMouseEnter = (): void => {\n if (!disabled) onHoveredRowChange(row);\n };\n\n const handleMouseLeave = (): void => {\n if (!disabled) onHoveredRowChange(null);\n };\n\n return (\n <>\n <MobileTablePrimaryRow\n rowId={rowId}\n row={row}\n isSelected={isSelected}\n isExpanded={isExpanded}\n selectable={selectable}\n disabled={disabled}\n mobileColSpan={mobileColSpan}\n isRowClickable={isRowClickable}\n primaryCellId={primaryCellId}\n detailsRowId={detailsRowId}\n hasSecondaryColumns={hasSecondaryColumns}\n primaryValue={primaryValue}\n onRowSelection={onRowSelection}\n onRowClick={handleMobileRowClick}\n onExpandToggle={handleExpandToggle}\n onControlClick={handleControlClick}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n renderMobileActions={renderMobileActions}\n />\n {isExpanded && hasSecondaryColumns && (\n <MobileTableRowDetails\n row={row}\n isSelected={isSelected}\n detailsRowId={detailsRowId}\n mobileColSpan={mobileColSpan}\n secondaryColumns={secondaryColumns}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n />\n )}\n </>\n );\n};\n\nexport default memo(MobileTableRow);\n"],"names":["MobileTableRow","_ref","rowId","row","columns","isSelected","isExpanded","selectable","_ref$disabled","disabled","onRowSelection","onExpandToggle","onHoveredRowChange","renderMobileActions","visibleColumns","useMemo","getVisibleColumns","defaultAccessor","getDefaultAccessor","primaryCellId","concat","detailsRowId","mobileColSpan","length","secondaryColumns","filter","column","accessor","hasSecondaryColumns","primaryValue","isRowClickable","handleMobileRowClick","handleExpandToggle","e","stopPropagation","handleControlClick","handleMouseEnter","handleMouseLeave","___EmotionJSX","React","Fragment","MobileTablePrimaryRow","onRowClick","onControlClick","onMouseEnter","onMouseLeave","MobileTableRowDetails","memo"],"mappings":";;;;;;;;;;;;;;;;;AAoBA,IAAMA,cAAuC,GAAG,SAA1CA,cAAuCA,CAAAC,IAAA,EAYvC;AAAA,EAAA,IAXJC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACLC,GAAG,GAAAF,IAAA,CAAHE,GAAG;IACHC,OAAO,GAAAH,IAAA,CAAPG,OAAO;IACPC,UAAU,GAAAJ,IAAA,CAAVI,UAAU;IACVC,UAAU,GAAAL,IAAA,CAAVK,UAAU;IACVC,UAAU,GAAAN,IAAA,CAAVM,UAAU;IAAAC,aAAA,GAAAP,IAAA,CACVQ,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;IAChBE,cAAc,GAAAT,IAAA,CAAdS,cAAc;IACdC,cAAc,GAAAV,IAAA,CAAdU,cAAc;IACdC,kBAAkB,GAAAX,IAAA,CAAlBW,kBAAkB;IAClBC,mBAAmB,GAAAZ,IAAA,CAAnBY,mBAAmB,CAAA;EAEnB,IAAMC,cAAc,GAAGC,OAAO,CAAC,YAAA;IAAA,OAAMC,iBAAiB,CAACZ,OAAO,CAAC,CAAA;GAAE,EAAA,CAACA,OAAO,CAAC,CAAC,CAAA;AAC3E,EAAA,IAAMa,eAAe,GAAGC,kBAAkB,CAACJ,cAAc,CAAC,CAAA;EAE1D,IAAMK,aAAa,MAAAC,MAAA,CAAMlB,KAAK,EAAAkB,GAAAA,CAAAA,CAAAA,MAAA,CAAIH,eAAe,CAAE,CAAA;AACnD,EAAA,IAAMI,YAAY,GAAA,EAAA,CAAAD,MAAA,CAAMlB,KAAK,EAAU,UAAA,CAAA,CAAA;EACvC,IAAMoB,aAAa,GAAGR,cAAc,CAACS,MAAM,IAAIhB,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;EAElE,IAAMiB,gBAAgB,GAAGT,OAAO,CAC9B,YAAA;AAAA,IAAA,OAAMD,cAAc,CAACW,MAAM,CAAC,UAACC,MAAM,EAAA;AAAA,MAAA,OAAKA,MAAM,CAACC,QAAQ,KAAKV,eAAe,CAAA;KAAC,CAAA,CAAA;AAAA,GAAA,EAC5E,CAACA,eAAe,EAAEH,cAAc,CAClC,CAAC,CAAA;AACD,EAAA,IAAMc,mBAAmB,GAAGJ,gBAAgB,CAACD,MAAM,GAAG,CAAC,CAAA;EAEvD,IAAMM,YAAY,GAAGZ,eAAe,GAAGd,GAAG,CAACc,eAAe,CAAC,GAAG,IAAI,CAAA;AAClE,EAAA,IAAMa,cAAc,GAAGF,mBAAmB,IAAI,CAACnB,QAAQ,CAAA;AAEvD,EAAA,IAAMsB,oBAAoB,GAAG,SAAvBA,oBAAoBA,GAAe;IACvC,IAAI,CAACD,cAAc,EAAE,OAAA;AACrBnB,IAAAA,cAAc,EAAE,CAAA;GACjB,CAAA;AAED,EAAA,IAAMqB,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,CAAgC,EAAW;IACrEA,CAAC,CAACC,eAAe,EAAE,CAAA;IACnB,IAAI,CAACJ,cAAc,EAAE,OAAA;AACrBnB,IAAAA,cAAc,EAAE,CAAA;GACjB,CAAA;AAED,EAAA,IAAMwB,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIF,CAA0B,EAAW;IAC/DA,CAAC,CAACC,eAAe,EAAE,CAAA;GACpB,CAAA;AAED,EAAA,IAAME,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAe;AACnC,IAAA,IAAI,CAAC3B,QAAQ,EAAEG,kBAAkB,CAACT,GAAG,CAAC,CAAA;GACvC,CAAA;AAED,EAAA,IAAMkC,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAe;AACnC,IAAA,IAAI,CAAC5B,QAAQ,EAAEG,kBAAkB,CAAC,IAAI,CAAC,CAAA;GACxC,CAAA;EAED,OACE0B,GAAA,CAAAC,cAAA,CAAAC,QAAA,EACEF,IAAAA,EAAAA,GAAA,CAACG,qBAAqB,EAAA;AACpBvC,IAAAA,KAAK,EAAEA,KAAM;AACbC,IAAAA,GAAG,EAAEA,GAAI;AACTE,IAAAA,UAAU,EAAEA,UAAW;AACvBC,IAAAA,UAAU,EAAEA,UAAW;AACvBC,IAAAA,UAAU,EAAEA,UAAW;AACvBE,IAAAA,QAAQ,EAAEA,QAAS;AACnBa,IAAAA,aAAa,EAAEA,aAAc;AAC7BQ,IAAAA,cAAc,EAAEA,cAAe;AAC/BX,IAAAA,aAAa,EAAEA,aAAc;AAC7BE,IAAAA,YAAY,EAAEA,YAAa;AAC3BO,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzCC,IAAAA,YAAY,EAAEA,YAAa;AAC3BnB,IAAAA,cAAc,EAAEA,cAAe;AAC/BgC,IAAAA,UAAU,EAAEX,oBAAqB;AACjCpB,IAAAA,cAAc,EAAEqB,kBAAmB;AACnCW,IAAAA,cAAc,EAAER,kBAAmB;AACnCS,IAAAA,YAAY,EAAER,gBAAiB;AAC/BS,IAAAA,YAAY,EAAER,gBAAiB;AAC/BxB,IAAAA,mBAAmB,EAAEA,mBAAAA;GACtB,CAAC,EACDP,UAAU,IAAIsB,mBAAmB,IAChCU,GAAA,CAACQ,qBAAqB,EAAA;AACpB3C,IAAAA,GAAG,EAAEA,GAAI;AACTE,IAAAA,UAAU,EAAEA,UAAW;AACvBgB,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,aAAa,EAAEA,aAAc;AAC7BE,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCoB,IAAAA,YAAY,EAAER,gBAAiB;AAC/BS,IAAAA,YAAY,EAAER,gBAAAA;AAAiB,GAChC,CAEH,CAAC,CAAA;AAEP,CAAC,CAAA;AAED,uBAAeU,aAAAA,IAAI,CAAC/C,cAAc,CAAC;;;;"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* author: epignosis front-end team
|
|
5
|
+
* @epignosis_llc/gnosis.js v6.6.16
|
|
6
|
+
* Released under the MIT license.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import '../../../../node_modules/core-js/modules/es.array.concat.js';
|
|
10
|
+
import '../../../../node_modules/core-js/modules/es.array.map.js';
|
|
11
|
+
import 'react';
|
|
12
|
+
import classNames from '../../../../node_modules/classnames/index.js';
|
|
13
|
+
import { getColumnLabel, renderRowValue } from '../helpers.js';
|
|
14
|
+
import Cell from './Cell.js';
|
|
15
|
+
import { createElement as jsx } from '../../../../node_modules/@emotion/react/dist/emotion-react.browser.esm.js';
|
|
16
|
+
|
|
17
|
+
var rowClassnames = function rowClassnames(isSelected, callback) {
|
|
18
|
+
return classNames({
|
|
19
|
+
selected: isSelected,
|
|
20
|
+
link: callback
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
var MobileTableRowDetails = function MobileTableRowDetails(_ref) {
|
|
24
|
+
var row = _ref.row,
|
|
25
|
+
isSelected = _ref.isSelected,
|
|
26
|
+
detailsRowId = _ref.detailsRowId,
|
|
27
|
+
mobileColSpan = _ref.mobileColSpan,
|
|
28
|
+
secondaryColumns = _ref.secondaryColumns,
|
|
29
|
+
onMouseEnter = _ref.onMouseEnter,
|
|
30
|
+
onMouseLeave = _ref.onMouseLeave;
|
|
31
|
+
return jsx("tr", {
|
|
32
|
+
id: detailsRowId,
|
|
33
|
+
className: classNames("table-mobile-row-details", rowClassnames(isSelected, false)),
|
|
34
|
+
onMouseEnter: onMouseEnter,
|
|
35
|
+
onMouseLeave: onMouseLeave
|
|
36
|
+
}, jsx(Cell, {
|
|
37
|
+
colSpan: mobileColSpan,
|
|
38
|
+
className: "table-mobile-row__cell table-mobile-row-details__cell"
|
|
39
|
+
}, jsx("div", {
|
|
40
|
+
className: "table-mobile-row-details__content"
|
|
41
|
+
}, secondaryColumns.map(function (column) {
|
|
42
|
+
var value = row[column.accessor];
|
|
43
|
+
return jsx("section", {
|
|
44
|
+
key: "".concat(row.id, "-").concat(column.accessor),
|
|
45
|
+
className: "table-mobile-row-details__section"
|
|
46
|
+
}, jsx("div", {
|
|
47
|
+
className: "table-mobile-row-details__label"
|
|
48
|
+
}, getColumnLabel(column)), jsx("div", {
|
|
49
|
+
className: "table-mobile-row-details__value"
|
|
50
|
+
}, renderRowValue(value, row)));
|
|
51
|
+
}))));
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
export { MobileTableRowDetails as default };
|
|
55
|
+
//# sourceMappingURL=MobileTableRowDetails.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MobileTableRowDetails.js","sources":["../../../../../../src/components/Table/components/MobileTableRowDetails.tsx"],"sourcesContent":["import React, { FC } from \"react\";\nimport classNames from \"classnames\";\nimport { Column, Row } from \"../types\";\nimport { getColumnLabel, renderRowValue } from \"../helpers\";\nimport Cell from \"./Cell\";\n\nconst rowClassnames = (isSelected: boolean, callback: boolean): string =>\n classNames({\n selected: isSelected,\n link: callback,\n });\n\nexport type MobileTableRowDetailsProps = {\n row: Row;\n isSelected: boolean;\n detailsRowId: string;\n mobileColSpan: number;\n secondaryColumns: Column[];\n onMouseEnter: () => void;\n onMouseLeave: () => void;\n};\n\nconst MobileTableRowDetails: FC<MobileTableRowDetailsProps> = ({\n row,\n isSelected,\n detailsRowId,\n mobileColSpan,\n secondaryColumns,\n onMouseEnter,\n onMouseLeave,\n}) => (\n <tr\n id={detailsRowId}\n className={classNames(\"table-mobile-row-details\", rowClassnames(isSelected, false))}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n <Cell colSpan={mobileColSpan} className=\"table-mobile-row__cell table-mobile-row-details__cell\">\n <div className=\"table-mobile-row-details__content\">\n {secondaryColumns.map((column) => {\n const value = row[column.accessor];\n\n return (\n <section\n key={`${row.id}-${column.accessor}`}\n className=\"table-mobile-row-details__section\"\n >\n <div className=\"table-mobile-row-details__label\">{getColumnLabel(column)}</div>\n <div className=\"table-mobile-row-details__value\">{renderRowValue(value, row)}</div>\n </section>\n );\n })}\n </div>\n </Cell>\n </tr>\n);\n\nexport default MobileTableRowDetails;\n"],"names":["rowClassnames","isSelected","callback","classNames","selected","link","MobileTableRowDetails","_ref","row","detailsRowId","mobileColSpan","secondaryColumns","onMouseEnter","onMouseLeave","___EmotionJSX","id","className","Cell","colSpan","map","column","value","accessor","key","concat","getColumnLabel","renderRowValue"],"mappings":";;;;;;;;;;;;;;;;AAMA,IAAMA,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,UAAmB,EAAEC,QAAiB,EAAA;AAAA,EAAA,OAC3DC,UAAU,CAAC;AACTC,IAAAA,QAAQ,EAAEH,UAAU;AACpBI,IAAAA,IAAI,EAAEH,QAAAA;AACR,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAYJ,IAAMI,qBAAqD,GAAG,SAAxDA,qBAAqDA,CAAAC,IAAA,EAAA;AAAA,EAAA,IACzDC,GAAG,GAAAD,IAAA,CAAHC,GAAG;IACHP,UAAU,GAAAM,IAAA,CAAVN,UAAU;IACVQ,YAAY,GAAAF,IAAA,CAAZE,YAAY;IACZC,aAAa,GAAAH,IAAA,CAAbG,aAAa;IACbC,gBAAgB,GAAAJ,IAAA,CAAhBI,gBAAgB;IAChBC,YAAY,GAAAL,IAAA,CAAZK,YAAY;IACZC,YAAY,GAAAN,IAAA,CAAZM,YAAY,CAAA;AAAA,EAAA,OAEZC,GAAA,CAAA,IAAA,EAAA;AACEC,IAAAA,EAAE,EAAEN,YAAa;IACjBO,SAAS,EAAEb,UAAU,CAAC,0BAA0B,EAAEH,aAAa,CAACC,UAAU,EAAE,KAAK,CAAC,CAAE;AACpFW,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,YAAY,EAAEA,YAAAA;GAEdC,EAAAA,GAAA,CAACG,IAAI,EAAA;AAACC,IAAAA,OAAO,EAAER,aAAc;AAACM,IAAAA,SAAS,EAAC,uDAAA;AAAuD,GAAA,EAC7FF,GAAA,CAAA,KAAA,EAAA;AAAKE,IAAAA,SAAS,EAAC,mCAAA;AAAmC,GAAA,EAC/CL,gBAAgB,CAACQ,GAAG,CAAC,UAACC,MAAM,EAAK;AAChC,IAAA,IAAMC,KAAK,GAAGb,GAAG,CAACY,MAAM,CAACE,QAAQ,CAAC,CAAA;AAElC,IAAA,OACER,GAAA,CAAA,SAAA,EAAA;AACES,MAAAA,GAAG,EAAAC,EAAAA,CAAAA,MAAA,CAAKhB,GAAG,CAACO,EAAE,EAAAS,GAAAA,CAAAA,CAAAA,MAAA,CAAIJ,MAAM,CAACE,QAAQ,CAAG;AACpCN,MAAAA,SAAS,EAAC,mCAAA;AAAmC,KAAA,EAE7CF,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,iCAAA;AAAiC,KAAA,EAAES,cAAc,CAACL,MAAM,CAAO,CAAC,EAC/EN,GAAA,CAAA,KAAA,EAAA;AAAKE,MAAAA,SAAS,EAAC,iCAAA;AAAiC,KAAA,EAAEU,cAAc,CAACL,KAAK,EAAEb,GAAG,CAAO,CAC3E,CAAC,CAAA;GAEb,CACE,CACD,CACJ,CAAC,CAAA;AAAA;;;;"}
|
|
@@ -15,6 +15,8 @@ import { Actions } from '../constants.js';
|
|
|
15
15
|
import { getVisibleAccessors, getDefaultAccessor } from '../helpers.js';
|
|
16
16
|
import Cell from './Cell.js';
|
|
17
17
|
import DataCells from './DataCells.js';
|
|
18
|
+
import MobileTableRow from './MobileTableRow.js';
|
|
19
|
+
import { breakpoints } from '../../../theme/utils/breakpoints.js';
|
|
18
20
|
import { createElement as jsx } from '../../../../node_modules/@emotion/react/dist/emotion-react.browser.esm.js';
|
|
19
21
|
|
|
20
22
|
var rowClassnames = function rowClassnames(isSelected, callback) {
|
|
@@ -35,6 +37,7 @@ var TableRow = function TableRow(_ref) {
|
|
|
35
37
|
windowWidth = _ref.windowWidth,
|
|
36
38
|
windowHeight = _ref.windowHeight,
|
|
37
39
|
isSelected = _ref.isSelected,
|
|
40
|
+
isExpanded = _ref.isExpanded,
|
|
38
41
|
selectable = _ref.selectable,
|
|
39
42
|
autohide = _ref.autohide,
|
|
40
43
|
_ref$disabled = _ref.disabled,
|
|
@@ -42,13 +45,16 @@ var TableRow = function TableRow(_ref) {
|
|
|
42
45
|
dispatch = _ref.dispatch,
|
|
43
46
|
onRowSelect = _ref.onRowSelect,
|
|
44
47
|
onRowClick = _ref.onRowClick,
|
|
45
|
-
onHoveredRowChange = _ref.onHoveredRowChange
|
|
48
|
+
onHoveredRowChange = _ref.onHoveredRowChange,
|
|
49
|
+
onExpandToggle = _ref.onExpandToggle,
|
|
50
|
+
renderMobileActions = _ref.renderMobileActions;
|
|
46
51
|
var accessors = getVisibleAccessors(columns);
|
|
47
52
|
var defaultAccessor = getDefaultAccessor(columns);
|
|
53
|
+
var isMobile = windowWidth < breakpoints.md;
|
|
48
54
|
var handleRowClick = useCallback(function () {
|
|
49
55
|
if (disabled) return;
|
|
50
56
|
onRowClick === null || onRowClick === void 0 || onRowClick(row);
|
|
51
|
-
}, [
|
|
57
|
+
}, [disabled, onRowClick, row]);
|
|
52
58
|
var handleRowSelection = function handleRowSelection() {
|
|
53
59
|
if (disabled) return;
|
|
54
60
|
dispatch({
|
|
@@ -57,6 +63,21 @@ var TableRow = function TableRow(_ref) {
|
|
|
57
63
|
});
|
|
58
64
|
onRowSelect === null || onRowSelect === void 0 || onRowSelect([Number(row.id)]);
|
|
59
65
|
};
|
|
66
|
+
if (isMobile) {
|
|
67
|
+
return jsx(MobileTableRow, {
|
|
68
|
+
rowId: rowId,
|
|
69
|
+
row: row,
|
|
70
|
+
columns: columns,
|
|
71
|
+
isSelected: isSelected,
|
|
72
|
+
isExpanded: isExpanded,
|
|
73
|
+
selectable: selectable,
|
|
74
|
+
disabled: disabled,
|
|
75
|
+
renderMobileActions: renderMobileActions,
|
|
76
|
+
onRowSelection: handleRowSelection,
|
|
77
|
+
onExpandToggle: onExpandToggle,
|
|
78
|
+
onHoveredRowChange: onHoveredRowChange
|
|
79
|
+
});
|
|
80
|
+
}
|
|
60
81
|
return jsx("tr", {
|
|
61
82
|
key: "entry-".concat(row.id, "-select"),
|
|
62
83
|
className: rowClassnames(isSelected, Boolean(onRowClick)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableRow.js","sources":["../../../../../../src/components/Table/components/TableRow.tsx"],"sourcesContent":["import React, { FC, memo, useCallback } from \"react\";\nimport classNames from \"classnames\";\nimport { Column, Row } from \"../types\";\nimport Checkbox from \"../../FormElements/CheckboxGroup/Checkbox\";\nimport { Dispatch } from \"../reducer\";\nimport { Actions } from \"../constants\";\nimport { getDefaultAccessor, getVisibleAccessors } from \"../helpers\";\nimport Cell from \"./Cell\";\nimport DataCells from \"./DataCells\";\n\nconst rowClassnames = (isSelected: boolean, callback: boolean): string =>\n classNames({\n selected: isSelected,\n link: callback,\n });\n\nconst checkboxWrapperClassnames = (autohide: boolean): string =>\n classNames(\"selectable-cell\", {\n \"autohide-cell\": autohide,\n });\n\nexport type TableRowProps = {\n rowId: string;\n row: Row;\n columns: Column[];\n windowWidth: number;\n windowHeight: number;\n isSelected: boolean;\n selectable: boolean;\n autohide?: boolean;\n disabled?: boolean;\n dispatch: Dispatch;\n onRowSelect?: (rowIds: number[]) => void;\n onRowClick?: (row: Row) => void;\n onHoveredRowChange: (row: Row | null) => void;\n};\n\nconst TableRow: FC<TableRowProps> = ({\n rowId,\n row,\n columns,\n windowWidth,\n windowHeight,\n isSelected,\n selectable,\n autohide,\n disabled = false,\n dispatch,\n onRowSelect,\n onRowClick,\n onHoveredRowChange,\n}) => {\n const accessors = getVisibleAccessors(columns);\n const defaultAccessor = getDefaultAccessor(columns);\n\n const handleRowClick = useCallback((): void => {\n if (disabled) return;\n onRowClick?.(row);\n }, [
|
|
1
|
+
{"version":3,"file":"TableRow.js","sources":["../../../../../../src/components/Table/components/TableRow.tsx"],"sourcesContent":["import React, { FC, memo, ReactNode, useCallback } from \"react\";\nimport classNames from \"classnames\";\nimport { Column, Row } from \"../types\";\nimport Checkbox from \"../../FormElements/CheckboxGroup/Checkbox\";\nimport { Dispatch } from \"../reducer\";\nimport { Actions } from \"../constants\";\nimport { getDefaultAccessor, getVisibleAccessors } from \"../helpers\";\nimport Cell from \"./Cell\";\nimport DataCells from \"./DataCells\";\nimport MobileTableRow from \"./MobileTableRow\";\nimport { breakpoints } from \"@theme/utils/breakpoints\";\n\nconst rowClassnames = (isSelected: boolean, callback: boolean): string =>\n classNames({\n selected: isSelected,\n link: callback,\n });\n\nconst checkboxWrapperClassnames = (autohide: boolean): string =>\n classNames(\"selectable-cell\", {\n \"autohide-cell\": autohide,\n });\n\nexport type TableRowProps = {\n rowId: string;\n row: Row;\n columns: Column[];\n windowWidth: number;\n windowHeight: number;\n isSelected: boolean;\n isExpanded: boolean;\n selectable: boolean;\n autohide?: boolean;\n disabled?: boolean;\n dispatch: Dispatch;\n onRowSelect?: (rowIds: number[]) => void;\n onRowClick?: (row: Row) => void;\n onHoveredRowChange: (row: Row | null) => void;\n onExpandToggle: () => void;\n renderMobileActions?: (row: Row) => ReactNode;\n};\n\nconst TableRow: FC<TableRowProps> = ({\n rowId,\n row,\n columns,\n windowWidth,\n windowHeight,\n isSelected,\n isExpanded,\n selectable,\n autohide,\n disabled = false,\n dispatch,\n onRowSelect,\n onRowClick,\n onHoveredRowChange,\n onExpandToggle,\n renderMobileActions,\n}) => {\n const accessors = getVisibleAccessors(columns);\n const defaultAccessor = getDefaultAccessor(columns);\n const isMobile = windowWidth < breakpoints.md;\n\n const handleRowClick = useCallback((): void => {\n if (disabled) return;\n onRowClick?.(row);\n }, [disabled, onRowClick, row]);\n\n const handleRowSelection = (): void => {\n if (disabled) return;\n dispatch({ type: Actions.toggle, payload: row });\n onRowSelect?.([Number(row.id)]);\n };\n\n if (isMobile) {\n return (\n <MobileTableRow\n rowId={rowId}\n row={row}\n columns={columns}\n isSelected={isSelected}\n isExpanded={isExpanded}\n selectable={selectable}\n disabled={disabled}\n renderMobileActions={renderMobileActions}\n onRowSelection={handleRowSelection}\n onExpandToggle={onExpandToggle}\n onHoveredRowChange={onHoveredRowChange}\n />\n );\n }\n\n return (\n <tr\n key={`entry-${row.id}-select`}\n className={rowClassnames(isSelected, Boolean(onRowClick))}\n onMouseEnter={(): void => {\n !disabled && onHoveredRowChange(row);\n }}\n onMouseLeave={(): void => {\n !disabled && onHoveredRowChange(null);\n }}\n >\n {selectable && (\n <Cell key={rowId} className={checkboxWrapperClassnames(Boolean(autohide))}>\n <Checkbox\n id={rowId}\n key={rowId}\n name={rowId}\n value={rowId}\n checked={isSelected}\n onChange={handleRowSelection}\n disabled={disabled}\n aria-labelledby={`entry-${row.id}-${defaultAccessor}`}\n />\n </Cell>\n )}\n\n <DataCells\n row={row}\n columns={columns}\n accessors={accessors}\n windowHeight={windowHeight}\n windowWidth={windowWidth}\n handleRowClick={handleRowClick}\n />\n </tr>\n );\n};\n\nexport default memo(TableRow);\n"],"names":["rowClassnames","isSelected","callback","classNames","selected","link","checkboxWrapperClassnames","autohide","TableRow","_ref","rowId","row","columns","windowWidth","windowHeight","isExpanded","selectable","_ref$disabled","disabled","dispatch","onRowSelect","onRowClick","onHoveredRowChange","onExpandToggle","renderMobileActions","accessors","getVisibleAccessors","defaultAccessor","getDefaultAccessor","isMobile","breakpoints","md","handleRowClick","useCallback","handleRowSelection","type","Actions","toggle","payload","Number","id","___EmotionJSX","MobileTableRow","onRowSelection","key","concat","className","Boolean","onMouseEnter","onMouseLeave","Cell","Checkbox","name","value","checked","onChange","DataCells","memo"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAYA,IAAMA,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,UAAmB,EAAEC,QAAiB,EAAA;AAAA,EAAA,OAC3DC,UAAU,CAAC;AACTC,IAAAA,QAAQ,EAAEH,UAAU;AACpBI,IAAAA,IAAI,EAAEH,QAAAA;AACR,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEJ,IAAMI,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAIC,QAAiB,EAAA;EAAA,OAClDJ,UAAU,CAAC,iBAAiB,EAAE;AAC5B,IAAA,eAAe,EAAEI,QAAAA;AACnB,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAqBJ,IAAMC,QAA2B,GAAG,SAA9BA,QAA2BA,CAAAC,IAAA,EAiB3B;AAAA,EAAA,IAhBJC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACLC,GAAG,GAAAF,IAAA,CAAHE,GAAG;IACHC,OAAO,GAAAH,IAAA,CAAPG,OAAO;IACPC,WAAW,GAAAJ,IAAA,CAAXI,WAAW;IACXC,YAAY,GAAAL,IAAA,CAAZK,YAAY;IACZb,UAAU,GAAAQ,IAAA,CAAVR,UAAU;IACVc,UAAU,GAAAN,IAAA,CAAVM,UAAU;IACVC,UAAU,GAAAP,IAAA,CAAVO,UAAU;IACVT,QAAQ,GAAAE,IAAA,CAARF,QAAQ;IAAAU,aAAA,GAAAR,IAAA,CACRS,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;IAChBE,QAAQ,GAAAV,IAAA,CAARU,QAAQ;IACRC,WAAW,GAAAX,IAAA,CAAXW,WAAW;IACXC,UAAU,GAAAZ,IAAA,CAAVY,UAAU;IACVC,kBAAkB,GAAAb,IAAA,CAAlBa,kBAAkB;IAClBC,cAAc,GAAAd,IAAA,CAAdc,cAAc;IACdC,mBAAmB,GAAAf,IAAA,CAAnBe,mBAAmB,CAAA;AAEnB,EAAA,IAAMC,SAAS,GAAGC,mBAAmB,CAACd,OAAO,CAAC,CAAA;AAC9C,EAAA,IAAMe,eAAe,GAAGC,kBAAkB,CAAChB,OAAO,CAAC,CAAA;AACnD,EAAA,IAAMiB,QAAQ,GAAGhB,WAAW,GAAGiB,WAAW,CAACC,EAAE,CAAA;AAE7C,EAAA,IAAMC,cAAc,GAAGC,WAAW,CAAC,YAAY;AAC7C,IAAA,IAAIf,QAAQ,EAAE,OAAA;AACdG,IAAAA,UAAU,aAAVA,UAAU,KAAA,KAAA,CAAA,IAAVA,UAAU,CAAGV,GAAG,CAAC,CAAA;GAClB,EAAE,CAACO,QAAQ,EAAEG,UAAU,EAAEV,GAAG,CAAC,CAAC,CAAA;AAE/B,EAAA,IAAMuB,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAe;AACrC,IAAA,IAAIhB,QAAQ,EAAE,OAAA;AACdC,IAAAA,QAAQ,CAAC;MAAEgB,IAAI,EAAEC,OAAO,CAACC,MAAM;AAAEC,MAAAA,OAAO,EAAE3B,GAAAA;AAAI,KAAC,CAAC,CAAA;AAChDS,IAAAA,WAAW,KAAXA,IAAAA,IAAAA,WAAW,KAAXA,KAAAA,CAAAA,IAAAA,WAAW,CAAG,CAACmB,MAAM,CAAC5B,GAAG,CAAC6B,EAAE,CAAC,CAAC,CAAC,CAAA;GAChC,CAAA;AAED,EAAA,IAAIX,QAAQ,EAAE;IACZ,OACEY,GAAA,CAACC,cAAc,EAAA;AACbhC,MAAAA,KAAK,EAAEA,KAAM;AACbC,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,OAAO,EAAEA,OAAQ;AACjBX,MAAAA,UAAU,EAAEA,UAAW;AACvBc,MAAAA,UAAU,EAAEA,UAAW;AACvBC,MAAAA,UAAU,EAAEA,UAAW;AACvBE,MAAAA,QAAQ,EAAEA,QAAS;AACnBM,MAAAA,mBAAmB,EAAEA,mBAAoB;AACzCmB,MAAAA,cAAc,EAAET,kBAAmB;AACnCX,MAAAA,cAAc,EAAEA,cAAe;AAC/BD,MAAAA,kBAAkB,EAAEA,kBAAAA;AAAmB,KACxC,CAAC,CAAA;AAEN,GAAA;AAEA,EAAA,OACEmB,GAAA,CAAA,IAAA,EAAA;AACEG,IAAAA,GAAG,WAAAC,MAAA,CAAWlC,GAAG,CAAC6B,EAAE,EAAU,SAAA,CAAA;IAC9BM,SAAS,EAAE9C,aAAa,CAACC,UAAU,EAAE8C,OAAO,CAAC1B,UAAU,CAAC,CAAE;AAC1D2B,IAAAA,YAAY,EAAE,SAAdA,YAAYA,GAAc;AACxB,MAAA,CAAC9B,QAAQ,IAAII,kBAAkB,CAACX,GAAG,CAAC,CAAA;KACpC;AACFsC,IAAAA,YAAY,EAAE,SAAdA,YAAYA,GAAc;AACxB,MAAA,CAAC/B,QAAQ,IAAII,kBAAkB,CAAC,IAAI,CAAC,CAAA;AACvC,KAAA;AAAE,GAAA,EAEDN,UAAU,IACTyB,GAAA,CAACS,IAAI,EAAA;AAACN,IAAAA,GAAG,EAAElC,KAAM;AAACoC,IAAAA,SAAS,EAAExC,yBAAyB,CAACyC,OAAO,CAACxC,QAAQ,CAAC,CAAA;GACtEkC,EAAAA,GAAA,CAACU,QAAQ,EAAA;AACPX,IAAAA,EAAE,EAAE9B,KAAM;AACVkC,IAAAA,GAAG,EAAElC,KAAM;AACX0C,IAAAA,IAAI,EAAE1C,KAAM;AACZ2C,IAAAA,KAAK,EAAE3C,KAAM;AACb4C,IAAAA,OAAO,EAAErD,UAAW;AACpBsD,IAAAA,QAAQ,EAAErB,kBAAmB;AAC7BhB,IAAAA,QAAQ,EAAEA,QAAS;IACnB,iBAAA2B,EAAAA,QAAAA,CAAAA,MAAA,CAA0BlC,GAAG,CAAC6B,EAAE,EAAAK,GAAAA,CAAAA,CAAAA,MAAA,CAAIlB,eAAe,CAAA;AAAG,GACvD,CACG,CACP,EAEDc,GAAA,CAACe,SAAS,EAAA;AACR7C,IAAAA,GAAG,EAAEA,GAAI;AACTC,IAAAA,OAAO,EAAEA,OAAQ;AACjBa,IAAAA,SAAS,EAAEA,SAAU;AACrBX,IAAAA,YAAY,EAAEA,YAAa;AAC3BD,IAAAA,WAAW,EAAEA,WAAY;AACzBmB,IAAAA,cAAc,EAAEA,cAAAA;AAAe,GAChC,CACC,CAAC,CAAA;AAET,CAAC,CAAA;AAED,iBAAeyB,aAAAA,IAAI,CAACjD,QAAQ,CAAC;;;;"}
|
|
@@ -15,6 +15,7 @@ var Actions = /*#__PURE__*/function (Actions) {
|
|
|
15
15
|
Actions["resetSelectedRows"] = "RESET";
|
|
16
16
|
Actions["setDisabled"] = "SET_DISABLED";
|
|
17
17
|
Actions["selectMany"] = "SELECT_MANY";
|
|
18
|
+
Actions["toggleRowExpanded"] = "TOGGLE_ROW_EXPANDED";
|
|
18
19
|
return Actions;
|
|
19
20
|
}({});
|
|
20
21
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../../../src/components/Table/constants.ts"],"sourcesContent":["export enum Actions {\n toggleAll = \"TOGGLE_ALL\",\n toggle = \"TOGGLE\",\n sortingChanged = \"SORTING_CHANGED\",\n columnsChanged = \"COLUMNS_CHANGED\",\n rowsChanged = \"ROWS_CHANGED\",\n resetSelectedRows = \"RESET\",\n setDisabled = \"SET_DISABLED\",\n selectMany = \"SELECT_MANY\",\n}\n"],"names":["Actions"],"mappings":";;;;;;;;AAAYA,IAAAA,OAAO,0BAAPA,OAAO,EAAA;EAAPA,OAAO,CAAA,WAAA,CAAA,GAAA,YAAA,CAAA;EAAPA,OAAO,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA;EAAPA,OAAO,CAAA,gBAAA,CAAA,GAAA,iBAAA,CAAA;EAAPA,OAAO,CAAA,gBAAA,CAAA,GAAA,iBAAA,CAAA;EAAPA,OAAO,CAAA,aAAA,CAAA,GAAA,cAAA,CAAA;EAAPA,OAAO,CAAA,mBAAA,CAAA,GAAA,OAAA,CAAA;EAAPA,OAAO,CAAA,aAAA,CAAA,GAAA,cAAA,CAAA;EAAPA,OAAO,CAAA,YAAA,CAAA,GAAA,aAAA,CAAA;AAAA,EAAA,OAAPA,OAAO,CAAA;AAAA,CAAA,CAAA,EAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../../src/components/Table/constants.ts"],"sourcesContent":["export enum Actions {\n toggleAll = \"TOGGLE_ALL\",\n toggle = \"TOGGLE\",\n sortingChanged = \"SORTING_CHANGED\",\n columnsChanged = \"COLUMNS_CHANGED\",\n rowsChanged = \"ROWS_CHANGED\",\n resetSelectedRows = \"RESET\",\n setDisabled = \"SET_DISABLED\",\n selectMany = \"SELECT_MANY\",\n toggleRowExpanded = \"TOGGLE_ROW_EXPANDED\",\n}\n"],"names":["Actions"],"mappings":";;;;;;;;AAAYA,IAAAA,OAAO,0BAAPA,OAAO,EAAA;EAAPA,OAAO,CAAA,WAAA,CAAA,GAAA,YAAA,CAAA;EAAPA,OAAO,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA;EAAPA,OAAO,CAAA,gBAAA,CAAA,GAAA,iBAAA,CAAA;EAAPA,OAAO,CAAA,gBAAA,CAAA,GAAA,iBAAA,CAAA;EAAPA,OAAO,CAAA,aAAA,CAAA,GAAA,cAAA,CAAA;EAAPA,OAAO,CAAA,mBAAA,CAAA,GAAA,OAAA,CAAA;EAAPA,OAAO,CAAA,aAAA,CAAA,GAAA,cAAA,CAAA;EAAPA,OAAO,CAAA,YAAA,CAAA,GAAA,aAAA,CAAA;EAAPA,OAAO,CAAA,mBAAA,CAAA,GAAA,qBAAA,CAAA;AAAA,EAAA,OAAPA,OAAO,CAAA;AAAA,CAAA,CAAA,EAAA;;;;"}
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
import '../../../node_modules/core-js/modules/es.array.filter.js';
|
|
10
|
-
import '../../../node_modules/core-js/modules/es.array.find.js';
|
|
11
10
|
import '../../../node_modules/core-js/modules/es.array.map.js';
|
|
12
11
|
import '../../../node_modules/core-js/modules/es.object.to-string.js';
|
|
13
12
|
|
|
@@ -18,13 +17,25 @@ var getVisibleAccessors = function getVisibleAccessors(columns) {
|
|
|
18
17
|
return column.accessor;
|
|
19
18
|
});
|
|
20
19
|
};
|
|
20
|
+
var getVisibleColumns = function getVisibleColumns(columns) {
|
|
21
|
+
return columns.filter(function (column) {
|
|
22
|
+
return !column.hidden;
|
|
23
|
+
});
|
|
24
|
+
};
|
|
21
25
|
var getDefaultAccessor = function getDefaultAccessor(columns) {
|
|
22
|
-
var _columns$find$accesso, _columns$find;
|
|
23
26
|
var visibleAccessors = getVisibleAccessors(columns);
|
|
24
|
-
return
|
|
25
|
-
|
|
26
|
-
|
|
27
|
+
return visibleAccessors[0];
|
|
28
|
+
};
|
|
29
|
+
var getColumnLabel = function getColumnLabel(column) {
|
|
30
|
+
if (typeof column.cell === "string") return column.cell;
|
|
31
|
+
return column.cell({
|
|
32
|
+
accessor: column.accessor,
|
|
33
|
+
cell: column.cell
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
var renderRowValue = function renderRowValue(value, row) {
|
|
37
|
+
return typeof value === "function" ? value(row) : value;
|
|
27
38
|
};
|
|
28
39
|
|
|
29
|
-
export { getDefaultAccessor, getVisibleAccessors };
|
|
40
|
+
export { getColumnLabel, getDefaultAccessor, getVisibleAccessors, getVisibleColumns, renderRowValue };
|
|
30
41
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sources":["../../../../../src/components/Table/helpers.ts"],"sourcesContent":["import { Column } from \"./types\";\n\nexport const getVisibleAccessors = (columns: Column[]): string[] => {\n return columns.filter((column) => !column.hidden).map((column) => column.accessor);\n};\n\nexport const getDefaultAccessor = (columns: Column[]): string | undefined => {\n const visibleAccessors = getVisibleAccessors(columns);\n return
|
|
1
|
+
{"version":3,"file":"helpers.js","sources":["../../../../../src/components/Table/helpers.ts"],"sourcesContent":["import { ReactNode } from \"react\";\nimport { Column, Row } from \"./types\";\n\nexport const getVisibleAccessors = (columns: Column[]): string[] => {\n return columns.filter((column) => !column.hidden).map((column) => column.accessor);\n};\n\nexport const getVisibleColumns = (columns: Column[]): Column[] => {\n return columns.filter((column) => !column.hidden);\n};\n\nexport const getDefaultAccessor = (columns: Column[]): string | undefined => {\n const visibleAccessors = getVisibleAccessors(columns);\n return visibleAccessors[0];\n};\n\nexport const getColumnLabel = (column: Column): ReactNode => {\n if (typeof column.cell === \"string\") return column.cell;\n\n return column.cell({ accessor: column.accessor, cell: column.cell });\n};\n\nexport const renderRowValue = (value: Row[string], row: Row): ReactNode => {\n return typeof value === \"function\" ? value(row) : (value as ReactNode);\n};\n"],"names":["getVisibleAccessors","columns","filter","column","hidden","map","accessor","getVisibleColumns","getDefaultAccessor","visibleAccessors","getColumnLabel","cell","renderRowValue","value","row"],"mappings":";;;;;;;;;;;;IAGaA,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,OAAiB,EAAe;AAClE,EAAA,OAAOA,OAAO,CAACC,MAAM,CAAC,UAACC,MAAM,EAAA;IAAA,OAAK,CAACA,MAAM,CAACC,MAAM,CAAA;AAAA,GAAA,CAAC,CAACC,GAAG,CAAC,UAACF,MAAM,EAAA;IAAA,OAAKA,MAAM,CAACG,QAAQ,CAAA;GAAC,CAAA,CAAA;AACpF,EAAC;IAEYC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIN,OAAiB,EAAe;AAChE,EAAA,OAAOA,OAAO,CAACC,MAAM,CAAC,UAACC,MAAM,EAAA;IAAA,OAAK,CAACA,MAAM,CAACC,MAAM,CAAA;GAAC,CAAA,CAAA;AACnD,EAAC;IAEYI,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIP,OAAiB,EAAyB;AAC3E,EAAA,IAAMQ,gBAAgB,GAAGT,mBAAmB,CAACC,OAAO,CAAC,CAAA;EACrD,OAAOQ,gBAAgB,CAAC,CAAC,CAAC,CAAA;AAC5B,EAAC;IAEYC,cAAc,GAAG,SAAjBA,cAAcA,CAAIP,MAAc,EAAgB;EAC3D,IAAI,OAAOA,MAAM,CAACQ,IAAI,KAAK,QAAQ,EAAE,OAAOR,MAAM,CAACQ,IAAI,CAAA;EAEvD,OAAOR,MAAM,CAACQ,IAAI,CAAC;IAAEL,QAAQ,EAAEH,MAAM,CAACG,QAAQ;IAAEK,IAAI,EAAER,MAAM,CAACQ,IAAAA;AAAK,GAAC,CAAC,CAAA;AACtE,EAAC;AAEM,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,KAAkB,EAAEC,GAAQ,EAAgB;EACzE,OAAO,OAAOD,KAAK,KAAK,UAAU,GAAGA,KAAK,CAACC,GAAG,CAAC,GAAID,KAAmB,CAAA;AACxE;;;;"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* Released under the MIT license.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import {
|
|
9
|
+
import { toConsumableArray as _toConsumableArray, objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
10
10
|
import '../../../node_modules/core-js/modules/es.array.concat.js';
|
|
11
11
|
import '../../../node_modules/core-js/modules/es.array.filter.js';
|
|
12
12
|
import '../../../node_modules/core-js/modules/es.array.includes.js';
|
|
@@ -76,8 +76,16 @@ var reducer = function reducer(state, action) {
|
|
|
76
76
|
}
|
|
77
77
|
case Actions.rowsChanged:
|
|
78
78
|
{
|
|
79
|
+
var nextRows = action.payload;
|
|
80
|
+
var nextRowIds = new Set(nextRows.map(function (row) {
|
|
81
|
+
return row.id;
|
|
82
|
+
}));
|
|
83
|
+
var expandedRows = state.expandedRows.filter(function (id) {
|
|
84
|
+
return nextRowIds.has(id);
|
|
85
|
+
});
|
|
79
86
|
return _objectSpread2(_objectSpread2({}, state), {}, {
|
|
80
|
-
rows:
|
|
87
|
+
rows: nextRows,
|
|
88
|
+
expandedRows: expandedRows
|
|
81
89
|
});
|
|
82
90
|
}
|
|
83
91
|
case Actions.resetSelectedRows:
|
|
@@ -92,6 +100,17 @@ var reducer = function reducer(state, action) {
|
|
|
92
100
|
disabled: action.payload
|
|
93
101
|
});
|
|
94
102
|
}
|
|
103
|
+
case Actions.toggleRowExpanded:
|
|
104
|
+
{
|
|
105
|
+
var rowId = action.payload;
|
|
106
|
+
var isExpanded = state.expandedRows.includes(rowId);
|
|
107
|
+
var _expandedRows = isExpanded ? state.expandedRows.filter(function (id) {
|
|
108
|
+
return id !== rowId;
|
|
109
|
+
}) : [].concat(_toConsumableArray(state.expandedRows), [rowId]);
|
|
110
|
+
return _objectSpread2(_objectSpread2({}, state), {}, {
|
|
111
|
+
expandedRows: _expandedRows
|
|
112
|
+
});
|
|
113
|
+
}
|
|
95
114
|
default:
|
|
96
115
|
{
|
|
97
116
|
return state;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.js","sources":["../../../../../src/components/Table/reducer.ts"],"sourcesContent":["import { Actions } from \"./constants\";\nimport { ActionType, TableState } from \"./types\";\n\nexport type Dispatch = (action: ActionType) => void;\n\nexport const reducer = (state: TableState, action: ActionType): TableState => {\n switch (action.type) {\n case Actions.toggleAll: {\n const hasSelected = state.selected.length > 0;\n const newSelected = hasSelected ? [] : [...state.rows];\n\n return { ...state, selected: newSelected };\n }\n case Actions.toggle: {\n const selectedRowId = action.payload.id;\n const selectedRowsIds = state.selected.map((entry) => entry.id);\n const isRowSelected = selectedRowsIds.includes(selectedRowId);\n\n if (isRowSelected) {\n // remove row from selected\n const newSelectedRows = state.selected.filter((row) => row?.id !== selectedRowId);\n return { ...state, selected: newSelectedRows };\n } else {\n // add row to selected\n return { ...state, selected: [...state.selected, action.payload] };\n }\n }\n case Actions.selectMany: {\n const uniqueSelected = [...new Set(action.payload)];\n\n const selectedRows = state.rows.filter((row) => uniqueSelected.includes(Number(row.id)));\n\n return { ...state, selected: [...state.selected, ...selectedRows] };\n }\n case Actions.sortingChanged: {\n return { ...state, sorting: action.payload };\n }\n case Actions.columnsChanged: {\n return { ...state, columns: action.payload };\n }\n case Actions.rowsChanged: {\n return { ...state, rows:
|
|
1
|
+
{"version":3,"file":"reducer.js","sources":["../../../../../src/components/Table/reducer.ts"],"sourcesContent":["import { Actions } from \"./constants\";\nimport { ActionType, TableState } from \"./types\";\n\nexport type Dispatch = (action: ActionType) => void;\n\nexport const reducer = (state: TableState, action: ActionType): TableState => {\n switch (action.type) {\n case Actions.toggleAll: {\n const hasSelected = state.selected.length > 0;\n const newSelected = hasSelected ? [] : [...state.rows];\n\n return { ...state, selected: newSelected };\n }\n case Actions.toggle: {\n const selectedRowId = action.payload.id;\n const selectedRowsIds = state.selected.map((entry) => entry.id);\n const isRowSelected = selectedRowsIds.includes(selectedRowId);\n\n if (isRowSelected) {\n // remove row from selected\n const newSelectedRows = state.selected.filter((row) => row?.id !== selectedRowId);\n return { ...state, selected: newSelectedRows };\n } else {\n // add row to selected\n return { ...state, selected: [...state.selected, action.payload] };\n }\n }\n case Actions.selectMany: {\n const uniqueSelected = [...new Set(action.payload)];\n\n const selectedRows = state.rows.filter((row) => uniqueSelected.includes(Number(row.id)));\n\n return { ...state, selected: [...state.selected, ...selectedRows] };\n }\n case Actions.sortingChanged: {\n return { ...state, sorting: action.payload };\n }\n case Actions.columnsChanged: {\n return { ...state, columns: action.payload };\n }\n case Actions.rowsChanged: {\n const nextRows = action.payload;\n const nextRowIds = new Set(nextRows.map((row) => row.id));\n const expandedRows = state.expandedRows.filter((id) => nextRowIds.has(id));\n\n return { ...state, rows: nextRows, expandedRows };\n }\n case Actions.resetSelectedRows: {\n return { ...state, selected: [] };\n }\n case Actions.setDisabled: {\n return { ...state, disabled: action.payload };\n }\n case Actions.toggleRowExpanded: {\n const rowId = action.payload;\n const isExpanded = state.expandedRows.includes(rowId);\n const expandedRows = isExpanded\n ? state.expandedRows.filter((id) => id !== rowId)\n : [...state.expandedRows, rowId];\n\n return { ...state, expandedRows };\n }\n default: {\n return state;\n }\n }\n};\n"],"names":["reducer","state","action","type","Actions","toggleAll","hasSelected","selected","length","newSelected","_toConsumableArray","rows","_objectSpread","toggle","selectedRowId","payload","id","selectedRowsIds","map","entry","isRowSelected","includes","newSelectedRows","filter","row","concat","selectMany","uniqueSelected","Set","selectedRows","Number","sortingChanged","sorting","columnsChanged","columns","rowsChanged","nextRows","nextRowIds","expandedRows","has","resetSelectedRows","setDisabled","disabled","toggleRowExpanded","rowId","isExpanded"],"mappings":"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"}
|