@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/modern/index.cjs
CHANGED
|
@@ -19,9 +19,9 @@ var _isEqual = require('lodash.isequal');
|
|
|
19
19
|
var ReactResizeDetector = require('react-resize-detector');
|
|
20
20
|
var labsDatetimeSelect = require('@procore/labs-datetime-select');
|
|
21
21
|
var Decimal = require('decimal.js');
|
|
22
|
-
var
|
|
23
|
-
var labsGroupBySelect = require('@procore/labs-group-by-select');
|
|
22
|
+
var styled3 = require('styled-components');
|
|
24
23
|
var globalizationToolkit = require('@procore/globalization-toolkit');
|
|
24
|
+
var labsGroupBySelect = require('@procore/labs-group-by-select');
|
|
25
25
|
|
|
26
26
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
27
27
|
|
|
@@ -33,7 +33,7 @@ var ReactDOM__default = /*#__PURE__*/_interopDefault(ReactDOM);
|
|
|
33
33
|
var _isEqual__default = /*#__PURE__*/_interopDefault(_isEqual);
|
|
34
34
|
var ReactResizeDetector__default = /*#__PURE__*/_interopDefault(ReactResizeDetector);
|
|
35
35
|
var Decimal__default = /*#__PURE__*/_interopDefault(Decimal);
|
|
36
|
-
var
|
|
36
|
+
var styled3__default = /*#__PURE__*/_interopDefault(styled3);
|
|
37
37
|
|
|
38
38
|
var __create = Object.create;
|
|
39
39
|
var __defProp = Object.defineProperty;
|
|
@@ -1422,7 +1422,7 @@ ag-grid, ag-grid-angular, ag-grid-ng2, ag-grid-polymer, ag-grid-aurelia {
|
|
|
1422
1422
|
animation-iteration-count: infinite;
|
|
1423
1423
|
animation-name: ag-shake-left-to-right;
|
|
1424
1424
|
}
|
|
1425
|
-
@keyframes _ag-shake-left-to-
|
|
1425
|
+
@keyframes _ag-shake-left-to-right_18odb_369 {
|
|
1426
1426
|
from {
|
|
1427
1427
|
padding-left: 6px;
|
|
1428
1428
|
padding-right: 2px;
|
|
@@ -5423,7 +5423,7 @@ input[class^=ag-][type=button]:focus, button[class^=ag-]:focus {
|
|
|
5423
5423
|
animation-iteration-count: infinite;
|
|
5424
5424
|
animation-timing-function: linear;
|
|
5425
5425
|
}
|
|
5426
|
-
@keyframes
|
|
5426
|
+
@keyframes _spin_18odb_1 {
|
|
5427
5427
|
from {
|
|
5428
5428
|
transform: rotate(0deg);
|
|
5429
5429
|
}
|
|
@@ -7729,7 +7729,7 @@ input[class^=ag-][type=range]:disabled {
|
|
|
7729
7729
|
.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 {
|
|
7730
7730
|
min-height: 0px;
|
|
7731
7731
|
}
|
|
7732
|
-
.ag-theme-alpine.ag-theme-alpine .ag-overlay
|
|
7732
|
+
.ag-theme-alpine.ag-theme-alpine .ag-overlay .ag-react-container {
|
|
7733
7733
|
pointer-events: initial;
|
|
7734
7734
|
}
|
|
7735
7735
|
.ag-theme-alpine.ag-theme-alpine .ag-menu, .ag-theme-alpine.ag-theme-alpine .ag-menu-header {
|
|
@@ -7928,7 +7928,7 @@ input[class^=ag-][type=range]:disabled {
|
|
|
7928
7928
|
padding-left: 16px;
|
|
7929
7929
|
}
|
|
7930
7930
|
|
|
7931
|
-
div.
|
|
7931
|
+
div._contextPanel_18odb_7153 {
|
|
7932
7932
|
width: 400px;
|
|
7933
7933
|
transition: all ease 500ms;
|
|
7934
7934
|
flex: 0 0 auto;
|
|
@@ -7937,7 +7937,7 @@ div._contextPanel_1t4e8_7153 {
|
|
|
7937
7937
|
border: 1px solid #d6dadc;
|
|
7938
7938
|
display: flex;
|
|
7939
7939
|
}
|
|
7940
|
-
div._contextPanel--
|
|
7940
|
+
div._contextPanel--hidden_18odb_7162 {
|
|
7941
7941
|
border: none;
|
|
7942
7942
|
overflow: hidden;
|
|
7943
7943
|
padding: 0px;
|
|
@@ -7945,50 +7945,50 @@ div._contextPanel--hidden_1t4e8_7162 {
|
|
|
7945
7945
|
width: 0px;
|
|
7946
7946
|
}
|
|
7947
7947
|
|
|
7948
|
-
.
|
|
7948
|
+
._contextPanelWrapper_18odb_7170 {
|
|
7949
7949
|
position: relative;
|
|
7950
7950
|
flex-grow: 1;
|
|
7951
7951
|
}
|
|
7952
7952
|
|
|
7953
|
-
.
|
|
7953
|
+
._contextPanelBody_18odb_7175 {
|
|
7954
7954
|
width: clamp(380px, 400px, 100%);
|
|
7955
7955
|
}
|
|
7956
7956
|
|
|
7957
|
-
._contextPanel-
|
|
7957
|
+
._contextPanel-stickyHeader_18odb_7179 {
|
|
7958
7958
|
background-color: #ffffff;
|
|
7959
7959
|
position: sticky;
|
|
7960
7960
|
top: 0;
|
|
7961
7961
|
z-index: 5;
|
|
7962
7962
|
}
|
|
7963
7963
|
|
|
7964
|
-
._filters-
|
|
7964
|
+
._filters-list_18odb_7186 {
|
|
7965
7965
|
padding: 0;
|
|
7966
7966
|
margin: 0;
|
|
7967
7967
|
}
|
|
7968
|
-
._filters-
|
|
7968
|
+
._filters-list_18odb_7186 ol {
|
|
7969
7969
|
padding: 0;
|
|
7970
7970
|
margin: 0;
|
|
7971
7971
|
}
|
|
7972
7972
|
|
|
7973
|
-
._col-drag-column-
|
|
7973
|
+
._col-drag-column-icon_18odb_7195 {
|
|
7974
7974
|
color: #6a767c;
|
|
7975
7975
|
}
|
|
7976
7976
|
|
|
7977
|
-
._tabular-
|
|
7977
|
+
._tabular-nums_18odb_7199 {
|
|
7978
7978
|
font-variant-numeric: tabular-nums;
|
|
7979
7979
|
}`;
|
|
7980
7980
|
document.head.appendChild(document.createElement("style")).appendChild(document.createTextNode(css));
|
|
7981
7981
|
var styles_default = {
|
|
7982
|
-
"contextPanel": "
|
|
7983
|
-
"contextPanel--hidden": "_contextPanel--
|
|
7984
|
-
"contextPanelWrapper": "
|
|
7985
|
-
"contextPanelBody": "
|
|
7986
|
-
"contextPanel-stickyHeader": "_contextPanel-
|
|
7987
|
-
"filters-list": "_filters-
|
|
7988
|
-
"col-drag-column-icon": "_col-drag-column-
|
|
7989
|
-
"tabular-nums": "_tabular-
|
|
7990
|
-
"ag-shake-left-to-right": "_ag-shake-left-to-
|
|
7991
|
-
"spin": "
|
|
7982
|
+
"contextPanel": "_contextPanel_18odb_7153",
|
|
7983
|
+
"contextPanel--hidden": "_contextPanel--hidden_18odb_7162",
|
|
7984
|
+
"contextPanelWrapper": "_contextPanelWrapper_18odb_7170",
|
|
7985
|
+
"contextPanelBody": "_contextPanelBody_18odb_7175",
|
|
7986
|
+
"contextPanel-stickyHeader": "_contextPanel-stickyHeader_18odb_7179",
|
|
7987
|
+
"filters-list": "_filters-list_18odb_7186",
|
|
7988
|
+
"col-drag-column-icon": "_col-drag-column-icon_18odb_7195",
|
|
7989
|
+
"tabular-nums": "_tabular-nums_18odb_7199",
|
|
7990
|
+
"ag-shake-left-to-right": "_ag-shake-left-to-right_18odb_369",
|
|
7991
|
+
"spin": "_spin_18odb_1"
|
|
7992
7992
|
};
|
|
7993
7993
|
|
|
7994
7994
|
// src/utils/getCellValueTypographyProps.ts
|
|
@@ -8075,7 +8075,7 @@ var Renderer = ({
|
|
|
8075
8075
|
var ButtonsCellRenderer = withDataTableRenderer(Renderer, "select");
|
|
8076
8076
|
|
|
8077
8077
|
// src/utils/truncation.scss
|
|
8078
|
-
var css2 = `.
|
|
8078
|
+
var css2 = `._truncatingText_c077g_1 {
|
|
8079
8079
|
white-space: normal;
|
|
8080
8080
|
overflow: hidden;
|
|
8081
8081
|
word-wrap: break-word;
|
|
@@ -8084,17 +8084,43 @@ var css2 = `._truncatingText_114ye_1 {
|
|
|
8084
8084
|
-webkit-box-orient: vertical;
|
|
8085
8085
|
-webkit-line-clamp: 1;
|
|
8086
8086
|
}
|
|
8087
|
-
._truncatingText--
|
|
8087
|
+
._truncatingText--md_c077g_10 {
|
|
8088
8088
|
-webkit-line-clamp: 2;
|
|
8089
8089
|
}
|
|
8090
|
-
._truncatingText--
|
|
8090
|
+
._truncatingText--lg_c077g_13 {
|
|
8091
8091
|
-webkit-line-clamp: 3;
|
|
8092
|
+
}
|
|
8093
|
+
._truncatingText--overflowVisible_c077g_16 {
|
|
8094
|
+
overflow: visible;
|
|
8095
|
+
}
|
|
8096
|
+
|
|
8097
|
+
._extendClickableArea_c077g_20 {
|
|
8098
|
+
display: inline-block;
|
|
8099
|
+
position: relative;
|
|
8100
|
+
width: 100%;
|
|
8101
|
+
}
|
|
8102
|
+
._extendClickableArea_c077g_20::before {
|
|
8103
|
+
content: "";
|
|
8104
|
+
position: absolute;
|
|
8105
|
+
top: 50%;
|
|
8106
|
+
left: 50%;
|
|
8107
|
+
width: 48px;
|
|
8108
|
+
height: 48px;
|
|
8109
|
+
transform: translate(-50%, -50%);
|
|
8110
|
+
pointer-events: auto;
|
|
8111
|
+
background: transparent;
|
|
8112
|
+
}
|
|
8113
|
+
._extendClickableArea--rowHeightSm_c077g_36::before {
|
|
8114
|
+
height: 32px;
|
|
8092
8115
|
}`;
|
|
8093
8116
|
document.head.appendChild(document.createElement("style")).appendChild(document.createTextNode(css2));
|
|
8094
8117
|
var truncation_default = {
|
|
8095
|
-
"truncatingText": "
|
|
8096
|
-
"truncatingText--md": "_truncatingText--
|
|
8097
|
-
"truncatingText--lg": "_truncatingText--
|
|
8118
|
+
"truncatingText": "_truncatingText_c077g_1",
|
|
8119
|
+
"truncatingText--md": "_truncatingText--md_c077g_10",
|
|
8120
|
+
"truncatingText--lg": "_truncatingText--lg_c077g_13",
|
|
8121
|
+
"truncatingText--overflowVisible": "_truncatingText--overflowVisible_c077g_16",
|
|
8122
|
+
"extendClickableArea": "_extendClickableArea_c077g_20",
|
|
8123
|
+
"extendClickableArea--rowHeightSm": "_extendClickableArea--rowHeightSm_c077g_36"
|
|
8098
8124
|
};
|
|
8099
8125
|
|
|
8100
8126
|
// src/utils/ContactItem.tsx
|
|
@@ -52958,7 +52984,10 @@ globalObj.MouseEvent = typeof MouseEvent === "undefined" ? {} : MouseEvent;
|
|
|
52958
52984
|
// src/CellRenderers/GroupCell.tsx
|
|
52959
52985
|
var GroupCellRenderer2 = GroupCellRenderer;
|
|
52960
52986
|
var cx6 = classnames__default.default.bind(truncation_default);
|
|
52987
|
+
var MIN_LINK_WIDTH = 48;
|
|
52961
52988
|
var InternalLinkCellRenderer = ({ columnDefinition, isGroup, data, rowHeight, value }) => {
|
|
52989
|
+
const [isLinkWidthBelowMin, setIsLinkWidthBelowMin] = React76.useState(false);
|
|
52990
|
+
const linkRef = React76.useRef(null);
|
|
52962
52991
|
const internalValue = value ? columnDefinition.getStringFormattedValue?.(value) : "";
|
|
52963
52992
|
const typographyProps = getCellValueTypographyProps(
|
|
52964
52993
|
columnDefinition.cellRendererParams?.typographyProps
|
|
@@ -52969,14 +52998,24 @@ var InternalLinkCellRenderer = ({ columnDefinition, isGroup, data, rowHeight, va
|
|
|
52969
52998
|
"truncatingText",
|
|
52970
52999
|
{
|
|
52971
53000
|
"truncatingText--md": rowHeight === rowSize.md,
|
|
52972
|
-
"truncatingText--lg": rowHeight === rowSize.lg
|
|
53001
|
+
"truncatingText--lg": rowHeight === rowSize.lg,
|
|
53002
|
+
"truncatingText--overflowVisible": isLinkWidthBelowMin
|
|
52973
53003
|
}
|
|
52974
53004
|
);
|
|
52975
53005
|
if (isGroup) {
|
|
52976
53006
|
return /* @__PURE__ */ React76__default.default.createElement(coreReact.Typography, { ...typographyProps, className, weight: "semibold" }, value);
|
|
52977
53007
|
}
|
|
53008
|
+
React76.useEffect(() => {
|
|
53009
|
+
if (linkRef.current) {
|
|
53010
|
+
const { width } = linkRef.current.getBoundingClientRect();
|
|
53011
|
+
setIsLinkWidthBelowMin(width < MIN_LINK_WIDTH);
|
|
53012
|
+
}
|
|
53013
|
+
}, [internalValue]);
|
|
52978
53014
|
const isExternalLink = columnDefinition.cellRendererParams.isExternalLink ?? false;
|
|
52979
53015
|
const URL = columnDefinition.cellRendererParams.getURL(value, data);
|
|
53016
|
+
const extendClickableAreaClassNames = isLinkWidthBelowMin ? cx6("extendClickableArea", {
|
|
53017
|
+
"extendClickableArea--rowHeightSm": rowHeight === rowSize.sm
|
|
53018
|
+
}) : "";
|
|
52980
53019
|
if (isExternalLink && value && URL) {
|
|
52981
53020
|
return /* @__PURE__ */ React76__default.default.createElement(
|
|
52982
53021
|
coreReact.Typography,
|
|
@@ -52996,7 +53035,7 @@ var InternalLinkCellRenderer = ({ columnDefinition, isGroup, data, rowHeight, va
|
|
|
52996
53035
|
)
|
|
52997
53036
|
);
|
|
52998
53037
|
}
|
|
52999
|
-
return URL ? /* @__PURE__ */ React76__default.default.createElement(coreReact.Typography, { ...typographyProps, className }, /* @__PURE__ */ React76__default.default.createElement(coreReact.Link, { href: URL }, internalValue)) : /* @__PURE__ */ React76__default.default.createElement(coreReact.Typography, { ...typographyProps }, internalValue);
|
|
53038
|
+
return URL ? /* @__PURE__ */ React76__default.default.createElement(coreReact.Typography, { ...typographyProps, className }, /* @__PURE__ */ React76__default.default.createElement(coreReact.Link, { href: URL, className: extendClickableAreaClassNames, ref: linkRef }, internalValue)) : /* @__PURE__ */ React76__default.default.createElement(coreReact.Typography, { ...typographyProps }, internalValue);
|
|
53000
53039
|
};
|
|
53001
53040
|
var LinkCellRenderer = withDataTableRenderer(
|
|
53002
53041
|
InternalLinkCellRenderer,
|
|
@@ -53075,7 +53114,7 @@ var NumberCellEditor2 = withDataTableEditor(
|
|
|
53075
53114
|
);
|
|
53076
53115
|
|
|
53077
53116
|
// src/CellRenderers/peopleCellStyles.scss
|
|
53078
|
-
var css3 = `.
|
|
53117
|
+
var css3 = `._truncatingText_14qzu_1 {
|
|
53079
53118
|
white-space: normal;
|
|
53080
53119
|
overflow: hidden;
|
|
53081
53120
|
word-wrap: break-word;
|
|
@@ -53084,33 +53123,59 @@ var css3 = `._truncatingText_3wkw2_1 {
|
|
|
53084
53123
|
-webkit-box-orient: vertical;
|
|
53085
53124
|
-webkit-line-clamp: 1;
|
|
53086
53125
|
}
|
|
53087
|
-
._truncatingText--
|
|
53126
|
+
._truncatingText--md_14qzu_10 {
|
|
53088
53127
|
-webkit-line-clamp: 2;
|
|
53089
53128
|
}
|
|
53090
|
-
._truncatingText--
|
|
53129
|
+
._truncatingText--lg_14qzu_13 {
|
|
53091
53130
|
-webkit-line-clamp: 3;
|
|
53092
53131
|
}
|
|
53132
|
+
._truncatingText--overflowVisible_14qzu_16 {
|
|
53133
|
+
overflow: visible;
|
|
53134
|
+
}
|
|
53135
|
+
|
|
53136
|
+
._extendClickableArea_14qzu_20 {
|
|
53137
|
+
display: inline-block;
|
|
53138
|
+
position: relative;
|
|
53139
|
+
width: 100%;
|
|
53140
|
+
}
|
|
53141
|
+
._extendClickableArea_14qzu_20::before {
|
|
53142
|
+
content: "";
|
|
53143
|
+
position: absolute;
|
|
53144
|
+
top: 50%;
|
|
53145
|
+
left: 50%;
|
|
53146
|
+
width: 48px;
|
|
53147
|
+
height: 48px;
|
|
53148
|
+
transform: translate(-50%, -50%);
|
|
53149
|
+
pointer-events: auto;
|
|
53150
|
+
background: transparent;
|
|
53151
|
+
}
|
|
53152
|
+
._extendClickableArea--rowHeightSm_14qzu_36::before {
|
|
53153
|
+
height: 32px;
|
|
53154
|
+
}
|
|
53093
53155
|
|
|
53094
|
-
.
|
|
53156
|
+
._inlineListItems_14qzu_40 {
|
|
53095
53157
|
list-style: none;
|
|
53096
53158
|
margin: 0;
|
|
53097
53159
|
padding: 0;
|
|
53098
53160
|
}
|
|
53099
|
-
.
|
|
53161
|
+
._inlineListItems_14qzu_40 > li {
|
|
53100
53162
|
display: inline;
|
|
53101
53163
|
}
|
|
53102
53164
|
|
|
53103
|
-
.
|
|
53165
|
+
._dynamicRowHeightSpacing_14qzu_49 {
|
|
53104
53166
|
margin-top: 8px;
|
|
53105
53167
|
margin-bottom: 8px;
|
|
53106
53168
|
}`;
|
|
53107
53169
|
document.head.appendChild(document.createElement("style")).appendChild(document.createTextNode(css3));
|
|
53108
53170
|
var peopleCellStyles_default = {
|
|
53109
|
-
"truncatingText": "
|
|
53110
|
-
"truncatingText--md": "_truncatingText--
|
|
53111
|
-
"truncatingText--lg": "_truncatingText--
|
|
53112
|
-
"
|
|
53113
|
-
"
|
|
53171
|
+
"truncatingText": "_truncatingText_14qzu_1",
|
|
53172
|
+
"truncatingText--md": "_truncatingText--md_14qzu_10",
|
|
53173
|
+
"truncatingText--lg": "_truncatingText--lg_14qzu_13",
|
|
53174
|
+
"truncatingText--overflowVisible": "_truncatingText--overflowVisible_14qzu_16",
|
|
53175
|
+
"extendClickableArea": "_extendClickableArea_14qzu_20",
|
|
53176
|
+
"extendClickableArea--rowHeightSm": "_extendClickableArea--rowHeightSm_14qzu_36",
|
|
53177
|
+
"inlineListItems": "_inlineListItems_14qzu_40",
|
|
53178
|
+
"dynamicRowHeightSpacing": "_dynamicRowHeightSpacing_14qzu_49"
|
|
53114
53179
|
};
|
|
53115
53180
|
|
|
53116
53181
|
// src/CellRenderers/PeopleCell.tsx
|
|
@@ -82735,7 +82800,7 @@ var FILTERS_GROUP_EXPANDABLE_AREA_VERTICAL_MARGIN = coreReact.spacing.md;
|
|
|
82735
82800
|
var FILTERS_GROUP_ITEM_HEIGHT = 60;
|
|
82736
82801
|
var ITEMS_IN_FILTERS_GROUP = 5;
|
|
82737
82802
|
var FILTERS_GROUP_EXPANDABLE_AREA_HEIGHT = (FILTERS_GROUP_ITEM_HEIGHT + coreReact.spacing.xl) * ITEMS_IN_FILTERS_GROUP + BORDER_WIDTH;
|
|
82738
|
-
var StyledPanelSection =
|
|
82803
|
+
var StyledPanelSection = styled3__default.default(coreReact.Panel.Section)`
|
|
82739
82804
|
// Filters Group container styles
|
|
82740
82805
|
&.filters-list-group-section {
|
|
82741
82806
|
padding-bottom: ${FILTERS_GROUP_VERTICAL_MARGIN}px;
|
|
@@ -83025,899 +83090,807 @@ var ConfigPanelButton = () => {
|
|
|
83025
83090
|
)
|
|
83026
83091
|
);
|
|
83027
83092
|
};
|
|
83028
|
-
|
|
83029
|
-
|
|
83030
|
-
|
|
83031
|
-
|
|
83032
|
-
|
|
83033
|
-
|
|
83093
|
+
var QuickFilterLabel = React76__default.default.forwardRef(({ enabled, ...props }, ref) => {
|
|
83094
|
+
return /* @__PURE__ */ React76__default.default.createElement(StyledQuickFilterLabel, { $enabled: enabled }, /* @__PURE__ */ React76__default.default.createElement(coreReact.SelectButton, { ref, ...props }));
|
|
83095
|
+
});
|
|
83096
|
+
var StyledQuickFilterLabel = styled3__default.default.div`
|
|
83097
|
+
${coreReact.StyledSelectButton} {
|
|
83098
|
+
width: auto;
|
|
83099
|
+
max-width: 380px;
|
|
83100
|
+
${({ $enabled }) => $enabled && styled3.css`
|
|
83101
|
+
background: ${coreReact.colors.blue96};
|
|
83102
|
+
border-color: ${coreReact.colors.blue96};
|
|
83103
|
+
font-weight: ${coreReact.typographyWeights.semibold};
|
|
83104
|
+
&:hover {
|
|
83105
|
+
background: ${coreReact.colors.blue90};
|
|
83106
|
+
border-color: ${coreReact.colors.blue90};
|
|
83107
|
+
}
|
|
83108
|
+
${coreReact.StyledSelectButtonLabel} {
|
|
83109
|
+
color: ${coreReact.colors.blue45};
|
|
83110
|
+
}
|
|
83111
|
+
${coreReact.StyledButton} {
|
|
83112
|
+
color: ${coreReact.colors.blue45};
|
|
83113
|
+
&:hover {
|
|
83114
|
+
background: white;
|
|
83115
|
+
}
|
|
83116
|
+
}
|
|
83117
|
+
${coreReact.StyledSelectArrow} {
|
|
83118
|
+
svg {
|
|
83119
|
+
fill: ${coreReact.colors.blue45};
|
|
83120
|
+
}
|
|
83121
|
+
}
|
|
83122
|
+
`}
|
|
83034
83123
|
}
|
|
83035
|
-
|
|
83124
|
+
`;
|
|
83125
|
+
|
|
83126
|
+
// src/QuickFilterRenderers/DateQuickFilterRenderer.tsx
|
|
83127
|
+
function getPlacement2(currentSelectionType, position) {
|
|
83128
|
+
if (currentSelectionType === "single") {
|
|
83129
|
+
return "bottom-left";
|
|
83130
|
+
}
|
|
83131
|
+
if (position === "start") {
|
|
83132
|
+
return "bottom-left";
|
|
83133
|
+
}
|
|
83134
|
+
return "bottom-right";
|
|
83135
|
+
}
|
|
83136
|
+
var OptionalDateTimeProvider2 = ({ timeZone, children }) => {
|
|
83137
|
+
return timeZone ? /* @__PURE__ */ React76__default.default.createElement(coreReact.DateTimeProvider, { timeZone }, children) : /* @__PURE__ */ React76__default.default.createElement(React76__default.default.Fragment, null, children);
|
|
83138
|
+
};
|
|
83139
|
+
var DateFilterSelect2 = React76__default.default.forwardRef(
|
|
83140
|
+
({
|
|
83141
|
+
afterHide,
|
|
83142
|
+
selectionType = "either",
|
|
83143
|
+
headerName,
|
|
83144
|
+
disabled,
|
|
83145
|
+
onChange,
|
|
83146
|
+
position,
|
|
83147
|
+
selectedValue,
|
|
83148
|
+
setSelectionType = () => {
|
|
83149
|
+
}
|
|
83150
|
+
}, ref) => {
|
|
83151
|
+
const dateTime = coreReact.useDateTime();
|
|
83152
|
+
const { start, end } = selectedValue;
|
|
83153
|
+
const selectedDate = (position === "start" ? start : end) ?? void 0;
|
|
83154
|
+
const [displayed, setDisplayed2] = React76__default.default.useState(
|
|
83155
|
+
// @ts-ignore
|
|
83156
|
+
selectedDate || dateTime.newDate()
|
|
83157
|
+
);
|
|
83158
|
+
React76__default.default.useEffect(() => {
|
|
83159
|
+
if (dateFns.isDate(start) && !dateFns.isDate(end) && position === "end") {
|
|
83160
|
+
setDisplayed2(start);
|
|
83161
|
+
}
|
|
83162
|
+
if (!dateFns.isDate(start) && dateFns.isDate(end) && position === "start") {
|
|
83163
|
+
setDisplayed2(end);
|
|
83164
|
+
}
|
|
83165
|
+
}, [position, selectedValue]);
|
|
83166
|
+
function onClear() {
|
|
83167
|
+
onChange(null, position);
|
|
83168
|
+
}
|
|
83169
|
+
const clearRef = React76__default.default.useRef(null);
|
|
83170
|
+
const monthRef = React76__default.default.useRef(null);
|
|
83171
|
+
const yearRef = React76__default.default.useRef(null);
|
|
83172
|
+
const overlay = /* @__PURE__ */ React76__default.default.createElement(
|
|
83173
|
+
DateFilterOverlay,
|
|
83174
|
+
{
|
|
83175
|
+
displayDate: displayed,
|
|
83176
|
+
selectionType,
|
|
83177
|
+
monthRef,
|
|
83178
|
+
onSelect: (date) => {
|
|
83179
|
+
onChange(date, position);
|
|
83180
|
+
},
|
|
83181
|
+
position,
|
|
83182
|
+
selectedValue,
|
|
83183
|
+
setDisplayDate: setDisplayed2,
|
|
83184
|
+
setSelectionType,
|
|
83185
|
+
yearRef
|
|
83186
|
+
}
|
|
83187
|
+
);
|
|
83036
83188
|
return /* @__PURE__ */ React76__default.default.createElement(
|
|
83037
|
-
|
|
83189
|
+
coreReact.OverlayTrigger,
|
|
83038
83190
|
{
|
|
83039
|
-
|
|
83191
|
+
afterHide,
|
|
83192
|
+
autoFocus: true,
|
|
83193
|
+
beforeShow: (e) => {
|
|
83194
|
+
if (coreReact.isEventSource(clearRef, e)) {
|
|
83195
|
+
return false;
|
|
83196
|
+
}
|
|
83197
|
+
return true;
|
|
83198
|
+
},
|
|
83199
|
+
clickOutsideIgnoreRefs: [monthRef, yearRef],
|
|
83200
|
+
overlay,
|
|
83201
|
+
placement: getPlacement2(selectionType, position),
|
|
83202
|
+
ref,
|
|
83203
|
+
restoreFocusOnHide: true,
|
|
83204
|
+
role: "dialog"
|
|
83040
83205
|
},
|
|
83041
83206
|
/* @__PURE__ */ React76__default.default.createElement(
|
|
83042
|
-
|
|
83207
|
+
DateQuickFilterLabel,
|
|
83043
83208
|
{
|
|
83044
|
-
headerName
|
|
83045
|
-
|
|
83209
|
+
headerName,
|
|
83210
|
+
onClear,
|
|
83211
|
+
value: selectedDate,
|
|
83212
|
+
disabled
|
|
83046
83213
|
}
|
|
83047
83214
|
)
|
|
83048
83215
|
);
|
|
83049
83216
|
}
|
|
83050
|
-
|
|
83051
|
-
|
|
83052
|
-
|
|
83053
|
-
|
|
83054
|
-
|
|
83055
|
-
|
|
83056
|
-
|
|
83057
|
-
|
|
83058
|
-
|
|
83059
|
-
|
|
83060
|
-
|
|
83061
|
-
|
|
83217
|
+
);
|
|
83218
|
+
function DateFilter3({
|
|
83219
|
+
// TODO: talk to design about potential loading UX for this.
|
|
83220
|
+
// core DateSelect doesn't have it
|
|
83221
|
+
// loading,
|
|
83222
|
+
headerName,
|
|
83223
|
+
onChange,
|
|
83224
|
+
selectionType = "either",
|
|
83225
|
+
value,
|
|
83226
|
+
disabled,
|
|
83227
|
+
...props
|
|
83228
|
+
}) {
|
|
83229
|
+
const [selectedValue, setSelectedValue] = React76__default.default.useState({
|
|
83230
|
+
type: selectionType === "either" ? "range" : selectionType
|
|
83231
|
+
});
|
|
83232
|
+
React76__default.default.useEffect(() => {
|
|
83233
|
+
const parsedValue = value.map((date) => {
|
|
83234
|
+
if (dateFns.isDate(date)) {
|
|
83235
|
+
return date;
|
|
83236
|
+
}
|
|
83237
|
+
return dateFns.parseISO(String(date));
|
|
83238
|
+
});
|
|
83239
|
+
const type = dateFns.isSameDay(parsedValue[0], parsedValue[1]) ? "single" : "range";
|
|
83240
|
+
setSelectedValue({ type, start: parsedValue[0], end: parsedValue[1] });
|
|
83241
|
+
}, [value]);
|
|
83242
|
+
const dateRangeEndDateRef = React76__default.default.useRef(null);
|
|
83243
|
+
function dateFilterOnChange(date, position) {
|
|
83244
|
+
const newValue = getValueFromSelection(selectedValue, date, position);
|
|
83245
|
+
setSelectedValue(newValue);
|
|
83246
|
+
if (isValidDateSelection(newValue)) {
|
|
83247
|
+
onChange(
|
|
83248
|
+
newValue.start || newValue.end ? [
|
|
83249
|
+
newValue.start,
|
|
83250
|
+
newValue.type === "single" ? newValue.start : newValue.end
|
|
83251
|
+
] : []
|
|
83252
|
+
);
|
|
83062
83253
|
}
|
|
83063
|
-
return `${columnDefinition?.headerName}: (${filterValue.length})`;
|
|
83064
|
-
}
|
|
83065
|
-
return columnDefinition?.headerName;
|
|
83066
|
-
}
|
|
83067
|
-
var ensureArray = (input) => {
|
|
83068
|
-
if (input === null) {
|
|
83069
|
-
return [];
|
|
83070
|
-
}
|
|
83071
|
-
return Array.isArray(input) ? input : [input];
|
|
83072
|
-
};
|
|
83073
|
-
var FiltersPanelToggleButton = ({ hasSelectedFilters, hasDefinedFilters }) => {
|
|
83074
|
-
const I18n = coreReact.useI18nContext();
|
|
83075
|
-
const { contextPanel } = useInternalTableContext();
|
|
83076
|
-
const hasNoContent = useTableHasNoContent();
|
|
83077
|
-
if (!hasDefinedFilters) {
|
|
83078
|
-
return null;
|
|
83079
83254
|
}
|
|
83080
|
-
|
|
83081
|
-
|
|
83082
|
-
|
|
83083
|
-
featureI18nKey: "featureFilter",
|
|
83084
|
-
enabled: hasNoContent
|
|
83255
|
+
const onSelectionTypeChange = React76__default.default.useCallback(
|
|
83256
|
+
(newSelectionType) => {
|
|
83257
|
+
setSelectedValue({ type: newSelectionType });
|
|
83085
83258
|
},
|
|
83086
|
-
|
|
83087
|
-
coreReact.ToggleButton,
|
|
83088
|
-
{
|
|
83089
|
-
"data-qa": "data-table-show-filters-button",
|
|
83090
|
-
disabled: hasNoContent,
|
|
83091
|
-
icon: /* @__PURE__ */ React76__default.default.createElement(FilterIcon, null),
|
|
83092
|
-
onClick: () => {
|
|
83093
|
-
if (contextPanel.content === "filters") {
|
|
83094
|
-
contextPanel.hide();
|
|
83095
|
-
} else {
|
|
83096
|
-
contextPanel.show("filters");
|
|
83097
|
-
}
|
|
83098
|
-
},
|
|
83099
|
-
selected: contextPanel.content === "filters"
|
|
83100
|
-
},
|
|
83101
|
-
hasSelectedFilters ? I18n.t("dataTable.filters.moreFilters") : I18n.t("dataTable.filters.filters")
|
|
83102
|
-
)
|
|
83259
|
+
[setSelectedValue]
|
|
83103
83260
|
);
|
|
83104
|
-
|
|
83105
|
-
|
|
83106
|
-
|
|
83107
|
-
|
|
83108
|
-
|
|
83109
|
-
|
|
83110
|
-
|
|
83261
|
+
function dateRangeAfterHide() {
|
|
83262
|
+
if (selectedValue.type === "range" && dateFns.isDate(selectedValue.start) && !dateFns.isDate(selectedValue.end)) {
|
|
83263
|
+
dateRangeEndDateRef.current?.click();
|
|
83264
|
+
}
|
|
83265
|
+
return true;
|
|
83266
|
+
}
|
|
83267
|
+
return /* @__PURE__ */ React76__default.default.createElement(coreReact.FlexList, { space: "xs", "data-qa": props["data-qa"] }, /* @__PURE__ */ React76__default.default.createElement(
|
|
83268
|
+
DateFilterSelect2,
|
|
83111
83269
|
{
|
|
83112
|
-
|
|
83113
|
-
|
|
83270
|
+
afterHide: dateRangeAfterHide,
|
|
83271
|
+
headerName,
|
|
83272
|
+
onChange: dateFilterOnChange,
|
|
83273
|
+
position: "start",
|
|
83274
|
+
selectedValue,
|
|
83275
|
+
selectionType,
|
|
83276
|
+
setSelectionType: onSelectionTypeChange,
|
|
83277
|
+
disabled
|
|
83114
83278
|
}
|
|
83115
|
-
)
|
|
83116
|
-
|
|
83117
|
-
var ClientSideFiltersPanelToggleButton = () => {
|
|
83118
|
-
const { filterState } = useInternalTableContext();
|
|
83119
|
-
const activeFilters = React76__default.default.useMemo(() => {
|
|
83120
|
-
return filterState.allAvailableFilters.filter(({ instance }) => {
|
|
83121
|
-
return instance.isFilterActive();
|
|
83122
|
-
});
|
|
83123
|
-
}, [filterState.allAvailableFilters]);
|
|
83124
|
-
return /* @__PURE__ */ React76__default.default.createElement(
|
|
83125
|
-
FiltersPanelToggleButton,
|
|
83279
|
+
), selectedValue.type === "range" && /* @__PURE__ */ React76__default.default.createElement(
|
|
83280
|
+
DateFilterSelect2,
|
|
83126
83281
|
{
|
|
83127
|
-
|
|
83128
|
-
|
|
83282
|
+
headerName,
|
|
83283
|
+
onChange: dateFilterOnChange,
|
|
83284
|
+
position: "end",
|
|
83285
|
+
ref: dateRangeEndDateRef,
|
|
83286
|
+
selectedValue,
|
|
83287
|
+
selectionType,
|
|
83288
|
+
setSelectionType: onSelectionTypeChange,
|
|
83289
|
+
disabled
|
|
83129
83290
|
}
|
|
83130
|
-
);
|
|
83131
|
-
}
|
|
83132
|
-
|
|
83133
|
-
|
|
83134
|
-
|
|
83135
|
-
|
|
83136
|
-
|
|
83291
|
+
));
|
|
83292
|
+
}
|
|
83293
|
+
function ServerSideQuickDateFilterRenderer({
|
|
83294
|
+
columnDefinition,
|
|
83295
|
+
disabled
|
|
83296
|
+
}) {
|
|
83297
|
+
const { onChange, value = [] } = useServerSideFilter({
|
|
83298
|
+
columnDefinition
|
|
83299
|
+
});
|
|
83300
|
+
const colDef = columnDefinition;
|
|
83301
|
+
return /* @__PURE__ */ React76__default.default.createElement(OptionalDateTimeProvider2, { timeZone: colDef.timeZone }, /* @__PURE__ */ React76__default.default.createElement(
|
|
83302
|
+
DateFilter3,
|
|
83137
83303
|
{
|
|
83138
|
-
|
|
83139
|
-
|
|
83140
|
-
|
|
83141
|
-
|
|
83142
|
-
|
|
83143
|
-
|
|
83144
|
-
|
|
83145
|
-
|
|
83146
|
-
|
|
83147
|
-
|
|
83148
|
-
|
|
83149
|
-
|
|
83150
|
-
|
|
83151
|
-
|
|
83152
|
-
|
|
83153
|
-
|
|
83304
|
+
selectionType: colDef.filterProps?.selectionType ?? "either",
|
|
83305
|
+
headerName: colDef.headerName,
|
|
83306
|
+
disabled,
|
|
83307
|
+
onChange: (selected) => {
|
|
83308
|
+
onChange(
|
|
83309
|
+
selected.map((date) => {
|
|
83310
|
+
return date ? {
|
|
83311
|
+
// future extensions can go here (month, day, year keys etc)
|
|
83312
|
+
date
|
|
83313
|
+
} : (
|
|
83314
|
+
// TODO: refactor out date-specific getId stuff from useServerSideFilterStorage
|
|
83315
|
+
date
|
|
83316
|
+
);
|
|
83317
|
+
})
|
|
83318
|
+
);
|
|
83319
|
+
},
|
|
83320
|
+
value: value.map((option) => option ? option.date : option)
|
|
83321
|
+
}
|
|
83322
|
+
));
|
|
83323
|
+
}
|
|
83324
|
+
var QuickDateFilterRenderer = (props) => {
|
|
83325
|
+
const { onServerSideDataRequest } = useInternalTableContext();
|
|
83326
|
+
if (onServerSideDataRequest) {
|
|
83327
|
+
return /* @__PURE__ */ React76__default.default.createElement(ServerSideQuickDateFilterRenderer, { ...props });
|
|
83328
|
+
}
|
|
83329
|
+
logger.error(
|
|
83330
|
+
"Warning: Date Filters are currently only implemented for the serverside row model"
|
|
83154
83331
|
);
|
|
83332
|
+
return null;
|
|
83155
83333
|
};
|
|
83156
|
-
var
|
|
83157
|
-
|
|
83158
|
-
|
|
83334
|
+
var dateInputLocales = {
|
|
83335
|
+
"fr-CA": {
|
|
83336
|
+
placeholders: { day: "jj", month: "mm", year: "aaaa" }
|
|
83337
|
+
},
|
|
83338
|
+
"fr-FR": {
|
|
83339
|
+
placeholders: { day: "jj", month: "mm", year: "aaaa" }
|
|
83340
|
+
},
|
|
83341
|
+
es: {
|
|
83342
|
+
placeholders: { day: "dd", month: "mm", year: "aaaa" }
|
|
83343
|
+
},
|
|
83344
|
+
"es-ES": {
|
|
83345
|
+
placeholders: { day: "dd", month: "mm", year: "aaaa" }
|
|
83346
|
+
},
|
|
83347
|
+
pt: {
|
|
83348
|
+
placeholders: { day: "dd", month: "mm", year: "aaaa" }
|
|
83349
|
+
},
|
|
83350
|
+
"is-IS": {
|
|
83351
|
+
placeholders: { day: "dd", month: "mm", year: "\xE1\xE1\xE1\xE1" }
|
|
83352
|
+
},
|
|
83353
|
+
"de-DE": {
|
|
83354
|
+
placeholders: { day: "tt", month: "MM", year: "jjjj" }
|
|
83159
83355
|
}
|
|
83160
|
-
`;
|
|
83161
|
-
var ClientSideQuickFilters = ({ overlayMatchesTriggerWidth }) => {
|
|
83162
|
-
const { tableRef, filterState, getColumnDefinition } = useInternalTableContext();
|
|
83163
|
-
const hasNoContent = useTableHasNoContent();
|
|
83164
|
-
const { quickFilters, tokens } = React76__default.default.useMemo(() => {
|
|
83165
|
-
return filterState.allAvailableFilters.reduce(
|
|
83166
|
-
(acc, filter) => {
|
|
83167
|
-
const colDef = getColumnDefinition(filter.field);
|
|
83168
|
-
if (!colDef) {
|
|
83169
|
-
return acc;
|
|
83170
|
-
}
|
|
83171
|
-
if (colDef?.quickFilterRenderer) {
|
|
83172
|
-
return { ...acc, quickFilters: [...acc.quickFilters, filter] };
|
|
83173
|
-
} else if (filter.instance.isFilterActive()) {
|
|
83174
|
-
return { ...acc, tokens: [...acc.tokens, filter] };
|
|
83175
|
-
}
|
|
83176
|
-
return acc;
|
|
83177
|
-
},
|
|
83178
|
-
{
|
|
83179
|
-
quickFilters: [],
|
|
83180
|
-
tokens: []
|
|
83181
|
-
}
|
|
83182
|
-
);
|
|
83183
|
-
}, [filterState.allAvailableFilters, getColumnDefinition]);
|
|
83184
|
-
const isEmpty2 = quickFilters.length === 0 && tokens.length === 0;
|
|
83185
|
-
return isEmpty2 ? null : /* @__PURE__ */ React76__default.default.createElement(
|
|
83186
|
-
coreReact.FlexList,
|
|
83187
|
-
{
|
|
83188
|
-
padding: "xs none",
|
|
83189
|
-
size: "none",
|
|
83190
|
-
alignItems: "center",
|
|
83191
|
-
wrap: "wrap",
|
|
83192
|
-
gap: "sm"
|
|
83193
|
-
},
|
|
83194
|
-
quickFilters.map((filter) => {
|
|
83195
|
-
const colDef = getColumnDefinition(filter.field);
|
|
83196
|
-
const QuickFilter = colDef?.quickFilterRenderer;
|
|
83197
|
-
if (!colDef || !QuickFilter) {
|
|
83198
|
-
return null;
|
|
83199
|
-
}
|
|
83200
|
-
return /* @__PURE__ */ React76__default.default.createElement(
|
|
83201
|
-
EmptyResultsControlTooltip,
|
|
83202
|
-
{
|
|
83203
|
-
featureI18nKey: "featureQuickFilter",
|
|
83204
|
-
enabled: hasNoContent
|
|
83205
|
-
},
|
|
83206
|
-
/* @__PURE__ */ React76__default.default.createElement(
|
|
83207
|
-
QuickFilter,
|
|
83208
|
-
{
|
|
83209
|
-
key: filter.field,
|
|
83210
|
-
filter,
|
|
83211
|
-
columnDefinition: colDef,
|
|
83212
|
-
disabled: hasNoContent,
|
|
83213
|
-
onChange: (value) => tableRef?.current?.applyListFilter(filter.field, value),
|
|
83214
|
-
onRemove: () => tableRef?.current?.removeFilter(filter.field),
|
|
83215
|
-
overlayMatchesTriggerWidth
|
|
83216
|
-
}
|
|
83217
|
-
)
|
|
83218
|
-
);
|
|
83219
|
-
}),
|
|
83220
|
-
tokens.map((filter) => {
|
|
83221
|
-
const colDef = getColumnDefinition(filter.field);
|
|
83222
|
-
if (!colDef) {
|
|
83223
|
-
return null;
|
|
83224
|
-
}
|
|
83225
|
-
return /* @__PURE__ */ React76__default.default.createElement(StyledFilterTokenWrapper, { key: filter.field }, /* @__PURE__ */ React76__default.default.createElement(coreReact.UNSAFE_FilterToken, null, /* @__PURE__ */ React76__default.default.createElement(coreReact.UNSAFE_FilterToken.Label, null, getFilterTokenText(colDef, filter.filterValues)), /* @__PURE__ */ React76__default.default.createElement(
|
|
83226
|
-
coreReact.UNSAFE_FilterToken.Remove,
|
|
83227
|
-
{
|
|
83228
|
-
onClick: () => tableRef?.current?.removeFilter(filter.field)
|
|
83229
|
-
}
|
|
83230
|
-
)));
|
|
83231
|
-
})
|
|
83232
|
-
);
|
|
83233
83356
|
};
|
|
83234
|
-
var
|
|
83235
|
-
const
|
|
83236
|
-
|
|
83237
|
-
|
|
83238
|
-
|
|
83239
|
-
|
|
83240
|
-
|
|
83241
|
-
|
|
83242
|
-
|
|
83243
|
-
|
|
83244
|
-
|
|
83245
|
-
const hasNoContent = useTableHasNoContent();
|
|
83246
|
-
const { quickFilterNames, tokenNames } = React76__default.default.useMemo(() => {
|
|
83247
|
-
const appliedFilterNames = Object.keys(selectedFilters);
|
|
83248
|
-
const isActiveFilter = (filterName) => appliedFilterNames.includes(filterName);
|
|
83249
|
-
return possibleFilters.reduce(
|
|
83250
|
-
(acc, filterName) => {
|
|
83251
|
-
const colDef = getColumnDefinition(filterName);
|
|
83252
|
-
if (!colDef) {
|
|
83253
|
-
return acc;
|
|
83254
|
-
}
|
|
83255
|
-
if (colDef?.quickFilterRenderer) {
|
|
83256
|
-
return {
|
|
83257
|
-
...acc,
|
|
83258
|
-
quickFilterNames: [...acc.quickFilterNames, filterName]
|
|
83259
|
-
};
|
|
83260
|
-
} else if (isActiveFilter(filterName)) {
|
|
83261
|
-
return { ...acc, tokenNames: [...acc.tokenNames, filterName] };
|
|
83262
|
-
}
|
|
83263
|
-
return acc;
|
|
83264
|
-
},
|
|
83357
|
+
var DateQuickFilterLabel = React76__default.default.forwardRef(({ headerName, onClear, value, disabled }, ref) => {
|
|
83358
|
+
const dateTime = coreReact.useDateTime();
|
|
83359
|
+
const i18n = coreReact.useI18nContext();
|
|
83360
|
+
const placeholders = dateInputLocales[i18n.locale]?.placeholders || {
|
|
83361
|
+
day: "dd",
|
|
83362
|
+
month: "mm",
|
|
83363
|
+
year: "yyyy"
|
|
83364
|
+
};
|
|
83365
|
+
if (value !== void 0 && dateFns.isDate(value)) {
|
|
83366
|
+
return /* @__PURE__ */ React76__default.default.createElement(
|
|
83367
|
+
QuickFilterLabel,
|
|
83265
83368
|
{
|
|
83266
|
-
|
|
83267
|
-
|
|
83369
|
+
enabled: true,
|
|
83370
|
+
disabled,
|
|
83371
|
+
label: `${headerName}: ${dateTime.format(value, "numeric-date")}`,
|
|
83372
|
+
onClear,
|
|
83373
|
+
ref
|
|
83268
83374
|
}
|
|
83269
83375
|
);
|
|
83270
|
-
}, [possibleFilters, selectedFilters, getColumnDefinition]);
|
|
83271
|
-
if (!hasDefinedFilters) {
|
|
83272
|
-
return null;
|
|
83273
83376
|
}
|
|
83274
|
-
|
|
83275
|
-
|
|
83276
|
-
coreReact.FlexList,
|
|
83377
|
+
return /* @__PURE__ */ React76__default.default.createElement(
|
|
83378
|
+
QuickFilterLabel,
|
|
83277
83379
|
{
|
|
83278
|
-
|
|
83279
|
-
|
|
83280
|
-
|
|
83281
|
-
|
|
83282
|
-
gap: "sm",
|
|
83283
|
-
"data-qa": "data-table-quick-filters"
|
|
83284
|
-
},
|
|
83285
|
-
quickFilterNames.map((fieldName) => {
|
|
83286
|
-
const colDef = getColumnDefinition(fieldName);
|
|
83287
|
-
const QuickFilter = colDef?.quickFilterRenderer;
|
|
83288
|
-
if (!colDef || !QuickFilter) {
|
|
83289
|
-
return null;
|
|
83290
|
-
}
|
|
83291
|
-
return /* @__PURE__ */ React76__default.default.createElement(
|
|
83292
|
-
EmptyResultsControlTooltip,
|
|
83293
|
-
{
|
|
83294
|
-
featureI18nKey: "featureQuickFilter",
|
|
83295
|
-
enabled: hasNoContent
|
|
83296
|
-
},
|
|
83297
|
-
/* @__PURE__ */ React76__default.default.createElement(
|
|
83298
|
-
QuickFilter,
|
|
83299
|
-
{
|
|
83300
|
-
key: fieldName,
|
|
83301
|
-
columnDefinition: colDef,
|
|
83302
|
-
disabled: hasNoContent,
|
|
83303
|
-
overlayMatchesTriggerWidth
|
|
83304
|
-
}
|
|
83305
|
-
)
|
|
83306
|
-
);
|
|
83307
|
-
}),
|
|
83308
|
-
tokenNames.map((fieldName) => {
|
|
83309
|
-
const colDef = getColumnDefinition(fieldName);
|
|
83310
|
-
if (!colDef) {
|
|
83311
|
-
return null;
|
|
83312
|
-
}
|
|
83313
|
-
const filter = getListFilter(fieldName);
|
|
83314
|
-
return /* @__PURE__ */ React76__default.default.createElement(StyledFilterTokenWrapper, { key: fieldName }, /* @__PURE__ */ React76__default.default.createElement(coreReact.UNSAFE_FilterToken, null, /* @__PURE__ */ React76__default.default.createElement(coreReact.UNSAFE_FilterToken.Label, null, getFilterTokenText(
|
|
83315
|
-
colDef,
|
|
83316
|
-
colDef.filterRenderer === DateFilterRenderer_default ? filter.value : filter.selected
|
|
83317
|
-
)), /* @__PURE__ */ React76__default.default.createElement(
|
|
83318
|
-
coreReact.UNSAFE_FilterToken.Remove,
|
|
83319
|
-
{
|
|
83320
|
-
"data-qa": "data-table-quick-filter-remove-token",
|
|
83321
|
-
onClick: () => onClearFilter(fieldName)
|
|
83322
|
-
}
|
|
83323
|
-
)));
|
|
83324
|
-
})
|
|
83325
|
-
);
|
|
83326
|
-
};
|
|
83327
|
-
var QuickFilters = ({ overlayMatchesTriggerWidth }) => {
|
|
83328
|
-
const { onServerSideDataRequest } = useInternalTableContext();
|
|
83329
|
-
if (onServerSideDataRequest) {
|
|
83330
|
-
return /* @__PURE__ */ React76__default.default.createElement(
|
|
83331
|
-
ServerSideQuickFilters,
|
|
83332
|
-
{
|
|
83333
|
-
overlayMatchesTriggerWidth
|
|
83334
|
-
}
|
|
83335
|
-
);
|
|
83336
|
-
}
|
|
83337
|
-
return /* @__PURE__ */ React76__default.default.createElement(
|
|
83338
|
-
ClientSideQuickFilters,
|
|
83339
|
-
{
|
|
83340
|
-
overlayMatchesTriggerWidth
|
|
83380
|
+
enabled: false,
|
|
83381
|
+
disabled,
|
|
83382
|
+
label: `${headerName}: ${globalizationToolkit.getDatePlaceholder(i18n.locale, placeholders)}`,
|
|
83383
|
+
ref
|
|
83341
83384
|
}
|
|
83342
83385
|
);
|
|
83386
|
+
});
|
|
83387
|
+
var DateQuickFilterRenderer_default = QuickDateFilterRenderer;
|
|
83388
|
+
var defaultGetId2 = (option) => option?.id;
|
|
83389
|
+
var defaultGetLabel2 = (option) => {
|
|
83390
|
+
return option?.label ?? option?.name ?? option;
|
|
83343
83391
|
};
|
|
83344
|
-
var
|
|
83345
|
-
|
|
83346
|
-
|
|
83347
|
-
|
|
83348
|
-
|
|
83349
|
-
|
|
83392
|
+
var useSuperSelectOptionAsValueWorkaround = ({
|
|
83393
|
+
originValue,
|
|
83394
|
+
originOptions,
|
|
83395
|
+
getId: getId3 = defaultGetId2,
|
|
83396
|
+
loading
|
|
83397
|
+
}) => {
|
|
83398
|
+
const isValueFromOptions = React76__default.default.useRef(false);
|
|
83399
|
+
const getValueFromOptions = () => {
|
|
83400
|
+
const valueIds = originValue.map(getId3);
|
|
83401
|
+
isValueFromOptions.current = true;
|
|
83402
|
+
return originOptions.filter((option) => valueIds.includes(getId3(option)));
|
|
83403
|
+
};
|
|
83404
|
+
const hasOptions = originOptions.length > 0 && !loading;
|
|
83405
|
+
const hasValue = originValue?.length > 0;
|
|
83406
|
+
const options = !hasOptions && hasValue ? originValue : originOptions;
|
|
83407
|
+
const value = !hasOptions ? originValue : isValueFromOptions.current ? originValue : getValueFromOptions();
|
|
83408
|
+
return {
|
|
83409
|
+
options,
|
|
83410
|
+
value,
|
|
83411
|
+
getOptionValue: (option) => option
|
|
83412
|
+
};
|
|
83350
83413
|
};
|
|
83351
|
-
var
|
|
83352
|
-
|
|
83353
|
-
|
|
83354
|
-
|
|
83355
|
-
|
|
83356
|
-
|
|
83357
|
-
|
|
83358
|
-
|
|
83359
|
-
|
|
83360
|
-
|
|
83361
|
-
|
|
83362
|
-
|
|
83363
|
-
|
|
83364
|
-
|
|
83365
|
-
)
|
|
83366
|
-
|
|
83367
|
-
|
|
83368
|
-
|
|
83369
|
-
const colDef = column2.getColDef();
|
|
83370
|
-
return transformToColumnDefinition(colDef);
|
|
83371
|
-
});
|
|
83372
|
-
}, [columnDefinitions]);
|
|
83373
|
-
const selectedColumns = React76__default.default.useMemo(
|
|
83374
|
-
() => mapColumnsToOptions(groupedColumns),
|
|
83375
|
-
[groupedColumns]
|
|
83376
|
-
);
|
|
83377
|
-
const onGroupedClear = React76__default.default.useCallback(() => {
|
|
83378
|
-
tableRef?.current?.setRowGrouping([]);
|
|
83379
|
-
}, [tableRef]);
|
|
83380
|
-
const onGroupedRowChange = React76__default.default.useCallback(
|
|
83381
|
-
(newValue) => {
|
|
83382
|
-
const fields = newValue.map((val) => {
|
|
83383
|
-
return val.id;
|
|
83384
|
-
});
|
|
83385
|
-
if (!ramda.equals(selectedColumns, newValue)) {
|
|
83386
|
-
tableRef?.current?.setRowGrouping(fields);
|
|
83387
|
-
}
|
|
83388
|
-
},
|
|
83389
|
-
[selectedColumns]
|
|
83390
|
-
);
|
|
83391
|
-
React76__default.default.useEffect(() => {
|
|
83392
|
-
function onDisplayedColumnsChanged(event) {
|
|
83393
|
-
const agColumnDefs = event.api.getColumnDefs();
|
|
83394
|
-
if (agColumnDefs?.length) {
|
|
83395
|
-
const flattenedAgColDefs = flattenColDefs(event.api.getColumnDefs());
|
|
83396
|
-
const dataTableColumnDefinitions = flattenedAgColDefs.map(
|
|
83397
|
-
transformToColumnDefinition
|
|
83398
|
-
);
|
|
83399
|
-
setColumnDefinitions(dataTableColumnDefinitions);
|
|
83400
|
-
}
|
|
83401
|
-
}
|
|
83402
|
-
gridApi?.addEventListener(
|
|
83403
|
-
"displayedColumnsChanged",
|
|
83404
|
-
onDisplayedColumnsChanged
|
|
83405
|
-
);
|
|
83406
|
-
return () => {
|
|
83407
|
-
removeEventListenerFromGrid(
|
|
83408
|
-
"displayedColumnsChanged",
|
|
83409
|
-
onDisplayedColumnsChanged,
|
|
83410
|
-
gridApi
|
|
83414
|
+
var LocationQuickFilterOverlay = React76__default.default.forwardRef(
|
|
83415
|
+
({
|
|
83416
|
+
getId: getId3,
|
|
83417
|
+
getLabel: getLabel3,
|
|
83418
|
+
loading,
|
|
83419
|
+
onSelect: _onSelect,
|
|
83420
|
+
onSelectAll,
|
|
83421
|
+
onSelectSublocations,
|
|
83422
|
+
enableSublocations,
|
|
83423
|
+
selectState,
|
|
83424
|
+
options,
|
|
83425
|
+
disabledOptions,
|
|
83426
|
+
columnDefinition,
|
|
83427
|
+
value
|
|
83428
|
+
}, ref) => {
|
|
83429
|
+
if (value && !Array.isArray(value)) {
|
|
83430
|
+
logger.warn(
|
|
83431
|
+
"a value was set that is not compatible with this LocationQuickFilterRenderer"
|
|
83411
83432
|
);
|
|
83433
|
+
return null;
|
|
83434
|
+
}
|
|
83435
|
+
const [items, setItems] = React76__default.default.useState(options);
|
|
83436
|
+
const [searching, setSearching] = React76__default.default.useState(false);
|
|
83437
|
+
const menuRef = React76__default.default.useRef(null);
|
|
83438
|
+
const { menuProps, menuNavigationTriggerProps } = coreReact.UNSAFE_useMenuImperativeControlNavigation(menuRef);
|
|
83439
|
+
const I18n = coreReact.useI18nContext();
|
|
83440
|
+
const selectAllOption = {
|
|
83441
|
+
label: I18n.t("dataTable.filters.locationFilter.selectAll"),
|
|
83442
|
+
id: "select_all"
|
|
83412
83443
|
};
|
|
83413
|
-
|
|
83414
|
-
|
|
83415
|
-
|
|
83416
|
-
|
|
83417
|
-
|
|
83418
|
-
|
|
83419
|
-
|
|
83420
|
-
featureI18nKey: "featureGroupBy",
|
|
83421
|
-
enabled: hasNoContent
|
|
83422
|
-
},
|
|
83423
|
-
/* @__PURE__ */ React76__default.default.createElement(
|
|
83424
|
-
labsGroupBySelect.GroupBySelect,
|
|
83425
|
-
{
|
|
83426
|
-
isDisabled: hasNoContent,
|
|
83427
|
-
localeText,
|
|
83428
|
-
onBlur: onGroupedRowChange,
|
|
83429
|
-
onClear: onGroupedClear,
|
|
83430
|
-
options: groupableColumns,
|
|
83431
|
-
selected: selectedColumns
|
|
83444
|
+
const includeSublocationOption = {
|
|
83445
|
+
label: I18n.t("dataTable.filters.locationFilter.includeSublocations"),
|
|
83446
|
+
id: "include_sublocations"
|
|
83447
|
+
};
|
|
83448
|
+
const onSelect = (selection) => {
|
|
83449
|
+
if (selection.item.id === selectAllOption.id) {
|
|
83450
|
+
return onSelectAll();
|
|
83432
83451
|
}
|
|
83433
|
-
|
|
83434
|
-
|
|
83435
|
-
|
|
83436
|
-
|
|
83437
|
-
|
|
83438
|
-
return {
|
|
83439
|
-
label: col.headerName,
|
|
83440
|
-
id: col.field,
|
|
83441
|
-
key: col.field,
|
|
83442
|
-
group: col.columnGroupName
|
|
83452
|
+
if (selection.item.id === includeSublocationOption.id) {
|
|
83453
|
+
_onSelect(selection);
|
|
83454
|
+
return onSelectSublocations();
|
|
83455
|
+
}
|
|
83456
|
+
return _onSelect(selection);
|
|
83443
83457
|
};
|
|
83444
|
-
|
|
83445
|
-
|
|
83446
|
-
|
|
83447
|
-
|
|
83448
|
-
onSearch,
|
|
83449
|
-
placeholder
|
|
83450
|
-
}) => {
|
|
83451
|
-
const [internalValue, setInternalValue] = React76__default.default.useState("");
|
|
83452
|
-
const { tableRef } = useInternalTableContext();
|
|
83453
|
-
const hasNoContent = useTableHasNoContent();
|
|
83454
|
-
const I18n = coreReact.useI18nContext();
|
|
83455
|
-
const debouncedSetSearchValue = React76__default.default.useCallback(
|
|
83456
|
-
debounce5__default.default((value) => {
|
|
83457
|
-
tableRef?.current?.setSearchValue(value);
|
|
83458
|
-
}, 250),
|
|
83459
|
-
[tableRef?.current?.setSearchValue]
|
|
83460
|
-
);
|
|
83461
|
-
const onChange = React76__default.default.useCallback(
|
|
83462
|
-
(value, event) => {
|
|
83463
|
-
setInternalValue(value);
|
|
83464
|
-
if (onSearch) {
|
|
83465
|
-
onSearch(event);
|
|
83458
|
+
function defaultOnSearch(e) {
|
|
83459
|
+
if (e.target.value === "") {
|
|
83460
|
+
setSearching(false);
|
|
83461
|
+
setItems(options);
|
|
83466
83462
|
} else {
|
|
83467
|
-
|
|
83463
|
+
setSearching(true);
|
|
83464
|
+
setItems(
|
|
83465
|
+
options.filter(
|
|
83466
|
+
(item) => getLabel3(item).toLowerCase().includes(e.target.value.toLowerCase())
|
|
83467
|
+
)
|
|
83468
|
+
);
|
|
83468
83469
|
}
|
|
83469
|
-
},
|
|
83470
|
-
[debouncedSetSearchValue, onSearch]
|
|
83471
|
-
);
|
|
83472
|
-
return /* @__PURE__ */ React76__default.default.createElement(EmptyResultsControlTooltip, { hasSearch: true, enabled: hasNoContent }, /* @__PURE__ */ React76__default.default.createElement(
|
|
83473
|
-
coreReact.Typeahead,
|
|
83474
|
-
{
|
|
83475
|
-
disabled: hasNoContent,
|
|
83476
|
-
"data-qa": "data-table-search",
|
|
83477
|
-
value: internalValue,
|
|
83478
|
-
className: cx21("search", {
|
|
83479
|
-
"search--empty": !internalValue.length
|
|
83480
|
-
}),
|
|
83481
|
-
onChange,
|
|
83482
|
-
placeholder: placeholder || I18n.t("dataTable.search")
|
|
83483
83470
|
}
|
|
83484
|
-
|
|
83485
|
-
|
|
83486
|
-
|
|
83487
|
-
|
|
83488
|
-
|
|
83489
|
-
|
|
83490
|
-
}
|
|
83491
|
-
return /* @__PURE__ */ React76__default.default.createElement(ClientSideSearch, { ...props });
|
|
83492
|
-
};
|
|
83493
|
-
|
|
83494
|
-
// src/QuickControls/QuickControls.tsx
|
|
83495
|
-
var QuickControls = (props) => {
|
|
83496
|
-
const I18n = coreReact.useI18nContext();
|
|
83497
|
-
if (props.children) {
|
|
83498
|
-
return /* @__PURE__ */ React76__default.default.createElement(
|
|
83499
|
-
coreReact.Box,
|
|
83471
|
+
const _onSearch = columnDefinition.filterProps.onSearch || defaultOnSearch;
|
|
83472
|
+
React76__default.default.useEffect(() => {
|
|
83473
|
+
menuRef.current?.highlightSuggested();
|
|
83474
|
+
}, []);
|
|
83475
|
+
return /* @__PURE__ */ React76__default.default.createElement(coreReact.Card, { ref }, /* @__PURE__ */ React76__default.default.createElement(
|
|
83476
|
+
coreReact.UNSAFE_Menu,
|
|
83500
83477
|
{
|
|
83501
|
-
|
|
83502
|
-
|
|
83503
|
-
|
|
83478
|
+
...menuProps,
|
|
83479
|
+
multiple: true,
|
|
83480
|
+
role: "listbox",
|
|
83481
|
+
ref: menuRef,
|
|
83482
|
+
onSelect,
|
|
83483
|
+
className: locationFilterStyles_default.locationFilterMenu
|
|
83504
83484
|
},
|
|
83505
|
-
|
|
83506
|
-
|
|
83485
|
+
/* @__PURE__ */ React76__default.default.createElement(
|
|
83486
|
+
coreReact.UNSAFE_Menu.Search,
|
|
83487
|
+
{
|
|
83488
|
+
...menuNavigationTriggerProps,
|
|
83489
|
+
onChange: _onSearch
|
|
83490
|
+
}
|
|
83491
|
+
),
|
|
83492
|
+
/* @__PURE__ */ React76__default.default.createElement(coreReact.UNSAFE_Menu.Options, null, !searching && /* @__PURE__ */ React76__default.default.createElement(
|
|
83493
|
+
coreReact.Box,
|
|
83494
|
+
{
|
|
83495
|
+
className: locationFilterStyles_default.controlsContainer,
|
|
83496
|
+
...coreReact.UNSAFE_menuItemsWrapperAttribute
|
|
83497
|
+
},
|
|
83498
|
+
/* @__PURE__ */ React76__default.default.createElement(
|
|
83499
|
+
coreReact.UNSAFE_Menu.CheckboxItem,
|
|
83500
|
+
{
|
|
83501
|
+
key: getId3(includeSublocationOption),
|
|
83502
|
+
item: includeSublocationOption,
|
|
83503
|
+
selected: enableSublocations
|
|
83504
|
+
},
|
|
83505
|
+
getLabel3(includeSublocationOption)
|
|
83506
|
+
),
|
|
83507
|
+
/* @__PURE__ */ React76__default.default.createElement(
|
|
83508
|
+
coreReact.UNSAFE_Menu.CheckboxItem,
|
|
83509
|
+
{
|
|
83510
|
+
key: getId3(selectAllOption),
|
|
83511
|
+
item: selectAllOption,
|
|
83512
|
+
selected: selectState === "all",
|
|
83513
|
+
indeterminate: selectState === "partial"
|
|
83514
|
+
},
|
|
83515
|
+
getLabel3(selectAllOption)
|
|
83516
|
+
)
|
|
83517
|
+
), !loading && items.map((item, i) => {
|
|
83518
|
+
return /* @__PURE__ */ React76__default.default.createElement(
|
|
83519
|
+
coreReact.UNSAFE_Menu.CheckboxItem,
|
|
83520
|
+
{
|
|
83521
|
+
key: getId3(item),
|
|
83522
|
+
item,
|
|
83523
|
+
selected: value.map(({ id }) => id).includes(getId3(item)) || disabledOptions.map(({ id }) => id).includes(getId3(item)),
|
|
83524
|
+
suggested: i === 0,
|
|
83525
|
+
disabled: disabledOptions.map(({ id }) => id).includes(getId3(item))
|
|
83526
|
+
},
|
|
83527
|
+
getLabel3(item)
|
|
83528
|
+
);
|
|
83529
|
+
})),
|
|
83530
|
+
loading && /* @__PURE__ */ React76__default.default.createElement(coreReact.UNSAFE_Menu.Footer, null, /* @__PURE__ */ React76__default.default.createElement(coreReact.Flex, { justifyContent: "center" }, /* @__PURE__ */ React76__default.default.createElement(coreReact.Spinner, { size: "sm" })))
|
|
83531
|
+
));
|
|
83507
83532
|
}
|
|
83508
|
-
|
|
83509
|
-
|
|
83510
|
-
|
|
83511
|
-
|
|
83512
|
-
|
|
83513
|
-
|
|
83533
|
+
);
|
|
83534
|
+
var LocationQuickFilterRenderer = ({
|
|
83535
|
+
columnDefinition,
|
|
83536
|
+
disabled
|
|
83537
|
+
}) => {
|
|
83538
|
+
const {
|
|
83539
|
+
options: originOptions,
|
|
83540
|
+
value: originValue = [],
|
|
83541
|
+
onChange,
|
|
83542
|
+
getOptions,
|
|
83543
|
+
loading
|
|
83544
|
+
} = useServerSideFilter({ columnDefinition });
|
|
83545
|
+
const { options, value } = useSuperSelectOptionAsValueWorkaround({
|
|
83546
|
+
originOptions,
|
|
83547
|
+
originValue,
|
|
83548
|
+
loading,
|
|
83549
|
+
getId: columnDefinition.filterProps?.getId
|
|
83550
|
+
});
|
|
83551
|
+
const I18n = coreReact.useI18nContext();
|
|
83552
|
+
const getId3 = columnDefinition.filterProps?.getId || defaultGetId2;
|
|
83553
|
+
const getLabel3 = columnDefinition.filterProps?.getLabel || defaultGetLabel2;
|
|
83554
|
+
const determineSelectedState = (selection) => {
|
|
83555
|
+
if (options.length === selection.length) {
|
|
83556
|
+
return "all";
|
|
83514
83557
|
}
|
|
83515
|
-
|
|
83516
|
-
|
|
83517
|
-
{
|
|
83518
|
-
localeText: {
|
|
83519
|
-
reset: I18n.t("dataTable.tableSettings.reset"),
|
|
83520
|
-
placeholder: I18n.t("dataTable.tableSettings.selectColumnGroup"),
|
|
83521
|
-
selectedItemsPrefix: I18n.t("dataTable.tableSettings.groupBy")
|
|
83522
|
-
}
|
|
83558
|
+
if (selection.length && (options.length > selection.length || options.length < selection.length)) {
|
|
83559
|
+
return "partial";
|
|
83523
83560
|
}
|
|
83524
|
-
|
|
83525
|
-
|
|
83526
|
-
{
|
|
83527
|
-
overlayMatchesTriggerWidth: props.filterOverlayMatchesTriggerWidth
|
|
83561
|
+
if (selection.length === 0) {
|
|
83562
|
+
return "none";
|
|
83528
83563
|
}
|
|
83529
|
-
|
|
83530
|
-
};
|
|
83531
|
-
|
|
83532
|
-
|
|
83533
|
-
|
|
83534
|
-
|
|
83535
|
-
Object.keys(subs).forEach((key) => {
|
|
83536
|
-
assigned[key] = subs[key];
|
|
83537
|
-
});
|
|
83538
|
-
return assigned;
|
|
83539
|
-
};
|
|
83540
|
-
|
|
83541
|
-
// src/ClientSideDataTable.tsx
|
|
83542
|
-
var ClientSideDataTable = ({
|
|
83543
|
-
analytics,
|
|
83544
|
-
children,
|
|
83545
|
-
columnDefinitions: _columnDefinitions,
|
|
83546
|
-
customBulkEditorFields,
|
|
83547
|
-
enableDynamicRowHeight,
|
|
83548
|
-
enableGroupEditAndValidation,
|
|
83549
|
-
filterGroups,
|
|
83550
|
-
getRowId,
|
|
83551
|
-
initialTableConfig: _initialTableConfig,
|
|
83552
|
-
onBulkEditUpdate,
|
|
83553
|
-
onTableConfigChange,
|
|
83554
|
-
translations: translations2 = {},
|
|
83555
|
-
enableCellTextSelection,
|
|
83556
|
-
localStoragePersistenceKey
|
|
83557
|
-
}) => {
|
|
83558
|
-
return /* @__PURE__ */ React76__default.default.createElement(
|
|
83559
|
-
DataTable,
|
|
83560
|
-
{
|
|
83561
|
-
analytics,
|
|
83562
|
-
columnDefinitions: _columnDefinitions,
|
|
83563
|
-
enableGroupEditAndValidation,
|
|
83564
|
-
enableDynamicRowHeight,
|
|
83565
|
-
filterGroups,
|
|
83566
|
-
getRowId,
|
|
83567
|
-
initialTableConfig: _initialTableConfig,
|
|
83568
|
-
onTableConfigChange,
|
|
83569
|
-
onBulkEditUpdate,
|
|
83570
|
-
showExpandCollapseAllToggle: true,
|
|
83571
|
-
translations: translations2,
|
|
83572
|
-
localStoragePersistenceKey,
|
|
83573
|
-
customBulkEditorFields,
|
|
83574
|
-
enableCellTextSelection
|
|
83575
|
-
},
|
|
83576
|
-
children
|
|
83564
|
+
return "none";
|
|
83565
|
+
};
|
|
83566
|
+
const ids = React76__default.default.useMemo(() => value.map(({ id }) => id), [value]);
|
|
83567
|
+
const [selectedValueIds, setSelectedValueIds] = React76__default.default.useState(ids);
|
|
83568
|
+
const [selectState, setSelectState] = React76__default.default.useState(
|
|
83569
|
+
determineSelectedState(value)
|
|
83577
83570
|
);
|
|
83578
|
-
|
|
83579
|
-
|
|
83580
|
-
const
|
|
83581
|
-
|
|
83582
|
-
|
|
83583
|
-
|
|
83584
|
-
|
|
83585
|
-
|
|
83586
|
-
|
|
83587
|
-
|
|
83588
|
-
|
|
83589
|
-
|
|
83590
|
-
|
|
83591
|
-
|
|
83592
|
-
Search.displayName = "ClientSideDataTable.Search";
|
|
83593
|
-
Table2.displayName = "ClientSideDataTable.Table";
|
|
83594
|
-
FiltersPanel.displayName = "ClientSideDataTable.FiltersPanel";
|
|
83595
|
-
var ClientSideDataTable_default = addSubcomponents(
|
|
83596
|
-
{
|
|
83597
|
-
BulkActions,
|
|
83598
|
-
BulkEditActionButton,
|
|
83599
|
-
ConfigPanelButton,
|
|
83600
|
-
ContextPanel,
|
|
83601
|
-
QuickControls,
|
|
83602
|
-
QuickFilters,
|
|
83603
|
-
RowGroupSelector,
|
|
83604
|
-
Search,
|
|
83605
|
-
Table: Table2,
|
|
83606
|
-
FiltersPanel,
|
|
83607
|
-
FiltersPanelButton
|
|
83608
|
-
},
|
|
83609
|
-
ClientSideDataTable
|
|
83610
|
-
);
|
|
83611
|
-
var QuickFilterLabel = React76__default.default.forwardRef(({ enabled, ...props }, ref) => {
|
|
83612
|
-
return /* @__PURE__ */ React76__default.default.createElement(StyledQuickFilterLabel, { $enabled: enabled }, /* @__PURE__ */ React76__default.default.createElement(coreReact.SelectButton, { ref, ...props }));
|
|
83613
|
-
});
|
|
83614
|
-
var StyledQuickFilterLabel = styled4__default.default.div`
|
|
83615
|
-
${coreReact.StyledSelectButton} {
|
|
83616
|
-
width: auto;
|
|
83617
|
-
max-width: 380px;
|
|
83618
|
-
${({ $enabled }) => $enabled && styled4.css`
|
|
83619
|
-
background: ${coreReact.colors.blue96};
|
|
83620
|
-
border-color: ${coreReact.colors.blue96};
|
|
83621
|
-
font-weight: ${coreReact.typographyWeights.semibold};
|
|
83622
|
-
&:hover {
|
|
83623
|
-
background: ${coreReact.colors.blue90};
|
|
83624
|
-
border-color: ${coreReact.colors.blue90};
|
|
83625
|
-
}
|
|
83626
|
-
${coreReact.StyledSelectButtonLabel} {
|
|
83627
|
-
color: ${coreReact.colors.blue45};
|
|
83628
|
-
}
|
|
83629
|
-
${coreReact.StyledButton} {
|
|
83630
|
-
color: ${coreReact.colors.blue45};
|
|
83631
|
-
&:hover {
|
|
83632
|
-
background: white;
|
|
83633
|
-
}
|
|
83634
|
-
}
|
|
83635
|
-
${coreReact.StyledSelectArrow} {
|
|
83636
|
-
svg {
|
|
83637
|
-
fill: ${coreReact.colors.blue45};
|
|
83638
|
-
}
|
|
83639
|
-
}
|
|
83640
|
-
`}
|
|
83641
|
-
}
|
|
83642
|
-
`;
|
|
83643
|
-
|
|
83644
|
-
// src/QuickFilterRenderers/DateQuickFilterRenderer.tsx
|
|
83645
|
-
function getPlacement2(currentSelectionType, position) {
|
|
83646
|
-
if (currentSelectionType === "single") {
|
|
83647
|
-
return "bottom-left";
|
|
83648
|
-
}
|
|
83649
|
-
if (position === "start") {
|
|
83650
|
-
return "bottom-left";
|
|
83651
|
-
}
|
|
83652
|
-
return "bottom-right";
|
|
83653
|
-
}
|
|
83654
|
-
var OptionalDateTimeProvider2 = ({ timeZone, children }) => {
|
|
83655
|
-
return timeZone ? /* @__PURE__ */ React76__default.default.createElement(coreReact.DateTimeProvider, { timeZone }, children) : /* @__PURE__ */ React76__default.default.createElement(React76__default.default.Fragment, null, children);
|
|
83656
|
-
};
|
|
83657
|
-
var DateFilterSelect2 = React76__default.default.forwardRef(
|
|
83658
|
-
({
|
|
83659
|
-
afterHide,
|
|
83660
|
-
selectionType = "either",
|
|
83661
|
-
headerName,
|
|
83662
|
-
disabled,
|
|
83663
|
-
onChange,
|
|
83664
|
-
position,
|
|
83665
|
-
selectedValue,
|
|
83666
|
-
setSelectionType = () => {
|
|
83571
|
+
const [disabledValues, setDisabledValues] = React76__default.default.useState([]);
|
|
83572
|
+
const [enableSublocations, setEnableSublocations] = React76__default.default.useState(false);
|
|
83573
|
+
const onSelectSublocations = React76__default.default.useCallback(() => {
|
|
83574
|
+
if (enableSublocations) {
|
|
83575
|
+
setDisabledValues([]);
|
|
83576
|
+
} else {
|
|
83577
|
+
const newDisabledValues = [];
|
|
83578
|
+
value.forEach((location) => {
|
|
83579
|
+
newDisabledValues.push(...findSublocations(location));
|
|
83580
|
+
});
|
|
83581
|
+
const uniqDisabledValues = ramda.uniqBy(ramda.prop("id"), newDisabledValues).filter(
|
|
83582
|
+
({ id }) => !selectedValueIds.includes(id)
|
|
83583
|
+
);
|
|
83584
|
+
setDisabledValues(uniqDisabledValues);
|
|
83667
83585
|
}
|
|
83668
|
-
|
|
83669
|
-
|
|
83670
|
-
|
|
83671
|
-
|
|
83672
|
-
|
|
83673
|
-
|
|
83674
|
-
|
|
83586
|
+
setEnableSublocations(!enableSublocations);
|
|
83587
|
+
}, [enableSublocations, value, selectedValueIds, options]);
|
|
83588
|
+
const onSelectAll = React76__default.default.useCallback(() => {
|
|
83589
|
+
if (selectState === "none" || selectState === "partial") {
|
|
83590
|
+
setSelectState("all");
|
|
83591
|
+
setSelectedValueIds(options.map(({ id }) => id));
|
|
83592
|
+
onChange(options);
|
|
83593
|
+
}
|
|
83594
|
+
if (selectState === "all") {
|
|
83595
|
+
setSelectState("none");
|
|
83596
|
+
setSelectedValueIds([]);
|
|
83597
|
+
onChange([]);
|
|
83598
|
+
}
|
|
83599
|
+
}, [options, selectState, selectedValueIds]);
|
|
83600
|
+
const onSelect = (selection) => {
|
|
83601
|
+
if (selection.item.id === "select_all") {
|
|
83602
|
+
return;
|
|
83603
|
+
}
|
|
83604
|
+
if (selection.item.id === "include_sublocations") {
|
|
83605
|
+
return onChange(
|
|
83606
|
+
value.map((item) => ({
|
|
83607
|
+
...item,
|
|
83608
|
+
sublocations: enableSublocations ? [] : findSublocations(item)
|
|
83609
|
+
}))
|
|
83610
|
+
);
|
|
83611
|
+
}
|
|
83612
|
+
let newSelections = [];
|
|
83613
|
+
if (selectedValueIds.includes(getId3(selection.item))) {
|
|
83614
|
+
newSelections = removeSelections(selection.item, value);
|
|
83615
|
+
} else {
|
|
83616
|
+
newSelections = [...value, selection.item];
|
|
83617
|
+
const sublocationsToDisable = handleSelectSublocations(selection.item);
|
|
83618
|
+
const newDisabledValues = [
|
|
83619
|
+
...disabledValues,
|
|
83620
|
+
...sublocationsToDisable.filter(
|
|
83621
|
+
({ id }) => !selectedValueIds.includes(id)
|
|
83622
|
+
)
|
|
83623
|
+
];
|
|
83624
|
+
setDisabledValues(newDisabledValues);
|
|
83625
|
+
}
|
|
83626
|
+
setSelectState(determineSelectedState(newSelections));
|
|
83627
|
+
setSelectedValueIds(newSelections.map(({ id }) => id));
|
|
83628
|
+
onChange(
|
|
83629
|
+
newSelections.map((item) => ({
|
|
83630
|
+
...item,
|
|
83631
|
+
sublocations: handleSelectSublocations(item)
|
|
83632
|
+
}))
|
|
83675
83633
|
);
|
|
83676
|
-
|
|
83677
|
-
|
|
83678
|
-
|
|
83679
|
-
|
|
83680
|
-
|
|
83681
|
-
|
|
83682
|
-
|
|
83683
|
-
}
|
|
83684
|
-
|
|
83685
|
-
|
|
83634
|
+
};
|
|
83635
|
+
const findSublocations = (selected) => {
|
|
83636
|
+
return options.filter((option) => {
|
|
83637
|
+
return ramda.startsWith(
|
|
83638
|
+
`${getLabel3(selected).toLowerCase()} > `,
|
|
83639
|
+
getLabel3(option).toLowerCase()
|
|
83640
|
+
);
|
|
83641
|
+
});
|
|
83642
|
+
};
|
|
83643
|
+
const handleSelectSublocations = (selected) => {
|
|
83644
|
+
if (enableSublocations) {
|
|
83645
|
+
const filteredOptions = findSublocations(selected);
|
|
83646
|
+
return filteredOptions;
|
|
83647
|
+
} else {
|
|
83648
|
+
return [];
|
|
83686
83649
|
}
|
|
83687
|
-
|
|
83688
|
-
|
|
83689
|
-
|
|
83690
|
-
|
|
83691
|
-
|
|
83650
|
+
};
|
|
83651
|
+
const removeSelections = React76__default.default.useCallback(
|
|
83652
|
+
function(selection, selected) {
|
|
83653
|
+
const sublocations = handleSelectSublocations(selection);
|
|
83654
|
+
const disabledValueIds = disabledValues.map(({ id }) => id);
|
|
83655
|
+
const sublocationsToRemoveFromDisabledIds = sublocations.filter(({ id }) => disabledValueIds.includes(id)).map(({ id }) => id);
|
|
83656
|
+
setDisabledValues(
|
|
83657
|
+
disabledValues.filter(
|
|
83658
|
+
({ id }) => !sublocationsToRemoveFromDisabledIds.includes(id)
|
|
83659
|
+
)
|
|
83660
|
+
);
|
|
83661
|
+
return selected.filter((item) => getId3(item) !== getId3(selection));
|
|
83662
|
+
},
|
|
83663
|
+
[enableSublocations, disabledValues]
|
|
83664
|
+
);
|
|
83665
|
+
React76__default.default.useEffect(() => {
|
|
83666
|
+
setSelectState(determineSelectedState(value));
|
|
83667
|
+
}, [value]);
|
|
83668
|
+
const overlay = /* @__PURE__ */ React76__default.default.createElement(
|
|
83669
|
+
LocationQuickFilterOverlay,
|
|
83670
|
+
{
|
|
83671
|
+
columnDefinition,
|
|
83672
|
+
enableSublocations,
|
|
83673
|
+
onSelectAll,
|
|
83674
|
+
onSelectSublocations,
|
|
83675
|
+
selectState,
|
|
83676
|
+
value,
|
|
83677
|
+
options,
|
|
83678
|
+
disabledOptions: disabledValues,
|
|
83679
|
+
getId: getId3,
|
|
83680
|
+
getLabel: getLabel3,
|
|
83681
|
+
loading,
|
|
83682
|
+
onSelect,
|
|
83683
|
+
selectedValueIds
|
|
83684
|
+
}
|
|
83685
|
+
);
|
|
83686
|
+
const triggerLabel = value.length ? value.length === 1 ? `: ${value[0].label}` : `: (${value.length})` : "";
|
|
83687
|
+
return /* @__PURE__ */ React76__default.default.createElement(
|
|
83688
|
+
coreReact.OverlayTrigger,
|
|
83689
|
+
{
|
|
83690
|
+
overlay,
|
|
83691
|
+
beforeShow: getOptions,
|
|
83692
|
+
placement: "bottom-left"
|
|
83693
|
+
},
|
|
83694
|
+
value.length ? /* @__PURE__ */ React76__default.default.createElement(
|
|
83695
|
+
QuickFilterLabel,
|
|
83692
83696
|
{
|
|
83693
|
-
|
|
83694
|
-
|
|
83695
|
-
|
|
83696
|
-
|
|
83697
|
-
|
|
83697
|
+
enabled: true,
|
|
83698
|
+
disabled,
|
|
83699
|
+
label: `${I18n.t(
|
|
83700
|
+
"dataTable.filters.locationFilter.locations"
|
|
83701
|
+
)}${triggerLabel}`,
|
|
83702
|
+
onClear: () => {
|
|
83703
|
+
onChange([]);
|
|
83698
83704
|
},
|
|
83699
|
-
|
|
83700
|
-
selectedValue,
|
|
83701
|
-
setDisplayDate: setDisplayed2,
|
|
83702
|
-
setSelectionType,
|
|
83703
|
-
yearRef
|
|
83705
|
+
block: true
|
|
83704
83706
|
}
|
|
83705
|
-
)
|
|
83706
|
-
|
|
83707
|
-
coreReact.OverlayTrigger,
|
|
83707
|
+
) : /* @__PURE__ */ React76__default.default.createElement(
|
|
83708
|
+
QuickFilterLabel,
|
|
83708
83709
|
{
|
|
83709
|
-
|
|
83710
|
-
|
|
83711
|
-
|
|
83712
|
-
|
|
83713
|
-
|
|
83714
|
-
|
|
83715
|
-
|
|
83716
|
-
|
|
83717
|
-
|
|
83718
|
-
|
|
83719
|
-
|
|
83720
|
-
|
|
83721
|
-
|
|
83722
|
-
|
|
83723
|
-
|
|
83724
|
-
|
|
83725
|
-
|
|
83726
|
-
|
|
83727
|
-
|
|
83728
|
-
|
|
83729
|
-
|
|
83730
|
-
|
|
83710
|
+
enabled: false,
|
|
83711
|
+
disabled,
|
|
83712
|
+
label: `${I18n.t(
|
|
83713
|
+
"dataTable.filters.locationFilter.locations"
|
|
83714
|
+
)}${triggerLabel}`,
|
|
83715
|
+
block: true
|
|
83716
|
+
}
|
|
83717
|
+
)
|
|
83718
|
+
);
|
|
83719
|
+
};
|
|
83720
|
+
var LocationQuickFilterRenderer_default = LocationQuickFilterRenderer;
|
|
83721
|
+
var StyledFilterPresetPopoverContent = styled3__default.default(coreReact.Popover.Content)`
|
|
83722
|
+
padding: ${coreReact.spacing.sm}px ${coreReact.spacing.lg}px;
|
|
83723
|
+
`;
|
|
83724
|
+
var getValueLabel = (isValueEmpty, value, placeholder, filterName) => {
|
|
83725
|
+
const prefixLabel = isValueEmpty ? placeholder || filterName : filterName;
|
|
83726
|
+
const valueLabel = value ? `${prefixLabel ? ": " : ""}${value}` : "";
|
|
83727
|
+
return `${prefixLabel}${valueLabel}`;
|
|
83728
|
+
};
|
|
83729
|
+
var getSuperSelectFilterPreset = (columnDefinition) => {
|
|
83730
|
+
const filterName = columnDefinition.headerName;
|
|
83731
|
+
const getValueLabel_ = typeof columnDefinition.filterProps?.getFilterTokenText === "function" ? (value) => {
|
|
83732
|
+
return columnDefinition.filterProps?.getFilterTokenText?.({
|
|
83733
|
+
headerName: columnDefinition.headerName,
|
|
83734
|
+
value: Array.isArray(value) ? value : [value]
|
|
83735
|
+
});
|
|
83736
|
+
} : void 0;
|
|
83737
|
+
return {
|
|
83738
|
+
components: {
|
|
83739
|
+
Label: React76__default.default.forwardRef(() => {
|
|
83740
|
+
const ctx = coreReact.UNSAFE_useSuperSelectContext();
|
|
83741
|
+
const isValueEmpty = ["", null, void 0].includes(
|
|
83742
|
+
ctx.state.value
|
|
83743
|
+
);
|
|
83744
|
+
return /* @__PURE__ */ React76__default.default.createElement(coreReact.UNSAFE_StyledSuperSelectLabel, { $hoverable: false }, typeof getValueLabel_ === "function" ? getValueLabel_(ctx.state.value) : getValueLabel(
|
|
83745
|
+
isValueEmpty,
|
|
83746
|
+
ctx.state.selectedLabel,
|
|
83747
|
+
ctx.config.placeholder,
|
|
83748
|
+
filterName
|
|
83749
|
+
));
|
|
83750
|
+
}),
|
|
83751
|
+
TriggerContainer: React76__default.default.forwardRef((props, ref) => {
|
|
83752
|
+
const ctx = coreReact.UNSAFE_useSuperSelectContext();
|
|
83753
|
+
if (!Array.isArray(ctx.state.value)) {
|
|
83754
|
+
return /* @__PURE__ */ React76__default.default.createElement(
|
|
83755
|
+
coreReact.UNSAFE_StyledSuperSelectTrigger,
|
|
83756
|
+
{
|
|
83757
|
+
$block: ctx.config.block,
|
|
83758
|
+
...props,
|
|
83759
|
+
ref
|
|
83760
|
+
}
|
|
83761
|
+
);
|
|
83762
|
+
}
|
|
83763
|
+
return /* @__PURE__ */ React76__default.default.createElement(
|
|
83764
|
+
coreReact.Popover,
|
|
83765
|
+
{
|
|
83766
|
+
placement: "top",
|
|
83767
|
+
trigger: ctx.state.value.length > 1 ? "hover" : "none",
|
|
83768
|
+
overlay: /* @__PURE__ */ React76__default.default.createElement(StyledFilterPresetPopoverContent, null, /* @__PURE__ */ React76__default.default.createElement(coreReact.Typography, null, ctx.state.value.map((v) => {
|
|
83769
|
+
const option = ctx.state.options.find(
|
|
83770
|
+
(option2) => ctx.option.value(option2) === v
|
|
83771
|
+
);
|
|
83772
|
+
return option ? ctx.option.label(option) : "";
|
|
83773
|
+
}).join(", ")))
|
|
83774
|
+
},
|
|
83775
|
+
/* @__PURE__ */ React76__default.default.createElement(
|
|
83776
|
+
coreReact.UNSAFE_StyledSuperSelectTrigger,
|
|
83777
|
+
{
|
|
83778
|
+
$block: ctx.config.block,
|
|
83779
|
+
...props,
|
|
83780
|
+
ref
|
|
83781
|
+
}
|
|
83782
|
+
)
|
|
83783
|
+
);
|
|
83784
|
+
}),
|
|
83785
|
+
MultiValueContainer: () => {
|
|
83786
|
+
const ctx = coreReact.UNSAFE_useSuperSelectContext();
|
|
83787
|
+
if (Array.isArray(ctx.state.value)) {
|
|
83788
|
+
const isValueEmpty = !ctx.state.value.length;
|
|
83789
|
+
const value = ctx.state.value.length > 1 ? `(${ctx.state.value.length})` : ctx.state.value.length === 1 ? `${ctx.state.selectedLabel}` : "";
|
|
83790
|
+
return /* @__PURE__ */ React76__default.default.createElement(coreReact.UNSAFE_StyledSuperSelectLabel, { $hoverable: false }, typeof getValueLabel_ === "function" ? getValueLabel_(ctx.state.value) : getValueLabel(
|
|
83791
|
+
isValueEmpty,
|
|
83792
|
+
value,
|
|
83793
|
+
ctx.config.placeholder,
|
|
83794
|
+
filterName
|
|
83795
|
+
));
|
|
83731
83796
|
}
|
|
83732
|
-
|
|
83733
|
-
);
|
|
83734
|
-
}
|
|
83735
|
-
);
|
|
83736
|
-
function DateFilter3({
|
|
83737
|
-
// TODO: talk to design about potential loading UX for this.
|
|
83738
|
-
// core DateSelect doesn't have it
|
|
83739
|
-
// loading,
|
|
83740
|
-
headerName,
|
|
83741
|
-
onChange,
|
|
83742
|
-
selectionType = "either",
|
|
83743
|
-
value,
|
|
83744
|
-
disabled,
|
|
83745
|
-
...props
|
|
83746
|
-
}) {
|
|
83747
|
-
const [selectedValue, setSelectedValue] = React76__default.default.useState({
|
|
83748
|
-
type: selectionType === "either" ? "range" : selectionType
|
|
83749
|
-
});
|
|
83750
|
-
React76__default.default.useEffect(() => {
|
|
83751
|
-
const parsedValue = value.map((date) => {
|
|
83752
|
-
if (dateFns.isDate(date)) {
|
|
83753
|
-
return date;
|
|
83797
|
+
return /* @__PURE__ */ React76__default.default.createElement("div", null, "Value is not an array");
|
|
83754
83798
|
}
|
|
83755
|
-
return dateFns.parseISO(String(date));
|
|
83756
|
-
});
|
|
83757
|
-
const type = dateFns.isSameDay(parsedValue[0], parsedValue[1]) ? "single" : "range";
|
|
83758
|
-
setSelectedValue({ type, start: parsedValue[0], end: parsedValue[1] });
|
|
83759
|
-
}, [value]);
|
|
83760
|
-
const dateRangeEndDateRef = React76__default.default.useRef(null);
|
|
83761
|
-
function dateFilterOnChange(date, position) {
|
|
83762
|
-
const newValue = getValueFromSelection(selectedValue, date, position);
|
|
83763
|
-
setSelectedValue(newValue);
|
|
83764
|
-
if (isValidDateSelection(newValue)) {
|
|
83765
|
-
onChange(
|
|
83766
|
-
newValue.start || newValue.end ? [
|
|
83767
|
-
newValue.start,
|
|
83768
|
-
newValue.type === "single" ? newValue.start : newValue.end
|
|
83769
|
-
] : []
|
|
83770
|
-
);
|
|
83771
|
-
}
|
|
83772
|
-
}
|
|
83773
|
-
const onSelectionTypeChange = React76__default.default.useCallback(
|
|
83774
|
-
(newSelectionType) => {
|
|
83775
|
-
setSelectedValue({ type: newSelectionType });
|
|
83776
83799
|
},
|
|
83777
|
-
|
|
83778
|
-
|
|
83779
|
-
|
|
83780
|
-
|
|
83781
|
-
|
|
83782
|
-
|
|
83783
|
-
return true;
|
|
83800
|
+
selectionStyle: "highlight"
|
|
83801
|
+
};
|
|
83802
|
+
};
|
|
83803
|
+
var StyledSuperSelectWrapper = styled3__default.default.div`
|
|
83804
|
+
${coreReact.UNSAFE_StyledSuperSelectTrigger} {
|
|
83805
|
+
width: auto;
|
|
83784
83806
|
}
|
|
83785
|
-
|
|
83786
|
-
|
|
83787
|
-
|
|
83788
|
-
|
|
83789
|
-
|
|
83790
|
-
|
|
83791
|
-
|
|
83792
|
-
|
|
83793
|
-
|
|
83794
|
-
|
|
83795
|
-
|
|
83796
|
-
|
|
83797
|
-
|
|
83798
|
-
|
|
83799
|
-
|
|
83800
|
-
|
|
83801
|
-
|
|
83802
|
-
|
|
83803
|
-
|
|
83804
|
-
|
|
83805
|
-
|
|
83806
|
-
|
|
83807
|
-
|
|
83808
|
-
|
|
83809
|
-
|
|
83807
|
+
|
|
83808
|
+
${({ $enabled }) => $enabled && styled3.css`
|
|
83809
|
+
${coreReact.UNSAFE_StyledSuperSelectTrigger} {
|
|
83810
|
+
max-width: 360px;
|
|
83811
|
+
background: ${coreReact.colors.blue96};
|
|
83812
|
+
border-color: ${coreReact.colors.blue96};
|
|
83813
|
+
font-weight: ${coreReact.typographyWeights.semibold};
|
|
83814
|
+
|
|
83815
|
+
&:hover {
|
|
83816
|
+
background: ${coreReact.colors.blue90};
|
|
83817
|
+
border-color: ${coreReact.colors.blue90};
|
|
83818
|
+
}
|
|
83819
|
+
|
|
83820
|
+
${coreReact.UNSAFE_StyledSuperSelectLabel} {
|
|
83821
|
+
color: ${coreReact.colors.blue45};
|
|
83822
|
+
}
|
|
83823
|
+
|
|
83824
|
+
${coreReact.StyledButton} {
|
|
83825
|
+
color: ${coreReact.colors.blue45};
|
|
83826
|
+
|
|
83827
|
+
&:hover {
|
|
83828
|
+
background: white;
|
|
83829
|
+
}
|
|
83830
|
+
}
|
|
83831
|
+
|
|
83832
|
+
${coreReact.UNSAFE_StyledSuperSelectArrow} {
|
|
83833
|
+
svg {
|
|
83834
|
+
fill: ${coreReact.colors.blue45};
|
|
83835
|
+
}
|
|
83836
|
+
}
|
|
83837
|
+
}
|
|
83838
|
+
`}
|
|
83839
|
+
`;
|
|
83840
|
+
|
|
83841
|
+
// src/QuickFilterRenderers/types.ts
|
|
83842
|
+
function isClientSideFilterProps(_value, isServerSideDataRequest) {
|
|
83843
|
+
return !isServerSideDataRequest;
|
|
83810
83844
|
}
|
|
83811
|
-
|
|
83845
|
+
|
|
83846
|
+
// src/QuickFilterRenderers/MultiSelectQuickFilterRenderer.tsx
|
|
83847
|
+
var ClientSideMultiSelectQuickFilter = ({
|
|
83848
|
+
filter,
|
|
83812
83849
|
columnDefinition,
|
|
83850
|
+
onChange,
|
|
83851
|
+
onRemove,
|
|
83852
|
+
overlayMatchesTriggerWidth,
|
|
83813
83853
|
disabled
|
|
83814
|
-
}) {
|
|
83815
|
-
|
|
83816
|
-
|
|
83817
|
-
});
|
|
83818
|
-
const colDef = columnDefinition;
|
|
83819
|
-
return /* @__PURE__ */ React76__default.default.createElement(OptionalDateTimeProvider2, { timeZone: colDef.timeZone }, /* @__PURE__ */ React76__default.default.createElement(
|
|
83820
|
-
DateFilter3,
|
|
83854
|
+
}) => {
|
|
83855
|
+
return /* @__PURE__ */ React76__default.default.createElement(StyledSuperSelectWrapper, { $enabled: Boolean(filter.filterValues?.length) }, /* @__PURE__ */ React76__default.default.createElement(
|
|
83856
|
+
coreReact.UNSAFE_SuperSelect,
|
|
83821
83857
|
{
|
|
83822
|
-
|
|
83823
|
-
|
|
83858
|
+
overlayMatchesTriggerWidth,
|
|
83859
|
+
value: filter.filterValues === null ? [] : filter.filterValues,
|
|
83860
|
+
search: false,
|
|
83861
|
+
multiple: true,
|
|
83862
|
+
options: filter.options,
|
|
83824
83863
|
disabled,
|
|
83825
|
-
|
|
83826
|
-
|
|
83827
|
-
selected.map((date) => {
|
|
83828
|
-
return date ? {
|
|
83829
|
-
// future extensions can go here (month, day, year keys etc)
|
|
83830
|
-
date
|
|
83831
|
-
} : (
|
|
83832
|
-
// TODO: refactor out date-specific getId stuff from useServerSideFilterStorage
|
|
83833
|
-
date
|
|
83834
|
-
);
|
|
83835
|
-
})
|
|
83836
|
-
);
|
|
83864
|
+
getOptionValue: (option) => {
|
|
83865
|
+
return getId(columnDefinition.filterProps?.getId, option);
|
|
83837
83866
|
},
|
|
83838
|
-
|
|
83867
|
+
getOptionLabel: (option) => {
|
|
83868
|
+
return getLabel(columnDefinition.filterProps?.getLabel, option);
|
|
83869
|
+
},
|
|
83870
|
+
onChange: (values2) => {
|
|
83871
|
+
if (Array.isArray(values2) && !values2.length) {
|
|
83872
|
+
onRemove?.();
|
|
83873
|
+
return;
|
|
83874
|
+
}
|
|
83875
|
+
onChange?.(values2);
|
|
83876
|
+
},
|
|
83877
|
+
...getSuperSelectFilterPreset(columnDefinition)
|
|
83839
83878
|
}
|
|
83840
83879
|
));
|
|
83841
|
-
}
|
|
83842
|
-
var QuickDateFilterRenderer = (props) => {
|
|
83843
|
-
const { onServerSideDataRequest } = useInternalTableContext();
|
|
83844
|
-
if (onServerSideDataRequest) {
|
|
83845
|
-
return /* @__PURE__ */ React76__default.default.createElement(ServerSideQuickDateFilterRenderer, { ...props });
|
|
83846
|
-
}
|
|
83847
|
-
logger.error(
|
|
83848
|
-
"Warning: Date Filters are currently only implemented for the serverside row model"
|
|
83849
|
-
);
|
|
83850
|
-
return null;
|
|
83851
|
-
};
|
|
83852
|
-
var dateInputLocales = {
|
|
83853
|
-
"fr-CA": {
|
|
83854
|
-
placeholders: { day: "jj", month: "mm", year: "aaaa" }
|
|
83855
|
-
},
|
|
83856
|
-
"fr-FR": {
|
|
83857
|
-
placeholders: { day: "jj", month: "mm", year: "aaaa" }
|
|
83858
|
-
},
|
|
83859
|
-
es: {
|
|
83860
|
-
placeholders: { day: "dd", month: "mm", year: "aaaa" }
|
|
83861
|
-
},
|
|
83862
|
-
"es-ES": {
|
|
83863
|
-
placeholders: { day: "dd", month: "mm", year: "aaaa" }
|
|
83864
|
-
},
|
|
83865
|
-
pt: {
|
|
83866
|
-
placeholders: { day: "dd", month: "mm", year: "aaaa" }
|
|
83867
|
-
},
|
|
83868
|
-
"is-IS": {
|
|
83869
|
-
placeholders: { day: "dd", month: "mm", year: "\xE1\xE1\xE1\xE1" }
|
|
83870
|
-
},
|
|
83871
|
-
"de-DE": {
|
|
83872
|
-
placeholders: { day: "tt", month: "MM", year: "jjjj" }
|
|
83873
|
-
}
|
|
83874
|
-
};
|
|
83875
|
-
var DateQuickFilterLabel = React76__default.default.forwardRef(({ headerName, onClear, value, disabled }, ref) => {
|
|
83876
|
-
const dateTime = coreReact.useDateTime();
|
|
83877
|
-
const i18n = coreReact.useI18nContext();
|
|
83878
|
-
const placeholders = dateInputLocales[i18n.locale]?.placeholders || {
|
|
83879
|
-
day: "dd",
|
|
83880
|
-
month: "mm",
|
|
83881
|
-
year: "yyyy"
|
|
83882
|
-
};
|
|
83883
|
-
if (value !== void 0 && dateFns.isDate(value)) {
|
|
83884
|
-
return /* @__PURE__ */ React76__default.default.createElement(
|
|
83885
|
-
QuickFilterLabel,
|
|
83886
|
-
{
|
|
83887
|
-
enabled: true,
|
|
83888
|
-
disabled,
|
|
83889
|
-
label: `${headerName}: ${dateTime.format(value, "numeric-date")}`,
|
|
83890
|
-
onClear,
|
|
83891
|
-
ref
|
|
83892
|
-
}
|
|
83893
|
-
);
|
|
83894
|
-
}
|
|
83895
|
-
return /* @__PURE__ */ React76__default.default.createElement(
|
|
83896
|
-
QuickFilterLabel,
|
|
83897
|
-
{
|
|
83898
|
-
enabled: false,
|
|
83899
|
-
disabled,
|
|
83900
|
-
label: `${headerName}: ${globalizationToolkit.getDatePlaceholder(i18n.locale, placeholders)}`,
|
|
83901
|
-
ref
|
|
83902
|
-
}
|
|
83903
|
-
);
|
|
83904
|
-
});
|
|
83905
|
-
var DateQuickFilterRenderer_default = QuickDateFilterRenderer;
|
|
83906
|
-
var defaultGetId2 = (option) => option?.id;
|
|
83907
|
-
var defaultGetLabel2 = (option) => {
|
|
83908
|
-
return option?.label ?? option?.name ?? option;
|
|
83909
83880
|
};
|
|
83910
|
-
var
|
|
83881
|
+
var useSuperSelectOptionAsValueWorkaround2 = ({
|
|
83911
83882
|
originValue,
|
|
83912
83883
|
originOptions,
|
|
83913
|
-
getId: getId3
|
|
83884
|
+
getId: getId3,
|
|
83914
83885
|
loading
|
|
83915
83886
|
}) => {
|
|
83916
83887
|
const isValueFromOptions = React76__default.default.useRef(false);
|
|
83917
83888
|
const getValueFromOptions = () => {
|
|
83918
|
-
const valueIds = originValue.map(getId3);
|
|
83889
|
+
const valueIds = originValue.map((option) => getId(getId3, option));
|
|
83919
83890
|
isValueFromOptions.current = true;
|
|
83920
|
-
return originOptions.filter(
|
|
83891
|
+
return originOptions.filter(
|
|
83892
|
+
(option) => valueIds.includes(getId(getId3, option))
|
|
83893
|
+
);
|
|
83921
83894
|
};
|
|
83922
83895
|
const hasOptions = originOptions.length > 0 && !loading;
|
|
83923
83896
|
const hasValue = originValue?.length > 0;
|
|
@@ -83929,684 +83902,814 @@ var useSuperSelectOptionAsValueWorkaround = ({
|
|
|
83929
83902
|
getOptionValue: (option) => option
|
|
83930
83903
|
};
|
|
83931
83904
|
};
|
|
83932
|
-
var
|
|
83933
|
-
|
|
83934
|
-
|
|
83935
|
-
|
|
83905
|
+
var ServerSideMultiSelectQuickFilter = ({ columnDefinition, overlayMatchesTriggerWidth, disabled }) => {
|
|
83906
|
+
const {
|
|
83907
|
+
options: originOptions,
|
|
83908
|
+
onClearFilter,
|
|
83909
|
+
fieldName,
|
|
83910
|
+
value: originValue = [],
|
|
83911
|
+
onChange,
|
|
83912
|
+
getOptions,
|
|
83913
|
+
loading
|
|
83914
|
+
} = useServerSideFilter({ columnDefinition });
|
|
83915
|
+
const { options, value, getOptionValue } = useSuperSelectOptionAsValueWorkaround2({
|
|
83916
|
+
originOptions,
|
|
83917
|
+
originValue,
|
|
83936
83918
|
loading,
|
|
83937
|
-
|
|
83938
|
-
|
|
83939
|
-
|
|
83940
|
-
|
|
83941
|
-
|
|
83942
|
-
|
|
83943
|
-
|
|
83944
|
-
|
|
83945
|
-
|
|
83946
|
-
|
|
83947
|
-
|
|
83948
|
-
|
|
83949
|
-
|
|
83950
|
-
|
|
83951
|
-
|
|
83952
|
-
|
|
83953
|
-
|
|
83954
|
-
|
|
83955
|
-
|
|
83956
|
-
|
|
83957
|
-
|
|
83958
|
-
|
|
83959
|
-
|
|
83960
|
-
|
|
83961
|
-
|
|
83962
|
-
|
|
83963
|
-
|
|
83964
|
-
|
|
83965
|
-
|
|
83966
|
-
|
|
83967
|
-
if (selection.item.id === selectAllOption.id) {
|
|
83968
|
-
return onSelectAll();
|
|
83969
|
-
}
|
|
83970
|
-
if (selection.item.id === includeSublocationOption.id) {
|
|
83971
|
-
_onSelect(selection);
|
|
83972
|
-
return onSelectSublocations();
|
|
83973
|
-
}
|
|
83974
|
-
return _onSelect(selection);
|
|
83975
|
-
};
|
|
83976
|
-
function defaultOnSearch(e) {
|
|
83977
|
-
if (e.target.value === "") {
|
|
83978
|
-
setSearching(false);
|
|
83979
|
-
setItems(options);
|
|
83980
|
-
} else {
|
|
83981
|
-
setSearching(true);
|
|
83982
|
-
setItems(
|
|
83983
|
-
options.filter(
|
|
83984
|
-
(item) => getLabel3(item).toLowerCase().includes(e.target.value.toLowerCase())
|
|
83985
|
-
)
|
|
83986
|
-
);
|
|
83987
|
-
}
|
|
83919
|
+
getId: columnDefinition.filterProps?.getId
|
|
83920
|
+
});
|
|
83921
|
+
return /* @__PURE__ */ React76__default.default.createElement(StyledSuperSelectWrapper, { $enabled: Boolean(value?.length) }, /* @__PURE__ */ React76__default.default.createElement(
|
|
83922
|
+
coreReact.UNSAFE_SuperSelect,
|
|
83923
|
+
{
|
|
83924
|
+
overlayMatchesTriggerWidth,
|
|
83925
|
+
loading,
|
|
83926
|
+
value: value === null ? [] : value,
|
|
83927
|
+
search: false,
|
|
83928
|
+
getOptionLabel: (option) => {
|
|
83929
|
+
return getLabel(columnDefinition.filterProps?.getLabel, option);
|
|
83930
|
+
},
|
|
83931
|
+
getOptionValue,
|
|
83932
|
+
multiple: true,
|
|
83933
|
+
options,
|
|
83934
|
+
disabled,
|
|
83935
|
+
onChange: (values2) => {
|
|
83936
|
+
if (Array.isArray(values2) && !values2.length) {
|
|
83937
|
+
onClearFilter?.(fieldName);
|
|
83938
|
+
getOptions();
|
|
83939
|
+
return;
|
|
83940
|
+
}
|
|
83941
|
+
onChange(values2);
|
|
83942
|
+
},
|
|
83943
|
+
onOpenChange: (open) => {
|
|
83944
|
+
if (open && !originOptions.length) {
|
|
83945
|
+
getOptions();
|
|
83946
|
+
}
|
|
83947
|
+
},
|
|
83948
|
+
...getSuperSelectFilterPreset(columnDefinition)
|
|
83988
83949
|
}
|
|
83989
|
-
|
|
83990
|
-
|
|
83991
|
-
|
|
83992
|
-
|
|
83993
|
-
|
|
83994
|
-
|
|
83950
|
+
));
|
|
83951
|
+
};
|
|
83952
|
+
var MultiSelectQuickFilterRenderer = (props) => {
|
|
83953
|
+
const { onServerSideDataRequest } = useInternalTableContext();
|
|
83954
|
+
if (!isClientSideFilterProps(props, !!onServerSideDataRequest)) {
|
|
83955
|
+
return /* @__PURE__ */ React76__default.default.createElement(ServerSideMultiSelectQuickFilter, { ...props });
|
|
83956
|
+
}
|
|
83957
|
+
return /* @__PURE__ */ React76__default.default.createElement(ClientSideMultiSelectQuickFilter, { ...props });
|
|
83958
|
+
};
|
|
83959
|
+
var MultiSelectQuickFilterRenderer_default = MultiSelectQuickFilterRenderer;
|
|
83960
|
+
function getFilterTokenText(columnDefinition, filterValue) {
|
|
83961
|
+
if (columnDefinition?.filterProps?.getFilterTokenText) {
|
|
83962
|
+
return columnDefinition?.filterProps?.getFilterTokenText?.({
|
|
83963
|
+
headerName: columnDefinition?.headerName || "",
|
|
83964
|
+
value: filterValue
|
|
83965
|
+
});
|
|
83966
|
+
}
|
|
83967
|
+
if (columnDefinition.filterRenderer === DateFilterRenderer_default) {
|
|
83968
|
+
return /* @__PURE__ */ React76__default.default.createElement(
|
|
83969
|
+
OptionalDateTimeProvider,
|
|
83995
83970
|
{
|
|
83996
|
-
|
|
83997
|
-
multiple: true,
|
|
83998
|
-
role: "listbox",
|
|
83999
|
-
ref: menuRef,
|
|
84000
|
-
onSelect,
|
|
84001
|
-
className: locationFilterStyles_default.locationFilterMenu
|
|
83971
|
+
timeZone: columnDefinition.timeZone
|
|
84002
83972
|
},
|
|
84003
83973
|
/* @__PURE__ */ React76__default.default.createElement(
|
|
84004
|
-
|
|
83974
|
+
DateFilterTokenText,
|
|
84005
83975
|
{
|
|
84006
|
-
|
|
84007
|
-
|
|
83976
|
+
headerName: columnDefinition.headerName,
|
|
83977
|
+
value: filterValue
|
|
84008
83978
|
}
|
|
84009
|
-
)
|
|
84010
|
-
|
|
84011
|
-
coreReact.Box,
|
|
84012
|
-
{
|
|
84013
|
-
className: locationFilterStyles_default.controlsContainer,
|
|
84014
|
-
...coreReact.UNSAFE_menuItemsWrapperAttribute
|
|
84015
|
-
},
|
|
84016
|
-
/* @__PURE__ */ React76__default.default.createElement(
|
|
84017
|
-
coreReact.UNSAFE_Menu.CheckboxItem,
|
|
84018
|
-
{
|
|
84019
|
-
key: getId3(includeSublocationOption),
|
|
84020
|
-
item: includeSublocationOption,
|
|
84021
|
-
selected: enableSublocations
|
|
84022
|
-
},
|
|
84023
|
-
getLabel3(includeSublocationOption)
|
|
84024
|
-
),
|
|
84025
|
-
/* @__PURE__ */ React76__default.default.createElement(
|
|
84026
|
-
coreReact.UNSAFE_Menu.CheckboxItem,
|
|
84027
|
-
{
|
|
84028
|
-
key: getId3(selectAllOption),
|
|
84029
|
-
item: selectAllOption,
|
|
84030
|
-
selected: selectState === "all",
|
|
84031
|
-
indeterminate: selectState === "partial"
|
|
84032
|
-
},
|
|
84033
|
-
getLabel3(selectAllOption)
|
|
84034
|
-
)
|
|
84035
|
-
), !loading && items.map((item, i) => {
|
|
84036
|
-
return /* @__PURE__ */ React76__default.default.createElement(
|
|
84037
|
-
coreReact.UNSAFE_Menu.CheckboxItem,
|
|
84038
|
-
{
|
|
84039
|
-
key: getId3(item),
|
|
84040
|
-
item,
|
|
84041
|
-
selected: value.map(({ id }) => id).includes(getId3(item)) || disabledOptions.map(({ id }) => id).includes(getId3(item)),
|
|
84042
|
-
suggested: i === 0,
|
|
84043
|
-
disabled: disabledOptions.map(({ id }) => id).includes(getId3(item))
|
|
84044
|
-
},
|
|
84045
|
-
getLabel3(item)
|
|
84046
|
-
);
|
|
84047
|
-
})),
|
|
84048
|
-
loading && /* @__PURE__ */ React76__default.default.createElement(coreReact.UNSAFE_Menu.Footer, null, /* @__PURE__ */ React76__default.default.createElement(coreReact.Flex, { justifyContent: "center" }, /* @__PURE__ */ React76__default.default.createElement(coreReact.Spinner, { size: "sm" })))
|
|
84049
|
-
));
|
|
83979
|
+
)
|
|
83980
|
+
);
|
|
84050
83981
|
}
|
|
84051
|
-
)
|
|
84052
|
-
|
|
83982
|
+
if (columnDefinition.filterRenderer === NumberFilterRenderer) {
|
|
83983
|
+
return columnDefinition?.headerName;
|
|
83984
|
+
}
|
|
83985
|
+
if (Array.isArray(filterValue)) {
|
|
83986
|
+
if (filterValue.length === 0) {
|
|
83987
|
+
return columnDefinition?.headerName;
|
|
83988
|
+
}
|
|
83989
|
+
if (filterValue.length === 1) {
|
|
83990
|
+
return `${columnDefinition?.headerName}: ${getLabel(
|
|
83991
|
+
columnDefinition.filterProps?.getLabel,
|
|
83992
|
+
filterValue[0]
|
|
83993
|
+
)}`;
|
|
83994
|
+
}
|
|
83995
|
+
return `${columnDefinition?.headerName}: (${filterValue.length})`;
|
|
83996
|
+
}
|
|
83997
|
+
return columnDefinition?.headerName;
|
|
83998
|
+
}
|
|
83999
|
+
var ensureArray = (input) => {
|
|
84000
|
+
if (input === null) {
|
|
84001
|
+
return [];
|
|
84002
|
+
}
|
|
84003
|
+
return Array.isArray(input) ? input : [input];
|
|
84004
|
+
};
|
|
84005
|
+
|
|
84006
|
+
// src/QuickFilterRenderers/SingleSelectQuickFilterRenderer.tsx
|
|
84007
|
+
var ClientSideSingleSelectQuickFilter = ({
|
|
84008
|
+
filter,
|
|
84053
84009
|
columnDefinition,
|
|
84010
|
+
onChange,
|
|
84011
|
+
onRemove,
|
|
84012
|
+
overlayMatchesTriggerWidth,
|
|
84054
84013
|
disabled
|
|
84055
84014
|
}) => {
|
|
84015
|
+
return /* @__PURE__ */ React76__default.default.createElement(
|
|
84016
|
+
StyledSuperSelectWrapper,
|
|
84017
|
+
{
|
|
84018
|
+
$enabled: Boolean(filter.filterValues?.length),
|
|
84019
|
+
"data-test-id": "client-side-single-select-quick-filter"
|
|
84020
|
+
},
|
|
84021
|
+
/* @__PURE__ */ React76__default.default.createElement(
|
|
84022
|
+
coreReact.UNSAFE_SuperSelect,
|
|
84023
|
+
{
|
|
84024
|
+
overlayMatchesTriggerWidth,
|
|
84025
|
+
value: filter.filterValues ?? [],
|
|
84026
|
+
search: false,
|
|
84027
|
+
multiple: false,
|
|
84028
|
+
options: filter.options,
|
|
84029
|
+
disabled,
|
|
84030
|
+
getOptionValue: (option) => getId(columnDefinition.filterProps?.getId, option),
|
|
84031
|
+
getOptionLabel: (option) => getLabel(columnDefinition.filterProps?.getLabel, option),
|
|
84032
|
+
onChange: (values2) => {
|
|
84033
|
+
const valuesArray = ensureArray(values2);
|
|
84034
|
+
if (!valuesArray.length) {
|
|
84035
|
+
onRemove?.();
|
|
84036
|
+
return;
|
|
84037
|
+
}
|
|
84038
|
+
onChange?.(valuesArray);
|
|
84039
|
+
},
|
|
84040
|
+
...getSuperSelectFilterPreset(columnDefinition)
|
|
84041
|
+
}
|
|
84042
|
+
)
|
|
84043
|
+
);
|
|
84044
|
+
};
|
|
84045
|
+
var useSuperSelectOptionAsValueWorkaround3 = ({
|
|
84046
|
+
originValue,
|
|
84047
|
+
originOptions,
|
|
84048
|
+
getId: getId3,
|
|
84049
|
+
loading
|
|
84050
|
+
}) => {
|
|
84051
|
+
const isValueFromOptions = React76__default.default.useRef(false);
|
|
84052
|
+
const getValueFromOptions = () => {
|
|
84053
|
+
const valueIds = originValue.map((option) => getId(getId3, option));
|
|
84054
|
+
isValueFromOptions.current = true;
|
|
84055
|
+
return originOptions.filter(
|
|
84056
|
+
(option) => valueIds.includes(getId(getId3, option))
|
|
84057
|
+
);
|
|
84058
|
+
};
|
|
84059
|
+
const hasOptions = originOptions.length > 0 && !loading;
|
|
84060
|
+
const hasValue = originValue?.length > 0;
|
|
84061
|
+
const options = !hasOptions && hasValue ? originValue : originOptions;
|
|
84062
|
+
const value = !hasOptions ? originValue : isValueFromOptions.current ? originValue : getValueFromOptions();
|
|
84063
|
+
return {
|
|
84064
|
+
options,
|
|
84065
|
+
value,
|
|
84066
|
+
getOptionValue: (option) => option
|
|
84067
|
+
};
|
|
84068
|
+
};
|
|
84069
|
+
var ServerSideSingleSelectQuickFilter = ({ columnDefinition, overlayMatchesTriggerWidth, disabled }) => {
|
|
84056
84070
|
const {
|
|
84057
84071
|
options: originOptions,
|
|
84072
|
+
onClearFilter,
|
|
84073
|
+
fieldName,
|
|
84058
84074
|
value: originValue = [],
|
|
84059
84075
|
onChange,
|
|
84060
84076
|
getOptions,
|
|
84061
84077
|
loading
|
|
84062
84078
|
} = useServerSideFilter({ columnDefinition });
|
|
84063
|
-
const { options, value } =
|
|
84079
|
+
const { options, value, getOptionValue } = useSuperSelectOptionAsValueWorkaround3({
|
|
84064
84080
|
originOptions,
|
|
84065
84081
|
originValue,
|
|
84066
84082
|
loading,
|
|
84067
84083
|
getId: columnDefinition.filterProps?.getId
|
|
84068
84084
|
});
|
|
84069
|
-
const
|
|
84070
|
-
|
|
84071
|
-
|
|
84072
|
-
|
|
84073
|
-
|
|
84074
|
-
return "all";
|
|
84075
|
-
}
|
|
84076
|
-
if (selection.length && (options.length > selection.length || options.length < selection.length)) {
|
|
84077
|
-
return "partial";
|
|
84078
|
-
}
|
|
84079
|
-
if (selection.length === 0) {
|
|
84080
|
-
return "none";
|
|
84081
|
-
}
|
|
84082
|
-
return "none";
|
|
84083
|
-
};
|
|
84084
|
-
const ids = React76__default.default.useMemo(() => value.map(({ id }) => id), [value]);
|
|
84085
|
-
const [selectedValueIds, setSelectedValueIds] = React76__default.default.useState(ids);
|
|
84086
|
-
const [selectState, setSelectState] = React76__default.default.useState(
|
|
84087
|
-
determineSelectedState(value)
|
|
84088
|
-
);
|
|
84089
|
-
const [disabledValues, setDisabledValues] = React76__default.default.useState([]);
|
|
84090
|
-
const [enableSublocations, setEnableSublocations] = React76__default.default.useState(false);
|
|
84091
|
-
const onSelectSublocations = React76__default.default.useCallback(() => {
|
|
84092
|
-
if (enableSublocations) {
|
|
84093
|
-
setDisabledValues([]);
|
|
84094
|
-
} else {
|
|
84095
|
-
const newDisabledValues = [];
|
|
84096
|
-
value.forEach((location) => {
|
|
84097
|
-
newDisabledValues.push(...findSublocations(location));
|
|
84098
|
-
});
|
|
84099
|
-
const uniqDisabledValues = ramda.uniqBy(ramda.prop("id"), newDisabledValues).filter(
|
|
84100
|
-
({ id }) => !selectedValueIds.includes(id)
|
|
84101
|
-
);
|
|
84102
|
-
setDisabledValues(uniqDisabledValues);
|
|
84103
|
-
}
|
|
84104
|
-
setEnableSublocations(!enableSublocations);
|
|
84105
|
-
}, [enableSublocations, value, selectedValueIds, options]);
|
|
84106
|
-
const onSelectAll = React76__default.default.useCallback(() => {
|
|
84107
|
-
if (selectState === "none" || selectState === "partial") {
|
|
84108
|
-
setSelectState("all");
|
|
84109
|
-
setSelectedValueIds(options.map(({ id }) => id));
|
|
84110
|
-
onChange(options);
|
|
84111
|
-
}
|
|
84112
|
-
if (selectState === "all") {
|
|
84113
|
-
setSelectState("none");
|
|
84114
|
-
setSelectedValueIds([]);
|
|
84115
|
-
onChange([]);
|
|
84085
|
+
const hasFetchedOptions = React76__default.default.useRef(false);
|
|
84086
|
+
React76__default.default.useEffect(() => {
|
|
84087
|
+
if (!hasFetchedOptions.current && !originOptions.length) {
|
|
84088
|
+
getOptions();
|
|
84089
|
+
hasFetchedOptions.current = true;
|
|
84116
84090
|
}
|
|
84117
|
-
}, [
|
|
84118
|
-
const
|
|
84119
|
-
|
|
84091
|
+
}, [getOptions, originOptions.length]);
|
|
84092
|
+
const handleOnChange = (values2) => {
|
|
84093
|
+
const selectedValues = ensureArray(values2);
|
|
84094
|
+
if (!selectedValues.length) {
|
|
84095
|
+
onClearFilter?.(fieldName);
|
|
84096
|
+
getOptions();
|
|
84120
84097
|
return;
|
|
84121
84098
|
}
|
|
84122
|
-
|
|
84123
|
-
return onChange(
|
|
84124
|
-
value.map((item) => ({
|
|
84125
|
-
...item,
|
|
84126
|
-
sublocations: enableSublocations ? [] : findSublocations(item)
|
|
84127
|
-
}))
|
|
84128
|
-
);
|
|
84129
|
-
}
|
|
84130
|
-
let newSelections = [];
|
|
84131
|
-
if (selectedValueIds.includes(getId3(selection.item))) {
|
|
84132
|
-
newSelections = removeSelections(selection.item, value);
|
|
84133
|
-
} else {
|
|
84134
|
-
newSelections = [...value, selection.item];
|
|
84135
|
-
const sublocationsToDisable = handleSelectSublocations(selection.item);
|
|
84136
|
-
const newDisabledValues = [
|
|
84137
|
-
...disabledValues,
|
|
84138
|
-
...sublocationsToDisable.filter(
|
|
84139
|
-
({ id }) => !selectedValueIds.includes(id)
|
|
84140
|
-
)
|
|
84141
|
-
];
|
|
84142
|
-
setDisabledValues(newDisabledValues);
|
|
84143
|
-
}
|
|
84144
|
-
setSelectState(determineSelectedState(newSelections));
|
|
84145
|
-
setSelectedValueIds(newSelections.map(({ id }) => id));
|
|
84146
|
-
onChange(
|
|
84147
|
-
newSelections.map((item) => ({
|
|
84148
|
-
...item,
|
|
84149
|
-
sublocations: handleSelectSublocations(item)
|
|
84150
|
-
}))
|
|
84151
|
-
);
|
|
84152
|
-
};
|
|
84153
|
-
const findSublocations = (selected) => {
|
|
84154
|
-
return options.filter((option) => {
|
|
84155
|
-
return ramda.startsWith(
|
|
84156
|
-
`${getLabel3(selected).toLowerCase()} > `,
|
|
84157
|
-
getLabel3(option).toLowerCase()
|
|
84158
|
-
);
|
|
84159
|
-
});
|
|
84099
|
+
onChange(selectedValues);
|
|
84160
84100
|
};
|
|
84161
|
-
const
|
|
84162
|
-
if (
|
|
84163
|
-
|
|
84164
|
-
return filteredOptions;
|
|
84165
|
-
} else {
|
|
84166
|
-
return [];
|
|
84101
|
+
const handleOnOpenChange = (open) => {
|
|
84102
|
+
if (open && !originOptions.length) {
|
|
84103
|
+
getOptions();
|
|
84167
84104
|
}
|
|
84168
84105
|
};
|
|
84169
|
-
|
|
84170
|
-
|
|
84171
|
-
|
|
84172
|
-
|
|
84173
|
-
|
|
84174
|
-
setDisabledValues(
|
|
84175
|
-
disabledValues.filter(
|
|
84176
|
-
({ id }) => !sublocationsToRemoveFromDisabledIds.includes(id)
|
|
84177
|
-
)
|
|
84178
|
-
);
|
|
84179
|
-
return selected.filter((item) => getId3(item) !== getId3(selection));
|
|
84106
|
+
return /* @__PURE__ */ React76__default.default.createElement(
|
|
84107
|
+
StyledSuperSelectWrapper,
|
|
84108
|
+
{
|
|
84109
|
+
$enabled: Boolean(value?.length),
|
|
84110
|
+
"data-test-id": "server-side-single-select-quick-filter"
|
|
84180
84111
|
},
|
|
84181
|
-
|
|
84112
|
+
/* @__PURE__ */ React76__default.default.createElement(
|
|
84113
|
+
coreReact.UNSAFE_SuperSelect,
|
|
84114
|
+
{
|
|
84115
|
+
overlayMatchesTriggerWidth,
|
|
84116
|
+
loading,
|
|
84117
|
+
value: value ?? [],
|
|
84118
|
+
search: false,
|
|
84119
|
+
disabled,
|
|
84120
|
+
getOptionLabel: (option) => getLabel(columnDefinition.filterProps?.getLabel, option),
|
|
84121
|
+
getOptionValue,
|
|
84122
|
+
multiple: false,
|
|
84123
|
+
options,
|
|
84124
|
+
onChange: handleOnChange,
|
|
84125
|
+
onOpenChange: handleOnOpenChange,
|
|
84126
|
+
...getSuperSelectFilterPreset(columnDefinition)
|
|
84127
|
+
}
|
|
84128
|
+
)
|
|
84182
84129
|
);
|
|
84183
|
-
|
|
84184
|
-
|
|
84185
|
-
}
|
|
84186
|
-
|
|
84187
|
-
|
|
84130
|
+
};
|
|
84131
|
+
var SingleSelectQuickFilterRenderer = (props) => {
|
|
84132
|
+
const { onServerSideDataRequest } = useInternalTableContext();
|
|
84133
|
+
if (!isClientSideFilterProps(props, !!onServerSideDataRequest)) {
|
|
84134
|
+
return /* @__PURE__ */ React76__default.default.createElement(ServerSideSingleSelectQuickFilter, { ...props });
|
|
84135
|
+
}
|
|
84136
|
+
return /* @__PURE__ */ React76__default.default.createElement(ClientSideSingleSelectQuickFilter, { ...props });
|
|
84137
|
+
};
|
|
84138
|
+
var SingleSelectQuickFilterRenderer_default = SingleSelectQuickFilterRenderer;
|
|
84139
|
+
var FiltersPanelToggleButton = ({ hasSelectedFilters, hasDefinedFilters }) => {
|
|
84140
|
+
const I18n = coreReact.useI18nContext();
|
|
84141
|
+
const { contextPanel } = useInternalTableContext();
|
|
84142
|
+
const hasNoContent = useTableHasNoContent();
|
|
84143
|
+
if (!hasDefinedFilters) {
|
|
84144
|
+
return null;
|
|
84145
|
+
}
|
|
84146
|
+
return /* @__PURE__ */ React76__default.default.createElement(
|
|
84147
|
+
EmptyResultsControlTooltip,
|
|
84188
84148
|
{
|
|
84189
|
-
|
|
84190
|
-
|
|
84191
|
-
|
|
84192
|
-
|
|
84193
|
-
|
|
84194
|
-
|
|
84195
|
-
|
|
84196
|
-
|
|
84197
|
-
|
|
84198
|
-
|
|
84199
|
-
|
|
84200
|
-
|
|
84201
|
-
|
|
84149
|
+
featureI18nKey: "featureFilter",
|
|
84150
|
+
enabled: hasNoContent
|
|
84151
|
+
},
|
|
84152
|
+
/* @__PURE__ */ React76__default.default.createElement(
|
|
84153
|
+
coreReact.ToggleButton,
|
|
84154
|
+
{
|
|
84155
|
+
"data-qa": "data-table-show-filters-button",
|
|
84156
|
+
disabled: hasNoContent,
|
|
84157
|
+
icon: /* @__PURE__ */ React76__default.default.createElement(FilterIcon, null),
|
|
84158
|
+
onClick: () => {
|
|
84159
|
+
if (contextPanel.content === "filters") {
|
|
84160
|
+
contextPanel.hide();
|
|
84161
|
+
} else {
|
|
84162
|
+
contextPanel.show("filters");
|
|
84163
|
+
}
|
|
84164
|
+
},
|
|
84165
|
+
selected: contextPanel.content === "filters"
|
|
84166
|
+
},
|
|
84167
|
+
hasSelectedFilters ? I18n.t("dataTable.filters.moreFilters") : I18n.t("dataTable.filters.filters")
|
|
84168
|
+
)
|
|
84169
|
+
);
|
|
84170
|
+
};
|
|
84171
|
+
var ServerSideFiltersPanelToggleButton = () => {
|
|
84172
|
+
const {
|
|
84173
|
+
filterStorage: { hasDefinedFilters, hasSelectedFilters }
|
|
84174
|
+
} = useInternalTableContext();
|
|
84175
|
+
return /* @__PURE__ */ React76__default.default.createElement(
|
|
84176
|
+
FiltersPanelToggleButton,
|
|
84177
|
+
{
|
|
84178
|
+
hasDefinedFilters,
|
|
84179
|
+
hasSelectedFilters
|
|
84202
84180
|
}
|
|
84203
84181
|
);
|
|
84204
|
-
|
|
84182
|
+
};
|
|
84183
|
+
var ClientSideFiltersPanelToggleButton = () => {
|
|
84184
|
+
const { filterState } = useInternalTableContext();
|
|
84185
|
+
const activeFilters = React76__default.default.useMemo(() => {
|
|
84186
|
+
return filterState.allAvailableFilters.filter(({ instance }) => {
|
|
84187
|
+
return instance.isFilterActive();
|
|
84188
|
+
});
|
|
84189
|
+
}, [filterState.allAvailableFilters]);
|
|
84205
84190
|
return /* @__PURE__ */ React76__default.default.createElement(
|
|
84206
|
-
|
|
84191
|
+
FiltersPanelToggleButton,
|
|
84207
84192
|
{
|
|
84208
|
-
|
|
84209
|
-
|
|
84210
|
-
|
|
84193
|
+
hasDefinedFilters: filterState.allAvailableFilters.length > 0,
|
|
84194
|
+
hasSelectedFilters: activeFilters.length > 0
|
|
84195
|
+
}
|
|
84196
|
+
);
|
|
84197
|
+
};
|
|
84198
|
+
|
|
84199
|
+
// src/QuickControls/QuickFilters.tsx
|
|
84200
|
+
var defaultQuickFilterRenderers = {
|
|
84201
|
+
MultiSelectFilterRenderer: MultiSelectQuickFilterRenderer_default,
|
|
84202
|
+
DateFilterRenderer: DateQuickFilterRenderer_default,
|
|
84203
|
+
LocationFilterRenderer: LocationQuickFilterRenderer_default,
|
|
84204
|
+
SingleSelectFilterRenderer: SingleSelectQuickFilterRenderer_default
|
|
84205
|
+
};
|
|
84206
|
+
function getQuickFilterRenderer(colDef) {
|
|
84207
|
+
if (!colDef)
|
|
84208
|
+
return null;
|
|
84209
|
+
if (colDef.quickFilterRenderer) {
|
|
84210
|
+
return colDef.quickFilterRenderer;
|
|
84211
|
+
}
|
|
84212
|
+
const filterRendererName = colDef.filterRenderer?.displayName;
|
|
84213
|
+
if (filterRendererName) {
|
|
84214
|
+
return defaultQuickFilterRenderers[filterRendererName] || null;
|
|
84215
|
+
}
|
|
84216
|
+
return null;
|
|
84217
|
+
}
|
|
84218
|
+
var FilterIcon = () => {
|
|
84219
|
+
return /* @__PURE__ */ React76__default.default.createElement(
|
|
84220
|
+
"svg",
|
|
84221
|
+
{
|
|
84222
|
+
focusable: false,
|
|
84223
|
+
width: "16",
|
|
84224
|
+
height: "16",
|
|
84225
|
+
viewBox: "0 0 20 20",
|
|
84226
|
+
fill: "none",
|
|
84227
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
84211
84228
|
},
|
|
84212
|
-
|
|
84213
|
-
|
|
84214
|
-
{
|
|
84215
|
-
enabled: true,
|
|
84216
|
-
disabled,
|
|
84217
|
-
label: `${I18n.t(
|
|
84218
|
-
"dataTable.filters.locationFilter.locations"
|
|
84219
|
-
)}${triggerLabel}`,
|
|
84220
|
-
onClear: () => {
|
|
84221
|
-
onChange([]);
|
|
84222
|
-
},
|
|
84223
|
-
block: true
|
|
84224
|
-
}
|
|
84225
|
-
) : /* @__PURE__ */ React76__default.default.createElement(
|
|
84226
|
-
QuickFilterLabel,
|
|
84229
|
+
/* @__PURE__ */ React76__default.default.createElement(
|
|
84230
|
+
"path",
|
|
84227
84231
|
{
|
|
84228
|
-
|
|
84229
|
-
|
|
84230
|
-
|
|
84231
|
-
|
|
84232
|
-
)}${triggerLabel}`,
|
|
84233
|
-
block: true
|
|
84232
|
+
fillRule: "evenodd",
|
|
84233
|
+
clipRule: "evenodd",
|
|
84234
|
+
d: "M3 5V7H17V5H3ZM8 15H12V13H8V15ZM15 11H5V9H15V11Z",
|
|
84235
|
+
fill: "currentColor"
|
|
84234
84236
|
}
|
|
84235
84237
|
)
|
|
84236
84238
|
);
|
|
84237
84239
|
};
|
|
84238
|
-
var
|
|
84239
|
-
|
|
84240
|
-
|
|
84240
|
+
var StyledFilterTokenWrapper = styled3__default.default.div`
|
|
84241
|
+
${coreReact.UNSAFE_StyledFilterTokenLabel} {
|
|
84242
|
+
font-weight: ${coreReact.typographyWeights.semibold};
|
|
84243
|
+
}
|
|
84241
84244
|
`;
|
|
84242
|
-
var
|
|
84243
|
-
const
|
|
84244
|
-
const
|
|
84245
|
-
|
|
84246
|
-
|
|
84247
|
-
|
|
84248
|
-
|
|
84249
|
-
|
|
84250
|
-
|
|
84251
|
-
headerName: columnDefinition.headerName,
|
|
84252
|
-
value: Array.isArray(value) ? value : [value]
|
|
84253
|
-
});
|
|
84254
|
-
} : void 0;
|
|
84255
|
-
return {
|
|
84256
|
-
components: {
|
|
84257
|
-
Label: React76__default.default.forwardRef(() => {
|
|
84258
|
-
const ctx = coreReact.UNSAFE_useSuperSelectContext();
|
|
84259
|
-
const isValueEmpty = ["", null, void 0].includes(
|
|
84260
|
-
ctx.state.value
|
|
84261
|
-
);
|
|
84262
|
-
return /* @__PURE__ */ React76__default.default.createElement(coreReact.UNSAFE_StyledSuperSelectLabel, { $hoverable: false }, typeof getValueLabel_ === "function" ? getValueLabel_(ctx.state.value) : getValueLabel(
|
|
84263
|
-
isValueEmpty,
|
|
84264
|
-
ctx.state.selectedLabel,
|
|
84265
|
-
ctx.config.placeholder,
|
|
84266
|
-
filterName
|
|
84267
|
-
));
|
|
84268
|
-
}),
|
|
84269
|
-
TriggerContainer: React76__default.default.forwardRef((props, ref) => {
|
|
84270
|
-
const ctx = coreReact.UNSAFE_useSuperSelectContext();
|
|
84271
|
-
if (!Array.isArray(ctx.state.value)) {
|
|
84272
|
-
return /* @__PURE__ */ React76__default.default.createElement(
|
|
84273
|
-
coreReact.UNSAFE_StyledSuperSelectTrigger,
|
|
84274
|
-
{
|
|
84275
|
-
$block: ctx.config.block,
|
|
84276
|
-
...props,
|
|
84277
|
-
ref
|
|
84278
|
-
}
|
|
84279
|
-
);
|
|
84245
|
+
var ClientSideQuickFilters = ({ overlayMatchesTriggerWidth }) => {
|
|
84246
|
+
const { tableRef, filterState, getColumnDefinition } = useInternalTableContext();
|
|
84247
|
+
const hasNoContent = useTableHasNoContent();
|
|
84248
|
+
const { quickFilters, tokens } = React76__default.default.useMemo(() => {
|
|
84249
|
+
return filterState.allAvailableFilters.reduce(
|
|
84250
|
+
(acc, filter) => {
|
|
84251
|
+
const colDef = getColumnDefinition(filter.field);
|
|
84252
|
+
if (!colDef) {
|
|
84253
|
+
return acc;
|
|
84280
84254
|
}
|
|
84281
|
-
|
|
84282
|
-
|
|
84283
|
-
|
|
84284
|
-
|
|
84285
|
-
|
|
84286
|
-
|
|
84287
|
-
|
|
84288
|
-
(option2) => ctx.option.value(option2) === v
|
|
84289
|
-
);
|
|
84290
|
-
return option ? ctx.option.label(option) : "";
|
|
84291
|
-
}).join(", ")))
|
|
84292
|
-
},
|
|
84293
|
-
/* @__PURE__ */ React76__default.default.createElement(
|
|
84294
|
-
coreReact.UNSAFE_StyledSuperSelectTrigger,
|
|
84295
|
-
{
|
|
84296
|
-
$block: ctx.config.block,
|
|
84297
|
-
...props,
|
|
84298
|
-
ref
|
|
84299
|
-
}
|
|
84300
|
-
)
|
|
84301
|
-
);
|
|
84302
|
-
}),
|
|
84303
|
-
MultiValueContainer: () => {
|
|
84304
|
-
const ctx = coreReact.UNSAFE_useSuperSelectContext();
|
|
84305
|
-
if (Array.isArray(ctx.state.value)) {
|
|
84306
|
-
const isValueEmpty = !ctx.state.value.length;
|
|
84307
|
-
const value = ctx.state.value.length > 1 ? `(${ctx.state.value.length})` : ctx.state.value.length === 1 ? `${ctx.state.selectedLabel}` : "";
|
|
84308
|
-
return /* @__PURE__ */ React76__default.default.createElement(coreReact.UNSAFE_StyledSuperSelectLabel, { $hoverable: false }, typeof getValueLabel_ === "function" ? getValueLabel_(ctx.state.value) : getValueLabel(
|
|
84309
|
-
isValueEmpty,
|
|
84310
|
-
value,
|
|
84311
|
-
ctx.config.placeholder,
|
|
84312
|
-
filterName
|
|
84313
|
-
));
|
|
84255
|
+
const isInteractive = colDef?.filterProps?.isInteractiveFilterToken === true;
|
|
84256
|
+
const hasQuickFilterRenderer = !!colDef?.quickFilterRenderer;
|
|
84257
|
+
const filterIsActive = filter.instance.isFilterActive();
|
|
84258
|
+
if (hasQuickFilterRenderer || filterIsActive && isInteractive && getQuickFilterRenderer(colDef) !== null) {
|
|
84259
|
+
return { ...acc, quickFilters: [...acc.quickFilters, filter] };
|
|
84260
|
+
} else if (filterIsActive) {
|
|
84261
|
+
return { ...acc, tokens: [...acc.tokens, filter] };
|
|
84314
84262
|
}
|
|
84315
|
-
return
|
|
84263
|
+
return acc;
|
|
84264
|
+
},
|
|
84265
|
+
{
|
|
84266
|
+
quickFilters: [],
|
|
84267
|
+
tokens: []
|
|
84316
84268
|
}
|
|
84269
|
+
);
|
|
84270
|
+
}, [filterState.allAvailableFilters, getColumnDefinition]);
|
|
84271
|
+
const isEmpty2 = quickFilters.length === 0 && tokens.length === 0;
|
|
84272
|
+
return isEmpty2 ? null : /* @__PURE__ */ React76__default.default.createElement(
|
|
84273
|
+
coreReact.FlexList,
|
|
84274
|
+
{
|
|
84275
|
+
padding: "xs none",
|
|
84276
|
+
size: "none",
|
|
84277
|
+
alignItems: "center",
|
|
84278
|
+
wrap: "wrap",
|
|
84279
|
+
gap: "sm"
|
|
84317
84280
|
},
|
|
84318
|
-
|
|
84319
|
-
|
|
84320
|
-
|
|
84321
|
-
|
|
84322
|
-
|
|
84323
|
-
|
|
84324
|
-
|
|
84325
|
-
|
|
84326
|
-
|
|
84327
|
-
|
|
84328
|
-
|
|
84329
|
-
|
|
84330
|
-
|
|
84331
|
-
|
|
84332
|
-
|
|
84333
|
-
|
|
84334
|
-
|
|
84335
|
-
|
|
84281
|
+
quickFilters.map((filter) => {
|
|
84282
|
+
const colDef = getColumnDefinition(filter.field);
|
|
84283
|
+
const QuickFilter = getQuickFilterRenderer(colDef);
|
|
84284
|
+
if (!colDef || !QuickFilter) {
|
|
84285
|
+
return null;
|
|
84286
|
+
}
|
|
84287
|
+
return /* @__PURE__ */ React76__default.default.createElement(
|
|
84288
|
+
EmptyResultsControlTooltip,
|
|
84289
|
+
{
|
|
84290
|
+
featureI18nKey: "featureQuickFilter",
|
|
84291
|
+
enabled: hasNoContent
|
|
84292
|
+
},
|
|
84293
|
+
/* @__PURE__ */ React76__default.default.createElement(
|
|
84294
|
+
QuickFilter,
|
|
84295
|
+
{
|
|
84296
|
+
key: filter.field,
|
|
84297
|
+
filter,
|
|
84298
|
+
columnDefinition: colDef,
|
|
84299
|
+
disabled: hasNoContent,
|
|
84300
|
+
onChange: (value) => tableRef?.current?.applyListFilter(filter.field, value),
|
|
84301
|
+
onRemove: () => tableRef?.current?.removeFilter(filter.field),
|
|
84302
|
+
overlayMatchesTriggerWidth
|
|
84303
|
+
}
|
|
84304
|
+
)
|
|
84305
|
+
);
|
|
84306
|
+
}),
|
|
84307
|
+
tokens.map((filter) => {
|
|
84308
|
+
const colDef = getColumnDefinition(filter.field);
|
|
84309
|
+
if (!colDef) {
|
|
84310
|
+
return null;
|
|
84311
|
+
}
|
|
84312
|
+
return /* @__PURE__ */ React76__default.default.createElement(StyledFilterTokenWrapper, { key: filter.field }, /* @__PURE__ */ React76__default.default.createElement(coreReact.UNSAFE_FilterToken, null, /* @__PURE__ */ React76__default.default.createElement(coreReact.UNSAFE_FilterToken.Label, null, getFilterTokenText(colDef, filter.filterValues)), /* @__PURE__ */ React76__default.default.createElement(
|
|
84313
|
+
coreReact.UNSAFE_FilterToken.Remove,
|
|
84314
|
+
{
|
|
84315
|
+
onClick: () => tableRef?.current?.removeFilter(filter.field)
|
|
84336
84316
|
}
|
|
84337
|
-
|
|
84338
|
-
|
|
84339
|
-
|
|
84317
|
+
)));
|
|
84318
|
+
})
|
|
84319
|
+
);
|
|
84320
|
+
};
|
|
84321
|
+
var ServerSideQuickFilters = ({ overlayMatchesTriggerWidth }) => {
|
|
84322
|
+
const {
|
|
84323
|
+
filterStorage: {
|
|
84324
|
+
hasDefinedFilters,
|
|
84325
|
+
onClearFilter,
|
|
84326
|
+
possibleFilters,
|
|
84327
|
+
selectedFilters,
|
|
84328
|
+
getListFilter
|
|
84329
|
+
},
|
|
84330
|
+
getColumnDefinition
|
|
84331
|
+
} = useInternalTableContext();
|
|
84332
|
+
const hasNoContent = useTableHasNoContent();
|
|
84333
|
+
const { quickFilterNames, tokenNames } = React76__default.default.useMemo(() => {
|
|
84334
|
+
const appliedFilterNames = Object.keys(selectedFilters);
|
|
84335
|
+
const isActiveFilter = (filterName) => appliedFilterNames.includes(filterName);
|
|
84336
|
+
return possibleFilters.reduce(
|
|
84337
|
+
(acc, filterName) => {
|
|
84338
|
+
const colDef = getColumnDefinition(filterName);
|
|
84339
|
+
if (!colDef) {
|
|
84340
|
+
return acc;
|
|
84340
84341
|
}
|
|
84341
|
-
|
|
84342
|
-
|
|
84343
|
-
|
|
84344
|
-
|
|
84345
|
-
|
|
84346
|
-
|
|
84347
|
-
|
|
84342
|
+
const isInteractive = colDef?.filterProps?.isInteractiveFilterToken === true;
|
|
84343
|
+
const hasQuickFilterRenderer = !!colDef?.quickFilterRenderer;
|
|
84344
|
+
const filterIsActive = isActiveFilter(filterName);
|
|
84345
|
+
if (hasQuickFilterRenderer || filterIsActive && isInteractive && getQuickFilterRenderer(colDef) !== null) {
|
|
84346
|
+
return {
|
|
84347
|
+
...acc,
|
|
84348
|
+
quickFilterNames: [...acc.quickFilterNames, filterName]
|
|
84349
|
+
};
|
|
84350
|
+
} else if (filterIsActive) {
|
|
84351
|
+
return {
|
|
84352
|
+
...acc,
|
|
84353
|
+
tokenNames: [...acc.tokenNames, filterName]
|
|
84354
|
+
};
|
|
84348
84355
|
}
|
|
84349
|
-
|
|
84350
|
-
|
|
84351
|
-
|
|
84352
|
-
|
|
84356
|
+
return acc;
|
|
84357
|
+
},
|
|
84358
|
+
{
|
|
84359
|
+
quickFilterNames: [],
|
|
84360
|
+
tokenNames: []
|
|
84361
|
+
}
|
|
84362
|
+
);
|
|
84363
|
+
}, [possibleFilters, selectedFilters, getColumnDefinition]);
|
|
84364
|
+
if (!hasDefinedFilters) {
|
|
84365
|
+
return null;
|
|
84366
|
+
}
|
|
84367
|
+
const isEmpty2 = quickFilterNames.length === 0 && tokenNames.length === 0;
|
|
84368
|
+
return isEmpty2 ? null : /* @__PURE__ */ React76__default.default.createElement(
|
|
84369
|
+
coreReact.FlexList,
|
|
84370
|
+
{
|
|
84371
|
+
padding: "xs none",
|
|
84372
|
+
size: "none",
|
|
84373
|
+
alignItems: "center",
|
|
84374
|
+
wrap: "wrap",
|
|
84375
|
+
gap: "sm",
|
|
84376
|
+
"data-qa": "data-table-quick-filters"
|
|
84377
|
+
},
|
|
84378
|
+
quickFilterNames.map((fieldName) => {
|
|
84379
|
+
const colDef = getColumnDefinition(fieldName);
|
|
84380
|
+
const QuickFilter = getQuickFilterRenderer(colDef);
|
|
84381
|
+
if (!colDef || !QuickFilter) {
|
|
84382
|
+
return null;
|
|
84383
|
+
}
|
|
84384
|
+
return /* @__PURE__ */ React76__default.default.createElement(
|
|
84385
|
+
EmptyResultsControlTooltip,
|
|
84386
|
+
{
|
|
84387
|
+
featureI18nKey: "featureQuickFilter",
|
|
84388
|
+
enabled: hasNoContent
|
|
84389
|
+
},
|
|
84390
|
+
/* @__PURE__ */ React76__default.default.createElement(
|
|
84391
|
+
QuickFilter,
|
|
84392
|
+
{
|
|
84393
|
+
key: fieldName,
|
|
84394
|
+
columnDefinition: colDef,
|
|
84395
|
+
disabled: hasNoContent,
|
|
84396
|
+
overlayMatchesTriggerWidth
|
|
84353
84397
|
}
|
|
84354
|
-
|
|
84398
|
+
)
|
|
84399
|
+
);
|
|
84400
|
+
}),
|
|
84401
|
+
tokenNames.map((fieldName) => {
|
|
84402
|
+
const colDef = getColumnDefinition(fieldName);
|
|
84403
|
+
if (!colDef) {
|
|
84404
|
+
return null;
|
|
84355
84405
|
}
|
|
84356
|
-
|
|
84357
|
-
|
|
84358
|
-
|
|
84359
|
-
|
|
84360
|
-
|
|
84361
|
-
|
|
84362
|
-
|
|
84363
|
-
|
|
84364
|
-
|
|
84365
|
-
var ClientSideMultiSelectQuickFilter = ({
|
|
84366
|
-
filter,
|
|
84367
|
-
columnDefinition,
|
|
84368
|
-
onChange,
|
|
84369
|
-
onRemove,
|
|
84370
|
-
overlayMatchesTriggerWidth,
|
|
84371
|
-
disabled
|
|
84372
|
-
}) => {
|
|
84373
|
-
return /* @__PURE__ */ React76__default.default.createElement(StyledSuperSelectWrapper, { $enabled: Boolean(filter.filterValues?.length) }, /* @__PURE__ */ React76__default.default.createElement(
|
|
84374
|
-
coreReact.UNSAFE_SuperSelect,
|
|
84375
|
-
{
|
|
84376
|
-
overlayMatchesTriggerWidth,
|
|
84377
|
-
value: filter.filterValues === null ? [] : filter.filterValues,
|
|
84378
|
-
search: false,
|
|
84379
|
-
multiple: true,
|
|
84380
|
-
options: filter.options,
|
|
84381
|
-
disabled,
|
|
84382
|
-
getOptionValue: (option) => {
|
|
84383
|
-
return getId(columnDefinition.filterProps?.getId, option);
|
|
84384
|
-
},
|
|
84385
|
-
getOptionLabel: (option) => {
|
|
84386
|
-
return getLabel(columnDefinition.filterProps?.getLabel, option);
|
|
84387
|
-
},
|
|
84388
|
-
onChange: (values2) => {
|
|
84389
|
-
if (Array.isArray(values2) && !values2.length) {
|
|
84390
|
-
onRemove?.();
|
|
84391
|
-
return;
|
|
84406
|
+
const filter = getListFilter(fieldName);
|
|
84407
|
+
return /* @__PURE__ */ React76__default.default.createElement(StyledFilterTokenWrapper, { key: fieldName }, /* @__PURE__ */ React76__default.default.createElement(coreReact.UNSAFE_FilterToken, null, /* @__PURE__ */ React76__default.default.createElement(coreReact.UNSAFE_FilterToken.Label, null, getFilterTokenText(
|
|
84408
|
+
colDef,
|
|
84409
|
+
colDef.filterRenderer === DateFilterRenderer_default ? filter.value : filter.selected
|
|
84410
|
+
)), /* @__PURE__ */ React76__default.default.createElement(
|
|
84411
|
+
coreReact.UNSAFE_FilterToken.Remove,
|
|
84412
|
+
{
|
|
84413
|
+
"data-qa": "data-table-quick-filter-remove-token",
|
|
84414
|
+
onClick: () => onClearFilter(fieldName)
|
|
84392
84415
|
}
|
|
84393
|
-
|
|
84394
|
-
|
|
84395
|
-
|
|
84396
|
-
}
|
|
84397
|
-
));
|
|
84416
|
+
)));
|
|
84417
|
+
})
|
|
84418
|
+
);
|
|
84398
84419
|
};
|
|
84399
|
-
var
|
|
84400
|
-
|
|
84401
|
-
|
|
84402
|
-
|
|
84403
|
-
|
|
84404
|
-
|
|
84405
|
-
|
|
84406
|
-
|
|
84407
|
-
const valueIds = originValue.map((option) => getId(getId3, option));
|
|
84408
|
-
isValueFromOptions.current = true;
|
|
84409
|
-
return originOptions.filter(
|
|
84410
|
-
(option) => valueIds.includes(getId(getId3, option))
|
|
84420
|
+
var QuickFilters = ({ overlayMatchesTriggerWidth }) => {
|
|
84421
|
+
const { onServerSideDataRequest } = useInternalTableContext();
|
|
84422
|
+
if (onServerSideDataRequest) {
|
|
84423
|
+
return /* @__PURE__ */ React76__default.default.createElement(
|
|
84424
|
+
ServerSideQuickFilters,
|
|
84425
|
+
{
|
|
84426
|
+
overlayMatchesTriggerWidth
|
|
84427
|
+
}
|
|
84411
84428
|
);
|
|
84412
|
-
}
|
|
84413
|
-
|
|
84414
|
-
|
|
84415
|
-
const options = !hasOptions && hasValue ? originValue : originOptions;
|
|
84416
|
-
const value = !hasOptions ? originValue : isValueFromOptions.current ? originValue : getValueFromOptions();
|
|
84417
|
-
return {
|
|
84418
|
-
options,
|
|
84419
|
-
value,
|
|
84420
|
-
getOptionValue: (option) => option
|
|
84421
|
-
};
|
|
84422
|
-
};
|
|
84423
|
-
var ServerSideMultiSelectQuickFilter = ({ columnDefinition, overlayMatchesTriggerWidth, disabled }) => {
|
|
84424
|
-
const {
|
|
84425
|
-
options: originOptions,
|
|
84426
|
-
onClearFilter,
|
|
84427
|
-
fieldName,
|
|
84428
|
-
value: originValue = [],
|
|
84429
|
-
onChange,
|
|
84430
|
-
getOptions,
|
|
84431
|
-
loading
|
|
84432
|
-
} = useServerSideFilter({ columnDefinition });
|
|
84433
|
-
const { options, value, getOptionValue } = useSuperSelectOptionAsValueWorkaround2({
|
|
84434
|
-
originOptions,
|
|
84435
|
-
originValue,
|
|
84436
|
-
loading,
|
|
84437
|
-
getId: columnDefinition.filterProps?.getId
|
|
84438
|
-
});
|
|
84439
|
-
return /* @__PURE__ */ React76__default.default.createElement(StyledSuperSelectWrapper, { $enabled: Boolean(value?.length) }, /* @__PURE__ */ React76__default.default.createElement(
|
|
84440
|
-
coreReact.UNSAFE_SuperSelect,
|
|
84429
|
+
}
|
|
84430
|
+
return /* @__PURE__ */ React76__default.default.createElement(
|
|
84431
|
+
ClientSideQuickFilters,
|
|
84441
84432
|
{
|
|
84442
|
-
overlayMatchesTriggerWidth
|
|
84443
|
-
loading,
|
|
84444
|
-
value: value === null ? [] : value,
|
|
84445
|
-
search: false,
|
|
84446
|
-
getOptionLabel: (option) => {
|
|
84447
|
-
return getLabel(columnDefinition.filterProps?.getLabel, option);
|
|
84448
|
-
},
|
|
84449
|
-
getOptionValue,
|
|
84450
|
-
multiple: true,
|
|
84451
|
-
options,
|
|
84452
|
-
disabled,
|
|
84453
|
-
onChange: (values2) => {
|
|
84454
|
-
if (Array.isArray(values2) && !values2.length) {
|
|
84455
|
-
onClearFilter?.(fieldName);
|
|
84456
|
-
getOptions();
|
|
84457
|
-
return;
|
|
84458
|
-
}
|
|
84459
|
-
onChange(values2);
|
|
84460
|
-
},
|
|
84461
|
-
onOpenChange: (open) => {
|
|
84462
|
-
if (open && !originOptions.length) {
|
|
84463
|
-
getOptions();
|
|
84464
|
-
}
|
|
84465
|
-
},
|
|
84466
|
-
...getSuperSelectFilterPreset(columnDefinition)
|
|
84433
|
+
overlayMatchesTriggerWidth
|
|
84467
84434
|
}
|
|
84468
|
-
)
|
|
84435
|
+
);
|
|
84469
84436
|
};
|
|
84470
|
-
var
|
|
84437
|
+
var FiltersPanelButton = () => {
|
|
84471
84438
|
const { onServerSideDataRequest } = useInternalTableContext();
|
|
84472
|
-
if (
|
|
84473
|
-
return /* @__PURE__ */ React76__default.default.createElement(
|
|
84439
|
+
if (onServerSideDataRequest) {
|
|
84440
|
+
return /* @__PURE__ */ React76__default.default.createElement(ServerSideFiltersPanelToggleButton, null);
|
|
84474
84441
|
}
|
|
84475
|
-
return /* @__PURE__ */ React76__default.default.createElement(
|
|
84442
|
+
return /* @__PURE__ */ React76__default.default.createElement(ClientSideFiltersPanelToggleButton, null);
|
|
84476
84443
|
};
|
|
84477
|
-
var
|
|
84478
|
-
|
|
84479
|
-
|
|
84480
|
-
|
|
84481
|
-
|
|
84482
|
-
|
|
84483
|
-
|
|
84484
|
-
|
|
84485
|
-
|
|
84444
|
+
var RowGroupSelector = ({ localeText }) => {
|
|
84445
|
+
const {
|
|
84446
|
+
columnDefinitions: _columnDefinitions,
|
|
84447
|
+
columnApi,
|
|
84448
|
+
gridApi,
|
|
84449
|
+
tableRef
|
|
84450
|
+
} = useInternalTableContext();
|
|
84451
|
+
const hasNoContent = useTableHasNoContent();
|
|
84452
|
+
const [columnDefinitions, setColumnDefinitions] = React76__default.default.useState(_columnDefinitions);
|
|
84453
|
+
const groupableColumns = React76__default.default.useMemo(
|
|
84454
|
+
() => mapColumnsToOptions(
|
|
84455
|
+
columnDefinitions.filter((column2) => column2.enableRowGroup)
|
|
84456
|
+
),
|
|
84457
|
+
[columnDefinitions]
|
|
84458
|
+
);
|
|
84459
|
+
const groupedColumns = React76__default.default.useMemo(() => {
|
|
84460
|
+
const rowGrouping = columnApi?.getRowGroupColumns() ?? [];
|
|
84461
|
+
return rowGrouping.map((column2) => {
|
|
84462
|
+
const colDef = column2.getColDef();
|
|
84463
|
+
return transformToColumnDefinition(colDef);
|
|
84464
|
+
});
|
|
84465
|
+
}, [columnDefinitions]);
|
|
84466
|
+
const selectedColumns = React76__default.default.useMemo(
|
|
84467
|
+
() => mapColumnsToOptions(groupedColumns),
|
|
84468
|
+
[groupedColumns]
|
|
84469
|
+
);
|
|
84470
|
+
const onGroupedClear = React76__default.default.useCallback(() => {
|
|
84471
|
+
tableRef?.current?.setRowGrouping([]);
|
|
84472
|
+
}, [tableRef]);
|
|
84473
|
+
const onGroupedRowChange = React76__default.default.useCallback(
|
|
84474
|
+
(newValue) => {
|
|
84475
|
+
const fields = newValue.map((val) => {
|
|
84476
|
+
return val.id;
|
|
84477
|
+
});
|
|
84478
|
+
if (!ramda.equals(selectedColumns, newValue)) {
|
|
84479
|
+
tableRef?.current?.setRowGrouping(fields);
|
|
84480
|
+
}
|
|
84481
|
+
},
|
|
84482
|
+
[selectedColumns]
|
|
84483
|
+
);
|
|
84484
|
+
React76__default.default.useEffect(() => {
|
|
84485
|
+
function onDisplayedColumnsChanged(event) {
|
|
84486
|
+
const agColumnDefs = event.api.getColumnDefs();
|
|
84487
|
+
if (agColumnDefs?.length) {
|
|
84488
|
+
const flattenedAgColDefs = flattenColDefs(event.api.getColumnDefs());
|
|
84489
|
+
const dataTableColumnDefinitions = flattenedAgColDefs.map(
|
|
84490
|
+
transformToColumnDefinition
|
|
84491
|
+
);
|
|
84492
|
+
setColumnDefinitions(dataTableColumnDefinitions);
|
|
84493
|
+
}
|
|
84494
|
+
}
|
|
84495
|
+
gridApi?.addEventListener(
|
|
84496
|
+
"displayedColumnsChanged",
|
|
84497
|
+
onDisplayedColumnsChanged
|
|
84498
|
+
);
|
|
84499
|
+
return () => {
|
|
84500
|
+
removeEventListenerFromGrid(
|
|
84501
|
+
"displayedColumnsChanged",
|
|
84502
|
+
onDisplayedColumnsChanged,
|
|
84503
|
+
gridApi
|
|
84504
|
+
);
|
|
84505
|
+
};
|
|
84506
|
+
}, [gridApi]);
|
|
84507
|
+
if (groupableColumns.length === 0) {
|
|
84508
|
+
return null;
|
|
84509
|
+
}
|
|
84486
84510
|
return /* @__PURE__ */ React76__default.default.createElement(
|
|
84487
|
-
|
|
84511
|
+
EmptyResultsControlTooltip,
|
|
84488
84512
|
{
|
|
84489
|
-
|
|
84490
|
-
|
|
84513
|
+
featureI18nKey: "featureGroupBy",
|
|
84514
|
+
enabled: hasNoContent
|
|
84491
84515
|
},
|
|
84492
84516
|
/* @__PURE__ */ React76__default.default.createElement(
|
|
84493
|
-
coreReact.
|
|
84517
|
+
coreReact.Tooltip,
|
|
84494
84518
|
{
|
|
84495
|
-
|
|
84496
|
-
|
|
84497
|
-
|
|
84498
|
-
|
|
84499
|
-
|
|
84500
|
-
|
|
84501
|
-
|
|
84502
|
-
|
|
84503
|
-
|
|
84504
|
-
|
|
84505
|
-
|
|
84506
|
-
|
|
84507
|
-
|
|
84508
|
-
|
|
84509
|
-
|
|
84510
|
-
|
|
84511
|
-
...getSuperSelectFilterPreset(columnDefinition)
|
|
84512
|
-
}
|
|
84519
|
+
overlay: localeText.placeholder,
|
|
84520
|
+
trigger: "hover",
|
|
84521
|
+
placement: "top",
|
|
84522
|
+
showDelay: 400
|
|
84523
|
+
},
|
|
84524
|
+
/* @__PURE__ */ React76__default.default.createElement(coreReact.Box, { style: { width: "100%" } }, /* @__PURE__ */ React76__default.default.createElement(
|
|
84525
|
+
labsGroupBySelect.GroupBySelect,
|
|
84526
|
+
{
|
|
84527
|
+
isDisabled: hasNoContent,
|
|
84528
|
+
localeText,
|
|
84529
|
+
onBlur: onGroupedRowChange,
|
|
84530
|
+
onClear: onGroupedClear,
|
|
84531
|
+
options: groupableColumns,
|
|
84532
|
+
selected: selectedColumns
|
|
84533
|
+
}
|
|
84534
|
+
))
|
|
84513
84535
|
)
|
|
84514
84536
|
);
|
|
84515
84537
|
};
|
|
84516
|
-
|
|
84517
|
-
|
|
84518
|
-
|
|
84519
|
-
|
|
84520
|
-
|
|
84538
|
+
function mapColumnsToOptions(columnDefinitions) {
|
|
84539
|
+
return columnDefinitions.map((col) => {
|
|
84540
|
+
return {
|
|
84541
|
+
label: col.headerName,
|
|
84542
|
+
id: col.field,
|
|
84543
|
+
key: col.field,
|
|
84544
|
+
group: col.columnGroupName
|
|
84545
|
+
};
|
|
84546
|
+
});
|
|
84547
|
+
}
|
|
84548
|
+
var cx21 = classnames__default.default.bind(quickControlsStyles_default);
|
|
84549
|
+
var ClientSideSearch = ({
|
|
84550
|
+
onSearch,
|
|
84551
|
+
placeholder
|
|
84521
84552
|
}) => {
|
|
84522
|
-
const
|
|
84523
|
-
const
|
|
84524
|
-
|
|
84525
|
-
|
|
84526
|
-
|
|
84527
|
-
|
|
84528
|
-
|
|
84529
|
-
|
|
84530
|
-
|
|
84531
|
-
|
|
84532
|
-
const
|
|
84533
|
-
|
|
84534
|
-
|
|
84535
|
-
|
|
84536
|
-
|
|
84537
|
-
|
|
84538
|
-
|
|
84553
|
+
const [internalValue, setInternalValue] = React76__default.default.useState("");
|
|
84554
|
+
const { tableRef } = useInternalTableContext();
|
|
84555
|
+
const hasNoContent = useTableHasNoContent();
|
|
84556
|
+
const I18n = coreReact.useI18nContext();
|
|
84557
|
+
const debouncedSetSearchValue = React76__default.default.useCallback(
|
|
84558
|
+
debounce5__default.default((value) => {
|
|
84559
|
+
tableRef?.current?.setSearchValue(value);
|
|
84560
|
+
}, 250),
|
|
84561
|
+
[tableRef?.current?.setSearchValue]
|
|
84562
|
+
);
|
|
84563
|
+
const onChange = React76__default.default.useCallback(
|
|
84564
|
+
(value, event) => {
|
|
84565
|
+
setInternalValue(value);
|
|
84566
|
+
if (onSearch) {
|
|
84567
|
+
onSearch(event);
|
|
84568
|
+
} else {
|
|
84569
|
+
debouncedSetSearchValue(value);
|
|
84570
|
+
}
|
|
84571
|
+
},
|
|
84572
|
+
[debouncedSetSearchValue, onSearch]
|
|
84573
|
+
);
|
|
84574
|
+
return /* @__PURE__ */ React76__default.default.createElement(EmptyResultsControlTooltip, { hasSearch: true, enabled: hasNoContent }, /* @__PURE__ */ React76__default.default.createElement(
|
|
84575
|
+
coreReact.Typeahead,
|
|
84576
|
+
{
|
|
84577
|
+
disabled: hasNoContent,
|
|
84578
|
+
"data-qa": "data-table-search",
|
|
84579
|
+
value: internalValue,
|
|
84580
|
+
className: cx21("search", {
|
|
84581
|
+
"search--empty": !internalValue.length
|
|
84582
|
+
}),
|
|
84583
|
+
onChange,
|
|
84584
|
+
placeholder: placeholder || I18n.t("dataTable.search")
|
|
84585
|
+
}
|
|
84586
|
+
));
|
|
84539
84587
|
};
|
|
84540
|
-
var
|
|
84541
|
-
const {
|
|
84542
|
-
|
|
84543
|
-
|
|
84544
|
-
|
|
84545
|
-
|
|
84546
|
-
|
|
84547
|
-
|
|
84548
|
-
|
|
84549
|
-
|
|
84550
|
-
const
|
|
84551
|
-
|
|
84552
|
-
|
|
84553
|
-
|
|
84554
|
-
|
|
84555
|
-
|
|
84556
|
-
|
|
84557
|
-
|
|
84558
|
-
|
|
84559
|
-
|
|
84560
|
-
|
|
84588
|
+
var Search = (props) => {
|
|
84589
|
+
const { onServerSideDataRequest } = useInternalTableContext();
|
|
84590
|
+
if (onServerSideDataRequest) {
|
|
84591
|
+
return /* @__PURE__ */ React76__default.default.createElement(ServerSideSearch, { ...props });
|
|
84592
|
+
}
|
|
84593
|
+
return /* @__PURE__ */ React76__default.default.createElement(ClientSideSearch, { ...props });
|
|
84594
|
+
};
|
|
84595
|
+
|
|
84596
|
+
// src/QuickControls/QuickControls.tsx
|
|
84597
|
+
var QuickControls = (props) => {
|
|
84598
|
+
const I18n = coreReact.useI18nContext();
|
|
84599
|
+
if (props.children) {
|
|
84600
|
+
return /* @__PURE__ */ React76__default.default.createElement(
|
|
84601
|
+
coreReact.Box,
|
|
84602
|
+
{
|
|
84603
|
+
"data-qa": "data-table-quick-controls",
|
|
84604
|
+
padding: "xs none",
|
|
84605
|
+
style: props.style
|
|
84606
|
+
},
|
|
84607
|
+
props.children
|
|
84608
|
+
);
|
|
84609
|
+
}
|
|
84610
|
+
return /* @__PURE__ */ React76__default.default.createElement(coreReact.Box, { padding: "xs none", style: props.style }, /* @__PURE__ */ React76__default.default.createElement(coreReact.Box, { padding: "xs none", display: "flex-row", justifyContent: "space-between" }, /* @__PURE__ */ React76__default.default.createElement(coreReact.FlexList, { size: "xs", alignItems: "center", marginRight: "sm" }, /* @__PURE__ */ React76__default.default.createElement(
|
|
84611
|
+
Search,
|
|
84612
|
+
{
|
|
84613
|
+
onSearch: props.onSearch,
|
|
84614
|
+
placeholder: props.placeholder,
|
|
84615
|
+
disabled: props.disabledSearch
|
|
84561
84616
|
}
|
|
84562
|
-
|
|
84563
|
-
|
|
84564
|
-
|
|
84565
|
-
|
|
84566
|
-
|
|
84567
|
-
|
|
84568
|
-
|
|
84617
|
+
), /* @__PURE__ */ React76__default.default.createElement(FiltersPanelButton, null)), /* @__PURE__ */ React76__default.default.createElement(coreReact.FlexList, { size: "xs", alignItems: "center" }, /* @__PURE__ */ React76__default.default.createElement(
|
|
84618
|
+
RowGroupSelector,
|
|
84619
|
+
{
|
|
84620
|
+
localeText: {
|
|
84621
|
+
reset: I18n.t("dataTable.tableSettings.reset"),
|
|
84622
|
+
placeholder: I18n.t("dataTable.tableSettings.selectColumnGroup"),
|
|
84623
|
+
selectedItemsPrefix: I18n.t("dataTable.tableSettings.groupBy")
|
|
84624
|
+
}
|
|
84569
84625
|
}
|
|
84570
|
-
|
|
84571
|
-
|
|
84572
|
-
|
|
84573
|
-
|
|
84574
|
-
getOptions();
|
|
84626
|
+
), /* @__PURE__ */ React76__default.default.createElement(ConfigPanelButton, null))), /* @__PURE__ */ React76__default.default.createElement(
|
|
84627
|
+
QuickFilters,
|
|
84628
|
+
{
|
|
84629
|
+
overlayMatchesTriggerWidth: props.filterOverlayMatchesTriggerWidth
|
|
84575
84630
|
}
|
|
84576
|
-
|
|
84631
|
+
));
|
|
84632
|
+
};
|
|
84633
|
+
|
|
84634
|
+
// src/utils/addSubcomponents.ts
|
|
84635
|
+
var addSubcomponents = (subs, parent) => {
|
|
84636
|
+
const assigned = parent;
|
|
84637
|
+
Object.keys(subs).forEach((key) => {
|
|
84638
|
+
assigned[key] = subs[key];
|
|
84639
|
+
});
|
|
84640
|
+
return assigned;
|
|
84641
|
+
};
|
|
84642
|
+
|
|
84643
|
+
// src/ClientSideDataTable.tsx
|
|
84644
|
+
var ClientSideDataTable = ({
|
|
84645
|
+
analytics,
|
|
84646
|
+
children,
|
|
84647
|
+
columnDefinitions: _columnDefinitions,
|
|
84648
|
+
customBulkEditorFields,
|
|
84649
|
+
enableDynamicRowHeight,
|
|
84650
|
+
enableGroupEditAndValidation,
|
|
84651
|
+
filterGroups,
|
|
84652
|
+
getRowId,
|
|
84653
|
+
initialTableConfig: _initialTableConfig,
|
|
84654
|
+
onBulkEditUpdate,
|
|
84655
|
+
onTableConfigChange,
|
|
84656
|
+
translations: translations2 = {},
|
|
84657
|
+
enableCellTextSelection,
|
|
84658
|
+
localStoragePersistenceKey
|
|
84659
|
+
}) => {
|
|
84577
84660
|
return /* @__PURE__ */ React76__default.default.createElement(
|
|
84578
|
-
|
|
84661
|
+
DataTable,
|
|
84579
84662
|
{
|
|
84580
|
-
|
|
84581
|
-
|
|
84663
|
+
analytics,
|
|
84664
|
+
columnDefinitions: _columnDefinitions,
|
|
84665
|
+
enableGroupEditAndValidation,
|
|
84666
|
+
enableDynamicRowHeight,
|
|
84667
|
+
filterGroups,
|
|
84668
|
+
getRowId,
|
|
84669
|
+
initialTableConfig: _initialTableConfig,
|
|
84670
|
+
onTableConfigChange,
|
|
84671
|
+
onBulkEditUpdate,
|
|
84672
|
+
showExpandCollapseAllToggle: true,
|
|
84673
|
+
translations: translations2,
|
|
84674
|
+
localStoragePersistenceKey,
|
|
84675
|
+
customBulkEditorFields,
|
|
84676
|
+
enableCellTextSelection
|
|
84582
84677
|
},
|
|
84583
|
-
|
|
84584
|
-
coreReact.UNSAFE_SuperSelect,
|
|
84585
|
-
{
|
|
84586
|
-
overlayMatchesTriggerWidth,
|
|
84587
|
-
loading,
|
|
84588
|
-
value: value ?? [],
|
|
84589
|
-
search: false,
|
|
84590
|
-
disabled,
|
|
84591
|
-
getOptionLabel: (option) => getLabel(columnDefinition.filterProps?.getLabel, option),
|
|
84592
|
-
getOptionValue,
|
|
84593
|
-
multiple: false,
|
|
84594
|
-
options,
|
|
84595
|
-
onChange: handleOnChange,
|
|
84596
|
-
onOpenChange: handleOnOpenChange,
|
|
84597
|
-
...getSuperSelectFilterPreset(columnDefinition)
|
|
84598
|
-
}
|
|
84599
|
-
)
|
|
84678
|
+
children
|
|
84600
84679
|
);
|
|
84601
84680
|
};
|
|
84602
|
-
var
|
|
84603
|
-
const
|
|
84604
|
-
|
|
84605
|
-
|
|
84606
|
-
}
|
|
84607
|
-
return /* @__PURE__ */ React76__default.default.createElement(
|
|
84681
|
+
var Table2 = (props) => {
|
|
84682
|
+
const internalTableContext = useInternalTableContext();
|
|
84683
|
+
React76__default.default.useEffect(() => {
|
|
84684
|
+
internalTableContext.setTotalRowCount(props.rows?.length ?? 0);
|
|
84685
|
+
}, [props.rows]);
|
|
84686
|
+
return /* @__PURE__ */ React76__default.default.createElement(Table, { ...props, modules: [ClientSideRowModelModule] });
|
|
84608
84687
|
};
|
|
84609
|
-
|
|
84688
|
+
BulkActions.displayName = "ClientSideDataTable.BulkActions";
|
|
84689
|
+
ConfigPanelButton.displayName = "ClientSideDataTable.ConfigPanelButton";
|
|
84690
|
+
ContextPanel.displayName = "ClientSideDataTable.ContextPanel";
|
|
84691
|
+
QuickControls.displayName = "ClientSideDataTable.QuickControls";
|
|
84692
|
+
QuickFilters.displayName = "ClientSideDataTable.QuickFilters";
|
|
84693
|
+
RowGroupSelector.displayName = "ClientSideDataTable.RowGroupSelector";
|
|
84694
|
+
Search.displayName = "ClientSideDataTable.Search";
|
|
84695
|
+
Table2.displayName = "ClientSideDataTable.Table";
|
|
84696
|
+
FiltersPanel.displayName = "ClientSideDataTable.FiltersPanel";
|
|
84697
|
+
var ClientSideDataTable_default = addSubcomponents(
|
|
84698
|
+
{
|
|
84699
|
+
BulkActions,
|
|
84700
|
+
BulkEditActionButton,
|
|
84701
|
+
ConfigPanelButton,
|
|
84702
|
+
ContextPanel,
|
|
84703
|
+
QuickControls,
|
|
84704
|
+
QuickFilters,
|
|
84705
|
+
RowGroupSelector,
|
|
84706
|
+
Search,
|
|
84707
|
+
Table: Table2,
|
|
84708
|
+
FiltersPanel,
|
|
84709
|
+
FiltersPanelButton
|
|
84710
|
+
},
|
|
84711
|
+
ClientSideDataTable
|
|
84712
|
+
);
|
|
84610
84713
|
|
|
84611
84714
|
// ../../node_modules/@ag-grid-enterprise/server-side-row-model/dist/esm/es6/serverSideRowModel/stores/fullStore.mjs
|
|
84612
84715
|
var __decorate212 = function(decorators, target, key, desc) {
|