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