@procore/data-table 14.16.0 → 14.18.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/CHANGELOG.md +20 -0
- package/dist/legacy/index.cjs +1273 -1127
- package/dist/legacy/index.d.cts +4 -1
- package/dist/legacy/index.d.ts +4 -1
- package/dist/legacy/index.js +1272 -1127
- package/dist/modern/index.cjs +1607 -1466
- package/dist/modern/index.d.cts +4 -1
- package/dist/modern/index.d.ts +4 -1
- package/dist/modern/index.js +1607 -1467
- package/package.json +2 -2
package/dist/legacy/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React76, { useState, forwardRef, useContext, useRef, useImperativeHandle, useLayoutEffect, useCallback, useMemo, memo, useEffect, Component as Component$1, createElement } from 'react';
|
|
2
2
|
import { uniqBy, prop, startsWith, mergeDeepRight, equals, omit, intersection, isNil, mergeDeepLeft, isEmpty, groupBy } from 'ramda';
|
|
3
|
-
import { useI18nContext, Select, Input, UNSAFE_useOverlayTriggerContext, Card, Flex, Box, SegmentedController, Calendar, useDateTime, OverlayTrigger, isEventSource, DateInput, UNSAFE_isValidYearRange, DateSelect, PillSelect, TextArea, UNSAFE_useMenuImperativeControlNavigation, UNSAFE_Menu, UNSAFE_menuItemsWrapperAttribute, Spinner as Spinner$1, FlexList, Typography, Tooltip, Button, Required, MultiSelect, colors, Form, spacing, Switch, Panel,
|
|
3
|
+
import { useI18nContext, Select, Input, UNSAFE_useOverlayTriggerContext, Card, Flex, Box, SegmentedController, Calendar, useDateTime, OverlayTrigger, isEventSource, DateInput, UNSAFE_isValidYearRange, DateSelect, PillSelect, TextArea, UNSAFE_useMenuImperativeControlNavigation, UNSAFE_Menu, UNSAFE_menuItemsWrapperAttribute, Spinner as Spinner$1, FlexList, Typography, Tooltip, Button, Required, MultiSelect, colors, Form, spacing, Switch, Panel, SelectButton, StyledSelectButton, typographyWeights, StyledSelectButtonLabel, StyledButton, StyledSelectArrow, Popover, UNSAFE_StyledSuperSelectTrigger, UNSAFE_StyledSuperSelectLabel, UNSAFE_StyledSuperSelectArrow, UNSAFE_StyledFilterTokenLabel, DateTimeProvider, useField, Label, UNSAFE_mergeRefs, ContactItem as ContactItem$1, ToggleButton, Link, AvatarStack, Pill, Typeahead, Pagination, UNSAFE_SuperSelect, UNSAFE_FilterToken, Avatar, H3, Checkbox, useI18n, I18nContext, UNSAFE_useSuperSelectContext, DropdownFlyout, useVisibility, StyledDropdownFlyoutLabel, StyledDropdownFlyoutExpandIcon, EmptyState as EmptyState$1 } from '@procore/core-react';
|
|
4
4
|
import classnames from 'classnames/bind';
|
|
5
5
|
import debounce5 from 'lodash.debounce';
|
|
6
6
|
import { Error as Error$1, Grip, ExternalLink, Pencil, Building, Clear, Calendar as Calendar$1, ArrowDown, ArrowUp, CaretDown, CaretRight, CaretsInVertical, CaretsOutVerticalWithLine, CaretsOutVertical, CaretsIn, CaretsOut } from '@procore/core-icons';
|
|
@@ -17,9 +17,9 @@ import _isEqual from 'lodash.isequal';
|
|
|
17
17
|
import ReactResizeDetector from 'react-resize-detector';
|
|
18
18
|
import { DateTimeSelectField } from '@procore/labs-datetime-select';
|
|
19
19
|
import Decimal from 'decimal.js';
|
|
20
|
-
import
|
|
21
|
-
import { GroupBySelect } from '@procore/labs-group-by-select';
|
|
20
|
+
import styled3, { css as css$1 } from 'styled-components';
|
|
22
21
|
import { getDatePlaceholder } from '@procore/globalization-toolkit';
|
|
22
|
+
import { GroupBySelect } from '@procore/labs-group-by-select';
|
|
23
23
|
|
|
24
24
|
var __create = Object.create;
|
|
25
25
|
var __defProp = Object.defineProperty;
|
|
@@ -1410,7 +1410,7 @@ ag-grid, ag-grid-angular, ag-grid-ng2, ag-grid-polymer, ag-grid-aurelia {
|
|
|
1410
1410
|
animation-iteration-count: infinite;
|
|
1411
1411
|
animation-name: ag-shake-left-to-right;
|
|
1412
1412
|
}
|
|
1413
|
-
@keyframes _ag-shake-left-to-
|
|
1413
|
+
@keyframes _ag-shake-left-to-right_18odb_369 {
|
|
1414
1414
|
from {
|
|
1415
1415
|
padding-left: 6px;
|
|
1416
1416
|
padding-right: 2px;
|
|
@@ -5411,7 +5411,7 @@ input[class^=ag-][type=button]:focus, button[class^=ag-]:focus {
|
|
|
5411
5411
|
animation-iteration-count: infinite;
|
|
5412
5412
|
animation-timing-function: linear;
|
|
5413
5413
|
}
|
|
5414
|
-
@keyframes
|
|
5414
|
+
@keyframes _spin_18odb_1 {
|
|
5415
5415
|
from {
|
|
5416
5416
|
transform: rotate(0deg);
|
|
5417
5417
|
}
|
|
@@ -7717,7 +7717,7 @@ input[class^=ag-][type=range]:disabled {
|
|
|
7717
7717
|
.ag-theme-alpine.ag-theme-alpine .ag-details-row-auto-height .ag-center-cols-viewport, .ag-theme-alpine.ag-theme-alpine .ag-layout-auto-height .ag-center-cols-viewport {
|
|
7718
7718
|
min-height: 0px;
|
|
7719
7719
|
}
|
|
7720
|
-
.ag-theme-alpine.ag-theme-alpine .ag-overlay
|
|
7720
|
+
.ag-theme-alpine.ag-theme-alpine .ag-overlay .ag-react-container {
|
|
7721
7721
|
pointer-events: initial;
|
|
7722
7722
|
}
|
|
7723
7723
|
.ag-theme-alpine.ag-theme-alpine .ag-menu, .ag-theme-alpine.ag-theme-alpine .ag-menu-header {
|
|
@@ -7916,7 +7916,7 @@ input[class^=ag-][type=range]:disabled {
|
|
|
7916
7916
|
padding-left: 16px;
|
|
7917
7917
|
}
|
|
7918
7918
|
|
|
7919
|
-
div.
|
|
7919
|
+
div._contextPanel_18odb_7153 {
|
|
7920
7920
|
width: 400px;
|
|
7921
7921
|
transition: all ease 500ms;
|
|
7922
7922
|
flex: 0 0 auto;
|
|
@@ -7925,7 +7925,7 @@ div._contextPanel_1t4e8_7153 {
|
|
|
7925
7925
|
border: 1px solid #d6dadc;
|
|
7926
7926
|
display: flex;
|
|
7927
7927
|
}
|
|
7928
|
-
div._contextPanel--
|
|
7928
|
+
div._contextPanel--hidden_18odb_7162 {
|
|
7929
7929
|
border: none;
|
|
7930
7930
|
overflow: hidden;
|
|
7931
7931
|
padding: 0px;
|
|
@@ -7933,50 +7933,50 @@ div._contextPanel--hidden_1t4e8_7162 {
|
|
|
7933
7933
|
width: 0px;
|
|
7934
7934
|
}
|
|
7935
7935
|
|
|
7936
|
-
.
|
|
7936
|
+
._contextPanelWrapper_18odb_7170 {
|
|
7937
7937
|
position: relative;
|
|
7938
7938
|
flex-grow: 1;
|
|
7939
7939
|
}
|
|
7940
7940
|
|
|
7941
|
-
.
|
|
7941
|
+
._contextPanelBody_18odb_7175 {
|
|
7942
7942
|
width: clamp(380px, 400px, 100%);
|
|
7943
7943
|
}
|
|
7944
7944
|
|
|
7945
|
-
._contextPanel-
|
|
7945
|
+
._contextPanel-stickyHeader_18odb_7179 {
|
|
7946
7946
|
background-color: #ffffff;
|
|
7947
7947
|
position: sticky;
|
|
7948
7948
|
top: 0;
|
|
7949
7949
|
z-index: 5;
|
|
7950
7950
|
}
|
|
7951
7951
|
|
|
7952
|
-
._filters-
|
|
7952
|
+
._filters-list_18odb_7186 {
|
|
7953
7953
|
padding: 0;
|
|
7954
7954
|
margin: 0;
|
|
7955
7955
|
}
|
|
7956
|
-
._filters-
|
|
7956
|
+
._filters-list_18odb_7186 ol {
|
|
7957
7957
|
padding: 0;
|
|
7958
7958
|
margin: 0;
|
|
7959
7959
|
}
|
|
7960
7960
|
|
|
7961
|
-
._col-drag-column-
|
|
7961
|
+
._col-drag-column-icon_18odb_7195 {
|
|
7962
7962
|
color: #6a767c;
|
|
7963
7963
|
}
|
|
7964
7964
|
|
|
7965
|
-
._tabular-
|
|
7965
|
+
._tabular-nums_18odb_7199 {
|
|
7966
7966
|
font-variant-numeric: tabular-nums;
|
|
7967
7967
|
}`;
|
|
7968
7968
|
document.head.appendChild(document.createElement("style")).appendChild(document.createTextNode(css));
|
|
7969
7969
|
var styles_default = {
|
|
7970
|
-
"contextPanel": "
|
|
7971
|
-
"contextPanel--hidden": "_contextPanel--
|
|
7972
|
-
"contextPanelWrapper": "
|
|
7973
|
-
"contextPanelBody": "
|
|
7974
|
-
"contextPanel-stickyHeader": "_contextPanel-
|
|
7975
|
-
"filters-list": "_filters-
|
|
7976
|
-
"col-drag-column-icon": "_col-drag-column-
|
|
7977
|
-
"tabular-nums": "_tabular-
|
|
7978
|
-
"ag-shake-left-to-right": "_ag-shake-left-to-
|
|
7979
|
-
"spin": "
|
|
7970
|
+
"contextPanel": "_contextPanel_18odb_7153",
|
|
7971
|
+
"contextPanel--hidden": "_contextPanel--hidden_18odb_7162",
|
|
7972
|
+
"contextPanelWrapper": "_contextPanelWrapper_18odb_7170",
|
|
7973
|
+
"contextPanelBody": "_contextPanelBody_18odb_7175",
|
|
7974
|
+
"contextPanel-stickyHeader": "_contextPanel-stickyHeader_18odb_7179",
|
|
7975
|
+
"filters-list": "_filters-list_18odb_7186",
|
|
7976
|
+
"col-drag-column-icon": "_col-drag-column-icon_18odb_7195",
|
|
7977
|
+
"tabular-nums": "_tabular-nums_18odb_7199",
|
|
7978
|
+
"ag-shake-left-to-right": "_ag-shake-left-to-right_18odb_369",
|
|
7979
|
+
"spin": "_spin_18odb_1"
|
|
7980
7980
|
};
|
|
7981
7981
|
|
|
7982
7982
|
// src/utils/getCellValueTypographyProps.ts
|
|
@@ -8064,7 +8064,7 @@ var Renderer = ({
|
|
|
8064
8064
|
var ButtonsCellRenderer = withDataTableRenderer(Renderer, "select");
|
|
8065
8065
|
|
|
8066
8066
|
// src/utils/truncation.scss
|
|
8067
|
-
var css2 = `.
|
|
8067
|
+
var css2 = `._truncatingText_c077g_1 {
|
|
8068
8068
|
white-space: normal;
|
|
8069
8069
|
overflow: hidden;
|
|
8070
8070
|
word-wrap: break-word;
|
|
@@ -8073,17 +8073,43 @@ var css2 = `._truncatingText_114ye_1 {
|
|
|
8073
8073
|
-webkit-box-orient: vertical;
|
|
8074
8074
|
-webkit-line-clamp: 1;
|
|
8075
8075
|
}
|
|
8076
|
-
._truncatingText--
|
|
8076
|
+
._truncatingText--md_c077g_10 {
|
|
8077
8077
|
-webkit-line-clamp: 2;
|
|
8078
8078
|
}
|
|
8079
|
-
._truncatingText--
|
|
8079
|
+
._truncatingText--lg_c077g_13 {
|
|
8080
8080
|
-webkit-line-clamp: 3;
|
|
8081
|
+
}
|
|
8082
|
+
._truncatingText--overflowVisible_c077g_16 {
|
|
8083
|
+
overflow: visible;
|
|
8084
|
+
}
|
|
8085
|
+
|
|
8086
|
+
._extendClickableArea_c077g_20 {
|
|
8087
|
+
display: inline-block;
|
|
8088
|
+
position: relative;
|
|
8089
|
+
width: 100%;
|
|
8090
|
+
}
|
|
8091
|
+
._extendClickableArea_c077g_20::before {
|
|
8092
|
+
content: "";
|
|
8093
|
+
position: absolute;
|
|
8094
|
+
top: 50%;
|
|
8095
|
+
left: 50%;
|
|
8096
|
+
width: 48px;
|
|
8097
|
+
height: 48px;
|
|
8098
|
+
transform: translate(-50%, -50%);
|
|
8099
|
+
pointer-events: auto;
|
|
8100
|
+
background: transparent;
|
|
8101
|
+
}
|
|
8102
|
+
._extendClickableArea--rowHeightSm_c077g_36::before {
|
|
8103
|
+
height: 32px;
|
|
8081
8104
|
}`;
|
|
8082
8105
|
document.head.appendChild(document.createElement("style")).appendChild(document.createTextNode(css2));
|
|
8083
8106
|
var truncation_default = {
|
|
8084
|
-
"truncatingText": "
|
|
8085
|
-
"truncatingText--md": "_truncatingText--
|
|
8086
|
-
"truncatingText--lg": "_truncatingText--
|
|
8107
|
+
"truncatingText": "_truncatingText_c077g_1",
|
|
8108
|
+
"truncatingText--md": "_truncatingText--md_c077g_10",
|
|
8109
|
+
"truncatingText--lg": "_truncatingText--lg_c077g_13",
|
|
8110
|
+
"truncatingText--overflowVisible": "_truncatingText--overflowVisible_c077g_16",
|
|
8111
|
+
"extendClickableArea": "_extendClickableArea_c077g_20",
|
|
8112
|
+
"extendClickableArea--rowHeightSm": "_extendClickableArea--rowHeightSm_c077g_36"
|
|
8087
8113
|
};
|
|
8088
8114
|
|
|
8089
8115
|
// src/utils/ContactItem.tsx
|
|
@@ -52958,8 +52984,11 @@ globalObj.MouseEvent = typeof MouseEvent === "undefined" ? {} : MouseEvent;
|
|
|
52958
52984
|
// src/CellRenderers/GroupCell.tsx
|
|
52959
52985
|
var GroupCellRenderer2 = GroupCellRenderer;
|
|
52960
52986
|
var cx6 = classnames.bind(truncation_default);
|
|
52987
|
+
var MIN_LINK_WIDTH = 48;
|
|
52961
52988
|
var InternalLinkCellRenderer = ({ columnDefinition, isGroup, data, rowHeight, value }) => {
|
|
52962
52989
|
var _a, _b, _c, _d;
|
|
52990
|
+
const [isLinkWidthBelowMin, setIsLinkWidthBelowMin] = useState(false);
|
|
52991
|
+
const linkRef = useRef(null);
|
|
52963
52992
|
const internalValue = value ? (_a = columnDefinition.getStringFormattedValue) == null ? void 0 : _a.call(columnDefinition, value) : "";
|
|
52964
52993
|
const typographyProps = getCellValueTypographyProps(
|
|
52965
52994
|
(_b = columnDefinition.cellRendererParams) == null ? void 0 : _b.typographyProps
|
|
@@ -52970,14 +52999,24 @@ var InternalLinkCellRenderer = ({ columnDefinition, isGroup, data, rowHeight, va
|
|
|
52970
52999
|
"truncatingText",
|
|
52971
53000
|
{
|
|
52972
53001
|
"truncatingText--md": rowHeight === rowSize.md,
|
|
52973
|
-
"truncatingText--lg": rowHeight === rowSize.lg
|
|
53002
|
+
"truncatingText--lg": rowHeight === rowSize.lg,
|
|
53003
|
+
"truncatingText--overflowVisible": isLinkWidthBelowMin
|
|
52974
53004
|
}
|
|
52975
53005
|
);
|
|
52976
53006
|
if (isGroup) {
|
|
52977
53007
|
return /* @__PURE__ */ React76.createElement(Typography, { ...typographyProps, className, weight: "semibold" }, value);
|
|
52978
53008
|
}
|
|
53009
|
+
useEffect(() => {
|
|
53010
|
+
if (linkRef.current) {
|
|
53011
|
+
const { width } = linkRef.current.getBoundingClientRect();
|
|
53012
|
+
setIsLinkWidthBelowMin(width < MIN_LINK_WIDTH);
|
|
53013
|
+
}
|
|
53014
|
+
}, [internalValue]);
|
|
52979
53015
|
const isExternalLink = columnDefinition.cellRendererParams.isExternalLink ?? false;
|
|
52980
53016
|
const URL = columnDefinition.cellRendererParams.getURL(value, data);
|
|
53017
|
+
const extendClickableAreaClassNames = isLinkWidthBelowMin ? cx6("extendClickableArea", {
|
|
53018
|
+
"extendClickableArea--rowHeightSm": rowHeight === rowSize.sm
|
|
53019
|
+
}) : "";
|
|
52981
53020
|
if (isExternalLink && value && URL) {
|
|
52982
53021
|
return /* @__PURE__ */ React76.createElement(
|
|
52983
53022
|
Typography,
|
|
@@ -52997,7 +53036,7 @@ var InternalLinkCellRenderer = ({ columnDefinition, isGroup, data, rowHeight, va
|
|
|
52997
53036
|
)
|
|
52998
53037
|
);
|
|
52999
53038
|
}
|
|
53000
|
-
return URL ? /* @__PURE__ */ React76.createElement(Typography, { ...typographyProps, className }, /* @__PURE__ */ React76.createElement(Link, { href: URL }, internalValue)) : /* @__PURE__ */ React76.createElement(Typography, { ...typographyProps }, internalValue);
|
|
53039
|
+
return URL ? /* @__PURE__ */ React76.createElement(Typography, { ...typographyProps, className }, /* @__PURE__ */ React76.createElement(Link, { href: URL, className: extendClickableAreaClassNames, ref: linkRef }, internalValue)) : /* @__PURE__ */ React76.createElement(Typography, { ...typographyProps }, internalValue);
|
|
53001
53040
|
};
|
|
53002
53041
|
var LinkCellRenderer = withDataTableRenderer(
|
|
53003
53042
|
InternalLinkCellRenderer,
|
|
@@ -53078,7 +53117,7 @@ var NumberCellEditor2 = withDataTableEditor(
|
|
|
53078
53117
|
);
|
|
53079
53118
|
|
|
53080
53119
|
// src/CellRenderers/peopleCellStyles.scss
|
|
53081
|
-
var css3 = `.
|
|
53120
|
+
var css3 = `._truncatingText_14qzu_1 {
|
|
53082
53121
|
white-space: normal;
|
|
53083
53122
|
overflow: hidden;
|
|
53084
53123
|
word-wrap: break-word;
|
|
@@ -53087,33 +53126,59 @@ var css3 = `._truncatingText_3wkw2_1 {
|
|
|
53087
53126
|
-webkit-box-orient: vertical;
|
|
53088
53127
|
-webkit-line-clamp: 1;
|
|
53089
53128
|
}
|
|
53090
|
-
._truncatingText--
|
|
53129
|
+
._truncatingText--md_14qzu_10 {
|
|
53091
53130
|
-webkit-line-clamp: 2;
|
|
53092
53131
|
}
|
|
53093
|
-
._truncatingText--
|
|
53132
|
+
._truncatingText--lg_14qzu_13 {
|
|
53094
53133
|
-webkit-line-clamp: 3;
|
|
53095
53134
|
}
|
|
53135
|
+
._truncatingText--overflowVisible_14qzu_16 {
|
|
53136
|
+
overflow: visible;
|
|
53137
|
+
}
|
|
53138
|
+
|
|
53139
|
+
._extendClickableArea_14qzu_20 {
|
|
53140
|
+
display: inline-block;
|
|
53141
|
+
position: relative;
|
|
53142
|
+
width: 100%;
|
|
53143
|
+
}
|
|
53144
|
+
._extendClickableArea_14qzu_20::before {
|
|
53145
|
+
content: "";
|
|
53146
|
+
position: absolute;
|
|
53147
|
+
top: 50%;
|
|
53148
|
+
left: 50%;
|
|
53149
|
+
width: 48px;
|
|
53150
|
+
height: 48px;
|
|
53151
|
+
transform: translate(-50%, -50%);
|
|
53152
|
+
pointer-events: auto;
|
|
53153
|
+
background: transparent;
|
|
53154
|
+
}
|
|
53155
|
+
._extendClickableArea--rowHeightSm_14qzu_36::before {
|
|
53156
|
+
height: 32px;
|
|
53157
|
+
}
|
|
53096
53158
|
|
|
53097
|
-
.
|
|
53159
|
+
._inlineListItems_14qzu_40 {
|
|
53098
53160
|
list-style: none;
|
|
53099
53161
|
margin: 0;
|
|
53100
53162
|
padding: 0;
|
|
53101
53163
|
}
|
|
53102
|
-
.
|
|
53164
|
+
._inlineListItems_14qzu_40 > li {
|
|
53103
53165
|
display: inline;
|
|
53104
53166
|
}
|
|
53105
53167
|
|
|
53106
|
-
.
|
|
53168
|
+
._dynamicRowHeightSpacing_14qzu_49 {
|
|
53107
53169
|
margin-top: 8px;
|
|
53108
53170
|
margin-bottom: 8px;
|
|
53109
53171
|
}`;
|
|
53110
53172
|
document.head.appendChild(document.createElement("style")).appendChild(document.createTextNode(css3));
|
|
53111
53173
|
var peopleCellStyles_default = {
|
|
53112
|
-
"truncatingText": "
|
|
53113
|
-
"truncatingText--md": "_truncatingText--
|
|
53114
|
-
"truncatingText--lg": "_truncatingText--
|
|
53115
|
-
"
|
|
53116
|
-
"
|
|
53174
|
+
"truncatingText": "_truncatingText_14qzu_1",
|
|
53175
|
+
"truncatingText--md": "_truncatingText--md_14qzu_10",
|
|
53176
|
+
"truncatingText--lg": "_truncatingText--lg_14qzu_13",
|
|
53177
|
+
"truncatingText--overflowVisible": "_truncatingText--overflowVisible_14qzu_16",
|
|
53178
|
+
"extendClickableArea": "_extendClickableArea_14qzu_20",
|
|
53179
|
+
"extendClickableArea--rowHeightSm": "_extendClickableArea--rowHeightSm_14qzu_36",
|
|
53180
|
+
"inlineListItems": "_inlineListItems_14qzu_40",
|
|
53181
|
+
"dynamicRowHeightSpacing": "_dynamicRowHeightSpacing_14qzu_49"
|
|
53117
53182
|
};
|
|
53118
53183
|
|
|
53119
53184
|
// src/CellRenderers/PeopleCell.tsx
|
|
@@ -54187,6 +54252,38 @@ function sortColumnDefinitionsByFilterIndex(colDef1, colDef2) {
|
|
|
54187
54252
|
}
|
|
54188
54253
|
return filterIndex1 > filterIndex2 ? 1 : -1;
|
|
54189
54254
|
}
|
|
54255
|
+
function assignAlphabeticalFilterIndices(columnDefinitions) {
|
|
54256
|
+
const newColumns = columnDefinitions.map((col) => ({
|
|
54257
|
+
...col,
|
|
54258
|
+
filterProps: col.filterProps ? { ...col.filterProps } : void 0
|
|
54259
|
+
}));
|
|
54260
|
+
const filterColumns = newColumns.filter(
|
|
54261
|
+
(col) => col.filterRenderer || col.filterProps
|
|
54262
|
+
);
|
|
54263
|
+
const groups = {};
|
|
54264
|
+
filterColumns.forEach((col) => {
|
|
54265
|
+
var _a;
|
|
54266
|
+
const groupName = ((_a = col.filterProps) == null ? void 0 : _a.groupName) || "default";
|
|
54267
|
+
if (!groups[groupName]) {
|
|
54268
|
+
groups[groupName] = [];
|
|
54269
|
+
}
|
|
54270
|
+
groups[groupName].push(col);
|
|
54271
|
+
});
|
|
54272
|
+
Object.values(groups).forEach((groupCols) => {
|
|
54273
|
+
groupCols.sort((a, b) => {
|
|
54274
|
+
const headerA = a.headerName || "";
|
|
54275
|
+
const headerB = b.headerName || "";
|
|
54276
|
+
return headerA.localeCompare(headerB);
|
|
54277
|
+
});
|
|
54278
|
+
groupCols.forEach((col, idx) => {
|
|
54279
|
+
if (!col.filterProps) {
|
|
54280
|
+
col.filterProps = {};
|
|
54281
|
+
}
|
|
54282
|
+
col.filterProps.index = idx;
|
|
54283
|
+
});
|
|
54284
|
+
});
|
|
54285
|
+
return newColumns;
|
|
54286
|
+
}
|
|
54190
54287
|
|
|
54191
54288
|
// src/state/useFilterState.ts
|
|
54192
54289
|
function isNumberFilterModel(value) {
|
|
@@ -55962,7 +56059,10 @@ var DataTableCellRenderer = ({
|
|
|
55962
56059
|
value
|
|
55963
56060
|
};
|
|
55964
56061
|
const hasValue = value !== void 0 && value !== null && value !== "";
|
|
55965
|
-
const isSelectCellComponent = ((_c = (_b = columnDefinition.
|
|
56062
|
+
const isSelectCellComponent = ((_c = (_b = columnDefinition.cellRendererSelector) == null ? void 0 : _b.call(columnDefinition, {
|
|
56063
|
+
...columnDefinition.cellRendererParams,
|
|
56064
|
+
node
|
|
56065
|
+
}).component) == null ? void 0 : _c.displayName) === "SelectCellRenderer";
|
|
55966
56066
|
const URL = isSelectCellComponent && ((_d = columnDefinition == null ? void 0 : columnDefinition.cellRendererParams) == null ? void 0 : _d.getURL) ? columnDefinition.cellRendererParams.getURL(value) : null;
|
|
55967
56067
|
const startEditing = useCallback(
|
|
55968
56068
|
() => api.startEditingCell({
|
|
@@ -78226,12 +78326,16 @@ var buildDetailRowsConfig_ = (detailRowConfig, {
|
|
|
78226
78326
|
};
|
|
78227
78327
|
|
|
78228
78328
|
// src/utils/expandRows.ts
|
|
78329
|
+
function getStringifiedRoute(node) {
|
|
78330
|
+
var _a;
|
|
78331
|
+
return (_a = node.getRoute()) == null ? void 0 : _a.map((r) => typeof r === "object" ? JSON.stringify(r) : r);
|
|
78332
|
+
}
|
|
78229
78333
|
var getGroupRowState = (gridApi, groupDefaultExpanded = 0) => {
|
|
78230
78334
|
const expandedRoutes = [];
|
|
78231
78335
|
const collapsedRoutes = [];
|
|
78232
78336
|
if (gridApi) {
|
|
78233
78337
|
gridApi.forEachNode((node) => {
|
|
78234
|
-
const route = node
|
|
78338
|
+
const route = getStringifiedRoute(node);
|
|
78235
78339
|
if (route) {
|
|
78236
78340
|
const routePath = route.join(",");
|
|
78237
78341
|
const defaultExpandLevel = groupDefaultExpanded === -1 ? Infinity : groupDefaultExpanded;
|
|
@@ -78252,7 +78356,7 @@ var setExpandCollapseRow = (gridApi, tableConfig, groupDefaultExpanded = 0) => {
|
|
|
78252
78356
|
const expandedRoutes = ((_a = tableConfig.groupRowState) == null ? void 0 : _a.expandedRoutes) ?? [];
|
|
78253
78357
|
const collapsedRoutes = ((_b = tableConfig.groupRowState) == null ? void 0 : _b.collapsedRoutes) ?? [];
|
|
78254
78358
|
gridApi.forEachNode((node) => {
|
|
78255
|
-
const route = node
|
|
78359
|
+
const route = getStringifiedRoute(node);
|
|
78256
78360
|
if (route) {
|
|
78257
78361
|
const routePath = route.join(",");
|
|
78258
78362
|
const defaultExpandLevel = groupDefaultExpanded === -1 ? Infinity : groupDefaultExpanded;
|
|
@@ -78270,7 +78374,7 @@ var isRowOpenedByDefault = (node, tableConfig, groupDefaultExpanded = 0) => {
|
|
|
78270
78374
|
var _a, _b;
|
|
78271
78375
|
const expandedRoutes = ((_a = tableConfig == null ? void 0 : tableConfig.groupRowState) == null ? void 0 : _a.expandedRoutes) ?? [];
|
|
78272
78376
|
const collapsedRoutes = ((_b = tableConfig == null ? void 0 : tableConfig.groupRowState) == null ? void 0 : _b.collapsedRoutes) ?? [];
|
|
78273
|
-
const route = node
|
|
78377
|
+
const route = getStringifiedRoute(node);
|
|
78274
78378
|
if (!route) {
|
|
78275
78379
|
return false;
|
|
78276
78380
|
}
|
|
@@ -82892,7 +82996,7 @@ var FILTERS_GROUP_EXPANDABLE_AREA_VERTICAL_MARGIN = spacing.md;
|
|
|
82892
82996
|
var FILTERS_GROUP_ITEM_HEIGHT = 60;
|
|
82893
82997
|
var ITEMS_IN_FILTERS_GROUP = 5;
|
|
82894
82998
|
var FILTERS_GROUP_EXPANDABLE_AREA_HEIGHT = (FILTERS_GROUP_ITEM_HEIGHT + spacing.xl) * ITEMS_IN_FILTERS_GROUP + BORDER_WIDTH;
|
|
82895
|
-
var StyledPanelSection =
|
|
82999
|
+
var StyledPanelSection = styled3(Panel.Section)`
|
|
82896
83000
|
// Filters Group container styles
|
|
82897
83001
|
&.filters-list-group-section {
|
|
82898
83002
|
padding-bottom: ${FILTERS_GROUP_VERTICAL_MARGIN}px;
|
|
@@ -83183,905 +83287,307 @@ var ConfigPanelButton = () => {
|
|
|
83183
83287
|
)
|
|
83184
83288
|
);
|
|
83185
83289
|
};
|
|
83186
|
-
|
|
83187
|
-
|
|
83188
|
-
|
|
83189
|
-
|
|
83190
|
-
|
|
83191
|
-
|
|
83192
|
-
|
|
83290
|
+
var QuickFilterLabel = React76.forwardRef(({ enabled, ...props }, ref) => {
|
|
83291
|
+
return /* @__PURE__ */ React76.createElement(StyledQuickFilterLabel, { $enabled: enabled }, /* @__PURE__ */ React76.createElement(SelectButton, { ref, ...props }));
|
|
83292
|
+
});
|
|
83293
|
+
var StyledQuickFilterLabel = styled3.div`
|
|
83294
|
+
${StyledSelectButton} {
|
|
83295
|
+
width: auto;
|
|
83296
|
+
max-width: 380px;
|
|
83297
|
+
${({ $enabled }) => $enabled && css$1`
|
|
83298
|
+
background: ${colors.blue96};
|
|
83299
|
+
border-color: ${colors.blue96};
|
|
83300
|
+
font-weight: ${typographyWeights.semibold};
|
|
83301
|
+
&:hover {
|
|
83302
|
+
background: ${colors.blue90};
|
|
83303
|
+
border-color: ${colors.blue90};
|
|
83304
|
+
}
|
|
83305
|
+
${StyledSelectButtonLabel} {
|
|
83306
|
+
color: ${colors.blue45};
|
|
83307
|
+
}
|
|
83308
|
+
${StyledButton} {
|
|
83309
|
+
color: ${colors.blue45};
|
|
83310
|
+
&:hover {
|
|
83311
|
+
background: white;
|
|
83312
|
+
}
|
|
83313
|
+
}
|
|
83314
|
+
${StyledSelectArrow} {
|
|
83315
|
+
svg {
|
|
83316
|
+
fill: ${colors.blue45};
|
|
83317
|
+
}
|
|
83318
|
+
}
|
|
83319
|
+
`}
|
|
83193
83320
|
}
|
|
83194
|
-
|
|
83321
|
+
`;
|
|
83322
|
+
|
|
83323
|
+
// src/QuickFilterRenderers/DateQuickFilterRenderer.tsx
|
|
83324
|
+
function getPlacement2(currentSelectionType, position) {
|
|
83325
|
+
if (currentSelectionType === "single") {
|
|
83326
|
+
return "bottom-left";
|
|
83327
|
+
}
|
|
83328
|
+
if (position === "start") {
|
|
83329
|
+
return "bottom-left";
|
|
83330
|
+
}
|
|
83331
|
+
return "bottom-right";
|
|
83332
|
+
}
|
|
83333
|
+
var OptionalDateTimeProvider2 = ({ timeZone, children }) => {
|
|
83334
|
+
return timeZone ? /* @__PURE__ */ React76.createElement(DateTimeProvider, { timeZone }, children) : /* @__PURE__ */ React76.createElement(React76.Fragment, null, children);
|
|
83335
|
+
};
|
|
83336
|
+
var DateFilterSelect2 = React76.forwardRef(
|
|
83337
|
+
({
|
|
83338
|
+
afterHide,
|
|
83339
|
+
selectionType = "either",
|
|
83340
|
+
headerName,
|
|
83341
|
+
disabled,
|
|
83342
|
+
onChange,
|
|
83343
|
+
position,
|
|
83344
|
+
selectedValue,
|
|
83345
|
+
setSelectionType = () => {
|
|
83346
|
+
}
|
|
83347
|
+
}, ref) => {
|
|
83348
|
+
const dateTime = useDateTime();
|
|
83349
|
+
const { start, end } = selectedValue;
|
|
83350
|
+
const selectedDate = (position === "start" ? start : end) ?? void 0;
|
|
83351
|
+
const [displayed, setDisplayed2] = React76.useState(
|
|
83352
|
+
// @ts-ignore
|
|
83353
|
+
selectedDate || dateTime.newDate()
|
|
83354
|
+
);
|
|
83355
|
+
React76.useEffect(() => {
|
|
83356
|
+
if (isDate(start) && !isDate(end) && position === "end") {
|
|
83357
|
+
setDisplayed2(start);
|
|
83358
|
+
}
|
|
83359
|
+
if (!isDate(start) && isDate(end) && position === "start") {
|
|
83360
|
+
setDisplayed2(end);
|
|
83361
|
+
}
|
|
83362
|
+
}, [position, selectedValue]);
|
|
83363
|
+
function onClear() {
|
|
83364
|
+
onChange(null, position);
|
|
83365
|
+
}
|
|
83366
|
+
const clearRef = React76.useRef(null);
|
|
83367
|
+
const monthRef = React76.useRef(null);
|
|
83368
|
+
const yearRef = React76.useRef(null);
|
|
83369
|
+
const overlay = /* @__PURE__ */ React76.createElement(
|
|
83370
|
+
DateFilterOverlay,
|
|
83371
|
+
{
|
|
83372
|
+
displayDate: displayed,
|
|
83373
|
+
selectionType,
|
|
83374
|
+
monthRef,
|
|
83375
|
+
onSelect: (date) => {
|
|
83376
|
+
onChange(date, position);
|
|
83377
|
+
},
|
|
83378
|
+
position,
|
|
83379
|
+
selectedValue,
|
|
83380
|
+
setDisplayDate: setDisplayed2,
|
|
83381
|
+
setSelectionType,
|
|
83382
|
+
yearRef
|
|
83383
|
+
}
|
|
83384
|
+
);
|
|
83195
83385
|
return /* @__PURE__ */ React76.createElement(
|
|
83196
|
-
|
|
83386
|
+
OverlayTrigger,
|
|
83197
83387
|
{
|
|
83198
|
-
|
|
83388
|
+
afterHide,
|
|
83389
|
+
autoFocus: true,
|
|
83390
|
+
beforeShow: (e) => {
|
|
83391
|
+
if (isEventSource(clearRef, e)) {
|
|
83392
|
+
return false;
|
|
83393
|
+
}
|
|
83394
|
+
return true;
|
|
83395
|
+
},
|
|
83396
|
+
clickOutsideIgnoreRefs: [monthRef, yearRef],
|
|
83397
|
+
overlay,
|
|
83398
|
+
placement: getPlacement2(selectionType, position),
|
|
83399
|
+
ref,
|
|
83400
|
+
restoreFocusOnHide: true,
|
|
83401
|
+
role: "dialog"
|
|
83199
83402
|
},
|
|
83200
83403
|
/* @__PURE__ */ React76.createElement(
|
|
83201
|
-
|
|
83404
|
+
DateQuickFilterLabel,
|
|
83202
83405
|
{
|
|
83203
|
-
headerName
|
|
83204
|
-
|
|
83406
|
+
headerName,
|
|
83407
|
+
onClear,
|
|
83408
|
+
value: selectedDate,
|
|
83409
|
+
disabled
|
|
83205
83410
|
}
|
|
83206
83411
|
)
|
|
83207
83412
|
);
|
|
83208
83413
|
}
|
|
83209
|
-
|
|
83210
|
-
|
|
83211
|
-
|
|
83212
|
-
|
|
83213
|
-
|
|
83214
|
-
|
|
83215
|
-
|
|
83216
|
-
|
|
83217
|
-
|
|
83218
|
-
|
|
83219
|
-
|
|
83220
|
-
|
|
83414
|
+
);
|
|
83415
|
+
function DateFilter3({
|
|
83416
|
+
// TODO: talk to design about potential loading UX for this.
|
|
83417
|
+
// core DateSelect doesn't have it
|
|
83418
|
+
// loading,
|
|
83419
|
+
headerName,
|
|
83420
|
+
onChange,
|
|
83421
|
+
selectionType = "either",
|
|
83422
|
+
value,
|
|
83423
|
+
disabled,
|
|
83424
|
+
...props
|
|
83425
|
+
}) {
|
|
83426
|
+
const [selectedValue, setSelectedValue] = React76.useState({
|
|
83427
|
+
type: selectionType === "either" ? "range" : selectionType
|
|
83428
|
+
});
|
|
83429
|
+
React76.useEffect(() => {
|
|
83430
|
+
const parsedValue = value.map((date) => {
|
|
83431
|
+
if (isDate(date)) {
|
|
83432
|
+
return date;
|
|
83433
|
+
}
|
|
83434
|
+
return parseISO(String(date));
|
|
83435
|
+
});
|
|
83436
|
+
const type = isSameDay(parsedValue[0], parsedValue[1]) ? "single" : "range";
|
|
83437
|
+
setSelectedValue({ type, start: parsedValue[0], end: parsedValue[1] });
|
|
83438
|
+
}, [value]);
|
|
83439
|
+
const dateRangeEndDateRef = React76.useRef(null);
|
|
83440
|
+
function dateFilterOnChange(date, position) {
|
|
83441
|
+
const newValue = getValueFromSelection(selectedValue, date, position);
|
|
83442
|
+
setSelectedValue(newValue);
|
|
83443
|
+
if (isValidDateSelection(newValue)) {
|
|
83444
|
+
onChange(
|
|
83445
|
+
newValue.start || newValue.end ? [
|
|
83446
|
+
newValue.start,
|
|
83447
|
+
newValue.type === "single" ? newValue.start : newValue.end
|
|
83448
|
+
] : []
|
|
83449
|
+
);
|
|
83221
83450
|
}
|
|
83222
|
-
return `${columnDefinition == null ? void 0 : columnDefinition.headerName}: (${filterValue.length})`;
|
|
83223
|
-
}
|
|
83224
|
-
return columnDefinition == null ? void 0 : columnDefinition.headerName;
|
|
83225
|
-
}
|
|
83226
|
-
var ensureArray = (input) => {
|
|
83227
|
-
if (input === null) {
|
|
83228
|
-
return [];
|
|
83229
|
-
}
|
|
83230
|
-
return Array.isArray(input) ? input : [input];
|
|
83231
|
-
};
|
|
83232
|
-
var FiltersPanelToggleButton = ({ hasSelectedFilters, hasDefinedFilters }) => {
|
|
83233
|
-
const I18n = useI18nContext();
|
|
83234
|
-
const { contextPanel } = useInternalTableContext();
|
|
83235
|
-
const hasNoContent = useTableHasNoContent();
|
|
83236
|
-
if (!hasDefinedFilters) {
|
|
83237
|
-
return null;
|
|
83238
83451
|
}
|
|
83239
|
-
|
|
83240
|
-
|
|
83241
|
-
|
|
83242
|
-
featureI18nKey: "featureFilter",
|
|
83243
|
-
enabled: hasNoContent
|
|
83452
|
+
const onSelectionTypeChange = React76.useCallback(
|
|
83453
|
+
(newSelectionType) => {
|
|
83454
|
+
setSelectedValue({ type: newSelectionType });
|
|
83244
83455
|
},
|
|
83245
|
-
|
|
83246
|
-
ToggleButton,
|
|
83247
|
-
{
|
|
83248
|
-
"data-qa": "data-table-show-filters-button",
|
|
83249
|
-
disabled: hasNoContent,
|
|
83250
|
-
icon: /* @__PURE__ */ React76.createElement(FilterIcon, null),
|
|
83251
|
-
onClick: () => {
|
|
83252
|
-
if (contextPanel.content === "filters") {
|
|
83253
|
-
contextPanel.hide();
|
|
83254
|
-
} else {
|
|
83255
|
-
contextPanel.show("filters");
|
|
83256
|
-
}
|
|
83257
|
-
},
|
|
83258
|
-
selected: contextPanel.content === "filters"
|
|
83259
|
-
},
|
|
83260
|
-
hasSelectedFilters ? I18n.t("dataTable.filters.moreFilters") : I18n.t("dataTable.filters.filters")
|
|
83261
|
-
)
|
|
83456
|
+
[setSelectedValue]
|
|
83262
83457
|
);
|
|
83263
|
-
|
|
83264
|
-
var
|
|
83265
|
-
|
|
83266
|
-
|
|
83267
|
-
|
|
83268
|
-
|
|
83269
|
-
|
|
83458
|
+
function dateRangeAfterHide() {
|
|
83459
|
+
var _a;
|
|
83460
|
+
if (selectedValue.type === "range" && isDate(selectedValue.start) && !isDate(selectedValue.end)) {
|
|
83461
|
+
(_a = dateRangeEndDateRef.current) == null ? void 0 : _a.click();
|
|
83462
|
+
}
|
|
83463
|
+
return true;
|
|
83464
|
+
}
|
|
83465
|
+
return /* @__PURE__ */ React76.createElement(FlexList, { space: "xs", "data-qa": props["data-qa"] }, /* @__PURE__ */ React76.createElement(
|
|
83466
|
+
DateFilterSelect2,
|
|
83270
83467
|
{
|
|
83271
|
-
|
|
83272
|
-
|
|
83468
|
+
afterHide: dateRangeAfterHide,
|
|
83469
|
+
headerName,
|
|
83470
|
+
onChange: dateFilterOnChange,
|
|
83471
|
+
position: "start",
|
|
83472
|
+
selectedValue,
|
|
83473
|
+
selectionType,
|
|
83474
|
+
setSelectionType: onSelectionTypeChange,
|
|
83475
|
+
disabled
|
|
83273
83476
|
}
|
|
83274
|
-
)
|
|
83275
|
-
|
|
83276
|
-
var ClientSideFiltersPanelToggleButton = () => {
|
|
83277
|
-
const { filterState } = useInternalTableContext();
|
|
83278
|
-
const activeFilters = React76.useMemo(() => {
|
|
83279
|
-
return filterState.allAvailableFilters.filter(({ instance }) => {
|
|
83280
|
-
return instance.isFilterActive();
|
|
83281
|
-
});
|
|
83282
|
-
}, [filterState.allAvailableFilters]);
|
|
83283
|
-
return /* @__PURE__ */ React76.createElement(
|
|
83284
|
-
FiltersPanelToggleButton,
|
|
83477
|
+
), selectedValue.type === "range" && /* @__PURE__ */ React76.createElement(
|
|
83478
|
+
DateFilterSelect2,
|
|
83285
83479
|
{
|
|
83286
|
-
|
|
83287
|
-
|
|
83480
|
+
headerName,
|
|
83481
|
+
onChange: dateFilterOnChange,
|
|
83482
|
+
position: "end",
|
|
83483
|
+
ref: dateRangeEndDateRef,
|
|
83484
|
+
selectedValue,
|
|
83485
|
+
selectionType,
|
|
83486
|
+
setSelectionType: onSelectionTypeChange,
|
|
83487
|
+
disabled
|
|
83288
83488
|
}
|
|
83289
|
-
);
|
|
83290
|
-
}
|
|
83291
|
-
|
|
83292
|
-
|
|
83293
|
-
|
|
83294
|
-
|
|
83295
|
-
|
|
83489
|
+
));
|
|
83490
|
+
}
|
|
83491
|
+
function ServerSideQuickDateFilterRenderer({
|
|
83492
|
+
columnDefinition,
|
|
83493
|
+
disabled
|
|
83494
|
+
}) {
|
|
83495
|
+
var _a;
|
|
83496
|
+
const { onChange, value = [] } = useServerSideFilter({
|
|
83497
|
+
columnDefinition
|
|
83498
|
+
});
|
|
83499
|
+
const colDef = columnDefinition;
|
|
83500
|
+
return /* @__PURE__ */ React76.createElement(OptionalDateTimeProvider2, { timeZone: colDef.timeZone }, /* @__PURE__ */ React76.createElement(
|
|
83501
|
+
DateFilter3,
|
|
83296
83502
|
{
|
|
83297
|
-
|
|
83298
|
-
|
|
83299
|
-
|
|
83300
|
-
|
|
83301
|
-
|
|
83302
|
-
|
|
83303
|
-
|
|
83304
|
-
|
|
83305
|
-
|
|
83306
|
-
|
|
83307
|
-
|
|
83308
|
-
|
|
83309
|
-
|
|
83310
|
-
|
|
83311
|
-
|
|
83312
|
-
|
|
83503
|
+
selectionType: ((_a = colDef.filterProps) == null ? void 0 : _a.selectionType) ?? "either",
|
|
83504
|
+
headerName: colDef.headerName,
|
|
83505
|
+
disabled,
|
|
83506
|
+
onChange: (selected) => {
|
|
83507
|
+
onChange(
|
|
83508
|
+
selected.map((date) => {
|
|
83509
|
+
return date ? {
|
|
83510
|
+
// future extensions can go here (month, day, year keys etc)
|
|
83511
|
+
date
|
|
83512
|
+
} : (
|
|
83513
|
+
// TODO: refactor out date-specific getId stuff from useServerSideFilterStorage
|
|
83514
|
+
date
|
|
83515
|
+
);
|
|
83516
|
+
})
|
|
83517
|
+
);
|
|
83518
|
+
},
|
|
83519
|
+
value: value.map((option) => option ? option.date : option)
|
|
83520
|
+
}
|
|
83521
|
+
));
|
|
83522
|
+
}
|
|
83523
|
+
var QuickDateFilterRenderer = (props) => {
|
|
83524
|
+
const { onServerSideDataRequest } = useInternalTableContext();
|
|
83525
|
+
if (onServerSideDataRequest) {
|
|
83526
|
+
return /* @__PURE__ */ React76.createElement(ServerSideQuickDateFilterRenderer, { ...props });
|
|
83527
|
+
}
|
|
83528
|
+
logger.error(
|
|
83529
|
+
"Warning: Date Filters are currently only implemented for the serverside row model"
|
|
83313
83530
|
);
|
|
83531
|
+
return null;
|
|
83314
83532
|
};
|
|
83315
|
-
var
|
|
83316
|
-
|
|
83317
|
-
|
|
83533
|
+
var dateInputLocales = {
|
|
83534
|
+
"fr-CA": {
|
|
83535
|
+
placeholders: { day: "jj", month: "mm", year: "aaaa" }
|
|
83536
|
+
},
|
|
83537
|
+
"fr-FR": {
|
|
83538
|
+
placeholders: { day: "jj", month: "mm", year: "aaaa" }
|
|
83539
|
+
},
|
|
83540
|
+
es: {
|
|
83541
|
+
placeholders: { day: "dd", month: "mm", year: "aaaa" }
|
|
83542
|
+
},
|
|
83543
|
+
"es-ES": {
|
|
83544
|
+
placeholders: { day: "dd", month: "mm", year: "aaaa" }
|
|
83545
|
+
},
|
|
83546
|
+
pt: {
|
|
83547
|
+
placeholders: { day: "dd", month: "mm", year: "aaaa" }
|
|
83548
|
+
},
|
|
83549
|
+
"is-IS": {
|
|
83550
|
+
placeholders: { day: "dd", month: "mm", year: "\xE1\xE1\xE1\xE1" }
|
|
83551
|
+
},
|
|
83552
|
+
"de-DE": {
|
|
83553
|
+
placeholders: { day: "tt", month: "MM", year: "jjjj" }
|
|
83318
83554
|
}
|
|
83319
|
-
|
|
83320
|
-
var
|
|
83321
|
-
|
|
83322
|
-
const
|
|
83323
|
-
const
|
|
83324
|
-
|
|
83325
|
-
|
|
83326
|
-
|
|
83327
|
-
|
|
83328
|
-
|
|
83329
|
-
|
|
83330
|
-
|
|
83331
|
-
|
|
83332
|
-
} else if (filter.instance.isFilterActive()) {
|
|
83333
|
-
return { ...acc, tokens: [...acc.tokens, filter] };
|
|
83334
|
-
}
|
|
83335
|
-
return acc;
|
|
83336
|
-
},
|
|
83555
|
+
};
|
|
83556
|
+
var DateQuickFilterLabel = React76.forwardRef(({ headerName, onClear, value, disabled }, ref) => {
|
|
83557
|
+
var _a;
|
|
83558
|
+
const dateTime = useDateTime();
|
|
83559
|
+
const i18n = useI18nContext();
|
|
83560
|
+
const placeholders = ((_a = dateInputLocales[i18n.locale]) == null ? void 0 : _a.placeholders) || {
|
|
83561
|
+
day: "dd",
|
|
83562
|
+
month: "mm",
|
|
83563
|
+
year: "yyyy"
|
|
83564
|
+
};
|
|
83565
|
+
if (value !== void 0 && isDate(value)) {
|
|
83566
|
+
return /* @__PURE__ */ React76.createElement(
|
|
83567
|
+
QuickFilterLabel,
|
|
83337
83568
|
{
|
|
83338
|
-
|
|
83339
|
-
|
|
83569
|
+
enabled: true,
|
|
83570
|
+
disabled,
|
|
83571
|
+
label: `${headerName}: ${dateTime.format(value, "numeric-date")}`,
|
|
83572
|
+
onClear,
|
|
83573
|
+
ref
|
|
83340
83574
|
}
|
|
83341
83575
|
);
|
|
83342
|
-
}
|
|
83343
|
-
|
|
83344
|
-
|
|
83345
|
-
FlexList,
|
|
83576
|
+
}
|
|
83577
|
+
return /* @__PURE__ */ React76.createElement(
|
|
83578
|
+
QuickFilterLabel,
|
|
83346
83579
|
{
|
|
83347
|
-
|
|
83348
|
-
|
|
83349
|
-
|
|
83350
|
-
|
|
83351
|
-
|
|
83352
|
-
},
|
|
83353
|
-
quickFilters.map((filter) => {
|
|
83354
|
-
const colDef = getColumnDefinition(filter.field);
|
|
83355
|
-
const QuickFilter = colDef == null ? void 0 : colDef.quickFilterRenderer;
|
|
83356
|
-
if (!colDef || !QuickFilter) {
|
|
83357
|
-
return null;
|
|
83358
|
-
}
|
|
83359
|
-
return /* @__PURE__ */ React76.createElement(
|
|
83360
|
-
EmptyResultsControlTooltip,
|
|
83361
|
-
{
|
|
83362
|
-
featureI18nKey: "featureQuickFilter",
|
|
83363
|
-
enabled: hasNoContent
|
|
83364
|
-
},
|
|
83365
|
-
/* @__PURE__ */ React76.createElement(
|
|
83366
|
-
QuickFilter,
|
|
83367
|
-
{
|
|
83368
|
-
key: filter.field,
|
|
83369
|
-
filter,
|
|
83370
|
-
columnDefinition: colDef,
|
|
83371
|
-
disabled: hasNoContent,
|
|
83372
|
-
onChange: (value) => {
|
|
83373
|
-
var _a;
|
|
83374
|
-
return (_a = tableRef == null ? void 0 : tableRef.current) == null ? void 0 : _a.applyListFilter(filter.field, value);
|
|
83375
|
-
},
|
|
83376
|
-
onRemove: () => {
|
|
83377
|
-
var _a;
|
|
83378
|
-
return (_a = tableRef == null ? void 0 : tableRef.current) == null ? void 0 : _a.removeFilter(filter.field);
|
|
83379
|
-
},
|
|
83380
|
-
overlayMatchesTriggerWidth
|
|
83381
|
-
}
|
|
83382
|
-
)
|
|
83383
|
-
);
|
|
83384
|
-
}),
|
|
83385
|
-
tokens.map((filter) => {
|
|
83386
|
-
const colDef = getColumnDefinition(filter.field);
|
|
83387
|
-
if (!colDef) {
|
|
83388
|
-
return null;
|
|
83389
|
-
}
|
|
83390
|
-
return /* @__PURE__ */ React76.createElement(StyledFilterTokenWrapper, { key: filter.field }, /* @__PURE__ */ React76.createElement(UNSAFE_FilterToken, null, /* @__PURE__ */ React76.createElement(UNSAFE_FilterToken.Label, null, getFilterTokenText(colDef, filter.filterValues)), /* @__PURE__ */ React76.createElement(
|
|
83391
|
-
UNSAFE_FilterToken.Remove,
|
|
83392
|
-
{
|
|
83393
|
-
onClick: () => {
|
|
83394
|
-
var _a;
|
|
83395
|
-
return (_a = tableRef == null ? void 0 : tableRef.current) == null ? void 0 : _a.removeFilter(filter.field);
|
|
83396
|
-
}
|
|
83397
|
-
}
|
|
83398
|
-
)));
|
|
83399
|
-
})
|
|
83580
|
+
enabled: false,
|
|
83581
|
+
disabled,
|
|
83582
|
+
label: `${headerName}: ${getDatePlaceholder(i18n.locale, placeholders)}`,
|
|
83583
|
+
ref
|
|
83584
|
+
}
|
|
83400
83585
|
);
|
|
83401
|
-
};
|
|
83402
|
-
var
|
|
83403
|
-
|
|
83404
|
-
|
|
83405
|
-
|
|
83406
|
-
onClearFilter,
|
|
83407
|
-
possibleFilters,
|
|
83408
|
-
selectedFilters,
|
|
83409
|
-
getListFilter
|
|
83410
|
-
},
|
|
83411
|
-
getColumnDefinition
|
|
83412
|
-
} = useInternalTableContext();
|
|
83413
|
-
const hasNoContent = useTableHasNoContent();
|
|
83414
|
-
const { quickFilterNames, tokenNames } = React76.useMemo(() => {
|
|
83415
|
-
const appliedFilterNames = Object.keys(selectedFilters);
|
|
83416
|
-
const isActiveFilter = (filterName) => appliedFilterNames.includes(filterName);
|
|
83417
|
-
return possibleFilters.reduce(
|
|
83418
|
-
(acc, filterName) => {
|
|
83419
|
-
const colDef = getColumnDefinition(filterName);
|
|
83420
|
-
if (!colDef) {
|
|
83421
|
-
return acc;
|
|
83422
|
-
}
|
|
83423
|
-
if (colDef == null ? void 0 : colDef.quickFilterRenderer) {
|
|
83424
|
-
return {
|
|
83425
|
-
...acc,
|
|
83426
|
-
quickFilterNames: [...acc.quickFilterNames, filterName]
|
|
83427
|
-
};
|
|
83428
|
-
} else if (isActiveFilter(filterName)) {
|
|
83429
|
-
return { ...acc, tokenNames: [...acc.tokenNames, filterName] };
|
|
83430
|
-
}
|
|
83431
|
-
return acc;
|
|
83432
|
-
},
|
|
83433
|
-
{
|
|
83434
|
-
quickFilterNames: [],
|
|
83435
|
-
tokenNames: []
|
|
83436
|
-
}
|
|
83437
|
-
);
|
|
83438
|
-
}, [possibleFilters, selectedFilters, getColumnDefinition]);
|
|
83439
|
-
if (!hasDefinedFilters) {
|
|
83440
|
-
return null;
|
|
83441
|
-
}
|
|
83442
|
-
const isEmpty2 = quickFilterNames.length === 0 && tokenNames.length === 0;
|
|
83443
|
-
return isEmpty2 ? null : /* @__PURE__ */ React76.createElement(
|
|
83444
|
-
FlexList,
|
|
83445
|
-
{
|
|
83446
|
-
padding: "xs none",
|
|
83447
|
-
size: "none",
|
|
83448
|
-
alignItems: "center",
|
|
83449
|
-
wrap: "wrap",
|
|
83450
|
-
gap: "sm",
|
|
83451
|
-
"data-qa": "data-table-quick-filters"
|
|
83452
|
-
},
|
|
83453
|
-
quickFilterNames.map((fieldName) => {
|
|
83454
|
-
const colDef = getColumnDefinition(fieldName);
|
|
83455
|
-
const QuickFilter = colDef == null ? void 0 : colDef.quickFilterRenderer;
|
|
83456
|
-
if (!colDef || !QuickFilter) {
|
|
83457
|
-
return null;
|
|
83458
|
-
}
|
|
83459
|
-
return /* @__PURE__ */ React76.createElement(
|
|
83460
|
-
EmptyResultsControlTooltip,
|
|
83461
|
-
{
|
|
83462
|
-
featureI18nKey: "featureQuickFilter",
|
|
83463
|
-
enabled: hasNoContent
|
|
83464
|
-
},
|
|
83465
|
-
/* @__PURE__ */ React76.createElement(
|
|
83466
|
-
QuickFilter,
|
|
83467
|
-
{
|
|
83468
|
-
key: fieldName,
|
|
83469
|
-
columnDefinition: colDef,
|
|
83470
|
-
disabled: hasNoContent,
|
|
83471
|
-
overlayMatchesTriggerWidth
|
|
83472
|
-
}
|
|
83473
|
-
)
|
|
83474
|
-
);
|
|
83475
|
-
}),
|
|
83476
|
-
tokenNames.map((fieldName) => {
|
|
83477
|
-
const colDef = getColumnDefinition(fieldName);
|
|
83478
|
-
if (!colDef) {
|
|
83479
|
-
return null;
|
|
83480
|
-
}
|
|
83481
|
-
const filter = getListFilter(fieldName);
|
|
83482
|
-
return /* @__PURE__ */ React76.createElement(StyledFilterTokenWrapper, { key: fieldName }, /* @__PURE__ */ React76.createElement(UNSAFE_FilterToken, null, /* @__PURE__ */ React76.createElement(UNSAFE_FilterToken.Label, null, getFilterTokenText(
|
|
83483
|
-
colDef,
|
|
83484
|
-
colDef.filterRenderer === DateFilterRenderer_default ? filter.value : filter.selected
|
|
83485
|
-
)), /* @__PURE__ */ React76.createElement(
|
|
83486
|
-
UNSAFE_FilterToken.Remove,
|
|
83487
|
-
{
|
|
83488
|
-
"data-qa": "data-table-quick-filter-remove-token",
|
|
83489
|
-
onClick: () => onClearFilter(fieldName)
|
|
83490
|
-
}
|
|
83491
|
-
)));
|
|
83492
|
-
})
|
|
83493
|
-
);
|
|
83494
|
-
};
|
|
83495
|
-
var QuickFilters = ({ overlayMatchesTriggerWidth }) => {
|
|
83496
|
-
const { onServerSideDataRequest } = useInternalTableContext();
|
|
83497
|
-
if (onServerSideDataRequest) {
|
|
83498
|
-
return /* @__PURE__ */ React76.createElement(
|
|
83499
|
-
ServerSideQuickFilters,
|
|
83500
|
-
{
|
|
83501
|
-
overlayMatchesTriggerWidth
|
|
83502
|
-
}
|
|
83503
|
-
);
|
|
83504
|
-
}
|
|
83505
|
-
return /* @__PURE__ */ React76.createElement(
|
|
83506
|
-
ClientSideQuickFilters,
|
|
83507
|
-
{
|
|
83508
|
-
overlayMatchesTriggerWidth
|
|
83509
|
-
}
|
|
83510
|
-
);
|
|
83511
|
-
};
|
|
83512
|
-
var FiltersPanelButton = () => {
|
|
83513
|
-
const { onServerSideDataRequest } = useInternalTableContext();
|
|
83514
|
-
if (onServerSideDataRequest) {
|
|
83515
|
-
return /* @__PURE__ */ React76.createElement(ServerSideFiltersPanelToggleButton, null);
|
|
83516
|
-
}
|
|
83517
|
-
return /* @__PURE__ */ React76.createElement(ClientSideFiltersPanelToggleButton, null);
|
|
83518
|
-
};
|
|
83519
|
-
var RowGroupSelector = ({ localeText }) => {
|
|
83520
|
-
const {
|
|
83521
|
-
columnDefinitions: _columnDefinitions,
|
|
83522
|
-
columnApi,
|
|
83523
|
-
gridApi,
|
|
83524
|
-
tableRef
|
|
83525
|
-
} = useInternalTableContext();
|
|
83526
|
-
const hasNoContent = useTableHasNoContent();
|
|
83527
|
-
const [columnDefinitions, setColumnDefinitions] = React76.useState(_columnDefinitions);
|
|
83528
|
-
const groupableColumns = React76.useMemo(
|
|
83529
|
-
() => mapColumnsToOptions(
|
|
83530
|
-
columnDefinitions.filter((column2) => column2.enableRowGroup)
|
|
83531
|
-
),
|
|
83532
|
-
[columnDefinitions]
|
|
83533
|
-
);
|
|
83534
|
-
const groupedColumns = React76.useMemo(() => {
|
|
83535
|
-
const rowGrouping = (columnApi == null ? void 0 : columnApi.getRowGroupColumns()) ?? [];
|
|
83536
|
-
return rowGrouping.map((column2) => {
|
|
83537
|
-
const colDef = column2.getColDef();
|
|
83538
|
-
return transformToColumnDefinition(colDef);
|
|
83539
|
-
});
|
|
83540
|
-
}, [columnDefinitions]);
|
|
83541
|
-
const selectedColumns = React76.useMemo(
|
|
83542
|
-
() => mapColumnsToOptions(groupedColumns),
|
|
83543
|
-
[groupedColumns]
|
|
83544
|
-
);
|
|
83545
|
-
const onGroupedClear = React76.useCallback(() => {
|
|
83546
|
-
var _a;
|
|
83547
|
-
(_a = tableRef == null ? void 0 : tableRef.current) == null ? void 0 : _a.setRowGrouping([]);
|
|
83548
|
-
}, [tableRef]);
|
|
83549
|
-
const onGroupedRowChange = React76.useCallback(
|
|
83550
|
-
(newValue) => {
|
|
83551
|
-
var _a;
|
|
83552
|
-
const fields = newValue.map((val) => {
|
|
83553
|
-
return val.id;
|
|
83554
|
-
});
|
|
83555
|
-
if (!equals(selectedColumns, newValue)) {
|
|
83556
|
-
(_a = tableRef == null ? void 0 : tableRef.current) == null ? void 0 : _a.setRowGrouping(fields);
|
|
83557
|
-
}
|
|
83558
|
-
},
|
|
83559
|
-
[selectedColumns]
|
|
83560
|
-
);
|
|
83561
|
-
React76.useEffect(() => {
|
|
83562
|
-
function onDisplayedColumnsChanged(event) {
|
|
83563
|
-
const agColumnDefs = event.api.getColumnDefs();
|
|
83564
|
-
if (agColumnDefs == null ? void 0 : agColumnDefs.length) {
|
|
83565
|
-
const flattenedAgColDefs = flattenColDefs(event.api.getColumnDefs());
|
|
83566
|
-
const dataTableColumnDefinitions = flattenedAgColDefs.map(
|
|
83567
|
-
transformToColumnDefinition
|
|
83568
|
-
);
|
|
83569
|
-
setColumnDefinitions(dataTableColumnDefinitions);
|
|
83570
|
-
}
|
|
83571
|
-
}
|
|
83572
|
-
gridApi == null ? void 0 : gridApi.addEventListener(
|
|
83573
|
-
"displayedColumnsChanged",
|
|
83574
|
-
onDisplayedColumnsChanged
|
|
83575
|
-
);
|
|
83576
|
-
return () => {
|
|
83577
|
-
removeEventListenerFromGrid(
|
|
83578
|
-
"displayedColumnsChanged",
|
|
83579
|
-
onDisplayedColumnsChanged,
|
|
83580
|
-
gridApi
|
|
83581
|
-
);
|
|
83582
|
-
};
|
|
83583
|
-
}, [gridApi]);
|
|
83584
|
-
if (groupableColumns.length === 0) {
|
|
83585
|
-
return null;
|
|
83586
|
-
}
|
|
83587
|
-
return /* @__PURE__ */ React76.createElement(
|
|
83588
|
-
EmptyResultsControlTooltip,
|
|
83589
|
-
{
|
|
83590
|
-
featureI18nKey: "featureGroupBy",
|
|
83591
|
-
enabled: hasNoContent
|
|
83592
|
-
},
|
|
83593
|
-
/* @__PURE__ */ React76.createElement(
|
|
83594
|
-
GroupBySelect,
|
|
83595
|
-
{
|
|
83596
|
-
isDisabled: hasNoContent,
|
|
83597
|
-
localeText,
|
|
83598
|
-
onBlur: onGroupedRowChange,
|
|
83599
|
-
onClear: onGroupedClear,
|
|
83600
|
-
options: groupableColumns,
|
|
83601
|
-
selected: selectedColumns
|
|
83602
|
-
}
|
|
83603
|
-
)
|
|
83604
|
-
);
|
|
83605
|
-
};
|
|
83606
|
-
function mapColumnsToOptions(columnDefinitions) {
|
|
83607
|
-
return columnDefinitions.map((col) => {
|
|
83608
|
-
return {
|
|
83609
|
-
label: col.headerName,
|
|
83610
|
-
id: col.field,
|
|
83611
|
-
key: col.field,
|
|
83612
|
-
group: col.columnGroupName
|
|
83613
|
-
};
|
|
83614
|
-
});
|
|
83615
|
-
}
|
|
83616
|
-
var cx21 = classnames.bind(quickControlsStyles_default);
|
|
83617
|
-
var ClientSideSearch = ({
|
|
83618
|
-
onSearch,
|
|
83619
|
-
placeholder
|
|
83620
|
-
}) => {
|
|
83621
|
-
var _a;
|
|
83622
|
-
const [internalValue, setInternalValue] = React76.useState("");
|
|
83623
|
-
const { tableRef } = useInternalTableContext();
|
|
83624
|
-
const hasNoContent = useTableHasNoContent();
|
|
83625
|
-
const I18n = useI18nContext();
|
|
83626
|
-
const debouncedSetSearchValue = React76.useCallback(
|
|
83627
|
-
debounce5((value) => {
|
|
83628
|
-
var _a2;
|
|
83629
|
-
(_a2 = tableRef == null ? void 0 : tableRef.current) == null ? void 0 : _a2.setSearchValue(value);
|
|
83630
|
-
}, 250),
|
|
83631
|
-
[(_a = tableRef == null ? void 0 : tableRef.current) == null ? void 0 : _a.setSearchValue]
|
|
83632
|
-
);
|
|
83633
|
-
const onChange = React76.useCallback(
|
|
83634
|
-
(value, event) => {
|
|
83635
|
-
setInternalValue(value);
|
|
83636
|
-
if (onSearch) {
|
|
83637
|
-
onSearch(event);
|
|
83638
|
-
} else {
|
|
83639
|
-
debouncedSetSearchValue(value);
|
|
83640
|
-
}
|
|
83641
|
-
},
|
|
83642
|
-
[debouncedSetSearchValue, onSearch]
|
|
83643
|
-
);
|
|
83644
|
-
return /* @__PURE__ */ React76.createElement(EmptyResultsControlTooltip, { hasSearch: true, enabled: hasNoContent }, /* @__PURE__ */ React76.createElement(
|
|
83645
|
-
Typeahead,
|
|
83646
|
-
{
|
|
83647
|
-
disabled: hasNoContent,
|
|
83648
|
-
"data-qa": "data-table-search",
|
|
83649
|
-
value: internalValue,
|
|
83650
|
-
className: cx21("search", {
|
|
83651
|
-
"search--empty": !internalValue.length
|
|
83652
|
-
}),
|
|
83653
|
-
onChange,
|
|
83654
|
-
placeholder: placeholder || I18n.t("dataTable.search")
|
|
83655
|
-
}
|
|
83656
|
-
));
|
|
83657
|
-
};
|
|
83658
|
-
var Search = (props) => {
|
|
83659
|
-
const { onServerSideDataRequest } = useInternalTableContext();
|
|
83660
|
-
if (onServerSideDataRequest) {
|
|
83661
|
-
return /* @__PURE__ */ React76.createElement(ServerSideSearch, { ...props });
|
|
83662
|
-
}
|
|
83663
|
-
return /* @__PURE__ */ React76.createElement(ClientSideSearch, { ...props });
|
|
83664
|
-
};
|
|
83665
|
-
|
|
83666
|
-
// src/QuickControls/QuickControls.tsx
|
|
83667
|
-
var QuickControls = (props) => {
|
|
83668
|
-
const I18n = useI18nContext();
|
|
83669
|
-
if (props.children) {
|
|
83670
|
-
return /* @__PURE__ */ React76.createElement(
|
|
83671
|
-
Box,
|
|
83672
|
-
{
|
|
83673
|
-
"data-qa": "data-table-quick-controls",
|
|
83674
|
-
padding: "xs none",
|
|
83675
|
-
style: props.style
|
|
83676
|
-
},
|
|
83677
|
-
props.children
|
|
83678
|
-
);
|
|
83679
|
-
}
|
|
83680
|
-
return /* @__PURE__ */ React76.createElement(Box, { padding: "xs none", style: props.style }, /* @__PURE__ */ React76.createElement(Box, { padding: "xs none", display: "flex-row", justifyContent: "space-between" }, /* @__PURE__ */ React76.createElement(FlexList, { size: "xs", alignItems: "center", marginRight: "sm" }, /* @__PURE__ */ React76.createElement(
|
|
83681
|
-
Search,
|
|
83682
|
-
{
|
|
83683
|
-
onSearch: props.onSearch,
|
|
83684
|
-
placeholder: props.placeholder,
|
|
83685
|
-
disabled: props.disabledSearch
|
|
83686
|
-
}
|
|
83687
|
-
), /* @__PURE__ */ React76.createElement(FiltersPanelButton, null)), /* @__PURE__ */ React76.createElement(FlexList, { size: "xs", alignItems: "center" }, /* @__PURE__ */ React76.createElement(
|
|
83688
|
-
RowGroupSelector,
|
|
83689
|
-
{
|
|
83690
|
-
localeText: {
|
|
83691
|
-
reset: I18n.t("dataTable.tableSettings.reset"),
|
|
83692
|
-
placeholder: I18n.t("dataTable.tableSettings.selectColumnGroup"),
|
|
83693
|
-
selectedItemsPrefix: I18n.t("dataTable.tableSettings.groupBy")
|
|
83694
|
-
}
|
|
83695
|
-
}
|
|
83696
|
-
), /* @__PURE__ */ React76.createElement(ConfigPanelButton, null))), /* @__PURE__ */ React76.createElement(
|
|
83697
|
-
QuickFilters,
|
|
83698
|
-
{
|
|
83699
|
-
overlayMatchesTriggerWidth: props.filterOverlayMatchesTriggerWidth
|
|
83700
|
-
}
|
|
83701
|
-
));
|
|
83702
|
-
};
|
|
83703
|
-
|
|
83704
|
-
// src/utils/addSubcomponents.ts
|
|
83705
|
-
var addSubcomponents = (subs, parent) => {
|
|
83706
|
-
const assigned = parent;
|
|
83707
|
-
Object.keys(subs).forEach((key) => {
|
|
83708
|
-
assigned[key] = subs[key];
|
|
83709
|
-
});
|
|
83710
|
-
return assigned;
|
|
83711
|
-
};
|
|
83712
|
-
|
|
83713
|
-
// src/ClientSideDataTable.tsx
|
|
83714
|
-
var ClientSideDataTable = ({
|
|
83715
|
-
analytics,
|
|
83716
|
-
children,
|
|
83717
|
-
columnDefinitions: _columnDefinitions,
|
|
83718
|
-
customBulkEditorFields,
|
|
83719
|
-
enableDynamicRowHeight,
|
|
83720
|
-
enableGroupEditAndValidation,
|
|
83721
|
-
filterGroups,
|
|
83722
|
-
getRowId,
|
|
83723
|
-
initialTableConfig: _initialTableConfig,
|
|
83724
|
-
onBulkEditUpdate,
|
|
83725
|
-
onTableConfigChange,
|
|
83726
|
-
translations: translations2 = {},
|
|
83727
|
-
enableCellTextSelection,
|
|
83728
|
-
localStoragePersistenceKey
|
|
83729
|
-
}) => {
|
|
83730
|
-
return /* @__PURE__ */ React76.createElement(
|
|
83731
|
-
DataTable,
|
|
83732
|
-
{
|
|
83733
|
-
analytics,
|
|
83734
|
-
columnDefinitions: _columnDefinitions,
|
|
83735
|
-
enableGroupEditAndValidation,
|
|
83736
|
-
enableDynamicRowHeight,
|
|
83737
|
-
filterGroups,
|
|
83738
|
-
getRowId,
|
|
83739
|
-
initialTableConfig: _initialTableConfig,
|
|
83740
|
-
onTableConfigChange,
|
|
83741
|
-
onBulkEditUpdate,
|
|
83742
|
-
showExpandCollapseAllToggle: true,
|
|
83743
|
-
translations: translations2,
|
|
83744
|
-
localStoragePersistenceKey,
|
|
83745
|
-
customBulkEditorFields,
|
|
83746
|
-
enableCellTextSelection
|
|
83747
|
-
},
|
|
83748
|
-
children
|
|
83749
|
-
);
|
|
83750
|
-
};
|
|
83751
|
-
var Table2 = (props) => {
|
|
83752
|
-
const internalTableContext = useInternalTableContext();
|
|
83753
|
-
React76.useEffect(() => {
|
|
83754
|
-
var _a;
|
|
83755
|
-
internalTableContext.setTotalRowCount(((_a = props.rows) == null ? void 0 : _a.length) ?? 0);
|
|
83756
|
-
}, [props.rows]);
|
|
83757
|
-
return /* @__PURE__ */ React76.createElement(Table, { ...props, modules: [ClientSideRowModelModule] });
|
|
83758
|
-
};
|
|
83759
|
-
BulkActions.displayName = "ClientSideDataTable.BulkActions";
|
|
83760
|
-
ConfigPanelButton.displayName = "ClientSideDataTable.ConfigPanelButton";
|
|
83761
|
-
ContextPanel.displayName = "ClientSideDataTable.ContextPanel";
|
|
83762
|
-
QuickControls.displayName = "ClientSideDataTable.QuickControls";
|
|
83763
|
-
QuickFilters.displayName = "ClientSideDataTable.QuickFilters";
|
|
83764
|
-
RowGroupSelector.displayName = "ClientSideDataTable.RowGroupSelector";
|
|
83765
|
-
Search.displayName = "ClientSideDataTable.Search";
|
|
83766
|
-
Table2.displayName = "ClientSideDataTable.Table";
|
|
83767
|
-
FiltersPanel.displayName = "ClientSideDataTable.FiltersPanel";
|
|
83768
|
-
var ClientSideDataTable_default = addSubcomponents(
|
|
83769
|
-
{
|
|
83770
|
-
BulkActions,
|
|
83771
|
-
BulkEditActionButton,
|
|
83772
|
-
ConfigPanelButton,
|
|
83773
|
-
ContextPanel,
|
|
83774
|
-
QuickControls,
|
|
83775
|
-
QuickFilters,
|
|
83776
|
-
RowGroupSelector,
|
|
83777
|
-
Search,
|
|
83778
|
-
Table: Table2,
|
|
83779
|
-
FiltersPanel,
|
|
83780
|
-
FiltersPanelButton
|
|
83781
|
-
},
|
|
83782
|
-
ClientSideDataTable
|
|
83783
|
-
);
|
|
83784
|
-
var QuickFilterLabel = React76.forwardRef(({ enabled, ...props }, ref) => {
|
|
83785
|
-
return /* @__PURE__ */ React76.createElement(StyledQuickFilterLabel, { $enabled: enabled }, /* @__PURE__ */ React76.createElement(SelectButton, { ref, ...props }));
|
|
83786
|
-
});
|
|
83787
|
-
var StyledQuickFilterLabel = styled4.div`
|
|
83788
|
-
${StyledSelectButton} {
|
|
83789
|
-
width: auto;
|
|
83790
|
-
max-width: 380px;
|
|
83791
|
-
${({ $enabled }) => $enabled && css$1`
|
|
83792
|
-
background: ${colors.blue96};
|
|
83793
|
-
border-color: ${colors.blue96};
|
|
83794
|
-
font-weight: ${typographyWeights.semibold};
|
|
83795
|
-
&:hover {
|
|
83796
|
-
background: ${colors.blue90};
|
|
83797
|
-
border-color: ${colors.blue90};
|
|
83798
|
-
}
|
|
83799
|
-
${StyledSelectButtonLabel} {
|
|
83800
|
-
color: ${colors.blue45};
|
|
83801
|
-
}
|
|
83802
|
-
${StyledButton} {
|
|
83803
|
-
color: ${colors.blue45};
|
|
83804
|
-
&:hover {
|
|
83805
|
-
background: white;
|
|
83806
|
-
}
|
|
83807
|
-
}
|
|
83808
|
-
${StyledSelectArrow} {
|
|
83809
|
-
svg {
|
|
83810
|
-
fill: ${colors.blue45};
|
|
83811
|
-
}
|
|
83812
|
-
}
|
|
83813
|
-
`}
|
|
83814
|
-
}
|
|
83815
|
-
`;
|
|
83816
|
-
|
|
83817
|
-
// src/QuickFilterRenderers/DateQuickFilterRenderer.tsx
|
|
83818
|
-
function getPlacement2(currentSelectionType, position) {
|
|
83819
|
-
if (currentSelectionType === "single") {
|
|
83820
|
-
return "bottom-left";
|
|
83821
|
-
}
|
|
83822
|
-
if (position === "start") {
|
|
83823
|
-
return "bottom-left";
|
|
83824
|
-
}
|
|
83825
|
-
return "bottom-right";
|
|
83826
|
-
}
|
|
83827
|
-
var OptionalDateTimeProvider2 = ({ timeZone, children }) => {
|
|
83828
|
-
return timeZone ? /* @__PURE__ */ React76.createElement(DateTimeProvider, { timeZone }, children) : /* @__PURE__ */ React76.createElement(React76.Fragment, null, children);
|
|
83829
|
-
};
|
|
83830
|
-
var DateFilterSelect2 = React76.forwardRef(
|
|
83831
|
-
({
|
|
83832
|
-
afterHide,
|
|
83833
|
-
selectionType = "either",
|
|
83834
|
-
headerName,
|
|
83835
|
-
disabled,
|
|
83836
|
-
onChange,
|
|
83837
|
-
position,
|
|
83838
|
-
selectedValue,
|
|
83839
|
-
setSelectionType = () => {
|
|
83840
|
-
}
|
|
83841
|
-
}, ref) => {
|
|
83842
|
-
const dateTime = useDateTime();
|
|
83843
|
-
const { start, end } = selectedValue;
|
|
83844
|
-
const selectedDate = (position === "start" ? start : end) ?? void 0;
|
|
83845
|
-
const [displayed, setDisplayed2] = React76.useState(
|
|
83846
|
-
// @ts-ignore
|
|
83847
|
-
selectedDate || dateTime.newDate()
|
|
83848
|
-
);
|
|
83849
|
-
React76.useEffect(() => {
|
|
83850
|
-
if (isDate(start) && !isDate(end) && position === "end") {
|
|
83851
|
-
setDisplayed2(start);
|
|
83852
|
-
}
|
|
83853
|
-
if (!isDate(start) && isDate(end) && position === "start") {
|
|
83854
|
-
setDisplayed2(end);
|
|
83855
|
-
}
|
|
83856
|
-
}, [position, selectedValue]);
|
|
83857
|
-
function onClear() {
|
|
83858
|
-
onChange(null, position);
|
|
83859
|
-
}
|
|
83860
|
-
const clearRef = React76.useRef(null);
|
|
83861
|
-
const monthRef = React76.useRef(null);
|
|
83862
|
-
const yearRef = React76.useRef(null);
|
|
83863
|
-
const overlay = /* @__PURE__ */ React76.createElement(
|
|
83864
|
-
DateFilterOverlay,
|
|
83865
|
-
{
|
|
83866
|
-
displayDate: displayed,
|
|
83867
|
-
selectionType,
|
|
83868
|
-
monthRef,
|
|
83869
|
-
onSelect: (date) => {
|
|
83870
|
-
onChange(date, position);
|
|
83871
|
-
},
|
|
83872
|
-
position,
|
|
83873
|
-
selectedValue,
|
|
83874
|
-
setDisplayDate: setDisplayed2,
|
|
83875
|
-
setSelectionType,
|
|
83876
|
-
yearRef
|
|
83877
|
-
}
|
|
83878
|
-
);
|
|
83879
|
-
return /* @__PURE__ */ React76.createElement(
|
|
83880
|
-
OverlayTrigger,
|
|
83881
|
-
{
|
|
83882
|
-
afterHide,
|
|
83883
|
-
autoFocus: true,
|
|
83884
|
-
beforeShow: (e) => {
|
|
83885
|
-
if (isEventSource(clearRef, e)) {
|
|
83886
|
-
return false;
|
|
83887
|
-
}
|
|
83888
|
-
return true;
|
|
83889
|
-
},
|
|
83890
|
-
clickOutsideIgnoreRefs: [monthRef, yearRef],
|
|
83891
|
-
overlay,
|
|
83892
|
-
placement: getPlacement2(selectionType, position),
|
|
83893
|
-
ref,
|
|
83894
|
-
restoreFocusOnHide: true,
|
|
83895
|
-
role: "dialog"
|
|
83896
|
-
},
|
|
83897
|
-
/* @__PURE__ */ React76.createElement(
|
|
83898
|
-
DateQuickFilterLabel,
|
|
83899
|
-
{
|
|
83900
|
-
headerName,
|
|
83901
|
-
onClear,
|
|
83902
|
-
value: selectedDate,
|
|
83903
|
-
disabled
|
|
83904
|
-
}
|
|
83905
|
-
)
|
|
83906
|
-
);
|
|
83907
|
-
}
|
|
83908
|
-
);
|
|
83909
|
-
function DateFilter3({
|
|
83910
|
-
// TODO: talk to design about potential loading UX for this.
|
|
83911
|
-
// core DateSelect doesn't have it
|
|
83912
|
-
// loading,
|
|
83913
|
-
headerName,
|
|
83914
|
-
onChange,
|
|
83915
|
-
selectionType = "either",
|
|
83916
|
-
value,
|
|
83917
|
-
disabled,
|
|
83918
|
-
...props
|
|
83919
|
-
}) {
|
|
83920
|
-
const [selectedValue, setSelectedValue] = React76.useState({
|
|
83921
|
-
type: selectionType === "either" ? "range" : selectionType
|
|
83922
|
-
});
|
|
83923
|
-
React76.useEffect(() => {
|
|
83924
|
-
const parsedValue = value.map((date) => {
|
|
83925
|
-
if (isDate(date)) {
|
|
83926
|
-
return date;
|
|
83927
|
-
}
|
|
83928
|
-
return parseISO(String(date));
|
|
83929
|
-
});
|
|
83930
|
-
const type = isSameDay(parsedValue[0], parsedValue[1]) ? "single" : "range";
|
|
83931
|
-
setSelectedValue({ type, start: parsedValue[0], end: parsedValue[1] });
|
|
83932
|
-
}, [value]);
|
|
83933
|
-
const dateRangeEndDateRef = React76.useRef(null);
|
|
83934
|
-
function dateFilterOnChange(date, position) {
|
|
83935
|
-
const newValue = getValueFromSelection(selectedValue, date, position);
|
|
83936
|
-
setSelectedValue(newValue);
|
|
83937
|
-
if (isValidDateSelection(newValue)) {
|
|
83938
|
-
onChange(
|
|
83939
|
-
newValue.start || newValue.end ? [
|
|
83940
|
-
newValue.start,
|
|
83941
|
-
newValue.type === "single" ? newValue.start : newValue.end
|
|
83942
|
-
] : []
|
|
83943
|
-
);
|
|
83944
|
-
}
|
|
83945
|
-
}
|
|
83946
|
-
const onSelectionTypeChange = React76.useCallback(
|
|
83947
|
-
(newSelectionType) => {
|
|
83948
|
-
setSelectedValue({ type: newSelectionType });
|
|
83949
|
-
},
|
|
83950
|
-
[setSelectedValue]
|
|
83951
|
-
);
|
|
83952
|
-
function dateRangeAfterHide() {
|
|
83953
|
-
var _a;
|
|
83954
|
-
if (selectedValue.type === "range" && isDate(selectedValue.start) && !isDate(selectedValue.end)) {
|
|
83955
|
-
(_a = dateRangeEndDateRef.current) == null ? void 0 : _a.click();
|
|
83956
|
-
}
|
|
83957
|
-
return true;
|
|
83958
|
-
}
|
|
83959
|
-
return /* @__PURE__ */ React76.createElement(FlexList, { space: "xs", "data-qa": props["data-qa"] }, /* @__PURE__ */ React76.createElement(
|
|
83960
|
-
DateFilterSelect2,
|
|
83961
|
-
{
|
|
83962
|
-
afterHide: dateRangeAfterHide,
|
|
83963
|
-
headerName,
|
|
83964
|
-
onChange: dateFilterOnChange,
|
|
83965
|
-
position: "start",
|
|
83966
|
-
selectedValue,
|
|
83967
|
-
selectionType,
|
|
83968
|
-
setSelectionType: onSelectionTypeChange,
|
|
83969
|
-
disabled
|
|
83970
|
-
}
|
|
83971
|
-
), selectedValue.type === "range" && /* @__PURE__ */ React76.createElement(
|
|
83972
|
-
DateFilterSelect2,
|
|
83973
|
-
{
|
|
83974
|
-
headerName,
|
|
83975
|
-
onChange: dateFilterOnChange,
|
|
83976
|
-
position: "end",
|
|
83977
|
-
ref: dateRangeEndDateRef,
|
|
83978
|
-
selectedValue,
|
|
83979
|
-
selectionType,
|
|
83980
|
-
setSelectionType: onSelectionTypeChange,
|
|
83981
|
-
disabled
|
|
83982
|
-
}
|
|
83983
|
-
));
|
|
83984
|
-
}
|
|
83985
|
-
function ServerSideQuickDateFilterRenderer({
|
|
83986
|
-
columnDefinition,
|
|
83987
|
-
disabled
|
|
83988
|
-
}) {
|
|
83989
|
-
var _a;
|
|
83990
|
-
const { onChange, value = [] } = useServerSideFilter({
|
|
83991
|
-
columnDefinition
|
|
83992
|
-
});
|
|
83993
|
-
const colDef = columnDefinition;
|
|
83994
|
-
return /* @__PURE__ */ React76.createElement(OptionalDateTimeProvider2, { timeZone: colDef.timeZone }, /* @__PURE__ */ React76.createElement(
|
|
83995
|
-
DateFilter3,
|
|
83996
|
-
{
|
|
83997
|
-
selectionType: ((_a = colDef.filterProps) == null ? void 0 : _a.selectionType) ?? "either",
|
|
83998
|
-
headerName: colDef.headerName,
|
|
83999
|
-
disabled,
|
|
84000
|
-
onChange: (selected) => {
|
|
84001
|
-
onChange(
|
|
84002
|
-
selected.map((date) => {
|
|
84003
|
-
return date ? {
|
|
84004
|
-
// future extensions can go here (month, day, year keys etc)
|
|
84005
|
-
date
|
|
84006
|
-
} : (
|
|
84007
|
-
// TODO: refactor out date-specific getId stuff from useServerSideFilterStorage
|
|
84008
|
-
date
|
|
84009
|
-
);
|
|
84010
|
-
})
|
|
84011
|
-
);
|
|
84012
|
-
},
|
|
84013
|
-
value: value.map((option) => option ? option.date : option)
|
|
84014
|
-
}
|
|
84015
|
-
));
|
|
84016
|
-
}
|
|
84017
|
-
var QuickDateFilterRenderer = (props) => {
|
|
84018
|
-
const { onServerSideDataRequest } = useInternalTableContext();
|
|
84019
|
-
if (onServerSideDataRequest) {
|
|
84020
|
-
return /* @__PURE__ */ React76.createElement(ServerSideQuickDateFilterRenderer, { ...props });
|
|
84021
|
-
}
|
|
84022
|
-
logger.error(
|
|
84023
|
-
"Warning: Date Filters are currently only implemented for the serverside row model"
|
|
84024
|
-
);
|
|
84025
|
-
return null;
|
|
84026
|
-
};
|
|
84027
|
-
var dateInputLocales = {
|
|
84028
|
-
"fr-CA": {
|
|
84029
|
-
placeholders: { day: "jj", month: "mm", year: "aaaa" }
|
|
84030
|
-
},
|
|
84031
|
-
"fr-FR": {
|
|
84032
|
-
placeholders: { day: "jj", month: "mm", year: "aaaa" }
|
|
84033
|
-
},
|
|
84034
|
-
es: {
|
|
84035
|
-
placeholders: { day: "dd", month: "mm", year: "aaaa" }
|
|
84036
|
-
},
|
|
84037
|
-
"es-ES": {
|
|
84038
|
-
placeholders: { day: "dd", month: "mm", year: "aaaa" }
|
|
84039
|
-
},
|
|
84040
|
-
pt: {
|
|
84041
|
-
placeholders: { day: "dd", month: "mm", year: "aaaa" }
|
|
84042
|
-
},
|
|
84043
|
-
"is-IS": {
|
|
84044
|
-
placeholders: { day: "dd", month: "mm", year: "\xE1\xE1\xE1\xE1" }
|
|
84045
|
-
},
|
|
84046
|
-
"de-DE": {
|
|
84047
|
-
placeholders: { day: "tt", month: "MM", year: "jjjj" }
|
|
84048
|
-
}
|
|
84049
|
-
};
|
|
84050
|
-
var DateQuickFilterLabel = React76.forwardRef(({ headerName, onClear, value, disabled }, ref) => {
|
|
84051
|
-
var _a;
|
|
84052
|
-
const dateTime = useDateTime();
|
|
84053
|
-
const i18n = useI18nContext();
|
|
84054
|
-
const placeholders = ((_a = dateInputLocales[i18n.locale]) == null ? void 0 : _a.placeholders) || {
|
|
84055
|
-
day: "dd",
|
|
84056
|
-
month: "mm",
|
|
84057
|
-
year: "yyyy"
|
|
84058
|
-
};
|
|
84059
|
-
if (value !== void 0 && isDate(value)) {
|
|
84060
|
-
return /* @__PURE__ */ React76.createElement(
|
|
84061
|
-
QuickFilterLabel,
|
|
84062
|
-
{
|
|
84063
|
-
enabled: true,
|
|
84064
|
-
disabled,
|
|
84065
|
-
label: `${headerName}: ${dateTime.format(value, "numeric-date")}`,
|
|
84066
|
-
onClear,
|
|
84067
|
-
ref
|
|
84068
|
-
}
|
|
84069
|
-
);
|
|
84070
|
-
}
|
|
84071
|
-
return /* @__PURE__ */ React76.createElement(
|
|
84072
|
-
QuickFilterLabel,
|
|
84073
|
-
{
|
|
84074
|
-
enabled: false,
|
|
84075
|
-
disabled,
|
|
84076
|
-
label: `${headerName}: ${getDatePlaceholder(i18n.locale, placeholders)}`,
|
|
84077
|
-
ref
|
|
84078
|
-
}
|
|
84079
|
-
);
|
|
84080
|
-
});
|
|
84081
|
-
var DateQuickFilterRenderer_default = QuickDateFilterRenderer;
|
|
84082
|
-
var defaultGetId2 = (option) => option == null ? void 0 : option.id;
|
|
84083
|
-
var defaultGetLabel2 = (option) => {
|
|
84084
|
-
return (option == null ? void 0 : option.label) ?? (option == null ? void 0 : option.name) ?? option;
|
|
83586
|
+
});
|
|
83587
|
+
var DateQuickFilterRenderer_default = QuickDateFilterRenderer;
|
|
83588
|
+
var defaultGetId2 = (option) => option == null ? void 0 : option.id;
|
|
83589
|
+
var defaultGetLabel2 = (option) => {
|
|
83590
|
+
return (option == null ? void 0 : option.label) ?? (option == null ? void 0 : option.name) ?? option;
|
|
84085
83591
|
};
|
|
84086
83592
|
var useSuperSelectOptionAsValueWorkaround = ({
|
|
84087
83593
|
originValue,
|
|
@@ -84414,7 +83920,7 @@ var LocationQuickFilterRenderer = ({
|
|
|
84414
83920
|
);
|
|
84415
83921
|
};
|
|
84416
83922
|
var LocationQuickFilterRenderer_default = LocationQuickFilterRenderer;
|
|
84417
|
-
var StyledFilterPresetPopoverContent =
|
|
83923
|
+
var StyledFilterPresetPopoverContent = styled3(Popover.Content)`
|
|
84418
83924
|
padding: ${spacing.sm}px ${spacing.lg}px;
|
|
84419
83925
|
`;
|
|
84420
83926
|
var getValueLabel = (isValueEmpty, value, placeholder, filterName) => {
|
|
@@ -84498,7 +84004,7 @@ var getSuperSelectFilterPreset = (columnDefinition) => {
|
|
|
84498
84004
|
selectionStyle: "highlight"
|
|
84499
84005
|
};
|
|
84500
84006
|
};
|
|
84501
|
-
var StyledSuperSelectWrapper =
|
|
84007
|
+
var StyledSuperSelectWrapper = styled3.div`
|
|
84502
84008
|
${UNSAFE_StyledSuperSelectTrigger} {
|
|
84503
84009
|
width: auto;
|
|
84504
84010
|
}
|
|
@@ -84573,236 +84079,875 @@ var ClientSideMultiSelectQuickFilter = ({
|
|
|
84573
84079
|
onRemove == null ? void 0 : onRemove();
|
|
84574
84080
|
return;
|
|
84575
84081
|
}
|
|
84576
|
-
onChange == null ? void 0 : onChange(values2);
|
|
84577
|
-
},
|
|
84578
|
-
...getSuperSelectFilterPreset(columnDefinition)
|
|
84579
|
-
}
|
|
84580
|
-
));
|
|
84082
|
+
onChange == null ? void 0 : onChange(values2);
|
|
84083
|
+
},
|
|
84084
|
+
...getSuperSelectFilterPreset(columnDefinition)
|
|
84085
|
+
}
|
|
84086
|
+
));
|
|
84087
|
+
};
|
|
84088
|
+
var useSuperSelectOptionAsValueWorkaround2 = ({
|
|
84089
|
+
originValue,
|
|
84090
|
+
originOptions,
|
|
84091
|
+
getId: getId3,
|
|
84092
|
+
loading
|
|
84093
|
+
}) => {
|
|
84094
|
+
const isValueFromOptions = React76.useRef(false);
|
|
84095
|
+
const getValueFromOptions = () => {
|
|
84096
|
+
const valueIds = originValue.map((option) => getId(getId3, option));
|
|
84097
|
+
isValueFromOptions.current = true;
|
|
84098
|
+
return originOptions.filter(
|
|
84099
|
+
(option) => valueIds.includes(getId(getId3, option))
|
|
84100
|
+
);
|
|
84101
|
+
};
|
|
84102
|
+
const hasOptions = originOptions.length > 0 && !loading;
|
|
84103
|
+
const hasValue = (originValue == null ? void 0 : originValue.length) > 0;
|
|
84104
|
+
const options = !hasOptions && hasValue ? originValue : originOptions;
|
|
84105
|
+
const value = !hasOptions ? originValue : isValueFromOptions.current ? originValue : getValueFromOptions();
|
|
84106
|
+
return {
|
|
84107
|
+
options,
|
|
84108
|
+
value,
|
|
84109
|
+
getOptionValue: (option) => option
|
|
84110
|
+
};
|
|
84111
|
+
};
|
|
84112
|
+
var ServerSideMultiSelectQuickFilter = ({ columnDefinition, overlayMatchesTriggerWidth, disabled }) => {
|
|
84113
|
+
var _a;
|
|
84114
|
+
const {
|
|
84115
|
+
options: originOptions,
|
|
84116
|
+
onClearFilter,
|
|
84117
|
+
fieldName,
|
|
84118
|
+
value: originValue = [],
|
|
84119
|
+
onChange,
|
|
84120
|
+
getOptions,
|
|
84121
|
+
loading
|
|
84122
|
+
} = useServerSideFilter({ columnDefinition });
|
|
84123
|
+
const { options, value, getOptionValue } = useSuperSelectOptionAsValueWorkaround2({
|
|
84124
|
+
originOptions,
|
|
84125
|
+
originValue,
|
|
84126
|
+
loading,
|
|
84127
|
+
getId: (_a = columnDefinition.filterProps) == null ? void 0 : _a.getId
|
|
84128
|
+
});
|
|
84129
|
+
return /* @__PURE__ */ React76.createElement(StyledSuperSelectWrapper, { $enabled: Boolean(value == null ? void 0 : value.length) }, /* @__PURE__ */ React76.createElement(
|
|
84130
|
+
UNSAFE_SuperSelect,
|
|
84131
|
+
{
|
|
84132
|
+
overlayMatchesTriggerWidth,
|
|
84133
|
+
loading,
|
|
84134
|
+
value: value === null ? [] : value,
|
|
84135
|
+
search: false,
|
|
84136
|
+
getOptionLabel: (option) => {
|
|
84137
|
+
var _a2;
|
|
84138
|
+
return getLabel((_a2 = columnDefinition.filterProps) == null ? void 0 : _a2.getLabel, option);
|
|
84139
|
+
},
|
|
84140
|
+
getOptionValue,
|
|
84141
|
+
multiple: true,
|
|
84142
|
+
options,
|
|
84143
|
+
disabled,
|
|
84144
|
+
onChange: (values2) => {
|
|
84145
|
+
if (Array.isArray(values2) && !values2.length) {
|
|
84146
|
+
onClearFilter == null ? void 0 : onClearFilter(fieldName);
|
|
84147
|
+
getOptions();
|
|
84148
|
+
return;
|
|
84149
|
+
}
|
|
84150
|
+
onChange(values2);
|
|
84151
|
+
},
|
|
84152
|
+
onOpenChange: (open) => {
|
|
84153
|
+
if (open && !originOptions.length) {
|
|
84154
|
+
getOptions();
|
|
84155
|
+
}
|
|
84156
|
+
},
|
|
84157
|
+
...getSuperSelectFilterPreset(columnDefinition)
|
|
84158
|
+
}
|
|
84159
|
+
));
|
|
84160
|
+
};
|
|
84161
|
+
var MultiSelectQuickFilterRenderer = (props) => {
|
|
84162
|
+
const { onServerSideDataRequest } = useInternalTableContext();
|
|
84163
|
+
if (!isClientSideFilterProps(props, !!onServerSideDataRequest)) {
|
|
84164
|
+
return /* @__PURE__ */ React76.createElement(ServerSideMultiSelectQuickFilter, { ...props });
|
|
84165
|
+
}
|
|
84166
|
+
return /* @__PURE__ */ React76.createElement(ClientSideMultiSelectQuickFilter, { ...props });
|
|
84167
|
+
};
|
|
84168
|
+
var MultiSelectQuickFilterRenderer_default = MultiSelectQuickFilterRenderer;
|
|
84169
|
+
function getFilterTokenText(columnDefinition, filterValue) {
|
|
84170
|
+
var _a, _b, _c, _d;
|
|
84171
|
+
if ((_a = columnDefinition == null ? void 0 : columnDefinition.filterProps) == null ? void 0 : _a.getFilterTokenText) {
|
|
84172
|
+
return (_c = (_b = columnDefinition == null ? void 0 : columnDefinition.filterProps) == null ? void 0 : _b.getFilterTokenText) == null ? void 0 : _c.call(_b, {
|
|
84173
|
+
headerName: (columnDefinition == null ? void 0 : columnDefinition.headerName) || "",
|
|
84174
|
+
value: filterValue
|
|
84175
|
+
});
|
|
84176
|
+
}
|
|
84177
|
+
if (columnDefinition.filterRenderer === DateFilterRenderer_default) {
|
|
84178
|
+
return /* @__PURE__ */ React76.createElement(
|
|
84179
|
+
OptionalDateTimeProvider,
|
|
84180
|
+
{
|
|
84181
|
+
timeZone: columnDefinition.timeZone
|
|
84182
|
+
},
|
|
84183
|
+
/* @__PURE__ */ React76.createElement(
|
|
84184
|
+
DateFilterTokenText,
|
|
84185
|
+
{
|
|
84186
|
+
headerName: columnDefinition.headerName,
|
|
84187
|
+
value: filterValue
|
|
84188
|
+
}
|
|
84189
|
+
)
|
|
84190
|
+
);
|
|
84191
|
+
}
|
|
84192
|
+
if (columnDefinition.filterRenderer === NumberFilterRenderer) {
|
|
84193
|
+
return columnDefinition == null ? void 0 : columnDefinition.headerName;
|
|
84194
|
+
}
|
|
84195
|
+
if (Array.isArray(filterValue)) {
|
|
84196
|
+
if (filterValue.length === 0) {
|
|
84197
|
+
return columnDefinition == null ? void 0 : columnDefinition.headerName;
|
|
84198
|
+
}
|
|
84199
|
+
if (filterValue.length === 1) {
|
|
84200
|
+
return `${columnDefinition == null ? void 0 : columnDefinition.headerName}: ${getLabel(
|
|
84201
|
+
(_d = columnDefinition.filterProps) == null ? void 0 : _d.getLabel,
|
|
84202
|
+
filterValue[0]
|
|
84203
|
+
)}`;
|
|
84204
|
+
}
|
|
84205
|
+
return `${columnDefinition == null ? void 0 : columnDefinition.headerName}: (${filterValue.length})`;
|
|
84206
|
+
}
|
|
84207
|
+
return columnDefinition == null ? void 0 : columnDefinition.headerName;
|
|
84208
|
+
}
|
|
84209
|
+
var ensureArray = (input) => {
|
|
84210
|
+
if (input === null) {
|
|
84211
|
+
return [];
|
|
84212
|
+
}
|
|
84213
|
+
return Array.isArray(input) ? input : [input];
|
|
84214
|
+
};
|
|
84215
|
+
|
|
84216
|
+
// src/QuickFilterRenderers/SingleSelectQuickFilterRenderer.tsx
|
|
84217
|
+
var ClientSideSingleSelectQuickFilter = ({
|
|
84218
|
+
filter,
|
|
84219
|
+
columnDefinition,
|
|
84220
|
+
onChange,
|
|
84221
|
+
onRemove,
|
|
84222
|
+
overlayMatchesTriggerWidth,
|
|
84223
|
+
disabled
|
|
84224
|
+
}) => {
|
|
84225
|
+
var _a;
|
|
84226
|
+
return /* @__PURE__ */ React76.createElement(
|
|
84227
|
+
StyledSuperSelectWrapper,
|
|
84228
|
+
{
|
|
84229
|
+
$enabled: Boolean((_a = filter.filterValues) == null ? void 0 : _a.length),
|
|
84230
|
+
"data-test-id": "client-side-single-select-quick-filter"
|
|
84231
|
+
},
|
|
84232
|
+
/* @__PURE__ */ React76.createElement(
|
|
84233
|
+
UNSAFE_SuperSelect,
|
|
84234
|
+
{
|
|
84235
|
+
overlayMatchesTriggerWidth,
|
|
84236
|
+
value: filter.filterValues ?? [],
|
|
84237
|
+
search: false,
|
|
84238
|
+
multiple: false,
|
|
84239
|
+
options: filter.options,
|
|
84240
|
+
disabled,
|
|
84241
|
+
getOptionValue: (option) => {
|
|
84242
|
+
var _a2;
|
|
84243
|
+
return getId((_a2 = columnDefinition.filterProps) == null ? void 0 : _a2.getId, option);
|
|
84244
|
+
},
|
|
84245
|
+
getOptionLabel: (option) => {
|
|
84246
|
+
var _a2;
|
|
84247
|
+
return getLabel((_a2 = columnDefinition.filterProps) == null ? void 0 : _a2.getLabel, option);
|
|
84248
|
+
},
|
|
84249
|
+
onChange: (values2) => {
|
|
84250
|
+
const valuesArray = ensureArray(values2);
|
|
84251
|
+
if (!valuesArray.length) {
|
|
84252
|
+
onRemove == null ? void 0 : onRemove();
|
|
84253
|
+
return;
|
|
84254
|
+
}
|
|
84255
|
+
onChange == null ? void 0 : onChange(valuesArray);
|
|
84256
|
+
},
|
|
84257
|
+
...getSuperSelectFilterPreset(columnDefinition)
|
|
84258
|
+
}
|
|
84259
|
+
)
|
|
84260
|
+
);
|
|
84261
|
+
};
|
|
84262
|
+
var useSuperSelectOptionAsValueWorkaround3 = ({
|
|
84263
|
+
originValue,
|
|
84264
|
+
originOptions,
|
|
84265
|
+
getId: getId3,
|
|
84266
|
+
loading
|
|
84267
|
+
}) => {
|
|
84268
|
+
const isValueFromOptions = React76.useRef(false);
|
|
84269
|
+
const getValueFromOptions = () => {
|
|
84270
|
+
const valueIds = originValue.map((option) => getId(getId3, option));
|
|
84271
|
+
isValueFromOptions.current = true;
|
|
84272
|
+
return originOptions.filter(
|
|
84273
|
+
(option) => valueIds.includes(getId(getId3, option))
|
|
84274
|
+
);
|
|
84275
|
+
};
|
|
84276
|
+
const hasOptions = originOptions.length > 0 && !loading;
|
|
84277
|
+
const hasValue = (originValue == null ? void 0 : originValue.length) > 0;
|
|
84278
|
+
const options = !hasOptions && hasValue ? originValue : originOptions;
|
|
84279
|
+
const value = !hasOptions ? originValue : isValueFromOptions.current ? originValue : getValueFromOptions();
|
|
84280
|
+
return {
|
|
84281
|
+
options,
|
|
84282
|
+
value,
|
|
84283
|
+
getOptionValue: (option) => option
|
|
84284
|
+
};
|
|
84285
|
+
};
|
|
84286
|
+
var ServerSideSingleSelectQuickFilter = ({ columnDefinition, overlayMatchesTriggerWidth, disabled }) => {
|
|
84287
|
+
var _a;
|
|
84288
|
+
const {
|
|
84289
|
+
options: originOptions,
|
|
84290
|
+
onClearFilter,
|
|
84291
|
+
fieldName,
|
|
84292
|
+
value: originValue = [],
|
|
84293
|
+
onChange,
|
|
84294
|
+
getOptions,
|
|
84295
|
+
loading
|
|
84296
|
+
} = useServerSideFilter({ columnDefinition });
|
|
84297
|
+
const { options, value, getOptionValue } = useSuperSelectOptionAsValueWorkaround3({
|
|
84298
|
+
originOptions,
|
|
84299
|
+
originValue,
|
|
84300
|
+
loading,
|
|
84301
|
+
getId: (_a = columnDefinition.filterProps) == null ? void 0 : _a.getId
|
|
84302
|
+
});
|
|
84303
|
+
const hasFetchedOptions = React76.useRef(false);
|
|
84304
|
+
React76.useEffect(() => {
|
|
84305
|
+
if (!hasFetchedOptions.current && !originOptions.length) {
|
|
84306
|
+
getOptions();
|
|
84307
|
+
hasFetchedOptions.current = true;
|
|
84308
|
+
}
|
|
84309
|
+
}, [getOptions, originOptions.length]);
|
|
84310
|
+
const handleOnChange = (values2) => {
|
|
84311
|
+
const selectedValues = ensureArray(values2);
|
|
84312
|
+
if (!selectedValues.length) {
|
|
84313
|
+
onClearFilter == null ? void 0 : onClearFilter(fieldName);
|
|
84314
|
+
getOptions();
|
|
84315
|
+
return;
|
|
84316
|
+
}
|
|
84317
|
+
onChange(selectedValues);
|
|
84318
|
+
};
|
|
84319
|
+
const handleOnOpenChange = (open) => {
|
|
84320
|
+
if (open && !originOptions.length) {
|
|
84321
|
+
getOptions();
|
|
84322
|
+
}
|
|
84323
|
+
};
|
|
84324
|
+
return /* @__PURE__ */ React76.createElement(
|
|
84325
|
+
StyledSuperSelectWrapper,
|
|
84326
|
+
{
|
|
84327
|
+
$enabled: Boolean(value == null ? void 0 : value.length),
|
|
84328
|
+
"data-test-id": "server-side-single-select-quick-filter"
|
|
84329
|
+
},
|
|
84330
|
+
/* @__PURE__ */ React76.createElement(
|
|
84331
|
+
UNSAFE_SuperSelect,
|
|
84332
|
+
{
|
|
84333
|
+
overlayMatchesTriggerWidth,
|
|
84334
|
+
loading,
|
|
84335
|
+
value: value ?? [],
|
|
84336
|
+
search: false,
|
|
84337
|
+
disabled,
|
|
84338
|
+
getOptionLabel: (option) => {
|
|
84339
|
+
var _a2;
|
|
84340
|
+
return getLabel((_a2 = columnDefinition.filterProps) == null ? void 0 : _a2.getLabel, option);
|
|
84341
|
+
},
|
|
84342
|
+
getOptionValue,
|
|
84343
|
+
multiple: false,
|
|
84344
|
+
options,
|
|
84345
|
+
onChange: handleOnChange,
|
|
84346
|
+
onOpenChange: handleOnOpenChange,
|
|
84347
|
+
...getSuperSelectFilterPreset(columnDefinition)
|
|
84348
|
+
}
|
|
84349
|
+
)
|
|
84350
|
+
);
|
|
84351
|
+
};
|
|
84352
|
+
var SingleSelectQuickFilterRenderer = (props) => {
|
|
84353
|
+
const { onServerSideDataRequest } = useInternalTableContext();
|
|
84354
|
+
if (!isClientSideFilterProps(props, !!onServerSideDataRequest)) {
|
|
84355
|
+
return /* @__PURE__ */ React76.createElement(ServerSideSingleSelectQuickFilter, { ...props });
|
|
84356
|
+
}
|
|
84357
|
+
return /* @__PURE__ */ React76.createElement(ClientSideSingleSelectQuickFilter, { ...props });
|
|
84358
|
+
};
|
|
84359
|
+
var SingleSelectQuickFilterRenderer_default = SingleSelectQuickFilterRenderer;
|
|
84360
|
+
var FiltersPanelToggleButton = ({ hasSelectedFilters, hasDefinedFilters }) => {
|
|
84361
|
+
const I18n = useI18nContext();
|
|
84362
|
+
const { contextPanel } = useInternalTableContext();
|
|
84363
|
+
const hasNoContent = useTableHasNoContent();
|
|
84364
|
+
if (!hasDefinedFilters) {
|
|
84365
|
+
return null;
|
|
84366
|
+
}
|
|
84367
|
+
return /* @__PURE__ */ React76.createElement(
|
|
84368
|
+
EmptyResultsControlTooltip,
|
|
84369
|
+
{
|
|
84370
|
+
featureI18nKey: "featureFilter",
|
|
84371
|
+
enabled: hasNoContent
|
|
84372
|
+
},
|
|
84373
|
+
/* @__PURE__ */ React76.createElement(
|
|
84374
|
+
ToggleButton,
|
|
84375
|
+
{
|
|
84376
|
+
"data-qa": "data-table-show-filters-button",
|
|
84377
|
+
disabled: hasNoContent,
|
|
84378
|
+
icon: /* @__PURE__ */ React76.createElement(FilterIcon, null),
|
|
84379
|
+
onClick: () => {
|
|
84380
|
+
if (contextPanel.content === "filters") {
|
|
84381
|
+
contextPanel.hide();
|
|
84382
|
+
} else {
|
|
84383
|
+
contextPanel.show("filters");
|
|
84384
|
+
}
|
|
84385
|
+
},
|
|
84386
|
+
selected: contextPanel.content === "filters"
|
|
84387
|
+
},
|
|
84388
|
+
hasSelectedFilters ? I18n.t("dataTable.filters.moreFilters") : I18n.t("dataTable.filters.filters")
|
|
84389
|
+
)
|
|
84390
|
+
);
|
|
84391
|
+
};
|
|
84392
|
+
var ServerSideFiltersPanelToggleButton = () => {
|
|
84393
|
+
const {
|
|
84394
|
+
filterStorage: { hasDefinedFilters, hasSelectedFilters }
|
|
84395
|
+
} = useInternalTableContext();
|
|
84396
|
+
return /* @__PURE__ */ React76.createElement(
|
|
84397
|
+
FiltersPanelToggleButton,
|
|
84398
|
+
{
|
|
84399
|
+
hasDefinedFilters,
|
|
84400
|
+
hasSelectedFilters
|
|
84401
|
+
}
|
|
84402
|
+
);
|
|
84403
|
+
};
|
|
84404
|
+
var ClientSideFiltersPanelToggleButton = () => {
|
|
84405
|
+
const { filterState } = useInternalTableContext();
|
|
84406
|
+
const activeFilters = React76.useMemo(() => {
|
|
84407
|
+
return filterState.allAvailableFilters.filter(({ instance }) => {
|
|
84408
|
+
return instance.isFilterActive();
|
|
84409
|
+
});
|
|
84410
|
+
}, [filterState.allAvailableFilters]);
|
|
84411
|
+
return /* @__PURE__ */ React76.createElement(
|
|
84412
|
+
FiltersPanelToggleButton,
|
|
84413
|
+
{
|
|
84414
|
+
hasDefinedFilters: filterState.allAvailableFilters.length > 0,
|
|
84415
|
+
hasSelectedFilters: activeFilters.length > 0
|
|
84416
|
+
}
|
|
84417
|
+
);
|
|
84418
|
+
};
|
|
84419
|
+
|
|
84420
|
+
// src/QuickControls/QuickFilters.tsx
|
|
84421
|
+
var defaultQuickFilterRenderers = {
|
|
84422
|
+
MultiSelectFilterRenderer: MultiSelectQuickFilterRenderer_default,
|
|
84423
|
+
DateFilterRenderer: DateQuickFilterRenderer_default,
|
|
84424
|
+
LocationFilterRenderer: LocationQuickFilterRenderer_default,
|
|
84425
|
+
SingleSelectFilterRenderer: SingleSelectQuickFilterRenderer_default
|
|
84426
|
+
};
|
|
84427
|
+
function getQuickFilterRenderer(colDef) {
|
|
84428
|
+
var _a;
|
|
84429
|
+
if (!colDef)
|
|
84430
|
+
return null;
|
|
84431
|
+
if (colDef.quickFilterRenderer) {
|
|
84432
|
+
return colDef.quickFilterRenderer;
|
|
84433
|
+
}
|
|
84434
|
+
const filterRendererName = (_a = colDef.filterRenderer) == null ? void 0 : _a.displayName;
|
|
84435
|
+
if (filterRendererName) {
|
|
84436
|
+
return defaultQuickFilterRenderers[filterRendererName] || null;
|
|
84437
|
+
}
|
|
84438
|
+
return null;
|
|
84439
|
+
}
|
|
84440
|
+
var FilterIcon = () => {
|
|
84441
|
+
return /* @__PURE__ */ React76.createElement(
|
|
84442
|
+
"svg",
|
|
84443
|
+
{
|
|
84444
|
+
focusable: false,
|
|
84445
|
+
width: "16",
|
|
84446
|
+
height: "16",
|
|
84447
|
+
viewBox: "0 0 20 20",
|
|
84448
|
+
fill: "none",
|
|
84449
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
84450
|
+
},
|
|
84451
|
+
/* @__PURE__ */ React76.createElement(
|
|
84452
|
+
"path",
|
|
84453
|
+
{
|
|
84454
|
+
fillRule: "evenodd",
|
|
84455
|
+
clipRule: "evenodd",
|
|
84456
|
+
d: "M3 5V7H17V5H3ZM8 15H12V13H8V15ZM15 11H5V9H15V11Z",
|
|
84457
|
+
fill: "currentColor"
|
|
84458
|
+
}
|
|
84459
|
+
)
|
|
84460
|
+
);
|
|
84461
|
+
};
|
|
84462
|
+
var StyledFilterTokenWrapper = styled3.div`
|
|
84463
|
+
${UNSAFE_StyledFilterTokenLabel} {
|
|
84464
|
+
font-weight: ${typographyWeights.semibold};
|
|
84465
|
+
}
|
|
84466
|
+
`;
|
|
84467
|
+
var ClientSideQuickFilters = ({ overlayMatchesTriggerWidth }) => {
|
|
84468
|
+
const { tableRef, filterState, getColumnDefinition } = useInternalTableContext();
|
|
84469
|
+
const hasNoContent = useTableHasNoContent();
|
|
84470
|
+
const { quickFilters, tokens } = React76.useMemo(() => {
|
|
84471
|
+
return filterState.allAvailableFilters.reduce(
|
|
84472
|
+
(acc, filter) => {
|
|
84473
|
+
var _a;
|
|
84474
|
+
const colDef = getColumnDefinition(filter.field);
|
|
84475
|
+
if (!colDef) {
|
|
84476
|
+
return acc;
|
|
84477
|
+
}
|
|
84478
|
+
const isInteractive = ((_a = colDef == null ? void 0 : colDef.filterProps) == null ? void 0 : _a.isInteractiveFilterToken) === true;
|
|
84479
|
+
const hasQuickFilterRenderer = !!(colDef == null ? void 0 : colDef.quickFilterRenderer);
|
|
84480
|
+
const filterIsActive = filter.instance.isFilterActive();
|
|
84481
|
+
if (hasQuickFilterRenderer || filterIsActive && isInteractive && getQuickFilterRenderer(colDef) !== null) {
|
|
84482
|
+
return { ...acc, quickFilters: [...acc.quickFilters, filter] };
|
|
84483
|
+
} else if (filterIsActive) {
|
|
84484
|
+
return { ...acc, tokens: [...acc.tokens, filter] };
|
|
84485
|
+
}
|
|
84486
|
+
return acc;
|
|
84487
|
+
},
|
|
84488
|
+
{
|
|
84489
|
+
quickFilters: [],
|
|
84490
|
+
tokens: []
|
|
84491
|
+
}
|
|
84492
|
+
);
|
|
84493
|
+
}, [filterState.allAvailableFilters, getColumnDefinition]);
|
|
84494
|
+
const isEmpty2 = quickFilters.length === 0 && tokens.length === 0;
|
|
84495
|
+
return isEmpty2 ? null : /* @__PURE__ */ React76.createElement(
|
|
84496
|
+
FlexList,
|
|
84497
|
+
{
|
|
84498
|
+
padding: "xs none",
|
|
84499
|
+
size: "none",
|
|
84500
|
+
alignItems: "center",
|
|
84501
|
+
wrap: "wrap",
|
|
84502
|
+
gap: "sm"
|
|
84503
|
+
},
|
|
84504
|
+
quickFilters.map((filter) => {
|
|
84505
|
+
const colDef = getColumnDefinition(filter.field);
|
|
84506
|
+
const QuickFilter = getQuickFilterRenderer(colDef);
|
|
84507
|
+
if (!colDef || !QuickFilter) {
|
|
84508
|
+
return null;
|
|
84509
|
+
}
|
|
84510
|
+
return /* @__PURE__ */ React76.createElement(
|
|
84511
|
+
EmptyResultsControlTooltip,
|
|
84512
|
+
{
|
|
84513
|
+
featureI18nKey: "featureQuickFilter",
|
|
84514
|
+
enabled: hasNoContent
|
|
84515
|
+
},
|
|
84516
|
+
/* @__PURE__ */ React76.createElement(
|
|
84517
|
+
QuickFilter,
|
|
84518
|
+
{
|
|
84519
|
+
key: filter.field,
|
|
84520
|
+
filter,
|
|
84521
|
+
columnDefinition: colDef,
|
|
84522
|
+
disabled: hasNoContent,
|
|
84523
|
+
onChange: (value) => {
|
|
84524
|
+
var _a;
|
|
84525
|
+
return (_a = tableRef == null ? void 0 : tableRef.current) == null ? void 0 : _a.applyListFilter(filter.field, value);
|
|
84526
|
+
},
|
|
84527
|
+
onRemove: () => {
|
|
84528
|
+
var _a;
|
|
84529
|
+
return (_a = tableRef == null ? void 0 : tableRef.current) == null ? void 0 : _a.removeFilter(filter.field);
|
|
84530
|
+
},
|
|
84531
|
+
overlayMatchesTriggerWidth
|
|
84532
|
+
}
|
|
84533
|
+
)
|
|
84534
|
+
);
|
|
84535
|
+
}),
|
|
84536
|
+
tokens.map((filter) => {
|
|
84537
|
+
const colDef = getColumnDefinition(filter.field);
|
|
84538
|
+
if (!colDef) {
|
|
84539
|
+
return null;
|
|
84540
|
+
}
|
|
84541
|
+
return /* @__PURE__ */ React76.createElement(StyledFilterTokenWrapper, { key: filter.field }, /* @__PURE__ */ React76.createElement(UNSAFE_FilterToken, null, /* @__PURE__ */ React76.createElement(UNSAFE_FilterToken.Label, null, getFilterTokenText(colDef, filter.filterValues)), /* @__PURE__ */ React76.createElement(
|
|
84542
|
+
UNSAFE_FilterToken.Remove,
|
|
84543
|
+
{
|
|
84544
|
+
onClick: () => {
|
|
84545
|
+
var _a;
|
|
84546
|
+
return (_a = tableRef == null ? void 0 : tableRef.current) == null ? void 0 : _a.removeFilter(filter.field);
|
|
84547
|
+
}
|
|
84548
|
+
}
|
|
84549
|
+
)));
|
|
84550
|
+
})
|
|
84551
|
+
);
|
|
84552
|
+
};
|
|
84553
|
+
var ServerSideQuickFilters = ({ overlayMatchesTriggerWidth }) => {
|
|
84554
|
+
const {
|
|
84555
|
+
filterStorage: {
|
|
84556
|
+
hasDefinedFilters,
|
|
84557
|
+
onClearFilter,
|
|
84558
|
+
possibleFilters,
|
|
84559
|
+
selectedFilters,
|
|
84560
|
+
getListFilter
|
|
84561
|
+
},
|
|
84562
|
+
getColumnDefinition
|
|
84563
|
+
} = useInternalTableContext();
|
|
84564
|
+
const hasNoContent = useTableHasNoContent();
|
|
84565
|
+
const { quickFilterNames, tokenNames } = React76.useMemo(() => {
|
|
84566
|
+
const appliedFilterNames = Object.keys(selectedFilters);
|
|
84567
|
+
const isActiveFilter = (filterName) => appliedFilterNames.includes(filterName);
|
|
84568
|
+
return possibleFilters.reduce(
|
|
84569
|
+
(acc, filterName) => {
|
|
84570
|
+
var _a;
|
|
84571
|
+
const colDef = getColumnDefinition(filterName);
|
|
84572
|
+
if (!colDef) {
|
|
84573
|
+
return acc;
|
|
84574
|
+
}
|
|
84575
|
+
const isInteractive = ((_a = colDef == null ? void 0 : colDef.filterProps) == null ? void 0 : _a.isInteractiveFilterToken) === true;
|
|
84576
|
+
const hasQuickFilterRenderer = !!(colDef == null ? void 0 : colDef.quickFilterRenderer);
|
|
84577
|
+
const filterIsActive = isActiveFilter(filterName);
|
|
84578
|
+
if (hasQuickFilterRenderer || filterIsActive && isInteractive && getQuickFilterRenderer(colDef) !== null) {
|
|
84579
|
+
return {
|
|
84580
|
+
...acc,
|
|
84581
|
+
quickFilterNames: [...acc.quickFilterNames, filterName]
|
|
84582
|
+
};
|
|
84583
|
+
} else if (filterIsActive) {
|
|
84584
|
+
return {
|
|
84585
|
+
...acc,
|
|
84586
|
+
tokenNames: [...acc.tokenNames, filterName]
|
|
84587
|
+
};
|
|
84588
|
+
}
|
|
84589
|
+
return acc;
|
|
84590
|
+
},
|
|
84591
|
+
{
|
|
84592
|
+
quickFilterNames: [],
|
|
84593
|
+
tokenNames: []
|
|
84594
|
+
}
|
|
84595
|
+
);
|
|
84596
|
+
}, [possibleFilters, selectedFilters, getColumnDefinition]);
|
|
84597
|
+
if (!hasDefinedFilters) {
|
|
84598
|
+
return null;
|
|
84599
|
+
}
|
|
84600
|
+
const isEmpty2 = quickFilterNames.length === 0 && tokenNames.length === 0;
|
|
84601
|
+
return isEmpty2 ? null : /* @__PURE__ */ React76.createElement(
|
|
84602
|
+
FlexList,
|
|
84603
|
+
{
|
|
84604
|
+
padding: "xs none",
|
|
84605
|
+
size: "none",
|
|
84606
|
+
alignItems: "center",
|
|
84607
|
+
wrap: "wrap",
|
|
84608
|
+
gap: "sm",
|
|
84609
|
+
"data-qa": "data-table-quick-filters"
|
|
84610
|
+
},
|
|
84611
|
+
quickFilterNames.map((fieldName) => {
|
|
84612
|
+
const colDef = getColumnDefinition(fieldName);
|
|
84613
|
+
const QuickFilter = getQuickFilterRenderer(colDef);
|
|
84614
|
+
if (!colDef || !QuickFilter) {
|
|
84615
|
+
return null;
|
|
84616
|
+
}
|
|
84617
|
+
return /* @__PURE__ */ React76.createElement(
|
|
84618
|
+
EmptyResultsControlTooltip,
|
|
84619
|
+
{
|
|
84620
|
+
featureI18nKey: "featureQuickFilter",
|
|
84621
|
+
enabled: hasNoContent
|
|
84622
|
+
},
|
|
84623
|
+
/* @__PURE__ */ React76.createElement(
|
|
84624
|
+
QuickFilter,
|
|
84625
|
+
{
|
|
84626
|
+
key: fieldName,
|
|
84627
|
+
columnDefinition: colDef,
|
|
84628
|
+
disabled: hasNoContent,
|
|
84629
|
+
overlayMatchesTriggerWidth
|
|
84630
|
+
}
|
|
84631
|
+
)
|
|
84632
|
+
);
|
|
84633
|
+
}),
|
|
84634
|
+
tokenNames.map((fieldName) => {
|
|
84635
|
+
const colDef = getColumnDefinition(fieldName);
|
|
84636
|
+
if (!colDef) {
|
|
84637
|
+
return null;
|
|
84638
|
+
}
|
|
84639
|
+
const filter = getListFilter(fieldName);
|
|
84640
|
+
return /* @__PURE__ */ React76.createElement(StyledFilterTokenWrapper, { key: fieldName }, /* @__PURE__ */ React76.createElement(UNSAFE_FilterToken, null, /* @__PURE__ */ React76.createElement(UNSAFE_FilterToken.Label, null, getFilterTokenText(
|
|
84641
|
+
colDef,
|
|
84642
|
+
colDef.filterRenderer === DateFilterRenderer_default ? filter.value : filter.selected
|
|
84643
|
+
)), /* @__PURE__ */ React76.createElement(
|
|
84644
|
+
UNSAFE_FilterToken.Remove,
|
|
84645
|
+
{
|
|
84646
|
+
"data-qa": "data-table-quick-filter-remove-token",
|
|
84647
|
+
onClick: () => onClearFilter(fieldName)
|
|
84648
|
+
}
|
|
84649
|
+
)));
|
|
84650
|
+
})
|
|
84651
|
+
);
|
|
84581
84652
|
};
|
|
84582
|
-
var
|
|
84583
|
-
|
|
84584
|
-
|
|
84585
|
-
|
|
84586
|
-
|
|
84587
|
-
|
|
84588
|
-
|
|
84589
|
-
|
|
84590
|
-
const valueIds = originValue.map((option) => getId(getId3, option));
|
|
84591
|
-
isValueFromOptions.current = true;
|
|
84592
|
-
return originOptions.filter(
|
|
84593
|
-
(option) => valueIds.includes(getId(getId3, option))
|
|
84653
|
+
var QuickFilters = ({ overlayMatchesTriggerWidth }) => {
|
|
84654
|
+
const { onServerSideDataRequest } = useInternalTableContext();
|
|
84655
|
+
if (onServerSideDataRequest) {
|
|
84656
|
+
return /* @__PURE__ */ React76.createElement(
|
|
84657
|
+
ServerSideQuickFilters,
|
|
84658
|
+
{
|
|
84659
|
+
overlayMatchesTriggerWidth
|
|
84660
|
+
}
|
|
84594
84661
|
);
|
|
84595
|
-
}
|
|
84596
|
-
|
|
84597
|
-
|
|
84598
|
-
const options = !hasOptions && hasValue ? originValue : originOptions;
|
|
84599
|
-
const value = !hasOptions ? originValue : isValueFromOptions.current ? originValue : getValueFromOptions();
|
|
84600
|
-
return {
|
|
84601
|
-
options,
|
|
84602
|
-
value,
|
|
84603
|
-
getOptionValue: (option) => option
|
|
84604
|
-
};
|
|
84605
|
-
};
|
|
84606
|
-
var ServerSideMultiSelectQuickFilter = ({ columnDefinition, overlayMatchesTriggerWidth, disabled }) => {
|
|
84607
|
-
var _a;
|
|
84608
|
-
const {
|
|
84609
|
-
options: originOptions,
|
|
84610
|
-
onClearFilter,
|
|
84611
|
-
fieldName,
|
|
84612
|
-
value: originValue = [],
|
|
84613
|
-
onChange,
|
|
84614
|
-
getOptions,
|
|
84615
|
-
loading
|
|
84616
|
-
} = useServerSideFilter({ columnDefinition });
|
|
84617
|
-
const { options, value, getOptionValue } = useSuperSelectOptionAsValueWorkaround2({
|
|
84618
|
-
originOptions,
|
|
84619
|
-
originValue,
|
|
84620
|
-
loading,
|
|
84621
|
-
getId: (_a = columnDefinition.filterProps) == null ? void 0 : _a.getId
|
|
84622
|
-
});
|
|
84623
|
-
return /* @__PURE__ */ React76.createElement(StyledSuperSelectWrapper, { $enabled: Boolean(value == null ? void 0 : value.length) }, /* @__PURE__ */ React76.createElement(
|
|
84624
|
-
UNSAFE_SuperSelect,
|
|
84662
|
+
}
|
|
84663
|
+
return /* @__PURE__ */ React76.createElement(
|
|
84664
|
+
ClientSideQuickFilters,
|
|
84625
84665
|
{
|
|
84626
|
-
overlayMatchesTriggerWidth
|
|
84627
|
-
loading,
|
|
84628
|
-
value: value === null ? [] : value,
|
|
84629
|
-
search: false,
|
|
84630
|
-
getOptionLabel: (option) => {
|
|
84631
|
-
var _a2;
|
|
84632
|
-
return getLabel((_a2 = columnDefinition.filterProps) == null ? void 0 : _a2.getLabel, option);
|
|
84633
|
-
},
|
|
84634
|
-
getOptionValue,
|
|
84635
|
-
multiple: true,
|
|
84636
|
-
options,
|
|
84637
|
-
disabled,
|
|
84638
|
-
onChange: (values2) => {
|
|
84639
|
-
if (Array.isArray(values2) && !values2.length) {
|
|
84640
|
-
onClearFilter == null ? void 0 : onClearFilter(fieldName);
|
|
84641
|
-
getOptions();
|
|
84642
|
-
return;
|
|
84643
|
-
}
|
|
84644
|
-
onChange(values2);
|
|
84645
|
-
},
|
|
84646
|
-
onOpenChange: (open) => {
|
|
84647
|
-
if (open && !originOptions.length) {
|
|
84648
|
-
getOptions();
|
|
84649
|
-
}
|
|
84650
|
-
},
|
|
84651
|
-
...getSuperSelectFilterPreset(columnDefinition)
|
|
84666
|
+
overlayMatchesTriggerWidth
|
|
84652
84667
|
}
|
|
84653
|
-
)
|
|
84668
|
+
);
|
|
84654
84669
|
};
|
|
84655
|
-
var
|
|
84670
|
+
var FiltersPanelButton = () => {
|
|
84656
84671
|
const { onServerSideDataRequest } = useInternalTableContext();
|
|
84657
|
-
if (
|
|
84658
|
-
return /* @__PURE__ */ React76.createElement(
|
|
84672
|
+
if (onServerSideDataRequest) {
|
|
84673
|
+
return /* @__PURE__ */ React76.createElement(ServerSideFiltersPanelToggleButton, null);
|
|
84659
84674
|
}
|
|
84660
|
-
return /* @__PURE__ */ React76.createElement(
|
|
84675
|
+
return /* @__PURE__ */ React76.createElement(ClientSideFiltersPanelToggleButton, null);
|
|
84661
84676
|
};
|
|
84662
|
-
var
|
|
84663
|
-
|
|
84664
|
-
|
|
84665
|
-
|
|
84666
|
-
|
|
84667
|
-
|
|
84668
|
-
|
|
84669
|
-
|
|
84670
|
-
|
|
84671
|
-
|
|
84677
|
+
var RowGroupSelector = ({ localeText }) => {
|
|
84678
|
+
const {
|
|
84679
|
+
columnDefinitions: _columnDefinitions,
|
|
84680
|
+
columnApi,
|
|
84681
|
+
gridApi,
|
|
84682
|
+
tableRef
|
|
84683
|
+
} = useInternalTableContext();
|
|
84684
|
+
const hasNoContent = useTableHasNoContent();
|
|
84685
|
+
const [columnDefinitions, setColumnDefinitions] = React76.useState(_columnDefinitions);
|
|
84686
|
+
const groupableColumns = React76.useMemo(
|
|
84687
|
+
() => mapColumnsToOptions(
|
|
84688
|
+
columnDefinitions.filter((column2) => column2.enableRowGroup)
|
|
84689
|
+
),
|
|
84690
|
+
[columnDefinitions]
|
|
84691
|
+
);
|
|
84692
|
+
const groupedColumns = React76.useMemo(() => {
|
|
84693
|
+
const rowGrouping = (columnApi == null ? void 0 : columnApi.getRowGroupColumns()) ?? [];
|
|
84694
|
+
return rowGrouping.map((column2) => {
|
|
84695
|
+
const colDef = column2.getColDef();
|
|
84696
|
+
return transformToColumnDefinition(colDef);
|
|
84697
|
+
});
|
|
84698
|
+
}, [columnDefinitions]);
|
|
84699
|
+
const selectedColumns = React76.useMemo(
|
|
84700
|
+
() => mapColumnsToOptions(groupedColumns),
|
|
84701
|
+
[groupedColumns]
|
|
84702
|
+
);
|
|
84703
|
+
const onGroupedClear = React76.useCallback(() => {
|
|
84704
|
+
var _a;
|
|
84705
|
+
(_a = tableRef == null ? void 0 : tableRef.current) == null ? void 0 : _a.setRowGrouping([]);
|
|
84706
|
+
}, [tableRef]);
|
|
84707
|
+
const onGroupedRowChange = React76.useCallback(
|
|
84708
|
+
(newValue) => {
|
|
84709
|
+
var _a;
|
|
84710
|
+
const fields = newValue.map((val) => {
|
|
84711
|
+
return val.id;
|
|
84712
|
+
});
|
|
84713
|
+
if (!equals(selectedColumns, newValue)) {
|
|
84714
|
+
(_a = tableRef == null ? void 0 : tableRef.current) == null ? void 0 : _a.setRowGrouping(fields);
|
|
84715
|
+
}
|
|
84716
|
+
},
|
|
84717
|
+
[selectedColumns]
|
|
84718
|
+
);
|
|
84719
|
+
React76.useEffect(() => {
|
|
84720
|
+
function onDisplayedColumnsChanged(event) {
|
|
84721
|
+
const agColumnDefs = event.api.getColumnDefs();
|
|
84722
|
+
if (agColumnDefs == null ? void 0 : agColumnDefs.length) {
|
|
84723
|
+
const flattenedAgColDefs = flattenColDefs(event.api.getColumnDefs());
|
|
84724
|
+
const dataTableColumnDefinitions = flattenedAgColDefs.map(
|
|
84725
|
+
transformToColumnDefinition
|
|
84726
|
+
);
|
|
84727
|
+
setColumnDefinitions(dataTableColumnDefinitions);
|
|
84728
|
+
}
|
|
84729
|
+
}
|
|
84730
|
+
gridApi == null ? void 0 : gridApi.addEventListener(
|
|
84731
|
+
"displayedColumnsChanged",
|
|
84732
|
+
onDisplayedColumnsChanged
|
|
84733
|
+
);
|
|
84734
|
+
return () => {
|
|
84735
|
+
removeEventListenerFromGrid(
|
|
84736
|
+
"displayedColumnsChanged",
|
|
84737
|
+
onDisplayedColumnsChanged,
|
|
84738
|
+
gridApi
|
|
84739
|
+
);
|
|
84740
|
+
};
|
|
84741
|
+
}, [gridApi]);
|
|
84742
|
+
if (groupableColumns.length === 0) {
|
|
84743
|
+
return null;
|
|
84744
|
+
}
|
|
84672
84745
|
return /* @__PURE__ */ React76.createElement(
|
|
84673
|
-
|
|
84746
|
+
EmptyResultsControlTooltip,
|
|
84674
84747
|
{
|
|
84675
|
-
|
|
84676
|
-
|
|
84748
|
+
featureI18nKey: "featureGroupBy",
|
|
84749
|
+
enabled: hasNoContent
|
|
84677
84750
|
},
|
|
84678
84751
|
/* @__PURE__ */ React76.createElement(
|
|
84679
|
-
|
|
84752
|
+
Tooltip,
|
|
84680
84753
|
{
|
|
84681
|
-
|
|
84682
|
-
|
|
84683
|
-
|
|
84684
|
-
|
|
84685
|
-
|
|
84686
|
-
|
|
84687
|
-
|
|
84688
|
-
|
|
84689
|
-
|
|
84690
|
-
|
|
84691
|
-
|
|
84692
|
-
|
|
84693
|
-
|
|
84694
|
-
|
|
84695
|
-
|
|
84696
|
-
|
|
84697
|
-
if (!valuesArray.length) {
|
|
84698
|
-
onRemove == null ? void 0 : onRemove();
|
|
84699
|
-
return;
|
|
84700
|
-
}
|
|
84701
|
-
onChange == null ? void 0 : onChange(valuesArray);
|
|
84702
|
-
},
|
|
84703
|
-
...getSuperSelectFilterPreset(columnDefinition)
|
|
84704
|
-
}
|
|
84754
|
+
overlay: localeText.placeholder,
|
|
84755
|
+
trigger: "hover",
|
|
84756
|
+
placement: "top",
|
|
84757
|
+
showDelay: 400
|
|
84758
|
+
},
|
|
84759
|
+
/* @__PURE__ */ React76.createElement(Box, { style: { width: "100%" } }, /* @__PURE__ */ React76.createElement(
|
|
84760
|
+
GroupBySelect,
|
|
84761
|
+
{
|
|
84762
|
+
isDisabled: hasNoContent,
|
|
84763
|
+
localeText,
|
|
84764
|
+
onBlur: onGroupedRowChange,
|
|
84765
|
+
onClear: onGroupedClear,
|
|
84766
|
+
options: groupableColumns,
|
|
84767
|
+
selected: selectedColumns
|
|
84768
|
+
}
|
|
84769
|
+
))
|
|
84705
84770
|
)
|
|
84706
84771
|
);
|
|
84707
84772
|
};
|
|
84708
|
-
|
|
84709
|
-
|
|
84710
|
-
|
|
84711
|
-
|
|
84712
|
-
|
|
84773
|
+
function mapColumnsToOptions(columnDefinitions) {
|
|
84774
|
+
return columnDefinitions.map((col) => {
|
|
84775
|
+
return {
|
|
84776
|
+
label: col.headerName,
|
|
84777
|
+
id: col.field,
|
|
84778
|
+
key: col.field,
|
|
84779
|
+
group: col.columnGroupName
|
|
84780
|
+
};
|
|
84781
|
+
});
|
|
84782
|
+
}
|
|
84783
|
+
var cx21 = classnames.bind(quickControlsStyles_default);
|
|
84784
|
+
var ClientSideSearch = ({
|
|
84785
|
+
onSearch,
|
|
84786
|
+
placeholder
|
|
84713
84787
|
}) => {
|
|
84714
|
-
const isValueFromOptions = React76.useRef(false);
|
|
84715
|
-
const getValueFromOptions = () => {
|
|
84716
|
-
const valueIds = originValue.map((option) => getId(getId3, option));
|
|
84717
|
-
isValueFromOptions.current = true;
|
|
84718
|
-
return originOptions.filter(
|
|
84719
|
-
(option) => valueIds.includes(getId(getId3, option))
|
|
84720
|
-
);
|
|
84721
|
-
};
|
|
84722
|
-
const hasOptions = originOptions.length > 0 && !loading;
|
|
84723
|
-
const hasValue = (originValue == null ? void 0 : originValue.length) > 0;
|
|
84724
|
-
const options = !hasOptions && hasValue ? originValue : originOptions;
|
|
84725
|
-
const value = !hasOptions ? originValue : isValueFromOptions.current ? originValue : getValueFromOptions();
|
|
84726
|
-
return {
|
|
84727
|
-
options,
|
|
84728
|
-
value,
|
|
84729
|
-
getOptionValue: (option) => option
|
|
84730
|
-
};
|
|
84731
|
-
};
|
|
84732
|
-
var ServerSideSingleSelectQuickFilter = ({ columnDefinition, overlayMatchesTriggerWidth, disabled }) => {
|
|
84733
84788
|
var _a;
|
|
84734
|
-
const
|
|
84735
|
-
|
|
84736
|
-
|
|
84737
|
-
|
|
84738
|
-
|
|
84739
|
-
|
|
84740
|
-
|
|
84741
|
-
|
|
84742
|
-
|
|
84743
|
-
|
|
84744
|
-
|
|
84745
|
-
|
|
84746
|
-
|
|
84747
|
-
|
|
84748
|
-
|
|
84749
|
-
|
|
84750
|
-
|
|
84751
|
-
|
|
84752
|
-
|
|
84753
|
-
|
|
84789
|
+
const [internalValue, setInternalValue] = React76.useState("");
|
|
84790
|
+
const { tableRef } = useInternalTableContext();
|
|
84791
|
+
const hasNoContent = useTableHasNoContent();
|
|
84792
|
+
const I18n = useI18nContext();
|
|
84793
|
+
const debouncedSetSearchValue = React76.useCallback(
|
|
84794
|
+
debounce5((value) => {
|
|
84795
|
+
var _a2;
|
|
84796
|
+
(_a2 = tableRef == null ? void 0 : tableRef.current) == null ? void 0 : _a2.setSearchValue(value);
|
|
84797
|
+
}, 250),
|
|
84798
|
+
[(_a = tableRef == null ? void 0 : tableRef.current) == null ? void 0 : _a.setSearchValue]
|
|
84799
|
+
);
|
|
84800
|
+
const onChange = React76.useCallback(
|
|
84801
|
+
(value, event) => {
|
|
84802
|
+
setInternalValue(value);
|
|
84803
|
+
if (onSearch) {
|
|
84804
|
+
onSearch(event);
|
|
84805
|
+
} else {
|
|
84806
|
+
debouncedSetSearchValue(value);
|
|
84807
|
+
}
|
|
84808
|
+
},
|
|
84809
|
+
[debouncedSetSearchValue, onSearch]
|
|
84810
|
+
);
|
|
84811
|
+
return /* @__PURE__ */ React76.createElement(EmptyResultsControlTooltip, { hasSearch: true, enabled: hasNoContent }, /* @__PURE__ */ React76.createElement(
|
|
84812
|
+
Typeahead,
|
|
84813
|
+
{
|
|
84814
|
+
disabled: hasNoContent,
|
|
84815
|
+
"data-qa": "data-table-search",
|
|
84816
|
+
value: internalValue,
|
|
84817
|
+
className: cx21("search", {
|
|
84818
|
+
"search--empty": !internalValue.length
|
|
84819
|
+
}),
|
|
84820
|
+
onChange,
|
|
84821
|
+
placeholder: placeholder || I18n.t("dataTable.search")
|
|
84754
84822
|
}
|
|
84755
|
-
|
|
84756
|
-
|
|
84757
|
-
|
|
84758
|
-
|
|
84759
|
-
|
|
84760
|
-
|
|
84761
|
-
|
|
84823
|
+
));
|
|
84824
|
+
};
|
|
84825
|
+
var Search = (props) => {
|
|
84826
|
+
const { onServerSideDataRequest } = useInternalTableContext();
|
|
84827
|
+
if (onServerSideDataRequest) {
|
|
84828
|
+
return /* @__PURE__ */ React76.createElement(ServerSideSearch, { ...props });
|
|
84829
|
+
}
|
|
84830
|
+
return /* @__PURE__ */ React76.createElement(ClientSideSearch, { ...props });
|
|
84831
|
+
};
|
|
84832
|
+
|
|
84833
|
+
// src/QuickControls/QuickControls.tsx
|
|
84834
|
+
var QuickControls = (props) => {
|
|
84835
|
+
const I18n = useI18nContext();
|
|
84836
|
+
if (props.children) {
|
|
84837
|
+
return /* @__PURE__ */ React76.createElement(
|
|
84838
|
+
Box,
|
|
84839
|
+
{
|
|
84840
|
+
"data-qa": "data-table-quick-controls",
|
|
84841
|
+
padding: "xs none",
|
|
84842
|
+
style: props.style
|
|
84843
|
+
},
|
|
84844
|
+
props.children
|
|
84845
|
+
);
|
|
84846
|
+
}
|
|
84847
|
+
return /* @__PURE__ */ React76.createElement(Box, { padding: "xs none", style: props.style }, /* @__PURE__ */ React76.createElement(Box, { padding: "xs none", display: "flex-row", justifyContent: "space-between" }, /* @__PURE__ */ React76.createElement(FlexList, { size: "xs", alignItems: "center", marginRight: "sm" }, /* @__PURE__ */ React76.createElement(
|
|
84848
|
+
Search,
|
|
84849
|
+
{
|
|
84850
|
+
onSearch: props.onSearch,
|
|
84851
|
+
placeholder: props.placeholder,
|
|
84852
|
+
disabled: props.disabledSearch
|
|
84762
84853
|
}
|
|
84763
|
-
|
|
84764
|
-
|
|
84765
|
-
|
|
84766
|
-
|
|
84767
|
-
|
|
84854
|
+
), /* @__PURE__ */ React76.createElement(FiltersPanelButton, null)), /* @__PURE__ */ React76.createElement(FlexList, { size: "xs", alignItems: "center" }, /* @__PURE__ */ React76.createElement(
|
|
84855
|
+
RowGroupSelector,
|
|
84856
|
+
{
|
|
84857
|
+
localeText: {
|
|
84858
|
+
reset: I18n.t("dataTable.tableSettings.reset"),
|
|
84859
|
+
placeholder: I18n.t("dataTable.tableSettings.selectColumnGroup"),
|
|
84860
|
+
selectedItemsPrefix: I18n.t("dataTable.tableSettings.groupBy")
|
|
84861
|
+
}
|
|
84768
84862
|
}
|
|
84769
|
-
|
|
84863
|
+
), /* @__PURE__ */ React76.createElement(ConfigPanelButton, null))), /* @__PURE__ */ React76.createElement(
|
|
84864
|
+
QuickFilters,
|
|
84865
|
+
{
|
|
84866
|
+
overlayMatchesTriggerWidth: props.filterOverlayMatchesTriggerWidth
|
|
84867
|
+
}
|
|
84868
|
+
));
|
|
84869
|
+
};
|
|
84870
|
+
|
|
84871
|
+
// src/utils/addSubcomponents.ts
|
|
84872
|
+
var addSubcomponents = (subs, parent) => {
|
|
84873
|
+
const assigned = parent;
|
|
84874
|
+
Object.keys(subs).forEach((key) => {
|
|
84875
|
+
assigned[key] = subs[key];
|
|
84876
|
+
});
|
|
84877
|
+
return assigned;
|
|
84878
|
+
};
|
|
84879
|
+
|
|
84880
|
+
// src/ClientSideDataTable.tsx
|
|
84881
|
+
var ClientSideDataTable = ({
|
|
84882
|
+
analytics,
|
|
84883
|
+
children,
|
|
84884
|
+
columnDefinitions: _columnDefinitions,
|
|
84885
|
+
customBulkEditorFields,
|
|
84886
|
+
enableDynamicRowHeight,
|
|
84887
|
+
enableGroupEditAndValidation,
|
|
84888
|
+
filterGroups,
|
|
84889
|
+
getRowId,
|
|
84890
|
+
initialTableConfig: _initialTableConfig,
|
|
84891
|
+
onBulkEditUpdate,
|
|
84892
|
+
onTableConfigChange,
|
|
84893
|
+
translations: translations2 = {},
|
|
84894
|
+
enableCellTextSelection,
|
|
84895
|
+
localStoragePersistenceKey
|
|
84896
|
+
}) => {
|
|
84770
84897
|
return /* @__PURE__ */ React76.createElement(
|
|
84771
|
-
|
|
84898
|
+
DataTable,
|
|
84772
84899
|
{
|
|
84773
|
-
|
|
84774
|
-
|
|
84900
|
+
analytics,
|
|
84901
|
+
columnDefinitions: _columnDefinitions,
|
|
84902
|
+
enableGroupEditAndValidation,
|
|
84903
|
+
enableDynamicRowHeight,
|
|
84904
|
+
filterGroups,
|
|
84905
|
+
getRowId,
|
|
84906
|
+
initialTableConfig: _initialTableConfig,
|
|
84907
|
+
onTableConfigChange,
|
|
84908
|
+
onBulkEditUpdate,
|
|
84909
|
+
showExpandCollapseAllToggle: true,
|
|
84910
|
+
translations: translations2,
|
|
84911
|
+
localStoragePersistenceKey,
|
|
84912
|
+
customBulkEditorFields,
|
|
84913
|
+
enableCellTextSelection
|
|
84775
84914
|
},
|
|
84776
|
-
|
|
84777
|
-
UNSAFE_SuperSelect,
|
|
84778
|
-
{
|
|
84779
|
-
overlayMatchesTriggerWidth,
|
|
84780
|
-
loading,
|
|
84781
|
-
value: value ?? [],
|
|
84782
|
-
search: false,
|
|
84783
|
-
disabled,
|
|
84784
|
-
getOptionLabel: (option) => {
|
|
84785
|
-
var _a2;
|
|
84786
|
-
return getLabel((_a2 = columnDefinition.filterProps) == null ? void 0 : _a2.getLabel, option);
|
|
84787
|
-
},
|
|
84788
|
-
getOptionValue,
|
|
84789
|
-
multiple: false,
|
|
84790
|
-
options,
|
|
84791
|
-
onChange: handleOnChange,
|
|
84792
|
-
onOpenChange: handleOnOpenChange,
|
|
84793
|
-
...getSuperSelectFilterPreset(columnDefinition)
|
|
84794
|
-
}
|
|
84795
|
-
)
|
|
84915
|
+
children
|
|
84796
84916
|
);
|
|
84797
84917
|
};
|
|
84798
|
-
var
|
|
84799
|
-
const
|
|
84800
|
-
|
|
84801
|
-
|
|
84802
|
-
|
|
84803
|
-
|
|
84918
|
+
var Table2 = (props) => {
|
|
84919
|
+
const internalTableContext = useInternalTableContext();
|
|
84920
|
+
React76.useEffect(() => {
|
|
84921
|
+
var _a;
|
|
84922
|
+
internalTableContext.setTotalRowCount(((_a = props.rows) == null ? void 0 : _a.length) ?? 0);
|
|
84923
|
+
}, [props.rows]);
|
|
84924
|
+
return /* @__PURE__ */ React76.createElement(Table, { ...props, modules: [ClientSideRowModelModule] });
|
|
84804
84925
|
};
|
|
84805
|
-
|
|
84926
|
+
BulkActions.displayName = "ClientSideDataTable.BulkActions";
|
|
84927
|
+
ConfigPanelButton.displayName = "ClientSideDataTable.ConfigPanelButton";
|
|
84928
|
+
ContextPanel.displayName = "ClientSideDataTable.ContextPanel";
|
|
84929
|
+
QuickControls.displayName = "ClientSideDataTable.QuickControls";
|
|
84930
|
+
QuickFilters.displayName = "ClientSideDataTable.QuickFilters";
|
|
84931
|
+
RowGroupSelector.displayName = "ClientSideDataTable.RowGroupSelector";
|
|
84932
|
+
Search.displayName = "ClientSideDataTable.Search";
|
|
84933
|
+
Table2.displayName = "ClientSideDataTable.Table";
|
|
84934
|
+
FiltersPanel.displayName = "ClientSideDataTable.FiltersPanel";
|
|
84935
|
+
var ClientSideDataTable_default = addSubcomponents(
|
|
84936
|
+
{
|
|
84937
|
+
BulkActions,
|
|
84938
|
+
BulkEditActionButton,
|
|
84939
|
+
ConfigPanelButton,
|
|
84940
|
+
ContextPanel,
|
|
84941
|
+
QuickControls,
|
|
84942
|
+
QuickFilters,
|
|
84943
|
+
RowGroupSelector,
|
|
84944
|
+
Search,
|
|
84945
|
+
Table: Table2,
|
|
84946
|
+
FiltersPanel,
|
|
84947
|
+
FiltersPanelButton
|
|
84948
|
+
},
|
|
84949
|
+
ClientSideDataTable
|
|
84950
|
+
);
|
|
84806
84951
|
|
|
84807
84952
|
// ../../node_modules/@ag-grid-enterprise/server-side-row-model/dist/esm/es6/serverSideRowModel/stores/fullStore.mjs
|
|
84808
84953
|
var __decorate212 = function(decorators, target, key, desc) {
|
|
@@ -89343,4 +89488,4 @@ object-assign/index.js:
|
|
|
89343
89488
|
*)
|
|
89344
89489
|
*/
|
|
89345
89490
|
|
|
89346
|
-
export { Analytics_default as Analytics, AnalyticsBulkClient, BooleanCellEditor, BooleanCellRenderer, ButtonsCellRenderer, ClientSideDataTable_default as ClientSideDataTable, CompanyCellRenderer, CurrencyCellEditor, CurrencyCellRenderer, DateCellEditor, DateCellRenderer, DateFilterRenderer_default as DateFilterRenderer, DateQuickFilterRenderer_default as DateQuickFilterRenderer, DateTimeCellEditor, DateTimeCellRenderer, GrandTotalsLabelRenderer, GroupCellRenderer2 as GroupCellRenderer, LinkCellRenderer, LocationFilterRenderer, LocationQuickFilterRenderer_default as LocationQuickFilterRenderer, MultiSelectCellEditor, MultiSelectCellRenderer, MultiSelectFilterRenderer_default as MultiSelectFilterRenderer, MultiSelectQuickFilterRenderer_default as MultiSelectQuickFilterRenderer, NumberCellEditor2 as NumberCellEditor, NumberCellRenderer, NumberFilterRenderer, PeopleCellRenderer, PercentCellEditor, PercentCellRenderer, PersonCellRenderer, PillCellRenderer, PillSelectCellEditor, SelectAllState, SelectCellEditor2 as SelectCellEditor, SelectCellRenderer, ServerSideDataTable_default as ServerSideDataTable, SingleSelectQuickFilterRenderer_default as SingleSelectQuickFilterRenderer, TextCellEditor2 as TextCellEditor, TextCellRenderer, UNSAFE_useTableContext, rowSize, useAnalyticsContext, useRowSelectionState, waitForAsyncCondition, withDataTableEditor, withDataTableRenderer };
|
|
89491
|
+
export { Analytics_default as Analytics, AnalyticsBulkClient, BooleanCellEditor, BooleanCellRenderer, ButtonsCellRenderer, ClientSideDataTable_default as ClientSideDataTable, CompanyCellRenderer, CurrencyCellEditor, CurrencyCellRenderer, DateCellEditor, DateCellRenderer, DateFilterRenderer_default as DateFilterRenderer, DateQuickFilterRenderer_default as DateQuickFilterRenderer, DateTimeCellEditor, DateTimeCellRenderer, GrandTotalsLabelRenderer, GroupCellRenderer2 as GroupCellRenderer, LinkCellRenderer, LocationFilterRenderer, LocationQuickFilterRenderer_default as LocationQuickFilterRenderer, MultiSelectCellEditor, MultiSelectCellRenderer, MultiSelectFilterRenderer_default as MultiSelectFilterRenderer, MultiSelectQuickFilterRenderer_default as MultiSelectQuickFilterRenderer, NumberCellEditor2 as NumberCellEditor, NumberCellRenderer, NumberFilterRenderer, PeopleCellRenderer, PercentCellEditor, PercentCellRenderer, PersonCellRenderer, PillCellRenderer, PillSelectCellEditor, SelectAllState, SelectCellEditor2 as SelectCellEditor, SelectCellRenderer, ServerSideDataTable_default as ServerSideDataTable, SingleSelectQuickFilterRenderer_default as SingleSelectQuickFilterRenderer, TextCellEditor2 as TextCellEditor, TextCellRenderer, UNSAFE_useTableContext, assignAlphabeticalFilterIndices, rowSize, useAnalyticsContext, useRowSelectionState, waitForAsyncCondition, withDataTableEditor, withDataTableRenderer };
|