@procore/data-table 14.17.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 +9 -0
- package/dist/legacy/index.cjs +1229 -1123
- package/dist/legacy/index.d.cts +1 -0
- package/dist/legacy/index.d.ts +1 -0
- package/dist/legacy/index.js +1228 -1122
- package/dist/modern/index.cjs +1566 -1463
- package/dist/modern/index.d.cts +1 -0
- package/dist/modern/index.d.ts +1 -0
- package/dist/modern/index.js +1566 -1463
- 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
|
|
@@ -82931,7 +82996,7 @@ var FILTERS_GROUP_EXPANDABLE_AREA_VERTICAL_MARGIN = spacing.md;
|
|
|
82931
82996
|
var FILTERS_GROUP_ITEM_HEIGHT = 60;
|
|
82932
82997
|
var ITEMS_IN_FILTERS_GROUP = 5;
|
|
82933
82998
|
var FILTERS_GROUP_EXPANDABLE_AREA_HEIGHT = (FILTERS_GROUP_ITEM_HEIGHT + spacing.xl) * ITEMS_IN_FILTERS_GROUP + BORDER_WIDTH;
|
|
82934
|
-
var StyledPanelSection =
|
|
82999
|
+
var StyledPanelSection = styled3(Panel.Section)`
|
|
82935
83000
|
// Filters Group container styles
|
|
82936
83001
|
&.filters-list-group-section {
|
|
82937
83002
|
padding-bottom: ${FILTERS_GROUP_VERTICAL_MARGIN}px;
|
|
@@ -83222,905 +83287,307 @@ var ConfigPanelButton = () => {
|
|
|
83222
83287
|
)
|
|
83223
83288
|
);
|
|
83224
83289
|
};
|
|
83225
|
-
|
|
83226
|
-
|
|
83227
|
-
|
|
83228
|
-
|
|
83229
|
-
|
|
83230
|
-
|
|
83231
|
-
|
|
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
|
+
`}
|
|
83232
83320
|
}
|
|
83233
|
-
|
|
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
|
+
);
|
|
83234
83385
|
return /* @__PURE__ */ React76.createElement(
|
|
83235
|
-
|
|
83386
|
+
OverlayTrigger,
|
|
83236
83387
|
{
|
|
83237
|
-
|
|
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"
|
|
83238
83402
|
},
|
|
83239
83403
|
/* @__PURE__ */ React76.createElement(
|
|
83240
|
-
|
|
83404
|
+
DateQuickFilterLabel,
|
|
83241
83405
|
{
|
|
83242
|
-
headerName
|
|
83243
|
-
|
|
83406
|
+
headerName,
|
|
83407
|
+
onClear,
|
|
83408
|
+
value: selectedDate,
|
|
83409
|
+
disabled
|
|
83244
83410
|
}
|
|
83245
83411
|
)
|
|
83246
83412
|
);
|
|
83247
83413
|
}
|
|
83248
|
-
|
|
83249
|
-
|
|
83250
|
-
|
|
83251
|
-
|
|
83252
|
-
|
|
83253
|
-
|
|
83254
|
-
|
|
83255
|
-
|
|
83256
|
-
|
|
83257
|
-
|
|
83258
|
-
|
|
83259
|
-
|
|
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
|
+
);
|
|
83260
83450
|
}
|
|
83261
|
-
return `${columnDefinition == null ? void 0 : columnDefinition.headerName}: (${filterValue.length})`;
|
|
83262
83451
|
}
|
|
83263
|
-
|
|
83264
|
-
|
|
83265
|
-
|
|
83266
|
-
if (input === null) {
|
|
83267
|
-
return [];
|
|
83268
|
-
}
|
|
83269
|
-
return Array.isArray(input) ? input : [input];
|
|
83270
|
-
};
|
|
83271
|
-
var FiltersPanelToggleButton = ({ hasSelectedFilters, hasDefinedFilters }) => {
|
|
83272
|
-
const I18n = useI18nContext();
|
|
83273
|
-
const { contextPanel } = useInternalTableContext();
|
|
83274
|
-
const hasNoContent = useTableHasNoContent();
|
|
83275
|
-
if (!hasDefinedFilters) {
|
|
83276
|
-
return null;
|
|
83277
|
-
}
|
|
83278
|
-
return /* @__PURE__ */ React76.createElement(
|
|
83279
|
-
EmptyResultsControlTooltip,
|
|
83280
|
-
{
|
|
83281
|
-
featureI18nKey: "featureFilter",
|
|
83282
|
-
enabled: hasNoContent
|
|
83452
|
+
const onSelectionTypeChange = React76.useCallback(
|
|
83453
|
+
(newSelectionType) => {
|
|
83454
|
+
setSelectedValue({ type: newSelectionType });
|
|
83283
83455
|
},
|
|
83284
|
-
|
|
83285
|
-
ToggleButton,
|
|
83286
|
-
{
|
|
83287
|
-
"data-qa": "data-table-show-filters-button",
|
|
83288
|
-
disabled: hasNoContent,
|
|
83289
|
-
icon: /* @__PURE__ */ React76.createElement(FilterIcon, null),
|
|
83290
|
-
onClick: () => {
|
|
83291
|
-
if (contextPanel.content === "filters") {
|
|
83292
|
-
contextPanel.hide();
|
|
83293
|
-
} else {
|
|
83294
|
-
contextPanel.show("filters");
|
|
83295
|
-
}
|
|
83296
|
-
},
|
|
83297
|
-
selected: contextPanel.content === "filters"
|
|
83298
|
-
},
|
|
83299
|
-
hasSelectedFilters ? I18n.t("dataTable.filters.moreFilters") : I18n.t("dataTable.filters.filters")
|
|
83300
|
-
)
|
|
83456
|
+
[setSelectedValue]
|
|
83301
83457
|
);
|
|
83302
|
-
|
|
83303
|
-
var
|
|
83304
|
-
|
|
83305
|
-
|
|
83306
|
-
|
|
83307
|
-
|
|
83308
|
-
|
|
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,
|
|
83309
83467
|
{
|
|
83310
|
-
|
|
83311
|
-
|
|
83468
|
+
afterHide: dateRangeAfterHide,
|
|
83469
|
+
headerName,
|
|
83470
|
+
onChange: dateFilterOnChange,
|
|
83471
|
+
position: "start",
|
|
83472
|
+
selectedValue,
|
|
83473
|
+
selectionType,
|
|
83474
|
+
setSelectionType: onSelectionTypeChange,
|
|
83475
|
+
disabled
|
|
83312
83476
|
}
|
|
83313
|
-
)
|
|
83314
|
-
|
|
83315
|
-
var ClientSideFiltersPanelToggleButton = () => {
|
|
83316
|
-
const { filterState } = useInternalTableContext();
|
|
83317
|
-
const activeFilters = React76.useMemo(() => {
|
|
83318
|
-
return filterState.allAvailableFilters.filter(({ instance }) => {
|
|
83319
|
-
return instance.isFilterActive();
|
|
83320
|
-
});
|
|
83321
|
-
}, [filterState.allAvailableFilters]);
|
|
83322
|
-
return /* @__PURE__ */ React76.createElement(
|
|
83323
|
-
FiltersPanelToggleButton,
|
|
83477
|
+
), selectedValue.type === "range" && /* @__PURE__ */ React76.createElement(
|
|
83478
|
+
DateFilterSelect2,
|
|
83324
83479
|
{
|
|
83325
|
-
|
|
83326
|
-
|
|
83480
|
+
headerName,
|
|
83481
|
+
onChange: dateFilterOnChange,
|
|
83482
|
+
position: "end",
|
|
83483
|
+
ref: dateRangeEndDateRef,
|
|
83484
|
+
selectedValue,
|
|
83485
|
+
selectionType,
|
|
83486
|
+
setSelectionType: onSelectionTypeChange,
|
|
83487
|
+
disabled
|
|
83327
83488
|
}
|
|
83328
|
-
);
|
|
83329
|
-
}
|
|
83330
|
-
|
|
83331
|
-
|
|
83332
|
-
|
|
83333
|
-
|
|
83334
|
-
|
|
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,
|
|
83335
83502
|
{
|
|
83336
|
-
|
|
83337
|
-
|
|
83338
|
-
|
|
83339
|
-
|
|
83340
|
-
|
|
83341
|
-
|
|
83342
|
-
|
|
83343
|
-
|
|
83344
|
-
|
|
83345
|
-
|
|
83346
|
-
|
|
83347
|
-
|
|
83348
|
-
|
|
83349
|
-
|
|
83350
|
-
|
|
83351
|
-
|
|
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"
|
|
83352
83530
|
);
|
|
83531
|
+
return null;
|
|
83353
83532
|
};
|
|
83354
|
-
var
|
|
83355
|
-
|
|
83356
|
-
|
|
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" }
|
|
83357
83554
|
}
|
|
83358
|
-
|
|
83359
|
-
var
|
|
83360
|
-
|
|
83361
|
-
const
|
|
83362
|
-
const
|
|
83363
|
-
|
|
83364
|
-
|
|
83365
|
-
|
|
83366
|
-
|
|
83367
|
-
|
|
83368
|
-
|
|
83369
|
-
|
|
83370
|
-
|
|
83371
|
-
} else if (filter.instance.isFilterActive()) {
|
|
83372
|
-
return { ...acc, tokens: [...acc.tokens, filter] };
|
|
83373
|
-
}
|
|
83374
|
-
return acc;
|
|
83375
|
-
},
|
|
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,
|
|
83376
83568
|
{
|
|
83377
|
-
|
|
83378
|
-
|
|
83569
|
+
enabled: true,
|
|
83570
|
+
disabled,
|
|
83571
|
+
label: `${headerName}: ${dateTime.format(value, "numeric-date")}`,
|
|
83572
|
+
onClear,
|
|
83573
|
+
ref
|
|
83379
83574
|
}
|
|
83380
83575
|
);
|
|
83381
|
-
}
|
|
83382
|
-
|
|
83383
|
-
|
|
83384
|
-
FlexList,
|
|
83576
|
+
}
|
|
83577
|
+
return /* @__PURE__ */ React76.createElement(
|
|
83578
|
+
QuickFilterLabel,
|
|
83385
83579
|
{
|
|
83386
|
-
|
|
83387
|
-
|
|
83388
|
-
|
|
83389
|
-
|
|
83390
|
-
|
|
83391
|
-
},
|
|
83392
|
-
quickFilters.map((filter) => {
|
|
83393
|
-
const colDef = getColumnDefinition(filter.field);
|
|
83394
|
-
const QuickFilter = colDef == null ? void 0 : colDef.quickFilterRenderer;
|
|
83395
|
-
if (!colDef || !QuickFilter) {
|
|
83396
|
-
return null;
|
|
83397
|
-
}
|
|
83398
|
-
return /* @__PURE__ */ React76.createElement(
|
|
83399
|
-
EmptyResultsControlTooltip,
|
|
83400
|
-
{
|
|
83401
|
-
featureI18nKey: "featureQuickFilter",
|
|
83402
|
-
enabled: hasNoContent
|
|
83403
|
-
},
|
|
83404
|
-
/* @__PURE__ */ React76.createElement(
|
|
83405
|
-
QuickFilter,
|
|
83406
|
-
{
|
|
83407
|
-
key: filter.field,
|
|
83408
|
-
filter,
|
|
83409
|
-
columnDefinition: colDef,
|
|
83410
|
-
disabled: hasNoContent,
|
|
83411
|
-
onChange: (value) => {
|
|
83412
|
-
var _a;
|
|
83413
|
-
return (_a = tableRef == null ? void 0 : tableRef.current) == null ? void 0 : _a.applyListFilter(filter.field, value);
|
|
83414
|
-
},
|
|
83415
|
-
onRemove: () => {
|
|
83416
|
-
var _a;
|
|
83417
|
-
return (_a = tableRef == null ? void 0 : tableRef.current) == null ? void 0 : _a.removeFilter(filter.field);
|
|
83418
|
-
},
|
|
83419
|
-
overlayMatchesTriggerWidth
|
|
83420
|
-
}
|
|
83421
|
-
)
|
|
83422
|
-
);
|
|
83423
|
-
}),
|
|
83424
|
-
tokens.map((filter) => {
|
|
83425
|
-
const colDef = getColumnDefinition(filter.field);
|
|
83426
|
-
if (!colDef) {
|
|
83427
|
-
return null;
|
|
83428
|
-
}
|
|
83429
|
-
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(
|
|
83430
|
-
UNSAFE_FilterToken.Remove,
|
|
83431
|
-
{
|
|
83432
|
-
onClick: () => {
|
|
83433
|
-
var _a;
|
|
83434
|
-
return (_a = tableRef == null ? void 0 : tableRef.current) == null ? void 0 : _a.removeFilter(filter.field);
|
|
83435
|
-
}
|
|
83436
|
-
}
|
|
83437
|
-
)));
|
|
83438
|
-
})
|
|
83580
|
+
enabled: false,
|
|
83581
|
+
disabled,
|
|
83582
|
+
label: `${headerName}: ${getDatePlaceholder(i18n.locale, placeholders)}`,
|
|
83583
|
+
ref
|
|
83584
|
+
}
|
|
83439
83585
|
);
|
|
83440
|
-
};
|
|
83441
|
-
var
|
|
83442
|
-
|
|
83443
|
-
|
|
83444
|
-
|
|
83445
|
-
onClearFilter,
|
|
83446
|
-
possibleFilters,
|
|
83447
|
-
selectedFilters,
|
|
83448
|
-
getListFilter
|
|
83449
|
-
},
|
|
83450
|
-
getColumnDefinition
|
|
83451
|
-
} = useInternalTableContext();
|
|
83452
|
-
const hasNoContent = useTableHasNoContent();
|
|
83453
|
-
const { quickFilterNames, tokenNames } = React76.useMemo(() => {
|
|
83454
|
-
const appliedFilterNames = Object.keys(selectedFilters);
|
|
83455
|
-
const isActiveFilter = (filterName) => appliedFilterNames.includes(filterName);
|
|
83456
|
-
return possibleFilters.reduce(
|
|
83457
|
-
(acc, filterName) => {
|
|
83458
|
-
const colDef = getColumnDefinition(filterName);
|
|
83459
|
-
if (!colDef) {
|
|
83460
|
-
return acc;
|
|
83461
|
-
}
|
|
83462
|
-
if (colDef == null ? void 0 : colDef.quickFilterRenderer) {
|
|
83463
|
-
return {
|
|
83464
|
-
...acc,
|
|
83465
|
-
quickFilterNames: [...acc.quickFilterNames, filterName]
|
|
83466
|
-
};
|
|
83467
|
-
} else if (isActiveFilter(filterName)) {
|
|
83468
|
-
return { ...acc, tokenNames: [...acc.tokenNames, filterName] };
|
|
83469
|
-
}
|
|
83470
|
-
return acc;
|
|
83471
|
-
},
|
|
83472
|
-
{
|
|
83473
|
-
quickFilterNames: [],
|
|
83474
|
-
tokenNames: []
|
|
83475
|
-
}
|
|
83476
|
-
);
|
|
83477
|
-
}, [possibleFilters, selectedFilters, getColumnDefinition]);
|
|
83478
|
-
if (!hasDefinedFilters) {
|
|
83479
|
-
return null;
|
|
83480
|
-
}
|
|
83481
|
-
const isEmpty2 = quickFilterNames.length === 0 && tokenNames.length === 0;
|
|
83482
|
-
return isEmpty2 ? null : /* @__PURE__ */ React76.createElement(
|
|
83483
|
-
FlexList,
|
|
83484
|
-
{
|
|
83485
|
-
padding: "xs none",
|
|
83486
|
-
size: "none",
|
|
83487
|
-
alignItems: "center",
|
|
83488
|
-
wrap: "wrap",
|
|
83489
|
-
gap: "sm",
|
|
83490
|
-
"data-qa": "data-table-quick-filters"
|
|
83491
|
-
},
|
|
83492
|
-
quickFilterNames.map((fieldName) => {
|
|
83493
|
-
const colDef = getColumnDefinition(fieldName);
|
|
83494
|
-
const QuickFilter = colDef == null ? void 0 : colDef.quickFilterRenderer;
|
|
83495
|
-
if (!colDef || !QuickFilter) {
|
|
83496
|
-
return null;
|
|
83497
|
-
}
|
|
83498
|
-
return /* @__PURE__ */ React76.createElement(
|
|
83499
|
-
EmptyResultsControlTooltip,
|
|
83500
|
-
{
|
|
83501
|
-
featureI18nKey: "featureQuickFilter",
|
|
83502
|
-
enabled: hasNoContent
|
|
83503
|
-
},
|
|
83504
|
-
/* @__PURE__ */ React76.createElement(
|
|
83505
|
-
QuickFilter,
|
|
83506
|
-
{
|
|
83507
|
-
key: fieldName,
|
|
83508
|
-
columnDefinition: colDef,
|
|
83509
|
-
disabled: hasNoContent,
|
|
83510
|
-
overlayMatchesTriggerWidth
|
|
83511
|
-
}
|
|
83512
|
-
)
|
|
83513
|
-
);
|
|
83514
|
-
}),
|
|
83515
|
-
tokenNames.map((fieldName) => {
|
|
83516
|
-
const colDef = getColumnDefinition(fieldName);
|
|
83517
|
-
if (!colDef) {
|
|
83518
|
-
return null;
|
|
83519
|
-
}
|
|
83520
|
-
const filter = getListFilter(fieldName);
|
|
83521
|
-
return /* @__PURE__ */ React76.createElement(StyledFilterTokenWrapper, { key: fieldName }, /* @__PURE__ */ React76.createElement(UNSAFE_FilterToken, null, /* @__PURE__ */ React76.createElement(UNSAFE_FilterToken.Label, null, getFilterTokenText(
|
|
83522
|
-
colDef,
|
|
83523
|
-
colDef.filterRenderer === DateFilterRenderer_default ? filter.value : filter.selected
|
|
83524
|
-
)), /* @__PURE__ */ React76.createElement(
|
|
83525
|
-
UNSAFE_FilterToken.Remove,
|
|
83526
|
-
{
|
|
83527
|
-
"data-qa": "data-table-quick-filter-remove-token",
|
|
83528
|
-
onClick: () => onClearFilter(fieldName)
|
|
83529
|
-
}
|
|
83530
|
-
)));
|
|
83531
|
-
})
|
|
83532
|
-
);
|
|
83533
|
-
};
|
|
83534
|
-
var QuickFilters = ({ overlayMatchesTriggerWidth }) => {
|
|
83535
|
-
const { onServerSideDataRequest } = useInternalTableContext();
|
|
83536
|
-
if (onServerSideDataRequest) {
|
|
83537
|
-
return /* @__PURE__ */ React76.createElement(
|
|
83538
|
-
ServerSideQuickFilters,
|
|
83539
|
-
{
|
|
83540
|
-
overlayMatchesTriggerWidth
|
|
83541
|
-
}
|
|
83542
|
-
);
|
|
83543
|
-
}
|
|
83544
|
-
return /* @__PURE__ */ React76.createElement(
|
|
83545
|
-
ClientSideQuickFilters,
|
|
83546
|
-
{
|
|
83547
|
-
overlayMatchesTriggerWidth
|
|
83548
|
-
}
|
|
83549
|
-
);
|
|
83550
|
-
};
|
|
83551
|
-
var FiltersPanelButton = () => {
|
|
83552
|
-
const { onServerSideDataRequest } = useInternalTableContext();
|
|
83553
|
-
if (onServerSideDataRequest) {
|
|
83554
|
-
return /* @__PURE__ */ React76.createElement(ServerSideFiltersPanelToggleButton, null);
|
|
83555
|
-
}
|
|
83556
|
-
return /* @__PURE__ */ React76.createElement(ClientSideFiltersPanelToggleButton, null);
|
|
83557
|
-
};
|
|
83558
|
-
var RowGroupSelector = ({ localeText }) => {
|
|
83559
|
-
const {
|
|
83560
|
-
columnDefinitions: _columnDefinitions,
|
|
83561
|
-
columnApi,
|
|
83562
|
-
gridApi,
|
|
83563
|
-
tableRef
|
|
83564
|
-
} = useInternalTableContext();
|
|
83565
|
-
const hasNoContent = useTableHasNoContent();
|
|
83566
|
-
const [columnDefinitions, setColumnDefinitions] = React76.useState(_columnDefinitions);
|
|
83567
|
-
const groupableColumns = React76.useMemo(
|
|
83568
|
-
() => mapColumnsToOptions(
|
|
83569
|
-
columnDefinitions.filter((column2) => column2.enableRowGroup)
|
|
83570
|
-
),
|
|
83571
|
-
[columnDefinitions]
|
|
83572
|
-
);
|
|
83573
|
-
const groupedColumns = React76.useMemo(() => {
|
|
83574
|
-
const rowGrouping = (columnApi == null ? void 0 : columnApi.getRowGroupColumns()) ?? [];
|
|
83575
|
-
return rowGrouping.map((column2) => {
|
|
83576
|
-
const colDef = column2.getColDef();
|
|
83577
|
-
return transformToColumnDefinition(colDef);
|
|
83578
|
-
});
|
|
83579
|
-
}, [columnDefinitions]);
|
|
83580
|
-
const selectedColumns = React76.useMemo(
|
|
83581
|
-
() => mapColumnsToOptions(groupedColumns),
|
|
83582
|
-
[groupedColumns]
|
|
83583
|
-
);
|
|
83584
|
-
const onGroupedClear = React76.useCallback(() => {
|
|
83585
|
-
var _a;
|
|
83586
|
-
(_a = tableRef == null ? void 0 : tableRef.current) == null ? void 0 : _a.setRowGrouping([]);
|
|
83587
|
-
}, [tableRef]);
|
|
83588
|
-
const onGroupedRowChange = React76.useCallback(
|
|
83589
|
-
(newValue) => {
|
|
83590
|
-
var _a;
|
|
83591
|
-
const fields = newValue.map((val) => {
|
|
83592
|
-
return val.id;
|
|
83593
|
-
});
|
|
83594
|
-
if (!equals(selectedColumns, newValue)) {
|
|
83595
|
-
(_a = tableRef == null ? void 0 : tableRef.current) == null ? void 0 : _a.setRowGrouping(fields);
|
|
83596
|
-
}
|
|
83597
|
-
},
|
|
83598
|
-
[selectedColumns]
|
|
83599
|
-
);
|
|
83600
|
-
React76.useEffect(() => {
|
|
83601
|
-
function onDisplayedColumnsChanged(event) {
|
|
83602
|
-
const agColumnDefs = event.api.getColumnDefs();
|
|
83603
|
-
if (agColumnDefs == null ? void 0 : agColumnDefs.length) {
|
|
83604
|
-
const flattenedAgColDefs = flattenColDefs(event.api.getColumnDefs());
|
|
83605
|
-
const dataTableColumnDefinitions = flattenedAgColDefs.map(
|
|
83606
|
-
transformToColumnDefinition
|
|
83607
|
-
);
|
|
83608
|
-
setColumnDefinitions(dataTableColumnDefinitions);
|
|
83609
|
-
}
|
|
83610
|
-
}
|
|
83611
|
-
gridApi == null ? void 0 : gridApi.addEventListener(
|
|
83612
|
-
"displayedColumnsChanged",
|
|
83613
|
-
onDisplayedColumnsChanged
|
|
83614
|
-
);
|
|
83615
|
-
return () => {
|
|
83616
|
-
removeEventListenerFromGrid(
|
|
83617
|
-
"displayedColumnsChanged",
|
|
83618
|
-
onDisplayedColumnsChanged,
|
|
83619
|
-
gridApi
|
|
83620
|
-
);
|
|
83621
|
-
};
|
|
83622
|
-
}, [gridApi]);
|
|
83623
|
-
if (groupableColumns.length === 0) {
|
|
83624
|
-
return null;
|
|
83625
|
-
}
|
|
83626
|
-
return /* @__PURE__ */ React76.createElement(
|
|
83627
|
-
EmptyResultsControlTooltip,
|
|
83628
|
-
{
|
|
83629
|
-
featureI18nKey: "featureGroupBy",
|
|
83630
|
-
enabled: hasNoContent
|
|
83631
|
-
},
|
|
83632
|
-
/* @__PURE__ */ React76.createElement(
|
|
83633
|
-
GroupBySelect,
|
|
83634
|
-
{
|
|
83635
|
-
isDisabled: hasNoContent,
|
|
83636
|
-
localeText,
|
|
83637
|
-
onBlur: onGroupedRowChange,
|
|
83638
|
-
onClear: onGroupedClear,
|
|
83639
|
-
options: groupableColumns,
|
|
83640
|
-
selected: selectedColumns
|
|
83641
|
-
}
|
|
83642
|
-
)
|
|
83643
|
-
);
|
|
83644
|
-
};
|
|
83645
|
-
function mapColumnsToOptions(columnDefinitions) {
|
|
83646
|
-
return columnDefinitions.map((col) => {
|
|
83647
|
-
return {
|
|
83648
|
-
label: col.headerName,
|
|
83649
|
-
id: col.field,
|
|
83650
|
-
key: col.field,
|
|
83651
|
-
group: col.columnGroupName
|
|
83652
|
-
};
|
|
83653
|
-
});
|
|
83654
|
-
}
|
|
83655
|
-
var cx21 = classnames.bind(quickControlsStyles_default);
|
|
83656
|
-
var ClientSideSearch = ({
|
|
83657
|
-
onSearch,
|
|
83658
|
-
placeholder
|
|
83659
|
-
}) => {
|
|
83660
|
-
var _a;
|
|
83661
|
-
const [internalValue, setInternalValue] = React76.useState("");
|
|
83662
|
-
const { tableRef } = useInternalTableContext();
|
|
83663
|
-
const hasNoContent = useTableHasNoContent();
|
|
83664
|
-
const I18n = useI18nContext();
|
|
83665
|
-
const debouncedSetSearchValue = React76.useCallback(
|
|
83666
|
-
debounce5((value) => {
|
|
83667
|
-
var _a2;
|
|
83668
|
-
(_a2 = tableRef == null ? void 0 : tableRef.current) == null ? void 0 : _a2.setSearchValue(value);
|
|
83669
|
-
}, 250),
|
|
83670
|
-
[(_a = tableRef == null ? void 0 : tableRef.current) == null ? void 0 : _a.setSearchValue]
|
|
83671
|
-
);
|
|
83672
|
-
const onChange = React76.useCallback(
|
|
83673
|
-
(value, event) => {
|
|
83674
|
-
setInternalValue(value);
|
|
83675
|
-
if (onSearch) {
|
|
83676
|
-
onSearch(event);
|
|
83677
|
-
} else {
|
|
83678
|
-
debouncedSetSearchValue(value);
|
|
83679
|
-
}
|
|
83680
|
-
},
|
|
83681
|
-
[debouncedSetSearchValue, onSearch]
|
|
83682
|
-
);
|
|
83683
|
-
return /* @__PURE__ */ React76.createElement(EmptyResultsControlTooltip, { hasSearch: true, enabled: hasNoContent }, /* @__PURE__ */ React76.createElement(
|
|
83684
|
-
Typeahead,
|
|
83685
|
-
{
|
|
83686
|
-
disabled: hasNoContent,
|
|
83687
|
-
"data-qa": "data-table-search",
|
|
83688
|
-
value: internalValue,
|
|
83689
|
-
className: cx21("search", {
|
|
83690
|
-
"search--empty": !internalValue.length
|
|
83691
|
-
}),
|
|
83692
|
-
onChange,
|
|
83693
|
-
placeholder: placeholder || I18n.t("dataTable.search")
|
|
83694
|
-
}
|
|
83695
|
-
));
|
|
83696
|
-
};
|
|
83697
|
-
var Search = (props) => {
|
|
83698
|
-
const { onServerSideDataRequest } = useInternalTableContext();
|
|
83699
|
-
if (onServerSideDataRequest) {
|
|
83700
|
-
return /* @__PURE__ */ React76.createElement(ServerSideSearch, { ...props });
|
|
83701
|
-
}
|
|
83702
|
-
return /* @__PURE__ */ React76.createElement(ClientSideSearch, { ...props });
|
|
83703
|
-
};
|
|
83704
|
-
|
|
83705
|
-
// src/QuickControls/QuickControls.tsx
|
|
83706
|
-
var QuickControls = (props) => {
|
|
83707
|
-
const I18n = useI18nContext();
|
|
83708
|
-
if (props.children) {
|
|
83709
|
-
return /* @__PURE__ */ React76.createElement(
|
|
83710
|
-
Box,
|
|
83711
|
-
{
|
|
83712
|
-
"data-qa": "data-table-quick-controls",
|
|
83713
|
-
padding: "xs none",
|
|
83714
|
-
style: props.style
|
|
83715
|
-
},
|
|
83716
|
-
props.children
|
|
83717
|
-
);
|
|
83718
|
-
}
|
|
83719
|
-
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(
|
|
83720
|
-
Search,
|
|
83721
|
-
{
|
|
83722
|
-
onSearch: props.onSearch,
|
|
83723
|
-
placeholder: props.placeholder,
|
|
83724
|
-
disabled: props.disabledSearch
|
|
83725
|
-
}
|
|
83726
|
-
), /* @__PURE__ */ React76.createElement(FiltersPanelButton, null)), /* @__PURE__ */ React76.createElement(FlexList, { size: "xs", alignItems: "center" }, /* @__PURE__ */ React76.createElement(
|
|
83727
|
-
RowGroupSelector,
|
|
83728
|
-
{
|
|
83729
|
-
localeText: {
|
|
83730
|
-
reset: I18n.t("dataTable.tableSettings.reset"),
|
|
83731
|
-
placeholder: I18n.t("dataTable.tableSettings.selectColumnGroup"),
|
|
83732
|
-
selectedItemsPrefix: I18n.t("dataTable.tableSettings.groupBy")
|
|
83733
|
-
}
|
|
83734
|
-
}
|
|
83735
|
-
), /* @__PURE__ */ React76.createElement(ConfigPanelButton, null))), /* @__PURE__ */ React76.createElement(
|
|
83736
|
-
QuickFilters,
|
|
83737
|
-
{
|
|
83738
|
-
overlayMatchesTriggerWidth: props.filterOverlayMatchesTriggerWidth
|
|
83739
|
-
}
|
|
83740
|
-
));
|
|
83741
|
-
};
|
|
83742
|
-
|
|
83743
|
-
// src/utils/addSubcomponents.ts
|
|
83744
|
-
var addSubcomponents = (subs, parent) => {
|
|
83745
|
-
const assigned = parent;
|
|
83746
|
-
Object.keys(subs).forEach((key) => {
|
|
83747
|
-
assigned[key] = subs[key];
|
|
83748
|
-
});
|
|
83749
|
-
return assigned;
|
|
83750
|
-
};
|
|
83751
|
-
|
|
83752
|
-
// src/ClientSideDataTable.tsx
|
|
83753
|
-
var ClientSideDataTable = ({
|
|
83754
|
-
analytics,
|
|
83755
|
-
children,
|
|
83756
|
-
columnDefinitions: _columnDefinitions,
|
|
83757
|
-
customBulkEditorFields,
|
|
83758
|
-
enableDynamicRowHeight,
|
|
83759
|
-
enableGroupEditAndValidation,
|
|
83760
|
-
filterGroups,
|
|
83761
|
-
getRowId,
|
|
83762
|
-
initialTableConfig: _initialTableConfig,
|
|
83763
|
-
onBulkEditUpdate,
|
|
83764
|
-
onTableConfigChange,
|
|
83765
|
-
translations: translations2 = {},
|
|
83766
|
-
enableCellTextSelection,
|
|
83767
|
-
localStoragePersistenceKey
|
|
83768
|
-
}) => {
|
|
83769
|
-
return /* @__PURE__ */ React76.createElement(
|
|
83770
|
-
DataTable,
|
|
83771
|
-
{
|
|
83772
|
-
analytics,
|
|
83773
|
-
columnDefinitions: _columnDefinitions,
|
|
83774
|
-
enableGroupEditAndValidation,
|
|
83775
|
-
enableDynamicRowHeight,
|
|
83776
|
-
filterGroups,
|
|
83777
|
-
getRowId,
|
|
83778
|
-
initialTableConfig: _initialTableConfig,
|
|
83779
|
-
onTableConfigChange,
|
|
83780
|
-
onBulkEditUpdate,
|
|
83781
|
-
showExpandCollapseAllToggle: true,
|
|
83782
|
-
translations: translations2,
|
|
83783
|
-
localStoragePersistenceKey,
|
|
83784
|
-
customBulkEditorFields,
|
|
83785
|
-
enableCellTextSelection
|
|
83786
|
-
},
|
|
83787
|
-
children
|
|
83788
|
-
);
|
|
83789
|
-
};
|
|
83790
|
-
var Table2 = (props) => {
|
|
83791
|
-
const internalTableContext = useInternalTableContext();
|
|
83792
|
-
React76.useEffect(() => {
|
|
83793
|
-
var _a;
|
|
83794
|
-
internalTableContext.setTotalRowCount(((_a = props.rows) == null ? void 0 : _a.length) ?? 0);
|
|
83795
|
-
}, [props.rows]);
|
|
83796
|
-
return /* @__PURE__ */ React76.createElement(Table, { ...props, modules: [ClientSideRowModelModule] });
|
|
83797
|
-
};
|
|
83798
|
-
BulkActions.displayName = "ClientSideDataTable.BulkActions";
|
|
83799
|
-
ConfigPanelButton.displayName = "ClientSideDataTable.ConfigPanelButton";
|
|
83800
|
-
ContextPanel.displayName = "ClientSideDataTable.ContextPanel";
|
|
83801
|
-
QuickControls.displayName = "ClientSideDataTable.QuickControls";
|
|
83802
|
-
QuickFilters.displayName = "ClientSideDataTable.QuickFilters";
|
|
83803
|
-
RowGroupSelector.displayName = "ClientSideDataTable.RowGroupSelector";
|
|
83804
|
-
Search.displayName = "ClientSideDataTable.Search";
|
|
83805
|
-
Table2.displayName = "ClientSideDataTable.Table";
|
|
83806
|
-
FiltersPanel.displayName = "ClientSideDataTable.FiltersPanel";
|
|
83807
|
-
var ClientSideDataTable_default = addSubcomponents(
|
|
83808
|
-
{
|
|
83809
|
-
BulkActions,
|
|
83810
|
-
BulkEditActionButton,
|
|
83811
|
-
ConfigPanelButton,
|
|
83812
|
-
ContextPanel,
|
|
83813
|
-
QuickControls,
|
|
83814
|
-
QuickFilters,
|
|
83815
|
-
RowGroupSelector,
|
|
83816
|
-
Search,
|
|
83817
|
-
Table: Table2,
|
|
83818
|
-
FiltersPanel,
|
|
83819
|
-
FiltersPanelButton
|
|
83820
|
-
},
|
|
83821
|
-
ClientSideDataTable
|
|
83822
|
-
);
|
|
83823
|
-
var QuickFilterLabel = React76.forwardRef(({ enabled, ...props }, ref) => {
|
|
83824
|
-
return /* @__PURE__ */ React76.createElement(StyledQuickFilterLabel, { $enabled: enabled }, /* @__PURE__ */ React76.createElement(SelectButton, { ref, ...props }));
|
|
83825
|
-
});
|
|
83826
|
-
var StyledQuickFilterLabel = styled4.div`
|
|
83827
|
-
${StyledSelectButton} {
|
|
83828
|
-
width: auto;
|
|
83829
|
-
max-width: 380px;
|
|
83830
|
-
${({ $enabled }) => $enabled && css$1`
|
|
83831
|
-
background: ${colors.blue96};
|
|
83832
|
-
border-color: ${colors.blue96};
|
|
83833
|
-
font-weight: ${typographyWeights.semibold};
|
|
83834
|
-
&:hover {
|
|
83835
|
-
background: ${colors.blue90};
|
|
83836
|
-
border-color: ${colors.blue90};
|
|
83837
|
-
}
|
|
83838
|
-
${StyledSelectButtonLabel} {
|
|
83839
|
-
color: ${colors.blue45};
|
|
83840
|
-
}
|
|
83841
|
-
${StyledButton} {
|
|
83842
|
-
color: ${colors.blue45};
|
|
83843
|
-
&:hover {
|
|
83844
|
-
background: white;
|
|
83845
|
-
}
|
|
83846
|
-
}
|
|
83847
|
-
${StyledSelectArrow} {
|
|
83848
|
-
svg {
|
|
83849
|
-
fill: ${colors.blue45};
|
|
83850
|
-
}
|
|
83851
|
-
}
|
|
83852
|
-
`}
|
|
83853
|
-
}
|
|
83854
|
-
`;
|
|
83855
|
-
|
|
83856
|
-
// src/QuickFilterRenderers/DateQuickFilterRenderer.tsx
|
|
83857
|
-
function getPlacement2(currentSelectionType, position) {
|
|
83858
|
-
if (currentSelectionType === "single") {
|
|
83859
|
-
return "bottom-left";
|
|
83860
|
-
}
|
|
83861
|
-
if (position === "start") {
|
|
83862
|
-
return "bottom-left";
|
|
83863
|
-
}
|
|
83864
|
-
return "bottom-right";
|
|
83865
|
-
}
|
|
83866
|
-
var OptionalDateTimeProvider2 = ({ timeZone, children }) => {
|
|
83867
|
-
return timeZone ? /* @__PURE__ */ React76.createElement(DateTimeProvider, { timeZone }, children) : /* @__PURE__ */ React76.createElement(React76.Fragment, null, children);
|
|
83868
|
-
};
|
|
83869
|
-
var DateFilterSelect2 = React76.forwardRef(
|
|
83870
|
-
({
|
|
83871
|
-
afterHide,
|
|
83872
|
-
selectionType = "either",
|
|
83873
|
-
headerName,
|
|
83874
|
-
disabled,
|
|
83875
|
-
onChange,
|
|
83876
|
-
position,
|
|
83877
|
-
selectedValue,
|
|
83878
|
-
setSelectionType = () => {
|
|
83879
|
-
}
|
|
83880
|
-
}, ref) => {
|
|
83881
|
-
const dateTime = useDateTime();
|
|
83882
|
-
const { start, end } = selectedValue;
|
|
83883
|
-
const selectedDate = (position === "start" ? start : end) ?? void 0;
|
|
83884
|
-
const [displayed, setDisplayed2] = React76.useState(
|
|
83885
|
-
// @ts-ignore
|
|
83886
|
-
selectedDate || dateTime.newDate()
|
|
83887
|
-
);
|
|
83888
|
-
React76.useEffect(() => {
|
|
83889
|
-
if (isDate(start) && !isDate(end) && position === "end") {
|
|
83890
|
-
setDisplayed2(start);
|
|
83891
|
-
}
|
|
83892
|
-
if (!isDate(start) && isDate(end) && position === "start") {
|
|
83893
|
-
setDisplayed2(end);
|
|
83894
|
-
}
|
|
83895
|
-
}, [position, selectedValue]);
|
|
83896
|
-
function onClear() {
|
|
83897
|
-
onChange(null, position);
|
|
83898
|
-
}
|
|
83899
|
-
const clearRef = React76.useRef(null);
|
|
83900
|
-
const monthRef = React76.useRef(null);
|
|
83901
|
-
const yearRef = React76.useRef(null);
|
|
83902
|
-
const overlay = /* @__PURE__ */ React76.createElement(
|
|
83903
|
-
DateFilterOverlay,
|
|
83904
|
-
{
|
|
83905
|
-
displayDate: displayed,
|
|
83906
|
-
selectionType,
|
|
83907
|
-
monthRef,
|
|
83908
|
-
onSelect: (date) => {
|
|
83909
|
-
onChange(date, position);
|
|
83910
|
-
},
|
|
83911
|
-
position,
|
|
83912
|
-
selectedValue,
|
|
83913
|
-
setDisplayDate: setDisplayed2,
|
|
83914
|
-
setSelectionType,
|
|
83915
|
-
yearRef
|
|
83916
|
-
}
|
|
83917
|
-
);
|
|
83918
|
-
return /* @__PURE__ */ React76.createElement(
|
|
83919
|
-
OverlayTrigger,
|
|
83920
|
-
{
|
|
83921
|
-
afterHide,
|
|
83922
|
-
autoFocus: true,
|
|
83923
|
-
beforeShow: (e) => {
|
|
83924
|
-
if (isEventSource(clearRef, e)) {
|
|
83925
|
-
return false;
|
|
83926
|
-
}
|
|
83927
|
-
return true;
|
|
83928
|
-
},
|
|
83929
|
-
clickOutsideIgnoreRefs: [monthRef, yearRef],
|
|
83930
|
-
overlay,
|
|
83931
|
-
placement: getPlacement2(selectionType, position),
|
|
83932
|
-
ref,
|
|
83933
|
-
restoreFocusOnHide: true,
|
|
83934
|
-
role: "dialog"
|
|
83935
|
-
},
|
|
83936
|
-
/* @__PURE__ */ React76.createElement(
|
|
83937
|
-
DateQuickFilterLabel,
|
|
83938
|
-
{
|
|
83939
|
-
headerName,
|
|
83940
|
-
onClear,
|
|
83941
|
-
value: selectedDate,
|
|
83942
|
-
disabled
|
|
83943
|
-
}
|
|
83944
|
-
)
|
|
83945
|
-
);
|
|
83946
|
-
}
|
|
83947
|
-
);
|
|
83948
|
-
function DateFilter3({
|
|
83949
|
-
// TODO: talk to design about potential loading UX for this.
|
|
83950
|
-
// core DateSelect doesn't have it
|
|
83951
|
-
// loading,
|
|
83952
|
-
headerName,
|
|
83953
|
-
onChange,
|
|
83954
|
-
selectionType = "either",
|
|
83955
|
-
value,
|
|
83956
|
-
disabled,
|
|
83957
|
-
...props
|
|
83958
|
-
}) {
|
|
83959
|
-
const [selectedValue, setSelectedValue] = React76.useState({
|
|
83960
|
-
type: selectionType === "either" ? "range" : selectionType
|
|
83961
|
-
});
|
|
83962
|
-
React76.useEffect(() => {
|
|
83963
|
-
const parsedValue = value.map((date) => {
|
|
83964
|
-
if (isDate(date)) {
|
|
83965
|
-
return date;
|
|
83966
|
-
}
|
|
83967
|
-
return parseISO(String(date));
|
|
83968
|
-
});
|
|
83969
|
-
const type = isSameDay(parsedValue[0], parsedValue[1]) ? "single" : "range";
|
|
83970
|
-
setSelectedValue({ type, start: parsedValue[0], end: parsedValue[1] });
|
|
83971
|
-
}, [value]);
|
|
83972
|
-
const dateRangeEndDateRef = React76.useRef(null);
|
|
83973
|
-
function dateFilterOnChange(date, position) {
|
|
83974
|
-
const newValue = getValueFromSelection(selectedValue, date, position);
|
|
83975
|
-
setSelectedValue(newValue);
|
|
83976
|
-
if (isValidDateSelection(newValue)) {
|
|
83977
|
-
onChange(
|
|
83978
|
-
newValue.start || newValue.end ? [
|
|
83979
|
-
newValue.start,
|
|
83980
|
-
newValue.type === "single" ? newValue.start : newValue.end
|
|
83981
|
-
] : []
|
|
83982
|
-
);
|
|
83983
|
-
}
|
|
83984
|
-
}
|
|
83985
|
-
const onSelectionTypeChange = React76.useCallback(
|
|
83986
|
-
(newSelectionType) => {
|
|
83987
|
-
setSelectedValue({ type: newSelectionType });
|
|
83988
|
-
},
|
|
83989
|
-
[setSelectedValue]
|
|
83990
|
-
);
|
|
83991
|
-
function dateRangeAfterHide() {
|
|
83992
|
-
var _a;
|
|
83993
|
-
if (selectedValue.type === "range" && isDate(selectedValue.start) && !isDate(selectedValue.end)) {
|
|
83994
|
-
(_a = dateRangeEndDateRef.current) == null ? void 0 : _a.click();
|
|
83995
|
-
}
|
|
83996
|
-
return true;
|
|
83997
|
-
}
|
|
83998
|
-
return /* @__PURE__ */ React76.createElement(FlexList, { space: "xs", "data-qa": props["data-qa"] }, /* @__PURE__ */ React76.createElement(
|
|
83999
|
-
DateFilterSelect2,
|
|
84000
|
-
{
|
|
84001
|
-
afterHide: dateRangeAfterHide,
|
|
84002
|
-
headerName,
|
|
84003
|
-
onChange: dateFilterOnChange,
|
|
84004
|
-
position: "start",
|
|
84005
|
-
selectedValue,
|
|
84006
|
-
selectionType,
|
|
84007
|
-
setSelectionType: onSelectionTypeChange,
|
|
84008
|
-
disabled
|
|
84009
|
-
}
|
|
84010
|
-
), selectedValue.type === "range" && /* @__PURE__ */ React76.createElement(
|
|
84011
|
-
DateFilterSelect2,
|
|
84012
|
-
{
|
|
84013
|
-
headerName,
|
|
84014
|
-
onChange: dateFilterOnChange,
|
|
84015
|
-
position: "end",
|
|
84016
|
-
ref: dateRangeEndDateRef,
|
|
84017
|
-
selectedValue,
|
|
84018
|
-
selectionType,
|
|
84019
|
-
setSelectionType: onSelectionTypeChange,
|
|
84020
|
-
disabled
|
|
84021
|
-
}
|
|
84022
|
-
));
|
|
84023
|
-
}
|
|
84024
|
-
function ServerSideQuickDateFilterRenderer({
|
|
84025
|
-
columnDefinition,
|
|
84026
|
-
disabled
|
|
84027
|
-
}) {
|
|
84028
|
-
var _a;
|
|
84029
|
-
const { onChange, value = [] } = useServerSideFilter({
|
|
84030
|
-
columnDefinition
|
|
84031
|
-
});
|
|
84032
|
-
const colDef = columnDefinition;
|
|
84033
|
-
return /* @__PURE__ */ React76.createElement(OptionalDateTimeProvider2, { timeZone: colDef.timeZone }, /* @__PURE__ */ React76.createElement(
|
|
84034
|
-
DateFilter3,
|
|
84035
|
-
{
|
|
84036
|
-
selectionType: ((_a = colDef.filterProps) == null ? void 0 : _a.selectionType) ?? "either",
|
|
84037
|
-
headerName: colDef.headerName,
|
|
84038
|
-
disabled,
|
|
84039
|
-
onChange: (selected) => {
|
|
84040
|
-
onChange(
|
|
84041
|
-
selected.map((date) => {
|
|
84042
|
-
return date ? {
|
|
84043
|
-
// future extensions can go here (month, day, year keys etc)
|
|
84044
|
-
date
|
|
84045
|
-
} : (
|
|
84046
|
-
// TODO: refactor out date-specific getId stuff from useServerSideFilterStorage
|
|
84047
|
-
date
|
|
84048
|
-
);
|
|
84049
|
-
})
|
|
84050
|
-
);
|
|
84051
|
-
},
|
|
84052
|
-
value: value.map((option) => option ? option.date : option)
|
|
84053
|
-
}
|
|
84054
|
-
));
|
|
84055
|
-
}
|
|
84056
|
-
var QuickDateFilterRenderer = (props) => {
|
|
84057
|
-
const { onServerSideDataRequest } = useInternalTableContext();
|
|
84058
|
-
if (onServerSideDataRequest) {
|
|
84059
|
-
return /* @__PURE__ */ React76.createElement(ServerSideQuickDateFilterRenderer, { ...props });
|
|
84060
|
-
}
|
|
84061
|
-
logger.error(
|
|
84062
|
-
"Warning: Date Filters are currently only implemented for the serverside row model"
|
|
84063
|
-
);
|
|
84064
|
-
return null;
|
|
84065
|
-
};
|
|
84066
|
-
var dateInputLocales = {
|
|
84067
|
-
"fr-CA": {
|
|
84068
|
-
placeholders: { day: "jj", month: "mm", year: "aaaa" }
|
|
84069
|
-
},
|
|
84070
|
-
"fr-FR": {
|
|
84071
|
-
placeholders: { day: "jj", month: "mm", year: "aaaa" }
|
|
84072
|
-
},
|
|
84073
|
-
es: {
|
|
84074
|
-
placeholders: { day: "dd", month: "mm", year: "aaaa" }
|
|
84075
|
-
},
|
|
84076
|
-
"es-ES": {
|
|
84077
|
-
placeholders: { day: "dd", month: "mm", year: "aaaa" }
|
|
84078
|
-
},
|
|
84079
|
-
pt: {
|
|
84080
|
-
placeholders: { day: "dd", month: "mm", year: "aaaa" }
|
|
84081
|
-
},
|
|
84082
|
-
"is-IS": {
|
|
84083
|
-
placeholders: { day: "dd", month: "mm", year: "\xE1\xE1\xE1\xE1" }
|
|
84084
|
-
},
|
|
84085
|
-
"de-DE": {
|
|
84086
|
-
placeholders: { day: "tt", month: "MM", year: "jjjj" }
|
|
84087
|
-
}
|
|
84088
|
-
};
|
|
84089
|
-
var DateQuickFilterLabel = React76.forwardRef(({ headerName, onClear, value, disabled }, ref) => {
|
|
84090
|
-
var _a;
|
|
84091
|
-
const dateTime = useDateTime();
|
|
84092
|
-
const i18n = useI18nContext();
|
|
84093
|
-
const placeholders = ((_a = dateInputLocales[i18n.locale]) == null ? void 0 : _a.placeholders) || {
|
|
84094
|
-
day: "dd",
|
|
84095
|
-
month: "mm",
|
|
84096
|
-
year: "yyyy"
|
|
84097
|
-
};
|
|
84098
|
-
if (value !== void 0 && isDate(value)) {
|
|
84099
|
-
return /* @__PURE__ */ React76.createElement(
|
|
84100
|
-
QuickFilterLabel,
|
|
84101
|
-
{
|
|
84102
|
-
enabled: true,
|
|
84103
|
-
disabled,
|
|
84104
|
-
label: `${headerName}: ${dateTime.format(value, "numeric-date")}`,
|
|
84105
|
-
onClear,
|
|
84106
|
-
ref
|
|
84107
|
-
}
|
|
84108
|
-
);
|
|
84109
|
-
}
|
|
84110
|
-
return /* @__PURE__ */ React76.createElement(
|
|
84111
|
-
QuickFilterLabel,
|
|
84112
|
-
{
|
|
84113
|
-
enabled: false,
|
|
84114
|
-
disabled,
|
|
84115
|
-
label: `${headerName}: ${getDatePlaceholder(i18n.locale, placeholders)}`,
|
|
84116
|
-
ref
|
|
84117
|
-
}
|
|
84118
|
-
);
|
|
84119
|
-
});
|
|
84120
|
-
var DateQuickFilterRenderer_default = QuickDateFilterRenderer;
|
|
84121
|
-
var defaultGetId2 = (option) => option == null ? void 0 : option.id;
|
|
84122
|
-
var defaultGetLabel2 = (option) => {
|
|
84123
|
-
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;
|
|
84124
83591
|
};
|
|
84125
83592
|
var useSuperSelectOptionAsValueWorkaround = ({
|
|
84126
83593
|
originValue,
|
|
@@ -84453,7 +83920,7 @@ var LocationQuickFilterRenderer = ({
|
|
|
84453
83920
|
);
|
|
84454
83921
|
};
|
|
84455
83922
|
var LocationQuickFilterRenderer_default = LocationQuickFilterRenderer;
|
|
84456
|
-
var StyledFilterPresetPopoverContent =
|
|
83923
|
+
var StyledFilterPresetPopoverContent = styled3(Popover.Content)`
|
|
84457
83924
|
padding: ${spacing.sm}px ${spacing.lg}px;
|
|
84458
83925
|
`;
|
|
84459
83926
|
var getValueLabel = (isValueEmpty, value, placeholder, filterName) => {
|
|
@@ -84537,7 +84004,7 @@ var getSuperSelectFilterPreset = (columnDefinition) => {
|
|
|
84537
84004
|
selectionStyle: "highlight"
|
|
84538
84005
|
};
|
|
84539
84006
|
};
|
|
84540
|
-
var StyledSuperSelectWrapper =
|
|
84007
|
+
var StyledSuperSelectWrapper = styled3.div`
|
|
84541
84008
|
${UNSAFE_StyledSuperSelectTrigger} {
|
|
84542
84009
|
width: auto;
|
|
84543
84010
|
}
|
|
@@ -84612,236 +84079,875 @@ var ClientSideMultiSelectQuickFilter = ({
|
|
|
84612
84079
|
onRemove == null ? void 0 : onRemove();
|
|
84613
84080
|
return;
|
|
84614
84081
|
}
|
|
84615
|
-
onChange == null ? void 0 : onChange(values2);
|
|
84616
|
-
},
|
|
84617
|
-
...getSuperSelectFilterPreset(columnDefinition)
|
|
84618
|
-
}
|
|
84619
|
-
));
|
|
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
|
+
);
|
|
84620
84652
|
};
|
|
84621
|
-
var
|
|
84622
|
-
|
|
84623
|
-
|
|
84624
|
-
|
|
84625
|
-
|
|
84626
|
-
|
|
84627
|
-
|
|
84628
|
-
|
|
84629
|
-
const valueIds = originValue.map((option) => getId(getId3, option));
|
|
84630
|
-
isValueFromOptions.current = true;
|
|
84631
|
-
return originOptions.filter(
|
|
84632
|
-
(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
|
+
}
|
|
84633
84661
|
);
|
|
84634
|
-
}
|
|
84635
|
-
|
|
84636
|
-
|
|
84637
|
-
const options = !hasOptions && hasValue ? originValue : originOptions;
|
|
84638
|
-
const value = !hasOptions ? originValue : isValueFromOptions.current ? originValue : getValueFromOptions();
|
|
84639
|
-
return {
|
|
84640
|
-
options,
|
|
84641
|
-
value,
|
|
84642
|
-
getOptionValue: (option) => option
|
|
84643
|
-
};
|
|
84644
|
-
};
|
|
84645
|
-
var ServerSideMultiSelectQuickFilter = ({ columnDefinition, overlayMatchesTriggerWidth, disabled }) => {
|
|
84646
|
-
var _a;
|
|
84647
|
-
const {
|
|
84648
|
-
options: originOptions,
|
|
84649
|
-
onClearFilter,
|
|
84650
|
-
fieldName,
|
|
84651
|
-
value: originValue = [],
|
|
84652
|
-
onChange,
|
|
84653
|
-
getOptions,
|
|
84654
|
-
loading
|
|
84655
|
-
} = useServerSideFilter({ columnDefinition });
|
|
84656
|
-
const { options, value, getOptionValue } = useSuperSelectOptionAsValueWorkaround2({
|
|
84657
|
-
originOptions,
|
|
84658
|
-
originValue,
|
|
84659
|
-
loading,
|
|
84660
|
-
getId: (_a = columnDefinition.filterProps) == null ? void 0 : _a.getId
|
|
84661
|
-
});
|
|
84662
|
-
return /* @__PURE__ */ React76.createElement(StyledSuperSelectWrapper, { $enabled: Boolean(value == null ? void 0 : value.length) }, /* @__PURE__ */ React76.createElement(
|
|
84663
|
-
UNSAFE_SuperSelect,
|
|
84662
|
+
}
|
|
84663
|
+
return /* @__PURE__ */ React76.createElement(
|
|
84664
|
+
ClientSideQuickFilters,
|
|
84664
84665
|
{
|
|
84665
|
-
overlayMatchesTriggerWidth
|
|
84666
|
-
loading,
|
|
84667
|
-
value: value === null ? [] : value,
|
|
84668
|
-
search: false,
|
|
84669
|
-
getOptionLabel: (option) => {
|
|
84670
|
-
var _a2;
|
|
84671
|
-
return getLabel((_a2 = columnDefinition.filterProps) == null ? void 0 : _a2.getLabel, option);
|
|
84672
|
-
},
|
|
84673
|
-
getOptionValue,
|
|
84674
|
-
multiple: true,
|
|
84675
|
-
options,
|
|
84676
|
-
disabled,
|
|
84677
|
-
onChange: (values2) => {
|
|
84678
|
-
if (Array.isArray(values2) && !values2.length) {
|
|
84679
|
-
onClearFilter == null ? void 0 : onClearFilter(fieldName);
|
|
84680
|
-
getOptions();
|
|
84681
|
-
return;
|
|
84682
|
-
}
|
|
84683
|
-
onChange(values2);
|
|
84684
|
-
},
|
|
84685
|
-
onOpenChange: (open) => {
|
|
84686
|
-
if (open && !originOptions.length) {
|
|
84687
|
-
getOptions();
|
|
84688
|
-
}
|
|
84689
|
-
},
|
|
84690
|
-
...getSuperSelectFilterPreset(columnDefinition)
|
|
84666
|
+
overlayMatchesTriggerWidth
|
|
84691
84667
|
}
|
|
84692
|
-
)
|
|
84668
|
+
);
|
|
84693
84669
|
};
|
|
84694
|
-
var
|
|
84670
|
+
var FiltersPanelButton = () => {
|
|
84695
84671
|
const { onServerSideDataRequest } = useInternalTableContext();
|
|
84696
|
-
if (
|
|
84697
|
-
return /* @__PURE__ */ React76.createElement(
|
|
84672
|
+
if (onServerSideDataRequest) {
|
|
84673
|
+
return /* @__PURE__ */ React76.createElement(ServerSideFiltersPanelToggleButton, null);
|
|
84698
84674
|
}
|
|
84699
|
-
return /* @__PURE__ */ React76.createElement(
|
|
84675
|
+
return /* @__PURE__ */ React76.createElement(ClientSideFiltersPanelToggleButton, null);
|
|
84700
84676
|
};
|
|
84701
|
-
var
|
|
84702
|
-
|
|
84703
|
-
|
|
84704
|
-
|
|
84705
|
-
|
|
84706
|
-
|
|
84707
|
-
|
|
84708
|
-
|
|
84709
|
-
|
|
84710
|
-
|
|
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
|
+
}
|
|
84711
84745
|
return /* @__PURE__ */ React76.createElement(
|
|
84712
|
-
|
|
84746
|
+
EmptyResultsControlTooltip,
|
|
84713
84747
|
{
|
|
84714
|
-
|
|
84715
|
-
|
|
84748
|
+
featureI18nKey: "featureGroupBy",
|
|
84749
|
+
enabled: hasNoContent
|
|
84716
84750
|
},
|
|
84717
84751
|
/* @__PURE__ */ React76.createElement(
|
|
84718
|
-
|
|
84752
|
+
Tooltip,
|
|
84719
84753
|
{
|
|
84720
|
-
|
|
84721
|
-
|
|
84722
|
-
|
|
84723
|
-
|
|
84724
|
-
|
|
84725
|
-
|
|
84726
|
-
|
|
84727
|
-
|
|
84728
|
-
|
|
84729
|
-
|
|
84730
|
-
|
|
84731
|
-
|
|
84732
|
-
|
|
84733
|
-
|
|
84734
|
-
|
|
84735
|
-
|
|
84736
|
-
if (!valuesArray.length) {
|
|
84737
|
-
onRemove == null ? void 0 : onRemove();
|
|
84738
|
-
return;
|
|
84739
|
-
}
|
|
84740
|
-
onChange == null ? void 0 : onChange(valuesArray);
|
|
84741
|
-
},
|
|
84742
|
-
...getSuperSelectFilterPreset(columnDefinition)
|
|
84743
|
-
}
|
|
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
|
+
))
|
|
84744
84770
|
)
|
|
84745
84771
|
);
|
|
84746
84772
|
};
|
|
84747
|
-
|
|
84748
|
-
|
|
84749
|
-
|
|
84750
|
-
|
|
84751
|
-
|
|
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
|
|
84752
84787
|
}) => {
|
|
84753
|
-
const isValueFromOptions = React76.useRef(false);
|
|
84754
|
-
const getValueFromOptions = () => {
|
|
84755
|
-
const valueIds = originValue.map((option) => getId(getId3, option));
|
|
84756
|
-
isValueFromOptions.current = true;
|
|
84757
|
-
return originOptions.filter(
|
|
84758
|
-
(option) => valueIds.includes(getId(getId3, option))
|
|
84759
|
-
);
|
|
84760
|
-
};
|
|
84761
|
-
const hasOptions = originOptions.length > 0 && !loading;
|
|
84762
|
-
const hasValue = (originValue == null ? void 0 : originValue.length) > 0;
|
|
84763
|
-
const options = !hasOptions && hasValue ? originValue : originOptions;
|
|
84764
|
-
const value = !hasOptions ? originValue : isValueFromOptions.current ? originValue : getValueFromOptions();
|
|
84765
|
-
return {
|
|
84766
|
-
options,
|
|
84767
|
-
value,
|
|
84768
|
-
getOptionValue: (option) => option
|
|
84769
|
-
};
|
|
84770
|
-
};
|
|
84771
|
-
var ServerSideSingleSelectQuickFilter = ({ columnDefinition, overlayMatchesTriggerWidth, disabled }) => {
|
|
84772
84788
|
var _a;
|
|
84773
|
-
const
|
|
84774
|
-
|
|
84775
|
-
|
|
84776
|
-
|
|
84777
|
-
|
|
84778
|
-
|
|
84779
|
-
|
|
84780
|
-
|
|
84781
|
-
|
|
84782
|
-
|
|
84783
|
-
|
|
84784
|
-
|
|
84785
|
-
|
|
84786
|
-
|
|
84787
|
-
|
|
84788
|
-
|
|
84789
|
-
|
|
84790
|
-
|
|
84791
|
-
|
|
84792
|
-
|
|
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")
|
|
84793
84822
|
}
|
|
84794
|
-
|
|
84795
|
-
|
|
84796
|
-
|
|
84797
|
-
|
|
84798
|
-
|
|
84799
|
-
|
|
84800
|
-
|
|
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
|
|
84801
84853
|
}
|
|
84802
|
-
|
|
84803
|
-
|
|
84804
|
-
|
|
84805
|
-
|
|
84806
|
-
|
|
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
|
+
}
|
|
84807
84862
|
}
|
|
84808
|
-
|
|
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
|
+
}) => {
|
|
84809
84897
|
return /* @__PURE__ */ React76.createElement(
|
|
84810
|
-
|
|
84898
|
+
DataTable,
|
|
84811
84899
|
{
|
|
84812
|
-
|
|
84813
|
-
|
|
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
|
|
84814
84914
|
},
|
|
84815
|
-
|
|
84816
|
-
UNSAFE_SuperSelect,
|
|
84817
|
-
{
|
|
84818
|
-
overlayMatchesTriggerWidth,
|
|
84819
|
-
loading,
|
|
84820
|
-
value: value ?? [],
|
|
84821
|
-
search: false,
|
|
84822
|
-
disabled,
|
|
84823
|
-
getOptionLabel: (option) => {
|
|
84824
|
-
var _a2;
|
|
84825
|
-
return getLabel((_a2 = columnDefinition.filterProps) == null ? void 0 : _a2.getLabel, option);
|
|
84826
|
-
},
|
|
84827
|
-
getOptionValue,
|
|
84828
|
-
multiple: false,
|
|
84829
|
-
options,
|
|
84830
|
-
onChange: handleOnChange,
|
|
84831
|
-
onOpenChange: handleOnOpenChange,
|
|
84832
|
-
...getSuperSelectFilterPreset(columnDefinition)
|
|
84833
|
-
}
|
|
84834
|
-
)
|
|
84915
|
+
children
|
|
84835
84916
|
);
|
|
84836
84917
|
};
|
|
84837
|
-
var
|
|
84838
|
-
const
|
|
84839
|
-
|
|
84840
|
-
|
|
84841
|
-
|
|
84842
|
-
|
|
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] });
|
|
84843
84925
|
};
|
|
84844
|
-
|
|
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
|
+
);
|
|
84845
84951
|
|
|
84846
84952
|
// ../../node_modules/@ag-grid-enterprise/server-side-row-model/dist/esm/es6/serverSideRowModel/stores/fullStore.mjs
|
|
84847
84953
|
var __decorate212 = function(decorators, target, key, desc) {
|