@splunk/visualizations 28.0.0 → 28.1.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/Area.js +3 -3
- package/Area.js.map +2 -2
- package/Bar.js +3 -3
- package/Bar.js.map +2 -2
- package/Bubble.js +3 -3
- package/Bubble.js.map +2 -2
- package/CHANGELOG.external.md +30 -2
- package/ChoroplethSvg.js +15 -11
- package/ChoroplethSvg.js.map +2 -2
- package/Column.js +3 -3
- package/Column.js.map +2 -2
- package/Ellipse.js +3 -3
- package/Ellipse.js.map +2 -2
- package/Events.js +3 -3
- package/Events.js.map +2 -2
- package/FillerGauge.config.js +124 -3
- package/FillerGauge.config.js.map +3 -3
- package/FillerGauge.js +816 -75
- package/FillerGauge.js.map +4 -4
- package/Image.js +3 -3
- package/Image.js.map +2 -2
- package/Line.js +3 -3
- package/Line.js.map +2 -2
- package/LinkGraph.js +4 -4
- package/LinkGraph.js.map +2 -2
- package/Map.config.js +47 -3
- package/Map.config.js.map +2 -2
- package/Map.js +50 -6
- package/Map.js.map +2 -2
- package/Markdown.js +7 -4
- package/Markdown.js.map +2 -2
- package/MarkerGauge.js +3 -3
- package/MarkerGauge.js.map +2 -2
- package/ParallelCoordinates.js +3 -3
- package/ParallelCoordinates.js.map +2 -2
- package/Pie.js +3 -3
- package/Pie.js.map +2 -2
- package/Punchcard.js +3 -3
- package/Punchcard.js.map +2 -2
- package/Rectangle.js +3 -3
- package/Rectangle.js.map +2 -2
- package/Sankey.js +3 -3
- package/Sankey.js.map +2 -2
- package/Scatter.js +3 -3
- package/Scatter.js.map +2 -2
- package/SingleValue.js +5 -3
- package/SingleValue.js.map +2 -2
- package/SingleValueIcon.js +3 -3
- package/SingleValueIcon.js.map +2 -2
- package/SingleValueRadial.js +3 -3
- package/SingleValueRadial.js.map +2 -2
- package/TRELLIS.md +2 -2
- package/Table.config.js +22 -1
- package/Table.config.js.map +2 -2
- package/Table.js +233 -59
- package/Table.js.map +4 -4
- package/Timeline.js +66 -26
- package/Timeline.js.map +2 -2
- package/common/utils/tableUtils.js +59 -0
- package/common/utils/tableUtils.js.map +7 -0
- package/common/withDashboardViz.js +3 -3
- package/common/withDashboardViz.js.map +2 -2
- package/package.json +25 -25
package/Table.js
CHANGED
|
@@ -72,122 +72,131 @@ __export(Table_exports2, {
|
|
|
72
72
|
});
|
|
73
73
|
module.exports = __toCommonJS(Table_exports2);
|
|
74
74
|
|
|
75
|
+
// esm-externals:react
|
|
76
|
+
var react_exports = {};
|
|
77
|
+
__export(react_exports, {
|
|
78
|
+
default: () => react_default
|
|
79
|
+
});
|
|
80
|
+
var defaultImport = __toESM(require("react"));
|
|
81
|
+
__reExport(react_exports, require("react"));
|
|
82
|
+
var react_default = "default" in defaultImport ? defaultImport.default : defaultImport;
|
|
83
|
+
|
|
75
84
|
// esm-externals:lodash
|
|
76
85
|
var lodash_exports = {};
|
|
77
86
|
__export(lodash_exports, {
|
|
78
87
|
default: () => lodash_default
|
|
79
88
|
});
|
|
80
|
-
var
|
|
89
|
+
var defaultImport2 = __toESM(require("lodash"));
|
|
81
90
|
__reExport(lodash_exports, require("lodash"));
|
|
82
|
-
var lodash_default = "default" in
|
|
91
|
+
var lodash_default = "default" in defaultImport2 ? defaultImport2.default : defaultImport2;
|
|
83
92
|
|
|
84
93
|
// esm-externals:@splunk/visualizations-shared/colorUtils
|
|
85
94
|
var colorUtils_exports = {};
|
|
86
95
|
__export(colorUtils_exports, {
|
|
87
96
|
default: () => colorUtils_default
|
|
88
97
|
});
|
|
89
|
-
var
|
|
98
|
+
var defaultImport3 = __toESM(require("@splunk/visualizations-shared/colorUtils"));
|
|
90
99
|
__reExport(colorUtils_exports, require("@splunk/visualizations-shared/colorUtils"));
|
|
91
|
-
var colorUtils_default = "default" in
|
|
100
|
+
var colorUtils_default = "default" in defaultImport3 ? defaultImport3.default : defaultImport3;
|
|
92
101
|
|
|
93
102
|
// esm-externals:@splunk/ui-utils/i18n
|
|
94
103
|
var i18n_exports = {};
|
|
95
104
|
__export(i18n_exports, {
|
|
96
105
|
default: () => i18n_default
|
|
97
106
|
});
|
|
98
|
-
var
|
|
107
|
+
var defaultImport4 = __toESM(require("@splunk/ui-utils/i18n"));
|
|
99
108
|
__reExport(i18n_exports, require("@splunk/ui-utils/i18n"));
|
|
100
|
-
var i18n_default = "default" in
|
|
109
|
+
var i18n_default = "default" in defaultImport4 ? defaultImport4.default : defaultImport4;
|
|
101
110
|
|
|
102
111
|
// esm-externals:@splunk/visualization-schemas
|
|
103
112
|
var visualization_schemas_exports = {};
|
|
104
113
|
__export(visualization_schemas_exports, {
|
|
105
114
|
default: () => visualization_schemas_default
|
|
106
115
|
});
|
|
107
|
-
var
|
|
116
|
+
var defaultImport5 = __toESM(require("@splunk/visualization-schemas"));
|
|
108
117
|
__reExport(visualization_schemas_exports, require("@splunk/visualization-schemas"));
|
|
109
|
-
var visualization_schemas_default = "default" in
|
|
118
|
+
var visualization_schemas_default = "default" in defaultImport5 ? defaultImport5.default : defaultImport5;
|
|
110
119
|
|
|
111
120
|
// esm-externals:@splunk/visualizations-shared/colorConstants
|
|
112
121
|
var colorConstants_exports = {};
|
|
113
122
|
__export(colorConstants_exports, {
|
|
114
123
|
default: () => colorConstants_default
|
|
115
124
|
});
|
|
116
|
-
var
|
|
125
|
+
var defaultImport6 = __toESM(require("@splunk/visualizations-shared/colorConstants"));
|
|
117
126
|
__reExport(colorConstants_exports, require("@splunk/visualizations-shared/colorConstants"));
|
|
118
|
-
var colorConstants_default = "default" in
|
|
127
|
+
var colorConstants_default = "default" in defaultImport6 ? defaultImport6.default : defaultImport6;
|
|
119
128
|
|
|
120
129
|
// esm-externals:@splunk/visualization-icons
|
|
121
130
|
var visualization_icons_exports = {};
|
|
122
131
|
__export(visualization_icons_exports, {
|
|
123
132
|
default: () => visualization_icons_default
|
|
124
133
|
});
|
|
125
|
-
var
|
|
134
|
+
var defaultImport7 = __toESM(require("@splunk/visualization-icons"));
|
|
126
135
|
__reExport(visualization_icons_exports, require("@splunk/visualization-icons"));
|
|
127
|
-
var visualization_icons_default = "default" in
|
|
136
|
+
var visualization_icons_default = "default" in defaultImport7 ? defaultImport7.default : defaultImport7;
|
|
128
137
|
|
|
129
138
|
// esm-externals:@splunk/visualization-icons/placeholders
|
|
130
139
|
var placeholders_exports = {};
|
|
131
140
|
__export(placeholders_exports, {
|
|
132
141
|
default: () => placeholders_default
|
|
133
142
|
});
|
|
134
|
-
var
|
|
143
|
+
var defaultImport8 = __toESM(require("@splunk/visualization-icons/placeholders"));
|
|
135
144
|
__reExport(placeholders_exports, require("@splunk/visualization-icons/placeholders"));
|
|
136
|
-
var placeholders_default = "default" in
|
|
145
|
+
var placeholders_default = "default" in defaultImport8 ? defaultImport8.default : defaultImport8;
|
|
137
146
|
|
|
138
147
|
// esm-externals:@splunk/themes/variables
|
|
139
148
|
var variables_exports = {};
|
|
140
149
|
__export(variables_exports, {
|
|
141
150
|
default: () => variables_default
|
|
142
151
|
});
|
|
143
|
-
var
|
|
152
|
+
var defaultImport9 = __toESM(require("@splunk/themes/variables"));
|
|
144
153
|
__reExport(variables_exports, require("@splunk/themes/variables"));
|
|
145
|
-
var variables_default = "default" in
|
|
154
|
+
var variables_default = "default" in defaultImport9 ? defaultImport9.default : defaultImport9;
|
|
146
155
|
|
|
147
156
|
// esm-externals:@splunk/themes/pick
|
|
148
157
|
var pick_exports = {};
|
|
149
158
|
__export(pick_exports, {
|
|
150
159
|
default: () => pick_default
|
|
151
160
|
});
|
|
152
|
-
var
|
|
161
|
+
var defaultImport10 = __toESM(require("@splunk/themes/pick"));
|
|
153
162
|
__reExport(pick_exports, require("@splunk/themes/pick"));
|
|
154
|
-
var pick_default = "default" in
|
|
163
|
+
var pick_default = "default" in defaultImport10 ? defaultImport10.default : defaultImport10;
|
|
155
164
|
|
|
156
165
|
// esm-externals:@splunk/react-icons/TextAlignCenter
|
|
157
166
|
var TextAlignCenter_exports = {};
|
|
158
167
|
__export(TextAlignCenter_exports, {
|
|
159
168
|
default: () => TextAlignCenter_default
|
|
160
169
|
});
|
|
161
|
-
var
|
|
170
|
+
var defaultImport11 = __toESM(require("@splunk/react-icons/TextAlignCenter"));
|
|
162
171
|
__reExport(TextAlignCenter_exports, require("@splunk/react-icons/TextAlignCenter"));
|
|
163
|
-
var TextAlignCenter_default = "default" in
|
|
172
|
+
var TextAlignCenter_default = "default" in defaultImport11 ? defaultImport11.default : defaultImport11;
|
|
164
173
|
|
|
165
174
|
// esm-externals:@splunk/react-icons/TextAlignLeft
|
|
166
175
|
var TextAlignLeft_exports = {};
|
|
167
176
|
__export(TextAlignLeft_exports, {
|
|
168
177
|
default: () => TextAlignLeft_default
|
|
169
178
|
});
|
|
170
|
-
var
|
|
179
|
+
var defaultImport12 = __toESM(require("@splunk/react-icons/TextAlignLeft"));
|
|
171
180
|
__reExport(TextAlignLeft_exports, require("@splunk/react-icons/TextAlignLeft"));
|
|
172
|
-
var TextAlignLeft_default = "default" in
|
|
181
|
+
var TextAlignLeft_default = "default" in defaultImport12 ? defaultImport12.default : defaultImport12;
|
|
173
182
|
|
|
174
183
|
// esm-externals:@splunk/react-icons/TextAlignRight
|
|
175
184
|
var TextAlignRight_exports = {};
|
|
176
185
|
__export(TextAlignRight_exports, {
|
|
177
186
|
default: () => TextAlignRight_default
|
|
178
187
|
});
|
|
179
|
-
var
|
|
188
|
+
var defaultImport13 = __toESM(require("@splunk/react-icons/TextAlignRight"));
|
|
180
189
|
__reExport(TextAlignRight_exports, require("@splunk/react-icons/TextAlignRight"));
|
|
181
|
-
var TextAlignRight_default = "default" in
|
|
190
|
+
var TextAlignRight_default = "default" in defaultImport13 ? defaultImport13.default : defaultImport13;
|
|
182
191
|
|
|
183
192
|
// esm-externals:@splunk/visualizations-shared/configUtils
|
|
184
193
|
var configUtils_exports = {};
|
|
185
194
|
__export(configUtils_exports, {
|
|
186
195
|
default: () => configUtils_default
|
|
187
196
|
});
|
|
188
|
-
var
|
|
197
|
+
var defaultImport14 = __toESM(require("@splunk/visualizations-shared/configUtils"));
|
|
189
198
|
__reExport(configUtils_exports, require("@splunk/visualizations-shared/configUtils"));
|
|
190
|
-
var configUtils_default = "default" in
|
|
199
|
+
var configUtils_default = "default" in defaultImport14 ? defaultImport14.default : defaultImport14;
|
|
191
200
|
|
|
192
201
|
// src/common/utils/configUtils.ts
|
|
193
202
|
function enhanceConfig(vizConfig) {
|
|
@@ -229,7 +238,8 @@ var dataContract = {
|
|
|
229
238
|
primary: (options = {}) => ({
|
|
230
239
|
offset: 0,
|
|
231
240
|
count: options.count ? options.count : 10,
|
|
232
|
-
requestTotalCount: true
|
|
241
|
+
requestTotalCount: true,
|
|
242
|
+
add_summary_to_metadata: true
|
|
233
243
|
})
|
|
234
244
|
}
|
|
235
245
|
};
|
|
@@ -463,6 +473,26 @@ var editorConfig = [
|
|
|
463
473
|
labelWidth: EDITOR_LABEL_WIDTH
|
|
464
474
|
}
|
|
465
475
|
}
|
|
476
|
+
],
|
|
477
|
+
[
|
|
478
|
+
{
|
|
479
|
+
label: (0, i18n_exports._)("Footer totals row"),
|
|
480
|
+
option: "showFooterTotals",
|
|
481
|
+
editor: "editor.checkbox",
|
|
482
|
+
editorProps: {
|
|
483
|
+
labelWidth: EDITOR_LABEL_WIDTH
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
],
|
|
487
|
+
[
|
|
488
|
+
{
|
|
489
|
+
label: (0, i18n_exports._)("Footer percentages row"),
|
|
490
|
+
option: "showFooterPercentages",
|
|
491
|
+
editor: "editor.checkbox",
|
|
492
|
+
editorProps: {
|
|
493
|
+
labelWidth: EDITOR_LABEL_WIDTH
|
|
494
|
+
}
|
|
495
|
+
}
|
|
466
496
|
]
|
|
467
497
|
]
|
|
468
498
|
},
|
|
@@ -692,15 +722,6 @@ var config = {
|
|
|
692
722
|
};
|
|
693
723
|
var config_default = enhanceConfig(config);
|
|
694
724
|
|
|
695
|
-
// esm-externals:react
|
|
696
|
-
var react_exports = {};
|
|
697
|
-
__export(react_exports, {
|
|
698
|
-
default: () => react_default
|
|
699
|
-
});
|
|
700
|
-
var defaultImport14 = __toESM(require("react"));
|
|
701
|
-
__reExport(react_exports, require("react"));
|
|
702
|
-
var react_default = "default" in defaultImport14 ? defaultImport14.default : defaultImport14;
|
|
703
|
-
|
|
704
725
|
// esm-externals:@splunk/themes/getSettingsFromThemedProps
|
|
705
726
|
var getSettingsFromThemedProps_exports = {};
|
|
706
727
|
__export(getSettingsFromThemedProps_exports, {
|
|
@@ -1087,7 +1108,7 @@ var withFixedSizeContainer = (Viz) => {
|
|
|
1087
1108
|
FixSizeItem,
|
|
1088
1109
|
{
|
|
1089
1110
|
"data-test": "fix-size-item",
|
|
1090
|
-
"data-splunk-visualization-version": "28.
|
|
1111
|
+
"data-splunk-visualization-version": "28.1.0 - 4a1bff08b",
|
|
1091
1112
|
width,
|
|
1092
1113
|
height,
|
|
1093
1114
|
backgroundColor
|
|
@@ -1153,7 +1174,7 @@ var Cover = styled_components_default.div`
|
|
|
1153
1174
|
bottom: 0;
|
|
1154
1175
|
`;
|
|
1155
1176
|
var Blocker = styled_components_default.div.attrs({
|
|
1156
|
-
"data-splunk-visualization-version": "28.
|
|
1177
|
+
"data-splunk-visualization-version": "28.1.0 - 4a1bff08b"
|
|
1157
1178
|
})`
|
|
1158
1179
|
position: relative;
|
|
1159
1180
|
width: 100%;
|
|
@@ -1867,7 +1888,7 @@ var withDashboardViz = (opts) => {
|
|
|
1867
1888
|
}
|
|
1868
1889
|
eventCallbackProps[eventCallbackPropName] = (ev) => {
|
|
1869
1890
|
if (ev && ev.payload) {
|
|
1870
|
-
payload = ev.payload;
|
|
1891
|
+
payload = __spreadValues({}, ev.payload);
|
|
1871
1892
|
}
|
|
1872
1893
|
return onEventTrigger({
|
|
1873
1894
|
originalEvent: ev,
|
|
@@ -1970,6 +1991,36 @@ var defaultImport36 = __toESM(require("@splunk/react-ui/Message"));
|
|
|
1970
1991
|
__reExport(Message_exports2, require("@splunk/react-ui/Message"));
|
|
1971
1992
|
var Message_default2 = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
|
|
1972
1993
|
|
|
1994
|
+
// src/common/utils/tableUtils.ts
|
|
1995
|
+
var hasSummarySum = (fields) => {
|
|
1996
|
+
return fields.some((field) => typeof field === "object" && field["summary.sum"] !== void 0);
|
|
1997
|
+
};
|
|
1998
|
+
var updateSumTotalValues = (primaryDataSource) => {
|
|
1999
|
+
const { data } = primaryDataSource;
|
|
2000
|
+
const { columns, fields } = data;
|
|
2001
|
+
if (!data || !columns || !fields) {
|
|
2002
|
+
return primaryDataSource;
|
|
2003
|
+
}
|
|
2004
|
+
if (hasSummarySum(fields)) {
|
|
2005
|
+
fields.forEach((field, idx) => {
|
|
2006
|
+
let footerTotal = "";
|
|
2007
|
+
if (typeof field === "object" && field["summary.sum"] !== void 0) {
|
|
2008
|
+
footerTotal = field["summary.sum"];
|
|
2009
|
+
}
|
|
2010
|
+
if (columns[idx]) {
|
|
2011
|
+
columns[idx] = [...columns[idx], footerTotal];
|
|
2012
|
+
}
|
|
2013
|
+
});
|
|
2014
|
+
}
|
|
2015
|
+
return primaryDataSource;
|
|
2016
|
+
};
|
|
2017
|
+
var findFooterTotal = (headersMetadata) => {
|
|
2018
|
+
return headersMetadata.reduce((total, field) => {
|
|
2019
|
+
const value = field["summary.sum"] ? +field["summary.sum"] : 0;
|
|
2020
|
+
return total + value;
|
|
2021
|
+
}, 0);
|
|
2022
|
+
};
|
|
2023
|
+
|
|
1973
2024
|
// src/Table/hooks.tsx
|
|
1974
2025
|
var isArray = (v) => Array.isArray(v);
|
|
1975
2026
|
var textOverflowStyles = {
|
|
@@ -2254,6 +2305,7 @@ var validValueSelector = (v1, v2, v3, defaultValue) => {
|
|
|
2254
2305
|
};
|
|
2255
2306
|
var useTable = (tableArgs = {}) => {
|
|
2256
2307
|
let { table = [], headers = [], columnIds = [] } = tableArgs;
|
|
2308
|
+
const { headersMetadata = [] } = tableArgs;
|
|
2257
2309
|
const {
|
|
2258
2310
|
headerVisibility = "inline",
|
|
2259
2311
|
showRowNumbers = false,
|
|
@@ -2345,6 +2397,9 @@ var useTable = (tableArgs = {}) => {
|
|
|
2345
2397
|
const tableBody = {
|
|
2346
2398
|
rows: []
|
|
2347
2399
|
};
|
|
2400
|
+
const tableFooter = {
|
|
2401
|
+
rows: []
|
|
2402
|
+
};
|
|
2348
2403
|
for (let currentRow = 0; currentRow < longestColumnLength; currentRow += 1) {
|
|
2349
2404
|
const row = {
|
|
2350
2405
|
key: `row-${currentRow}`,
|
|
@@ -2397,11 +2452,53 @@ var useTable = (tableArgs = {}) => {
|
|
|
2397
2452
|
showCell
|
|
2398
2453
|
});
|
|
2399
2454
|
});
|
|
2400
|
-
|
|
2455
|
+
if (hasSummarySum(headersMetadata) && currentRow === longestColumnLength - 1) {
|
|
2456
|
+
row.key = "footer-totals";
|
|
2457
|
+
tableFooter.rows.push(row);
|
|
2458
|
+
row.cells = row.cells.map((cell, i) => {
|
|
2459
|
+
const headerCell = tableHeader.cells[i];
|
|
2460
|
+
let newCell = __spreadValues({}, cell);
|
|
2461
|
+
if (headerCell) {
|
|
2462
|
+
newCell = __spreadProps(__spreadValues({}, newCell), {
|
|
2463
|
+
style: __spreadProps(__spreadValues({}, newCell.style), {
|
|
2464
|
+
backgroundColor: tableFormat.headerBackgroundColor
|
|
2465
|
+
})
|
|
2466
|
+
});
|
|
2467
|
+
}
|
|
2468
|
+
if (i === 0 && showRowNumbers) {
|
|
2469
|
+
newCell = __spreadProps(__spreadValues({}, newCell), {
|
|
2470
|
+
value: "",
|
|
2471
|
+
rawValue: ""
|
|
2472
|
+
});
|
|
2473
|
+
}
|
|
2474
|
+
return newCell;
|
|
2475
|
+
});
|
|
2476
|
+
} else {
|
|
2477
|
+
tableBody.rows.push(row);
|
|
2478
|
+
}
|
|
2479
|
+
}
|
|
2480
|
+
if (tableFooter.rows.length === 1 && hasSummarySum(headersMetadata)) {
|
|
2481
|
+
const totalRowIndex = tableFooter.rows[0].index;
|
|
2482
|
+
const footerTotal = findFooterTotal(headersMetadata);
|
|
2483
|
+
const percentageRow = {
|
|
2484
|
+
key: "footer-percentage",
|
|
2485
|
+
index: totalRowIndex + 1,
|
|
2486
|
+
cells: tableFooter.rows[0].cells.map((cell) => {
|
|
2487
|
+
let percentageValue = "";
|
|
2488
|
+
if (cell.rawValue !== "") {
|
|
2489
|
+
percentageValue = footerTotal ? `${(0, numberUtils_exports.formatNumber)(+cell.rawValue / footerTotal * 100, 2)}%` : "";
|
|
2490
|
+
}
|
|
2491
|
+
return __spreadProps(__spreadValues({}, cell), {
|
|
2492
|
+
value: percentageValue
|
|
2493
|
+
});
|
|
2494
|
+
})
|
|
2495
|
+
};
|
|
2496
|
+
tableFooter.rows.push(percentageRow);
|
|
2401
2497
|
}
|
|
2402
2498
|
return {
|
|
2403
2499
|
tableHeader,
|
|
2404
|
-
tableBody
|
|
2500
|
+
tableBody,
|
|
2501
|
+
tableFooter
|
|
2405
2502
|
};
|
|
2406
2503
|
};
|
|
2407
2504
|
|
|
@@ -3091,6 +3188,19 @@ var VizTableContainer = styled_components_default.div`
|
|
|
3091
3188
|
* > td:hover {
|
|
3092
3189
|
color: ${({ isCellClickable }) => isCellClickable ? variables_default.linkColor : variables_default.textColor};
|
|
3093
3190
|
}
|
|
3191
|
+
|
|
3192
|
+
/* footer totals row styling */
|
|
3193
|
+
tr[data-test='footer-row-totals'] td[data-test='cell'] {
|
|
3194
|
+
color: ${variables_default.contentColorActive} !important;
|
|
3195
|
+
cursor: default;
|
|
3196
|
+
font-weight: bold;
|
|
3197
|
+
}
|
|
3198
|
+
|
|
3199
|
+
/* footer percentage row styling */
|
|
3200
|
+
tr[data-test='footer-row-percentages'] td[data-test='cell'] {
|
|
3201
|
+
color: ${variables_default.contentColorDefault} !important;
|
|
3202
|
+
cursor: default;
|
|
3203
|
+
}
|
|
3094
3204
|
`;
|
|
3095
3205
|
VizTableContainer.displayName = "VizTableContainer";
|
|
3096
3206
|
var PAGINATOR_CONTAINER_HEIGHT = 38;
|
|
@@ -3161,15 +3271,17 @@ var withEmptyTableMessage = (Viz) => {
|
|
|
3161
3271
|
tableFormat,
|
|
3162
3272
|
columnFormat,
|
|
3163
3273
|
paginatorParams,
|
|
3164
|
-
count
|
|
3274
|
+
count,
|
|
3275
|
+
headersMetadata
|
|
3165
3276
|
} = props;
|
|
3166
|
-
const { tableHeader, tableBody } = useTable({
|
|
3277
|
+
const { tableHeader, tableBody, tableFooter } = useTable({
|
|
3167
3278
|
headers,
|
|
3168
3279
|
columnIds,
|
|
3169
3280
|
table,
|
|
3170
3281
|
headerVisibility,
|
|
3171
3282
|
showRowNumbers,
|
|
3172
3283
|
showInternalFields,
|
|
3284
|
+
headersMetadata,
|
|
3173
3285
|
tableFormat: __spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, tableFormat), (tableFormat == null ? void 0 : tableFormat.headerAlign) && {
|
|
3174
3286
|
headerAlign: (0, lodash_exports.cloneDeep)(tableFormat.headerAlign)
|
|
3175
3287
|
}), (tableFormat == null ? void 0 : tableFormat.align) && {
|
|
@@ -3184,7 +3296,7 @@ var withEmptyTableMessage = (Viz) => {
|
|
|
3184
3296
|
if (tableBody.rows.length === 0) {
|
|
3185
3297
|
return /* @__PURE__ */ react_exports.createElement(Message_default2, { type: "warning" }, (0, i18n_exports._)("No data!"));
|
|
3186
3298
|
}
|
|
3187
|
-
return /* @__PURE__ */ react_exports.createElement(Viz, __spreadProps(__spreadValues({}, props), { tableHeader, tableBody }));
|
|
3299
|
+
return /* @__PURE__ */ react_exports.createElement(Viz, __spreadProps(__spreadValues({}, props), { tableHeader, tableBody, tableFooter }));
|
|
3188
3300
|
};
|
|
3189
3301
|
Wrapper.displayName = "PureTableWrapper";
|
|
3190
3302
|
return Wrapper;
|
|
@@ -3228,7 +3340,10 @@ var PureTable = (props) => {
|
|
|
3228
3340
|
backgroundColor,
|
|
3229
3341
|
tableHeader,
|
|
3230
3342
|
tableBody,
|
|
3343
|
+
tableFooter,
|
|
3231
3344
|
showRowNumbers,
|
|
3345
|
+
showFooterTotals,
|
|
3346
|
+
showFooterPercentages,
|
|
3232
3347
|
sortParams: { currentSortKey, currentSortDir, onSort },
|
|
3233
3348
|
paginatorParams: _b
|
|
3234
3349
|
} = _a, _c = _b, { isPaging, onChange: paginatorOnChange } = _c, paginatorProps = __objRest(_c, ["isPaging", "onChange"]), {
|
|
@@ -3468,7 +3583,43 @@ var PureTable = (props) => {
|
|
|
3468
3583
|
}
|
|
3469
3584
|
));
|
|
3470
3585
|
}))
|
|
3471
|
-
)
|
|
3586
|
+
), tableFooter && /* @__PURE__ */ react_exports.createElement(react_exports.Fragment, null, showFooterTotals && tableFooter.rows[0] && /* @__PURE__ */ react_exports.createElement(
|
|
3587
|
+
Table_default.Row,
|
|
3588
|
+
{
|
|
3589
|
+
key: tableFooter.rows[0].key,
|
|
3590
|
+
"data-test": "footer-row-totals",
|
|
3591
|
+
"data-row-index": "0"
|
|
3592
|
+
},
|
|
3593
|
+
tableFooter.rows[0].cells.filter((c) => c.showCell).map(
|
|
3594
|
+
(c) => /* @__PURE__ */ react_exports.createElement(
|
|
3595
|
+
TextCell,
|
|
3596
|
+
{
|
|
3597
|
+
key: `footer-total-cell-${c.key}`,
|
|
3598
|
+
cell: c,
|
|
3599
|
+
useMouseOverEffect: false,
|
|
3600
|
+
"data-test": "footer-total-cell"
|
|
3601
|
+
}
|
|
3602
|
+
)
|
|
3603
|
+
)
|
|
3604
|
+
), showFooterPercentages && tableFooter.rows[1] && /* @__PURE__ */ react_exports.createElement(
|
|
3605
|
+
Table_default.Row,
|
|
3606
|
+
{
|
|
3607
|
+
key: tableFooter.rows[1].key,
|
|
3608
|
+
"data-test": "footer-row-percentages",
|
|
3609
|
+
"data-row-index": "1"
|
|
3610
|
+
},
|
|
3611
|
+
tableFooter.rows[1].cells.filter((c) => c.showCell).map(
|
|
3612
|
+
(c) => /* @__PURE__ */ react_exports.createElement(
|
|
3613
|
+
TextCell,
|
|
3614
|
+
{
|
|
3615
|
+
key: `footer-percent-cell-${c.key}`,
|
|
3616
|
+
cell: c,
|
|
3617
|
+
useMouseOverEffect: false,
|
|
3618
|
+
"data-test": "footer-percent-cell"
|
|
3619
|
+
}
|
|
3620
|
+
)
|
|
3621
|
+
)
|
|
3622
|
+
)))
|
|
3472
3623
|
)
|
|
3473
3624
|
),
|
|
3474
3625
|
isPaging ? /* @__PURE__ */ react_exports.createElement(PaginatorContainer, null, /* @__PURE__ */ react_exports.createElement(Paginator_default, __spreadValues({ onChange: paginatorOnChange }, paginatorProps))) : null
|
|
@@ -3498,6 +3649,7 @@ PureTable.propTypes = {
|
|
|
3498
3649
|
onCellClick: prop_types_exports.func,
|
|
3499
3650
|
paginatorParams: PaginatorParamsPropTypes,
|
|
3500
3651
|
showRowNumbers: prop_types_exports.bool,
|
|
3652
|
+
showFooterTotals: prop_types_exports.bool,
|
|
3501
3653
|
sortParams: SortParamsPropTypes,
|
|
3502
3654
|
table: prop_types_exports.arrayOf(prop_types_exports.arrayOf(cellDataType)),
|
|
3503
3655
|
tableFormat: prop_types_exports.shape({
|
|
@@ -3531,6 +3683,8 @@ PureTable.defaultProps = {
|
|
|
3531
3683
|
onChange: lodash_exports.noop
|
|
3532
3684
|
},
|
|
3533
3685
|
showRowNumbers: false,
|
|
3686
|
+
showFooterTotals: false,
|
|
3687
|
+
showFooterPercentages: false,
|
|
3534
3688
|
sortParams: {
|
|
3535
3689
|
onSort: lodash_exports.noop
|
|
3536
3690
|
},
|
|
@@ -3548,8 +3702,16 @@ var PureTable_default = withEmptyTableMessage(FixedSizeContainer_default(PureTab
|
|
|
3548
3702
|
// src/Table/Table.tsx
|
|
3549
3703
|
var computeVizProps = (_a) => {
|
|
3550
3704
|
var props = __objRest(_a, []);
|
|
3551
|
-
var _a2, _b, _c, _d;
|
|
3705
|
+
var _a2, _b, _c, _d, _e, _f, _g;
|
|
3552
3706
|
const vizProps = __spreadValues({}, props);
|
|
3707
|
+
vizProps.columnIds = (_d = (_c = (_b = (_a2 = vizProps.dataSources) == null ? void 0 : _a2.primary) == null ? void 0 : _b.data) == null ? void 0 : _c.fields.map((field) => {
|
|
3708
|
+
var _a3;
|
|
3709
|
+
return (_a3 = field.name) != null ? _a3 : field;
|
|
3710
|
+
})) != null ? _d : [];
|
|
3711
|
+
if (vizProps.columnIds.length === 0) {
|
|
3712
|
+
vizProps.columnIds = vizProps.headers;
|
|
3713
|
+
}
|
|
3714
|
+
vizProps.headersMetadata = (_g = (_f = (_e = vizProps.dataSources) == null ? void 0 : _e.primary) == null ? void 0 : _f.data) == null ? void 0 : _g.fields;
|
|
3553
3715
|
if (vizProps.columnFormat) {
|
|
3554
3716
|
const columns = vizProps.columnFormat;
|
|
3555
3717
|
const themeRowBackgroundColorOdd = vizProps.themeFunc("rowBackgroundColorOdd");
|
|
@@ -3575,13 +3737,6 @@ var computeVizProps = (_a) => {
|
|
|
3575
3737
|
rowBackgroundColors
|
|
3576
3738
|
}), columnProperties.rowColors && { rowColors });
|
|
3577
3739
|
});
|
|
3578
|
-
vizProps.columnIds = (_d = (_c = (_b = (_a2 = vizProps.dataSources) == null ? void 0 : _a2.primary) == null ? void 0 : _b.data) == null ? void 0 : _c.fields.map((field) => {
|
|
3579
|
-
var _a3;
|
|
3580
|
-
return (_a3 = field.name) != null ? _a3 : field;
|
|
3581
|
-
})) != null ? _d : [];
|
|
3582
|
-
if (vizProps.columnIds.length === 0) {
|
|
3583
|
-
vizProps.columnIds = vizProps.headers;
|
|
3584
|
-
}
|
|
3585
3740
|
}
|
|
3586
3741
|
if (vizProps.onOptionsChange) {
|
|
3587
3742
|
const handleColumnFormatChange = (updatedColumnFormat) => {
|
|
@@ -3606,12 +3761,31 @@ var computeVizProps = (_a) => {
|
|
|
3606
3761
|
}
|
|
3607
3762
|
return vizProps;
|
|
3608
3763
|
};
|
|
3609
|
-
var
|
|
3610
|
-
|
|
3611
|
-
|
|
3612
|
-
|
|
3613
|
-
|
|
3614
|
-
});
|
|
3764
|
+
var withTableFooter = (Viz) => {
|
|
3765
|
+
const VizWithTableFooter = (_a) => {
|
|
3766
|
+
var _b = _a, { dataSources } = _b, otherProps = __objRest(_b, ["dataSources"]);
|
|
3767
|
+
var _a2;
|
|
3768
|
+
if (!((_a2 = dataSources == null ? void 0 : dataSources.primary) == null ? void 0 : _a2.data)) {
|
|
3769
|
+
return /* @__PURE__ */ react_exports.createElement(Viz, __spreadValues({}, otherProps));
|
|
3770
|
+
}
|
|
3771
|
+
const clonedDataSources = (0, lodash_exports.cloneDeep)(dataSources);
|
|
3772
|
+
const { primary } = clonedDataSources;
|
|
3773
|
+
clonedDataSources.primary = updateSumTotalValues(primary);
|
|
3774
|
+
return /* @__PURE__ */ react_exports.createElement(Viz, __spreadValues({ dataSources: clonedDataSources }, otherProps));
|
|
3775
|
+
};
|
|
3776
|
+
VizWithTableFooter.propTypes = Viz.propTypes;
|
|
3777
|
+
VizWithTableFooter.defaultProps = Viz.defaultProps;
|
|
3778
|
+
VizWithTableFooter.config = Viz.config;
|
|
3779
|
+
return VizWithTableFooter;
|
|
3780
|
+
};
|
|
3781
|
+
var Table = withTableFooter(
|
|
3782
|
+
withDashboardViz_default({
|
|
3783
|
+
ReactViz: PureTable_default,
|
|
3784
|
+
vizConfig: config_default,
|
|
3785
|
+
disableEditModeCover: true,
|
|
3786
|
+
computeVizProps
|
|
3787
|
+
})
|
|
3788
|
+
);
|
|
3615
3789
|
var { themes: themes2 } = config_default;
|
|
3616
3790
|
var Table_default2 = Table;
|
|
3617
3791
|
//# sourceMappingURL=Table.js.map
|