@splunk/visualizations 25.3.0 → 25.3.2
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/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_ES.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_By_Type_Custom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Kitchen_Sink.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Right.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Single_Column.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Background_Color_light_blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Background_No_Stripe.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Background_Stripe.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Basic_Table.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Basic_Table_With_No_Click.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Cell_Types.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Gradient.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Override.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Width_All_Columns.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Width_Auto_Expand_First_Column.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Width_Auto_Expand_Last_Column.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Width_Middle_Columns.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Count_2.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Custom_Header_Colors.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Custom_Row_Colors.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Custom_Stripe.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Dark_Background_No_Stripe.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Dark_Background_Stripe.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Font_Default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Font_Extra_Small.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Font_Large.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Font_Monospace.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Font_Proportional.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Font_Small.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Format_Number.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Format_Number_Adv.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Header_Visibility_fixed.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage_100_no_paginator.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Invalid_Background_Color.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Mixed_Type_Column_With_Null.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Multi_Value_Field.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_No_Stripes.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_No_Stripes_Row_Numbers.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Show_Internal_Fields_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Show_Internal_Fields_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Show_Row_Numbers_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline_Custom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline_Width.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparklines_Adv.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Table_Formatting.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Table_Gradient.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Time_Formatting.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Time_Zone_Time_Formatting.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Width_Height.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Width_Percentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Width_Px.png +0 -0
- package/Area.js +8 -9
- package/Area.js.map +1 -1
- package/Bar.js +8 -9
- package/Bar.js.map +1 -1
- package/Bubble.js +8 -9
- package/Bubble.js.map +1 -1
- package/ChoroplethSvg.js +36 -37
- package/ChoroplethSvg.js.map +1 -1
- package/Column.js +8 -9
- package/Column.js.map +1 -1
- package/Ellipse.js +17 -18
- package/Ellipse.js.map +1 -1
- package/Events.js +26 -27
- package/Events.js.map +1 -1
- package/FillerGauge.js +21 -22
- package/FillerGauge.js.map +1 -1
- package/Image.js +8 -8
- package/Image.js.map +1 -1
- package/Line.js +8 -9
- package/Line.js.map +1 -1
- package/LinkGraph.js +428 -407
- package/LinkGraph.js.map +1 -1
- package/Map.js +43 -43
- package/Map.js.map +1 -1
- package/Markdown.js +64 -64
- package/Markdown.js.map +1 -1
- package/MarkerGauge.js +18 -18
- package/MarkerGauge.js.map +1 -1
- package/ParallelCoordinates.js +90 -90
- package/ParallelCoordinates.js.map +1 -1
- package/Pie.js +64 -64
- package/Pie.js.map +1 -1
- package/Punchcard.js +93 -93
- package/Punchcard.js.map +1 -1
- package/Rectangle.js +16 -16
- package/Rectangle.js.map +1 -1
- package/Sankey.js +28 -28
- package/Sankey.js.map +1 -1
- package/Scatter.js +8 -8
- package/Scatter.js.map +1 -1
- package/SingleValue.js +10 -10
- package/SingleValue.js.map +1 -1
- package/SingleValueIcon.js +25 -25
- package/SingleValueIcon.js.map +1 -1
- package/SingleValueRadial.js +8 -8
- package/SingleValueRadial.js.map +1 -1
- package/Table.config.js +6 -0
- package/Table.config.js.map +1 -1
- package/Table.js +966 -1026
- package/Table.js.map +1 -1
- package/common/withDashboardViz.js +2 -2
- package/package.json +9 -9
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Width.png +0 -0
package/Table.js
CHANGED
|
@@ -87,7 +87,7 @@ module.exports =
|
|
|
87
87
|
/******/
|
|
88
88
|
/******/
|
|
89
89
|
/******/ // Load entry module and return exports
|
|
90
|
-
/******/ return __webpack_require__(__webpack_require__.s =
|
|
90
|
+
/******/ return __webpack_require__(__webpack_require__.s = 456);
|
|
91
91
|
/******/ })
|
|
92
92
|
/************************************************************************/
|
|
93
93
|
/******/ ({
|
|
@@ -221,7 +221,7 @@ var withFixedSizeContainer = function withFixedSizeContainer(Viz) {
|
|
|
221
221
|
|
|
222
222
|
return React.createElement(FixSizeItem, {
|
|
223
223
|
"data-test": "fix-size-item",
|
|
224
|
-
"data-splunk-visualization-version": "25.3.
|
|
224
|
+
"data-splunk-visualization-version": "25.3.2 - 6c6c6519f",
|
|
225
225
|
width: width,
|
|
226
226
|
height: height,
|
|
227
227
|
backgroundColor: backgroundColor
|
|
@@ -313,13 +313,13 @@ var lodash_1 = __webpack_require__(3);
|
|
|
313
313
|
|
|
314
314
|
var colorUtils_1 = __webpack_require__(12);
|
|
315
315
|
|
|
316
|
-
var config_1 = __webpack_require__(
|
|
316
|
+
var config_1 = __webpack_require__(457);
|
|
317
317
|
|
|
318
318
|
exports.config = config_1.default;
|
|
319
319
|
|
|
320
320
|
var withDashboardViz_1 = __webpack_require__(32);
|
|
321
321
|
|
|
322
|
-
var PureTable_1 = __webpack_require__(
|
|
322
|
+
var PureTable_1 = __webpack_require__(458);
|
|
323
323
|
|
|
324
324
|
exports.PureTable = PureTable_1.default;
|
|
325
325
|
|
|
@@ -397,20 +397,23 @@ exports.default = Table;
|
|
|
397
397
|
|
|
398
398
|
/***/ }),
|
|
399
399
|
|
|
400
|
-
/***/
|
|
400
|
+
/***/ 16:
|
|
401
|
+
/***/ (function(module, exports) {
|
|
402
|
+
|
|
403
|
+
module.exports = require("@splunk/visualizations-shared/schemaUtils");
|
|
404
|
+
|
|
405
|
+
/***/ }),
|
|
406
|
+
|
|
407
|
+
/***/ 17:
|
|
401
408
|
/***/ (function(module, exports, __webpack_require__) {
|
|
402
409
|
|
|
403
410
|
"use strict";
|
|
404
411
|
|
|
405
412
|
|
|
406
|
-
var
|
|
413
|
+
var _toConsumableArray = __webpack_require__(8);
|
|
407
414
|
|
|
408
415
|
var _defineProperty = __webpack_require__(7);
|
|
409
416
|
|
|
410
|
-
var _taggedTemplateLiteral = __webpack_require__(86);
|
|
411
|
-
|
|
412
|
-
var _templateObject, _templateObject2;
|
|
413
|
-
|
|
414
417
|
var __rest = this && this.__rest || function (s, e) {
|
|
415
418
|
var t = {};
|
|
416
419
|
|
|
@@ -427,1038 +430,426 @@ var __rest = this && this.__rest || function (s, e) {
|
|
|
427
430
|
Object.defineProperty(exports, "__esModule", {
|
|
428
431
|
value: true
|
|
429
432
|
});
|
|
430
|
-
exports.
|
|
431
|
-
|
|
432
|
-
var React = __webpack_require__(0);
|
|
433
|
-
|
|
434
|
-
var T = __webpack_require__(1);
|
|
433
|
+
exports.insertLayout = exports.isDynamicOption = exports.uncollapseEditorConfig = exports.generatePrecisionValues = exports.getInitialPreset = exports.enhanceOptionsSchemaWithDynamicOptions = exports.enhanceConfig = void 0;
|
|
435
434
|
|
|
436
435
|
var lodash_1 = __webpack_require__(3);
|
|
437
436
|
|
|
438
|
-
var
|
|
439
|
-
|
|
440
|
-
var i18n_1 = __webpack_require__(2);
|
|
437
|
+
var schemaUtils_1 = __webpack_require__(16);
|
|
441
438
|
|
|
442
|
-
var
|
|
439
|
+
var VizBehavior_1 = __webpack_require__(6);
|
|
443
440
|
|
|
444
|
-
var
|
|
441
|
+
var dynamicOptionsDSLType = {
|
|
442
|
+
type: 'string',
|
|
443
|
+
pattern: schemaUtils_1.DYNAMIC_OPTIONS_DSL_PATTERN
|
|
444
|
+
};
|
|
445
|
+
/**
|
|
446
|
+
* Helper function to extend an options schema with dynamic options DSL
|
|
447
|
+
* @param optionsSchema a visualization's options schema
|
|
448
|
+
* @returns an updated options schema that additionally allows strings starting with > for each option
|
|
449
|
+
*/
|
|
445
450
|
|
|
446
|
-
|
|
451
|
+
function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
|
|
452
|
+
var enhancedOptionsSchema = {};
|
|
453
|
+
Object.keys(optionsSchema).forEach(function (key) {
|
|
454
|
+
var _a = optionsSchema[key],
|
|
455
|
+
title = _a.title,
|
|
456
|
+
description = _a.description,
|
|
457
|
+
readOnly = _a.readOnly,
|
|
458
|
+
writeOnly = _a.writeOnly,
|
|
459
|
+
examples = _a.examples,
|
|
460
|
+
defaultValue = _a.default,
|
|
461
|
+
type = _a.type,
|
|
462
|
+
properties = _a.properties,
|
|
463
|
+
patternProperties = _a.patternProperties,
|
|
464
|
+
remainingSchemaEntry = __rest(_a, ["title", "description", "readOnly", "writeOnly", "examples", "default", "type", "properties", "patternProperties"]);
|
|
447
465
|
|
|
448
|
-
var
|
|
466
|
+
var annotations = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, title !== undefined && {
|
|
467
|
+
title: title
|
|
468
|
+
}), description !== undefined && {
|
|
469
|
+
description: description
|
|
470
|
+
}), readOnly !== undefined && {
|
|
471
|
+
readOnly: readOnly
|
|
472
|
+
}), writeOnly !== undefined && {
|
|
473
|
+
writeOnly: writeOnly
|
|
474
|
+
}), examples !== undefined && {
|
|
475
|
+
examples: examples
|
|
476
|
+
}), defaultValue !== undefined && {
|
|
477
|
+
default: defaultValue
|
|
478
|
+
});
|
|
449
479
|
|
|
450
|
-
|
|
480
|
+
if (type === 'object') {
|
|
481
|
+
enhancedOptionsSchema[key] = Object.assign(Object.assign(Object.assign(Object.assign({}, remainingSchemaEntry), annotations), {
|
|
482
|
+
type: type
|
|
483
|
+
}), properties && {
|
|
484
|
+
properties: enhanceOptionsSchemaWithDynamicOptions(properties)
|
|
485
|
+
});
|
|
451
486
|
|
|
452
|
-
|
|
487
|
+
if (patternProperties) {
|
|
488
|
+
var enhancedPatternProperties = {};
|
|
489
|
+
Object.keys(patternProperties).forEach(function (opt) {
|
|
490
|
+
enhancedPatternProperties = Object.assign(Object.assign({}, enhancedPatternProperties), enhanceOptionsSchemaWithDynamicOptions(_defineProperty({}, opt, patternProperties[opt])));
|
|
491
|
+
});
|
|
492
|
+
enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;
|
|
493
|
+
}
|
|
494
|
+
} else {
|
|
495
|
+
enhancedOptionsSchema[key] = Object.assign(Object.assign({}, annotations), {
|
|
496
|
+
anyOf: [Object.assign(Object.assign({}, type !== undefined && {
|
|
497
|
+
type: type
|
|
498
|
+
}), remainingSchemaEntry), dynamicOptionsDSLType]
|
|
499
|
+
});
|
|
500
|
+
}
|
|
501
|
+
});
|
|
502
|
+
return enhancedOptionsSchema;
|
|
503
|
+
}
|
|
453
504
|
|
|
454
|
-
|
|
505
|
+
exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamicOptions;
|
|
506
|
+
/**
|
|
507
|
+
* Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block
|
|
508
|
+
* this function also collapse all editor panels
|
|
509
|
+
* @param vizConfig a Visualization Config
|
|
510
|
+
* @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports
|
|
511
|
+
* and containing `open: false` for all editor panels in editorConfig
|
|
512
|
+
*/
|
|
455
513
|
|
|
456
|
-
|
|
514
|
+
function enhanceConfig(vizConfig) {
|
|
515
|
+
var enhancedConfig = Object.assign({}, vizConfig);
|
|
457
516
|
|
|
458
|
-
|
|
517
|
+
if (vizConfig.supports.indexOf(VizBehavior_1.VizBehavior.DYNAMIC_OPTIONS) !== -1) {
|
|
518
|
+
enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);
|
|
519
|
+
}
|
|
459
520
|
|
|
460
|
-
|
|
521
|
+
enhancedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
|
|
522
|
+
return Object.assign(Object.assign({}, config), {
|
|
523
|
+
open: config.open || false
|
|
524
|
+
});
|
|
525
|
+
});
|
|
526
|
+
return enhancedConfig;
|
|
527
|
+
}
|
|
461
528
|
|
|
462
|
-
|
|
529
|
+
exports.enhanceConfig = enhanceConfig;
|
|
530
|
+
/**
|
|
531
|
+
* Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig
|
|
532
|
+
* Created for editor unit tests
|
|
533
|
+
* @param vizConfig a Visualization Config
|
|
534
|
+
* @returns a Visualization Config containing `open: true` for all editor panels in editorConfig
|
|
535
|
+
*/
|
|
463
536
|
|
|
464
|
-
|
|
537
|
+
function uncollapseEditorConfig(vizConfig) {
|
|
538
|
+
var editorPanelUncollapsedConfig = Object.assign({}, vizConfig);
|
|
539
|
+
editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
|
|
540
|
+
return Object.assign(Object.assign({}, config), {
|
|
541
|
+
open: true
|
|
542
|
+
});
|
|
543
|
+
});
|
|
544
|
+
return editorPanelUncollapsedConfig;
|
|
545
|
+
}
|
|
465
546
|
|
|
466
|
-
|
|
547
|
+
exports.uncollapseEditorConfig = uncollapseEditorConfig;
|
|
467
548
|
|
|
468
|
-
|
|
469
|
-
|
|
549
|
+
function isDynamicOption(option) {
|
|
550
|
+
return option && typeof option === 'string' && option.trim().startsWith('>') || false;
|
|
551
|
+
}
|
|
470
552
|
|
|
553
|
+
exports.isDynamicOption = isDynamicOption; // private helpers to improve readability of getInitialPreset
|
|
554
|
+
// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset
|
|
471
555
|
|
|
472
|
-
|
|
556
|
+
/**
|
|
557
|
+
* this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset
|
|
558
|
+
* if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset
|
|
559
|
+
* the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext
|
|
560
|
+
* the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up
|
|
561
|
+
*
|
|
562
|
+
* Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values
|
|
563
|
+
*/
|
|
473
564
|
|
|
474
|
-
|
|
475
|
-
var
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
})(["display:none;"]);
|
|
479
|
-
var FixedTableHead = styled_components_1.default(Table_1.default.Head).withConfig({
|
|
480
|
-
displayName: "PureTable__FixedTableHead",
|
|
481
|
-
componentId: "tovzjg-1"
|
|
482
|
-
})(["position:sticky;top:0;"]);
|
|
483
|
-
var VizTableContainer = styled_components_1.default.div.withConfig({
|
|
484
|
-
displayName: "PureTable__VizTableContainer",
|
|
485
|
-
componentId: "tovzjg-2"
|
|
486
|
-
})(["box-sizing:border-box;padding:", ";background-color:", ";display:flex;flex-flow:column nowrap;overflow:hidden;"], pick_1.default({
|
|
487
|
-
enterprise: variables_1.default.spacingHalf,
|
|
488
|
-
prisma: variables_1.default.spacingSmall
|
|
489
|
-
}), function (props) {
|
|
490
|
-
return colorUtils_1.isColor(props.backgroundColor) && props.backgroundColor || props.theme.defaultBackgroundColor;
|
|
491
|
-
});
|
|
492
|
-
VizTableContainer.displayName = 'VizTableContainer';
|
|
493
|
-
var PAGINATOR_CONTAINER_HEIGHT = 38;
|
|
494
|
-
var PAGINATOR_SPACING = 5;
|
|
495
|
-
var SUITableContainer = styled_components_1.default.div.withConfig({
|
|
496
|
-
displayName: "PureTable__SUITableContainer",
|
|
497
|
-
componentId: "tovzjg-3"
|
|
498
|
-
})(["& *{font-family:", ";font-size:", ";line-height:", ";}box-sizing:border-box;flex-grow:1;overflow:hidden;", ";", ";", " ", " & [data-fixed-column='true']{table-layout:", ";width:", ";}"], function (props) {
|
|
499
|
-
return props.font;
|
|
500
|
-
}, function (props) {
|
|
501
|
-
return props.fontSize;
|
|
502
|
-
}, function (props) {
|
|
503
|
-
return props.lineHeight;
|
|
504
|
-
}, function (_ref) {
|
|
505
|
-
var width = _ref.width,
|
|
506
|
-
height = _ref.height,
|
|
507
|
-
isPaging = _ref.isPaging,
|
|
508
|
-
theme = _ref.theme;
|
|
509
|
-
var padding = pick_1.default({
|
|
510
|
-
enterprise: variables_1.default.spacingHalf({
|
|
511
|
-
theme: theme
|
|
512
|
-
}),
|
|
513
|
-
prisma: variables_1.default.spacingSmall({
|
|
514
|
-
theme: theme
|
|
515
|
-
})
|
|
516
|
-
})({
|
|
517
|
-
theme: theme
|
|
565
|
+
function hasCompatibleContexts(vizContext, presetContext) {
|
|
566
|
+
var presetContextKeys = Object.keys(presetContext);
|
|
567
|
+
return presetContextKeys.every(function (contextKey) {
|
|
568
|
+
return presetContext[contextKey] === undefined && vizContext[contextKey] === undefined || presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined;
|
|
518
569
|
});
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
570
|
+
}
|
|
571
|
+
/**
|
|
572
|
+
* Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions
|
|
573
|
+
*/
|
|
574
|
+
|
|
575
|
+
|
|
576
|
+
function hasCompatibleOptions(vizOptions, presetOptions) {
|
|
577
|
+
var presetOptionKeys = Object.keys(presetOptions);
|
|
578
|
+
return presetOptionKeys.every(function (optionKey) {
|
|
579
|
+
return isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey]);
|
|
523
580
|
});
|
|
524
|
-
}
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
}
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
}, function (_ref5) {
|
|
534
|
-
var widthSet = _ref5.widthSet;
|
|
535
|
-
return widthSet ? 'fixed' : 'auto';
|
|
536
|
-
}, function (_ref6) {
|
|
537
|
-
var widthSet = _ref6.widthSet;
|
|
538
|
-
return widthSet ? '0' : '100%';
|
|
539
|
-
});
|
|
540
|
-
SUITableContainer.displayName = 'SUITableContainer';
|
|
541
|
-
var PaginatorContainer = styled_components_1.default.div.withConfig({
|
|
542
|
-
displayName: "PureTable__PaginatorContainer",
|
|
543
|
-
componentId: "tovzjg-4"
|
|
544
|
-
})(["position:relative;text-align:right;height:", "px;"], PAGINATOR_CONTAINER_HEIGHT);
|
|
545
|
-
PaginatorContainer.displayName = 'PaginatorContainer'; // allow for early return in case of empty tableBody while still following hook rules
|
|
581
|
+
}
|
|
582
|
+
/**
|
|
583
|
+
* Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions
|
|
584
|
+
* This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure
|
|
585
|
+
*
|
|
586
|
+
* @param {Object} vizContext - the current vizContext definition
|
|
587
|
+
* @param {Object} vizOptions - the current vizOptions definition
|
|
588
|
+
* @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset
|
|
589
|
+
*/
|
|
546
590
|
|
|
547
|
-
var withEmptyTableMessage = function withEmptyTableMessage(Viz) {
|
|
548
|
-
// TODO(fkurniawan): add omit type to differentiate WrapperProps from PureTableProps
|
|
549
|
-
var Wrapper = function Wrapper(props) {
|
|
550
|
-
var headers = props.headers,
|
|
551
|
-
table = props.table,
|
|
552
|
-
headerVisibility = props.headerVisibility,
|
|
553
|
-
showRowNumbers = props.showRowNumbers,
|
|
554
|
-
showInternalFields = props.showInternalFields,
|
|
555
|
-
tableFormat = props.tableFormat,
|
|
556
|
-
columnFormat = props.columnFormat;
|
|
557
591
|
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
align: lodash_1.cloneDeep(tableFormat.align)
|
|
566
|
-
}), (tableFormat === null || tableFormat === void 0 ? void 0 : tableFormat.cellTypes) && {
|
|
567
|
-
cellTypes: lodash_1.cloneDeep(tableFormat.cellTypes)
|
|
568
|
-
}), (tableFormat === null || tableFormat === void 0 ? void 0 : tableFormat.data) && {
|
|
569
|
-
data: lodash_1.cloneDeep(tableFormat.data)
|
|
570
|
-
}),
|
|
571
|
-
columnFormat: columnFormat
|
|
572
|
-
}),
|
|
573
|
-
tableHeader = _hooks_1$useTable.tableHeader,
|
|
574
|
-
tableBody = _hooks_1$useTable.tableBody;
|
|
592
|
+
function getInitialPreset(vizContext, vizOptions, presets) {
|
|
593
|
+
return presets.find(function (preset) {
|
|
594
|
+
var presetContext = lodash_1.get(preset, ['value', 'context'], {});
|
|
595
|
+
var presetOptions = lodash_1.get(preset, ['value', 'options'], {});
|
|
596
|
+
var presetContextKeys = Object.keys(presetContext);
|
|
597
|
+
var presetOptionKeys = Object.keys(presetOptions); // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)
|
|
598
|
+
// if not, then the preset is invalid in config.ts
|
|
575
599
|
|
|
576
|
-
if (
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
}
|
|
600
|
+
if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;
|
|
601
|
+
return hasCompatibleContexts(vizContext, presetContext) && hasCompatibleOptions(vizOptions, presetOptions);
|
|
602
|
+
});
|
|
603
|
+
}
|
|
581
604
|
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
605
|
+
exports.getInitialPreset = getInitialPreset;
|
|
606
|
+
/**
|
|
607
|
+
* generates number precision values for a Select editor
|
|
608
|
+
*
|
|
609
|
+
* @param {Number} numPrecisionValues - number of integer precision values to generate
|
|
610
|
+
* @returns {{ label: string; value; string }[]} array of { label, value } tuples
|
|
611
|
+
*/
|
|
587
612
|
|
|
588
|
-
|
|
589
|
-
return
|
|
590
|
-
|
|
613
|
+
function generatePrecisionValues(numPrecisionValues) {
|
|
614
|
+
return lodash_1.range(0, numPrecisionValues + 1).map(function (i) {
|
|
615
|
+
return {
|
|
616
|
+
label: "".concat(i, " (0").concat(i > 0 ? '.' : '').concat('0'.repeat(i), ")"),
|
|
617
|
+
value: i
|
|
618
|
+
};
|
|
619
|
+
});
|
|
620
|
+
}
|
|
591
621
|
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
622
|
+
exports.generatePrecisionValues = generatePrecisionValues;
|
|
623
|
+
/**
|
|
624
|
+
* insert layout in layout array, return a new layout array instead of updating the original
|
|
625
|
+
*
|
|
626
|
+
* @param {EditorLayoutConfig[][]} layout - editor layout
|
|
627
|
+
* @param {Number} index - the index to insert layout item(s)
|
|
628
|
+
* @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert
|
|
629
|
+
* @returns {EditorLayoutConfig[][]} new editor layout with insertion
|
|
630
|
+
*/
|
|
596
631
|
|
|
597
|
-
|
|
598
|
-
|
|
632
|
+
var insertLayout = function insertLayout(layout, index) {
|
|
633
|
+
for (var _len = arguments.length, layoutItems = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
634
|
+
layoutItems[_key - 2] = arguments[_key];
|
|
599
635
|
}
|
|
600
636
|
|
|
601
|
-
return
|
|
637
|
+
return [].concat(_toConsumableArray(layout.slice(0, index)), layoutItems, _toConsumableArray(layout.slice(index)));
|
|
602
638
|
};
|
|
603
639
|
|
|
604
|
-
|
|
605
|
-
var setTempColumnWidth = _a.setTempColumnWidth,
|
|
606
|
-
setRemainingWidth = _a.setRemainingWidth,
|
|
607
|
-
value = _a.value,
|
|
608
|
-
widthSet = _a.widthSet,
|
|
609
|
-
headerVisibility = _a.headerVisibility,
|
|
610
|
-
props = __rest(_a, ["setTempColumnWidth", "setRemainingWidth", "value", "widthSet", "headerVisibility"]);
|
|
640
|
+
exports.insertLayout = insertLayout;
|
|
611
641
|
|
|
612
|
-
|
|
613
|
-
React.useEffect(function () {
|
|
614
|
-
if (!widthSet && cellRef.current && cellRef.current.clientWidth >= 0 && headerVisibility !== 'none') {
|
|
615
|
-
setTempColumnWidth(function (columnWidth) {
|
|
616
|
-
return Object.assign(Object.assign({}, columnWidth), _defineProperty({}, value, {
|
|
617
|
-
width: cellRef.current.clientWidth
|
|
618
|
-
}));
|
|
619
|
-
});
|
|
620
|
-
setRemainingWidth(function (prevWidth) {
|
|
621
|
-
return prevWidth + Math.max(props.width ? cellRef.current.clientWidth - props.width : 0, 0);
|
|
622
|
-
});
|
|
623
|
-
}
|
|
624
|
-
});
|
|
625
|
-
return React.createElement(Table_1.default.HeadCell, Object.assign({
|
|
626
|
-
elementRef: cellRef
|
|
627
|
-
}, props), value);
|
|
628
|
-
};
|
|
642
|
+
/***/ }),
|
|
629
643
|
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
monospace: 'Splunk Platform Mono'
|
|
633
|
-
};
|
|
634
|
-
var fontSizeMap = {
|
|
635
|
-
extraSmall: '10px',
|
|
636
|
-
small: '12px',
|
|
637
|
-
default: '14px',
|
|
638
|
-
large: '16px'
|
|
639
|
-
};
|
|
640
|
-
var rowHeightMap = {
|
|
641
|
-
extraSmall: '12px',
|
|
642
|
-
small: '12px',
|
|
643
|
-
default: '20px',
|
|
644
|
-
large: '24px'
|
|
645
|
-
};
|
|
644
|
+
/***/ 19:
|
|
645
|
+
/***/ (function(module, exports) {
|
|
646
646
|
|
|
647
|
-
|
|
648
|
-
var _a;
|
|
647
|
+
module.exports = require("@babel/runtime/helpers/createClass");
|
|
649
648
|
|
|
650
|
-
|
|
651
|
-
width = props.width,
|
|
652
|
-
height = props.height,
|
|
653
|
-
backgroundColor = props.backgroundColor,
|
|
654
|
-
tableHeader = props.tableHeader,
|
|
655
|
-
tableBody = props.tableBody,
|
|
656
|
-
showRowNumbers = props.showRowNumbers,
|
|
657
|
-
_props$sortParams = props.sortParams,
|
|
658
|
-
currentSortKey = _props$sortParams.currentSortKey,
|
|
659
|
-
currentSortDir = _props$sortParams.currentSortDir,
|
|
660
|
-
onSort = _props$sortParams.onSort,
|
|
661
|
-
_b = props.paginatorParams,
|
|
662
|
-
isPaging = _b.isPaging,
|
|
663
|
-
paginatorOnChange = _b.onChange,
|
|
664
|
-
paginatorProps = __rest(_b, ["isPaging", "onChange"]),
|
|
665
|
-
onCellClick = props.onCellClick,
|
|
666
|
-
onColumnFormatChange = props.onColumnFormatChange,
|
|
667
|
-
columnFormat = props.columnFormat,
|
|
668
|
-
mode = props.mode,
|
|
669
|
-
headerVisibility = props.headerVisibility,
|
|
670
|
-
font = props.font,
|
|
671
|
-
fontSize = props.fontSize;
|
|
649
|
+
/***/ }),
|
|
672
650
|
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
columns = _React$useState2[0],
|
|
676
|
-
setColumns = _React$useState2[1];
|
|
651
|
+
/***/ 2:
|
|
652
|
+
/***/ (function(module, exports) {
|
|
677
653
|
|
|
678
|
-
|
|
679
|
-
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
680
|
-
tempColumns = _React$useState4[0],
|
|
681
|
-
setTempColumns = _React$useState4[1];
|
|
654
|
+
module.exports = require("@splunk/ui-utils/i18n");
|
|
682
655
|
|
|
683
|
-
|
|
684
|
-
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
685
|
-
remainingWidth = _React$useState6[0],
|
|
686
|
-
setRemainingWidth = _React$useState6[1];
|
|
656
|
+
/***/ }),
|
|
687
657
|
|
|
688
|
-
|
|
689
|
-
|
|
658
|
+
/***/ 20:
|
|
659
|
+
/***/ (function(module, exports) {
|
|
690
660
|
|
|
691
|
-
|
|
692
|
-
return acc;
|
|
693
|
-
}
|
|
661
|
+
module.exports = require("@splunk/visualizations-shared/SizeAwareWrapper");
|
|
694
662
|
|
|
695
|
-
|
|
696
|
-
}, 0);
|
|
697
|
-
var containerRef = React.useRef(null);
|
|
698
|
-
var containerRefInner = React.useRef(null);
|
|
699
|
-
var containerRefInnerWidth = (_a = containerRefInner === null || containerRefInner === void 0 ? void 0 : containerRefInner.current) === null || _a === void 0 ? void 0 : _a.clientWidth;
|
|
700
|
-
var widthRef = React.useRef(0);
|
|
701
|
-
var widthSet = tableHeader.cells.length === tableHeader.cells.filter(function (_ref7) {
|
|
702
|
-
var value = _ref7.value,
|
|
703
|
-
showCell = _ref7.showCell;
|
|
663
|
+
/***/ }),
|
|
704
664
|
|
|
705
|
-
|
|
665
|
+
/***/ 21:
|
|
666
|
+
/***/ (function(module, exports) {
|
|
706
667
|
|
|
707
|
-
|
|
708
|
-
}).length;
|
|
709
|
-
React.useEffect(function () {
|
|
710
|
-
if (containerRef.current && containerRef.current.clientWidth !== widthRef.current) {
|
|
711
|
-
widthRef.current = containerRef.current.clientWidth;
|
|
712
|
-
recalculateTempColumnWidths();
|
|
713
|
-
}
|
|
714
|
-
});
|
|
715
|
-
var firstRenderCount = React.useRef(count);
|
|
716
|
-
React.useEffect(function () {
|
|
717
|
-
if (firstRenderCount.current !== count) {
|
|
718
|
-
firstRenderCount.current = count;
|
|
719
|
-
paginatorOnChange(null, {
|
|
720
|
-
count: count
|
|
721
|
-
});
|
|
722
|
-
}
|
|
723
|
-
}, [count, paginatorProps]);
|
|
724
|
-
var stringifiedColumnFormat = JSON.stringify(columnFormat);
|
|
725
|
-
var columnFormatRef = React.useRef(stringifiedColumnFormat);
|
|
726
|
-
var modeRef = React.useRef(mode);
|
|
727
|
-
React.useEffect(function () {
|
|
728
|
-
if (modeRef.current !== mode || columnFormatRef.current !== stringifiedColumnFormat) {
|
|
729
|
-
columnFormatRef.current = stringifiedColumnFormat;
|
|
730
|
-
modeRef.current = mode;
|
|
731
|
-
setColumns(columnFormat);
|
|
732
|
-
}
|
|
733
|
-
}, [mode, stringifiedColumnFormat]);
|
|
734
|
-
var TableHead = useTableHead(headerVisibility);
|
|
735
|
-
var debouncedDrilldown = debounce(function (e, payload) {
|
|
736
|
-
if (window.getSelection().toString() === '') {
|
|
737
|
-
if (lodash_1.isFunction(onCellClick)) {
|
|
738
|
-
onCellClick({
|
|
739
|
-
e: e,
|
|
740
|
-
payload: payload
|
|
741
|
-
});
|
|
742
|
-
}
|
|
743
|
-
}
|
|
744
|
-
}, 200);
|
|
745
|
-
var drilldownHandler = React.useCallback(function (e) {
|
|
746
|
-
var element = e.target;
|
|
747
|
-
var row = element.getAttribute('data-row-index');
|
|
748
|
-
var col = element.getAttribute('data-col-index');
|
|
749
|
-
var arrayIndex = element.getAttribute('data-array-index') || -1;
|
|
668
|
+
module.exports = require("@splunk/themes/pick");
|
|
750
669
|
|
|
751
|
-
|
|
752
|
-
var cellRefIndex = +col;
|
|
753
|
-
var cellIndex = cellRefIndex;
|
|
754
|
-
var rowIndex = +row;
|
|
755
|
-
var fieldValue = tableHeader.cells[cellRefIndex].value;
|
|
756
|
-
var cellValue = tableBody.rows[rowIndex].cells[cellRefIndex].value;
|
|
757
|
-
var cellRawValue = tableBody.rows[rowIndex].cells[cellRefIndex].value;
|
|
758
|
-
var value = arrayIndex === -1 ? cellValue : cellRawValue[+arrayIndex]; // Wish we did not have these if statements for
|
|
759
|
-
// showRowNumbers
|
|
670
|
+
/***/ }),
|
|
760
671
|
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
// no click event for row numbers
|
|
764
|
-
return;
|
|
765
|
-
}
|
|
672
|
+
/***/ 23:
|
|
673
|
+
/***/ (function(module, exports) {
|
|
766
674
|
|
|
767
|
-
|
|
768
|
-
}
|
|
675
|
+
module.exports = require("@splunk/visualization-context/TimezoneContext");
|
|
769
676
|
|
|
770
|
-
|
|
771
|
-
cellIndex: cellIndex,
|
|
772
|
-
rowIndex: rowIndex,
|
|
773
|
-
fieldValue: fieldValue,
|
|
774
|
-
cellValue: cellValue,
|
|
775
|
-
cellRawValue: cellRawValue,
|
|
776
|
-
value: value,
|
|
777
|
-
name: fieldValue
|
|
778
|
-
};
|
|
779
|
-
tableBody.rows[rowIndex].cells.forEach(function (c, index) {
|
|
780
|
-
var rowToken = "row.".concat(tableHeader.cells[index].value, ".value");
|
|
781
|
-
payload[rowToken] = c.value;
|
|
782
|
-
});
|
|
783
|
-
debouncedDrilldown(e.nativeEvent, payload);
|
|
784
|
-
}
|
|
785
|
-
}, [onCellClick, showRowNumbers, tableHeader, tableBody]);
|
|
786
|
-
var debouncedOnColumnFormatChange = React.useMemo(function () {
|
|
787
|
-
return debounce(function (newFormat) {
|
|
788
|
-
onColumnFormatChange(newFormat);
|
|
789
|
-
}, 300);
|
|
790
|
-
}, [onColumnFormatChange]);
|
|
791
|
-
|
|
792
|
-
var handleResizeColumn = function handleResizeColumn(_event, payload) {
|
|
793
|
-
var updatedCF = columns;
|
|
794
|
-
var field = payload.columnId;
|
|
795
|
-
var lastShowingTableHeaderWidth = utils_1.getLastColumnWidth(containerRefInnerWidth, lastShowingTableHeadersID, columns, tempColumns, firstShowingTableHeadersID);
|
|
796
|
-
updatedCF[lastShowingTableHeadersID] = Object.assign(Object.assign({}, updatedCF[lastShowingTableHeadersID]), {
|
|
797
|
-
width: Math.max(lastShowingTableHeaderWidth, exports.MINIMUM_COLUMN_SIZE)
|
|
798
|
-
});
|
|
799
|
-
updatedCF[field] = Object.assign(Object.assign({}, updatedCF[field]), {
|
|
800
|
-
width: Math.max(payload.width, exports.MINIMUM_COLUMN_SIZE)
|
|
801
|
-
});
|
|
802
|
-
setColumns(Object.assign({}, updatedCF)); // Updates column json in edit mode
|
|
803
|
-
|
|
804
|
-
if (mode === 'edit') {
|
|
805
|
-
debouncedOnColumnFormatChange(updatedCF);
|
|
806
|
-
}
|
|
807
|
-
};
|
|
808
|
-
|
|
809
|
-
var handleEventClick = function handleEventClick(e) {
|
|
810
|
-
// Hack to target the resize handlers, since the only button within a HeadCell is the resize handlers
|
|
811
|
-
if (e.target.tagName.toLowerCase() === 'button') {
|
|
812
|
-
e.stopPropagation();
|
|
813
|
-
}
|
|
814
|
-
};
|
|
815
|
-
|
|
816
|
-
var recalculateTempColumnWidths = function recalculateTempColumnWidths() {
|
|
817
|
-
setTempColumns({});
|
|
818
|
-
setRemainingWidth(0);
|
|
819
|
-
};
|
|
820
|
-
|
|
821
|
-
var withColumnResizing = function withColumnResizing(func) {
|
|
822
|
-
return function (e, additionalParams) {
|
|
823
|
-
recalculateTempColumnWidths();
|
|
824
|
-
func(e, additionalParams);
|
|
825
|
-
};
|
|
826
|
-
};
|
|
827
|
-
|
|
828
|
-
var fontMapped = fontMap[font] || fontMap.proportional;
|
|
829
|
-
var fontSizeMapped = fontSizeMap[fontSize] || fontSizeMap.default;
|
|
830
|
-
var rowHeightMapped = rowHeightMap[fontSize] || rowHeightMap.default;
|
|
831
|
-
var firstShowingTableHeadersID = tableHeader.cells.filter(function (c) {
|
|
832
|
-
return c.showCell;
|
|
833
|
-
}).map(function (c) {
|
|
834
|
-
return c.value;
|
|
835
|
-
})[0];
|
|
836
|
-
var lastShowingTableHeadersID = tableHeader.cells.filter(function (c) {
|
|
837
|
-
return c.showCell;
|
|
838
|
-
}).map(function (c) {
|
|
839
|
-
return c.value;
|
|
840
|
-
}).reverse()[0];
|
|
841
|
-
return React.createElement(VizTableContainer, {
|
|
842
|
-
backgroundColor: backgroundColor,
|
|
843
|
-
ref: containerRef
|
|
844
|
-
}, React.createElement(SUITableContainer, {
|
|
845
|
-
ref: containerRefInner,
|
|
846
|
-
width: width,
|
|
847
|
-
height: height,
|
|
848
|
-
isPaging: isPaging,
|
|
849
|
-
headerStyle: tableHeader.style,
|
|
850
|
-
widthSet: widthSet,
|
|
851
|
-
font: fontMapped,
|
|
852
|
-
fontSize: fontSizeMapped,
|
|
853
|
-
lineHeight: rowHeightMapped
|
|
854
|
-
}, React.createElement(Table_1.default, {
|
|
855
|
-
headType: headerVisibility !== 'none' ? 'inline' : undefined,
|
|
856
|
-
innerStyle: {
|
|
857
|
-
height: '100%'
|
|
858
|
-
},
|
|
859
|
-
outerStyle: {
|
|
860
|
-
height: '100%',
|
|
861
|
-
cursor: onCellClick ? 'pointer' : 'unset'
|
|
862
|
-
},
|
|
863
|
-
onClick: onCellClick ? drilldownHandler : lodash_1.noop,
|
|
864
|
-
onRequestResizeColumn: handleResizeColumn
|
|
865
|
-
}, React.createElement(TableHead, null, tableHeader.cells.filter(function (c) {
|
|
866
|
-
return c.showCell;
|
|
867
|
-
}).map(function (_a) {
|
|
868
|
-
var key = _a.key,
|
|
869
|
-
value = _a.value,
|
|
870
|
-
sortKey = _a.sortKey,
|
|
871
|
-
rest = __rest(_a, ["key", "value", "sortKey"]);
|
|
677
|
+
/***/ }),
|
|
872
678
|
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
columnId: value,
|
|
876
|
-
sortDir: sortKey === currentSortKey ? currentSortDir : 'none',
|
|
877
|
-
width: value === lastShowingTableHeadersID ? utils_1.getLastColumnWidth(containerRefInnerWidth, lastShowingTableHeadersID, columns, tempColumns, firstShowingTableHeadersID) : utils_1.getColumnWidth({
|
|
878
|
-
columns: columns,
|
|
879
|
-
tempColumns: tempColumns,
|
|
880
|
-
columnName: value,
|
|
881
|
-
remainingWidth: remainingWidth,
|
|
882
|
-
numColumnsWithoutWidth: numColumnsWithoutWidth
|
|
883
|
-
}),
|
|
884
|
-
onMouseDown: handleEventClick,
|
|
885
|
-
value: value,
|
|
886
|
-
setTempColumnWidth: setTempColumns,
|
|
887
|
-
widthSet: widthSet,
|
|
888
|
-
onSort: withColumnResizing(onSort),
|
|
889
|
-
headerVisibility: headerVisibility,
|
|
890
|
-
setRemainingWidth: setRemainingWidth
|
|
891
|
-
}, Object.assign({
|
|
892
|
-
sortKey: sortKey
|
|
893
|
-
}, rest)));
|
|
894
|
-
})), React.createElement(Table_1.default.Body, null, tableBody.rows.map(function (row) {
|
|
895
|
-
return React.createElement(Table_1.default.Row, {
|
|
896
|
-
key: row.key
|
|
897
|
-
}, row.cells.filter(function (c) {
|
|
898
|
-
return c.showCell;
|
|
899
|
-
}).map(function (cell) {
|
|
900
|
-
return React.createElement(cells_1.SwitchTableCell, {
|
|
901
|
-
key: cell.key,
|
|
902
|
-
type: cell.cellType
|
|
903
|
-
}, React.createElement(cells_1.TextCell, {
|
|
904
|
-
cell: cell,
|
|
905
|
-
useMouseOverEffect: !!onCellClick,
|
|
906
|
-
width: cell.header === lastShowingTableHeadersID ? utils_1.getLastColumnWidth(containerRefInnerWidth, lastShowingTableHeadersID, columns, tempColumns, firstShowingTableHeadersID) : utils_1.getColumnWidth({
|
|
907
|
-
columns: columns,
|
|
908
|
-
tempColumns: tempColumns,
|
|
909
|
-
columnName: cell.header,
|
|
910
|
-
remainingWidth: remainingWidth,
|
|
911
|
-
numColumnsWithoutWidth: numColumnsWithoutWidth
|
|
912
|
-
})
|
|
913
|
-
}), React.createElement(cells_1.SparklineCell, {
|
|
914
|
-
cell: cell,
|
|
915
|
-
useMouseOverEffect: !!onCellClick,
|
|
916
|
-
width: cell.header === lastShowingTableHeadersID ? utils_1.getLastColumnWidth(containerRefInnerWidth, lastShowingTableHeadersID, columns, tempColumns, firstShowingTableHeadersID) : utils_1.getColumnWidth({
|
|
917
|
-
columns: columns,
|
|
918
|
-
tempColumns: tempColumns,
|
|
919
|
-
columnName: cell.header,
|
|
920
|
-
remainingWidth: remainingWidth,
|
|
921
|
-
numColumnsWithoutWidth: numColumnsWithoutWidth
|
|
922
|
-
})
|
|
923
|
-
}), React.createElement(cells_1.ArrayCell, {
|
|
924
|
-
cell: cell,
|
|
925
|
-
useMouseOverEffect: !!onCellClick,
|
|
926
|
-
width: cell.header === lastShowingTableHeadersID ? utils_1.getLastColumnWidth(containerRefInnerWidth, lastShowingTableHeadersID, columns, tempColumns, firstShowingTableHeadersID) : utils_1.getColumnWidth({
|
|
927
|
-
columns: columns,
|
|
928
|
-
tempColumns: tempColumns,
|
|
929
|
-
columnName: cell.header,
|
|
930
|
-
remainingWidth: remainingWidth,
|
|
931
|
-
numColumnsWithoutWidth: numColumnsWithoutWidth
|
|
932
|
-
})
|
|
933
|
-
}));
|
|
934
|
-
}));
|
|
935
|
-
})))), isPaging ? React.createElement(PaginatorContainer, null, React.createElement(Paginator_1.default, Object.assign({
|
|
936
|
-
onChange: withColumnResizing(paginatorOnChange)
|
|
937
|
-
}, paginatorProps))) : null);
|
|
938
|
-
};
|
|
679
|
+
/***/ 25:
|
|
680
|
+
/***/ (function(module, exports) {
|
|
939
681
|
|
|
940
|
-
|
|
941
|
-
PureTable.propTypes = {
|
|
942
|
-
backgroundColor: T.string,
|
|
943
|
-
count: T.number,
|
|
944
|
-
columnFormat: T.objectOf(T.shape({
|
|
945
|
-
align: T.arrayOf(T.oneOf(consts_1.validAlignments)),
|
|
946
|
-
cellTypes: T.arrayOf(T.oneOf(consts_1.validCellRenderers)),
|
|
947
|
-
data: T.arrayOf(cellDataType),
|
|
948
|
-
rowBackgroundColors: T.arrayOf(T.string),
|
|
949
|
-
rowColors: T.arrayOf(T.string),
|
|
950
|
-
sparklineAreaColors: T.arrayOf(T.string),
|
|
951
|
-
sparklineColors: T.arrayOf(T.string),
|
|
952
|
-
sparklineTypes: T.arrayOf(T.oneOf(consts_1.validSparklineTypes))
|
|
953
|
-
})),
|
|
954
|
-
headers: T.arrayOf(T.string),
|
|
955
|
-
headerVisibility: T.oneOf(consts_1.validHeaderVisibilities),
|
|
956
|
-
height: T.oneOfType([T.number]),
|
|
957
|
-
mode: T.string,
|
|
958
|
-
onCellClick: T.func,
|
|
959
|
-
paginatorParams: getPagination_1.PaginatorParamsPropTypes,
|
|
960
|
-
showRowNumbers: T.bool,
|
|
961
|
-
sortParams: getSorting_1.SortParamsPropTypes,
|
|
962
|
-
table: T.arrayOf(T.arrayOf(cellDataType)),
|
|
963
|
-
tableFormat: T.shape({
|
|
964
|
-
align: T.arrayOf(T.arrayOf(T.oneOf(consts_1.validAlignments))),
|
|
965
|
-
cellTypes: T.arrayOf(T.arrayOf(T.oneOf(consts_1.validCellRenderers))),
|
|
966
|
-
data: T.arrayOf(T.arrayOf(cellDataType)),
|
|
967
|
-
headerBackgroundColor: T.string,
|
|
968
|
-
headerColor: T.string,
|
|
969
|
-
rowBackgroundColors: T.oneOfType([T.arrayOf(T.string), T.arrayOf(T.arrayOf(T.string))]),
|
|
970
|
-
rowColors: T.oneOfType([T.arrayOf(T.string), T.arrayOf(T.arrayOf(T.string))]),
|
|
971
|
-
sparklineAreaColors: T.arrayOf(T.arrayOf(T.string)),
|
|
972
|
-
sparklineColors: T.arrayOf(T.arrayOf(T.string)),
|
|
973
|
-
sparklineTypes: T.arrayOf(T.arrayOf(T.oneOf(consts_1.validSparklineTypes)))
|
|
974
|
-
}),
|
|
975
|
-
theme: T.any,
|
|
976
|
-
width: T.oneOfType([T.number]),
|
|
977
|
-
onColumnFormatChange: T.func,
|
|
978
|
-
font: T.string,
|
|
979
|
-
fontSize: T.string
|
|
980
|
-
};
|
|
981
|
-
PureTable.defaultProps = {
|
|
982
|
-
columnFormat: {},
|
|
983
|
-
headers: [],
|
|
984
|
-
headerVisibility: 'inline',
|
|
985
|
-
height: 300,
|
|
986
|
-
mode: 'view',
|
|
987
|
-
onCellClick: null,
|
|
988
|
-
paginatorParams: {
|
|
989
|
-
isPaging: false,
|
|
990
|
-
onChange: lodash_1.noop
|
|
991
|
-
},
|
|
992
|
-
showRowNumbers: false,
|
|
993
|
-
sortParams: {
|
|
994
|
-
onSort: lodash_1.noop
|
|
995
|
-
},
|
|
996
|
-
table: [],
|
|
997
|
-
tableFormat: {},
|
|
998
|
-
theme: {},
|
|
999
|
-
width: 300,
|
|
1000
|
-
onColumnFormatChange: lodash_1.noop,
|
|
1001
|
-
font: fontMap.proportional,
|
|
1002
|
-
fontSize: fontSizeMap.default
|
|
1003
|
-
};
|
|
1004
|
-
PureTable.displayName = 'VizTable';
|
|
1005
|
-
exports.default = withEmptyTableMessage(FixedSizeContainer_1.default(PureTable));
|
|
682
|
+
module.exports = require("@splunk/visualizations-shared/hocUtils");
|
|
1006
683
|
|
|
1007
684
|
/***/ }),
|
|
1008
685
|
|
|
1009
|
-
/***/
|
|
686
|
+
/***/ 26:
|
|
1010
687
|
/***/ (function(module, exports) {
|
|
1011
688
|
|
|
1012
|
-
module.exports = require("@splunk/visualizations-shared/
|
|
689
|
+
module.exports = require("@splunk/visualizations-shared/JSONSchemaUtils");
|
|
1013
690
|
|
|
1014
691
|
/***/ }),
|
|
1015
692
|
|
|
1016
|
-
/***/
|
|
693
|
+
/***/ 27:
|
|
1017
694
|
/***/ (function(module, exports, __webpack_require__) {
|
|
1018
695
|
|
|
1019
696
|
"use strict";
|
|
1020
697
|
|
|
1021
698
|
|
|
1022
|
-
var _toConsumableArray = __webpack_require__(8);
|
|
1023
|
-
|
|
1024
|
-
var _defineProperty = __webpack_require__(7);
|
|
1025
|
-
|
|
1026
|
-
var __rest = this && this.__rest || function (s, e) {
|
|
1027
|
-
var t = {};
|
|
1028
|
-
|
|
1029
|
-
for (var p in s) {
|
|
1030
|
-
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
1031
|
-
}
|
|
1032
|
-
|
|
1033
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
1034
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
1035
|
-
}
|
|
1036
|
-
return t;
|
|
1037
|
-
};
|
|
1038
|
-
|
|
1039
699
|
Object.defineProperty(exports, "__esModule", {
|
|
1040
700
|
value: true
|
|
1041
701
|
});
|
|
1042
|
-
exports.
|
|
702
|
+
exports.shouldShowIconPlaceholder = void 0;
|
|
703
|
+
|
|
704
|
+
var React = __webpack_require__(0);
|
|
705
|
+
|
|
706
|
+
var T = __webpack_require__(1);
|
|
1043
707
|
|
|
1044
708
|
var lodash_1 = __webpack_require__(3);
|
|
1045
709
|
|
|
1046
|
-
var
|
|
710
|
+
var i18n_1 = __webpack_require__(2);
|
|
1047
711
|
|
|
1048
|
-
var
|
|
712
|
+
var Message_1 = __webpack_require__(10);
|
|
1049
713
|
|
|
1050
|
-
var
|
|
1051
|
-
type: 'string',
|
|
1052
|
-
pattern: schemaUtils_1.DYNAMIC_OPTIONS_DSL_PATTERN
|
|
1053
|
-
};
|
|
714
|
+
var FixedSizeContainer_1 = __webpack_require__(13);
|
|
1054
715
|
/**
|
|
1055
|
-
*
|
|
1056
|
-
* @param
|
|
1057
|
-
* @
|
|
716
|
+
* @method shouldShowIconPlaceholder
|
|
717
|
+
* @param {object} dataSources
|
|
718
|
+
* @param {boolean} loading
|
|
719
|
+
* @returns {boolean}
|
|
1058
720
|
*/
|
|
1059
721
|
|
|
1060
|
-
function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
|
|
1061
|
-
var enhancedOptionsSchema = {};
|
|
1062
|
-
Object.keys(optionsSchema).forEach(function (key) {
|
|
1063
|
-
var _a = optionsSchema[key],
|
|
1064
|
-
title = _a.title,
|
|
1065
|
-
description = _a.description,
|
|
1066
|
-
readOnly = _a.readOnly,
|
|
1067
|
-
writeOnly = _a.writeOnly,
|
|
1068
|
-
examples = _a.examples,
|
|
1069
|
-
defaultValue = _a.default,
|
|
1070
|
-
type = _a.type,
|
|
1071
|
-
properties = _a.properties,
|
|
1072
|
-
patternProperties = _a.patternProperties,
|
|
1073
|
-
remainingSchemaEntry = __rest(_a, ["title", "description", "readOnly", "writeOnly", "examples", "default", "type", "properties", "patternProperties"]);
|
|
1074
|
-
|
|
1075
|
-
var annotations = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, title !== undefined && {
|
|
1076
|
-
title: title
|
|
1077
|
-
}), description !== undefined && {
|
|
1078
|
-
description: description
|
|
1079
|
-
}), readOnly !== undefined && {
|
|
1080
|
-
readOnly: readOnly
|
|
1081
|
-
}), writeOnly !== undefined && {
|
|
1082
|
-
writeOnly: writeOnly
|
|
1083
|
-
}), examples !== undefined && {
|
|
1084
|
-
examples: examples
|
|
1085
|
-
}), defaultValue !== undefined && {
|
|
1086
|
-
default: defaultValue
|
|
1087
|
-
});
|
|
1088
|
-
|
|
1089
|
-
if (type === 'object') {
|
|
1090
|
-
enhancedOptionsSchema[key] = Object.assign(Object.assign(Object.assign(Object.assign({}, remainingSchemaEntry), annotations), {
|
|
1091
|
-
type: type
|
|
1092
|
-
}), properties && {
|
|
1093
|
-
properties: enhanceOptionsSchemaWithDynamicOptions(properties)
|
|
1094
|
-
});
|
|
1095
722
|
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
enhancedOptionsSchema[key] = Object.assign(Object.assign({}, annotations), {
|
|
1105
|
-
anyOf: [Object.assign(Object.assign({}, type !== undefined && {
|
|
1106
|
-
type: type
|
|
1107
|
-
}), remainingSchemaEntry), dynamicOptionsDSLType]
|
|
1108
|
-
});
|
|
1109
|
-
}
|
|
1110
|
-
});
|
|
1111
|
-
return enhancedOptionsSchema;
|
|
1112
|
-
}
|
|
723
|
+
var shouldShowIconPlaceholder = function shouldShowIconPlaceholder(dataSources) {
|
|
724
|
+
var loading = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
725
|
+
var data = lodash_1.get(dataSources, 'primary.data.columns[0]', undefined);
|
|
726
|
+
var noData = data === undefined;
|
|
727
|
+
var fields = lodash_1.get(dataSources, 'primary.data.fields[0]', undefined);
|
|
728
|
+
var noFields = fields === undefined;
|
|
729
|
+
return loading || noData || noFields;
|
|
730
|
+
};
|
|
1113
731
|
|
|
1114
|
-
exports.
|
|
732
|
+
exports.shouldShowIconPlaceholder = shouldShowIconPlaceholder;
|
|
733
|
+
var propTypes = {
|
|
734
|
+
icon: T.func,
|
|
735
|
+
width: T.oneOfType([T.string, T.number]),
|
|
736
|
+
height: T.oneOfType([T.string, T.number]),
|
|
737
|
+
// eslint-disable-next-line react/no-unused-prop-types
|
|
738
|
+
backgroundColor: T.string,
|
|
739
|
+
iconColor: T.string
|
|
740
|
+
};
|
|
1115
741
|
/**
|
|
1116
|
-
*
|
|
1117
|
-
*
|
|
1118
|
-
* @
|
|
1119
|
-
* @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports
|
|
1120
|
-
* and containing `open: false` for all editor panels in editorConfig
|
|
742
|
+
* @method IconPlaceholder
|
|
743
|
+
* @param {IconPlaceholderProps} props
|
|
744
|
+
* @returns {React.ReactElement}
|
|
1121
745
|
*/
|
|
1122
746
|
|
|
1123
|
-
function
|
|
1124
|
-
var
|
|
747
|
+
var IconPlaceholder = function IconPlaceholder(props) {
|
|
748
|
+
var width = props.width,
|
|
749
|
+
height = props.height,
|
|
750
|
+
icon = props.icon,
|
|
751
|
+
iconColor = props.iconColor;
|
|
1125
752
|
|
|
1126
|
-
if (
|
|
1127
|
-
|
|
753
|
+
if (icon) {
|
|
754
|
+
return React.createElement(icon, {
|
|
755
|
+
style: {
|
|
756
|
+
left: '50%',
|
|
757
|
+
top: '50%',
|
|
758
|
+
color: iconColor,
|
|
759
|
+
opacity: 0.15,
|
|
760
|
+
position: 'absolute',
|
|
761
|
+
transform: 'translate(-50%, -50%)'
|
|
762
|
+
},
|
|
763
|
+
width: '50%',
|
|
764
|
+
height: '50%'
|
|
765
|
+
});
|
|
1128
766
|
}
|
|
1129
767
|
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
768
|
+
return React.createElement(Message_1.default, {
|
|
769
|
+
width: width,
|
|
770
|
+
height: height,
|
|
771
|
+
level: "warning",
|
|
772
|
+
message: i18n_1._('No DataSource Connected')
|
|
1134
773
|
});
|
|
1135
|
-
|
|
1136
|
-
}
|
|
774
|
+
};
|
|
1137
775
|
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
*/
|
|
776
|
+
IconPlaceholder.propTypes = propTypes;
|
|
777
|
+
IconPlaceholder.defaultProps = {
|
|
778
|
+
width: '100%',
|
|
779
|
+
height: 250
|
|
780
|
+
};
|
|
781
|
+
exports.default = FixedSizeContainer_1.default(IconPlaceholder);
|
|
1145
782
|
|
|
1146
|
-
|
|
1147
|
-
var editorPanelUncollapsedConfig = Object.assign({}, vizConfig);
|
|
1148
|
-
editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
|
|
1149
|
-
return Object.assign(Object.assign({}, config), {
|
|
1150
|
-
open: true
|
|
1151
|
-
});
|
|
1152
|
-
});
|
|
1153
|
-
return editorPanelUncollapsedConfig;
|
|
1154
|
-
}
|
|
783
|
+
/***/ }),
|
|
1155
784
|
|
|
1156
|
-
|
|
785
|
+
/***/ 28:
|
|
786
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
1157
787
|
|
|
1158
|
-
|
|
1159
|
-
return option && typeof option === 'string' && option.trim().startsWith('>') || false;
|
|
1160
|
-
}
|
|
788
|
+
"use strict";
|
|
1161
789
|
|
|
1162
|
-
exports.isDynamicOption = isDynamicOption; // private helpers to improve readability of getInitialPreset
|
|
1163
|
-
// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset
|
|
1164
790
|
|
|
1165
|
-
|
|
1166
|
-
* this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset
|
|
1167
|
-
* if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset
|
|
1168
|
-
* the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext
|
|
1169
|
-
* the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up
|
|
1170
|
-
*
|
|
1171
|
-
* Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values
|
|
1172
|
-
*/
|
|
791
|
+
var _defineProperty = __webpack_require__(7);
|
|
1173
792
|
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
});
|
|
1179
|
-
}
|
|
1180
|
-
/**
|
|
1181
|
-
* Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions
|
|
1182
|
-
*/
|
|
793
|
+
Object.defineProperty(exports, "__esModule", {
|
|
794
|
+
value: true
|
|
795
|
+
});
|
|
796
|
+
exports.getSortingParams = exports.SortParamsPropTypes = void 0;
|
|
1183
797
|
|
|
798
|
+
var T = __webpack_require__(1);
|
|
1184
799
|
|
|
1185
|
-
|
|
1186
|
-
var presetOptionKeys = Object.keys(presetOptions);
|
|
1187
|
-
return presetOptionKeys.every(function (optionKey) {
|
|
1188
|
-
return isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey]);
|
|
1189
|
-
});
|
|
1190
|
-
}
|
|
1191
|
-
/**
|
|
1192
|
-
* Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions
|
|
1193
|
-
* This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure
|
|
1194
|
-
*
|
|
1195
|
-
* @param {Object} vizContext - the current vizContext definition
|
|
1196
|
-
* @param {Object} vizOptions - the current vizOptions definition
|
|
1197
|
-
* @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset
|
|
1198
|
-
*/
|
|
800
|
+
var lodash_1 = __webpack_require__(3);
|
|
1199
801
|
|
|
802
|
+
var DataSource_1 = __webpack_require__(39);
|
|
1200
803
|
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
var presetOptionKeys = Object.keys(presetOptions); // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)
|
|
1207
|
-
// if not, then the preset is invalid in config.ts
|
|
804
|
+
exports.SortParamsPropTypes = T.shape({
|
|
805
|
+
currentSortKey: T.string,
|
|
806
|
+
currentSortDir: T.oneOf(DataSource_1.validSortDirs),
|
|
807
|
+
onSort: T.func
|
|
808
|
+
});
|
|
1208
809
|
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
810
|
+
var getSortingParams = function getSortingParams(_ref) {
|
|
811
|
+
var requestParams = _ref.requestParams,
|
|
812
|
+
onRequestParamsChange = _ref.onRequestParamsChange;
|
|
813
|
+
var currentSortKey;
|
|
814
|
+
var currentSortDir;
|
|
815
|
+
var nextSortDirMap = {
|
|
816
|
+
asc: 'desc',
|
|
817
|
+
desc: 'asc',
|
|
818
|
+
none: 'asc'
|
|
819
|
+
};
|
|
820
|
+
var onSort;
|
|
1213
821
|
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
* @returns {{ label: string; value; string }[]} array of { label, value } tuples
|
|
1220
|
-
*/
|
|
822
|
+
if (lodash_1.isFunction(onRequestParamsChange)) {
|
|
823
|
+
if (requestParams && lodash_1.has(requestParams, 'sort')) {
|
|
824
|
+
currentSortKey = Object.keys(requestParams.sort).shift();
|
|
825
|
+
currentSortDir = requestParams.sort[currentSortKey];
|
|
826
|
+
} // undid memoization since there is a dependency on requestParams, which is a deeply nested object
|
|
1221
827
|
|
|
1222
|
-
function generatePrecisionValues(numPrecisionValues) {
|
|
1223
|
-
return lodash_1.range(0, numPrecisionValues + 1).map(function (i) {
|
|
1224
|
-
return {
|
|
1225
|
-
label: "".concat(i, " (0").concat(i > 0 ? '.' : '').concat('0'.repeat(i), ")"),
|
|
1226
|
-
value: i
|
|
1227
|
-
};
|
|
1228
|
-
});
|
|
1229
|
-
}
|
|
1230
828
|
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
*
|
|
1235
|
-
* @param {EditorLayoutConfig[][]} layout - editor layout
|
|
1236
|
-
* @param {Number} index - the index to insert layout item(s)
|
|
1237
|
-
* @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert
|
|
1238
|
-
* @returns {EditorLayoutConfig[][]} new editor layout with insertion
|
|
1239
|
-
*/
|
|
829
|
+
onSort = function onSort(e, _ref2) {
|
|
830
|
+
var sortKey = _ref2.sortKey,
|
|
831
|
+
sortDir = _ref2.sortDir;
|
|
1240
832
|
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
833
|
+
if (typeof sortKey === 'string') {
|
|
834
|
+
var nextSortDir = lodash_1.has(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : 'none';
|
|
835
|
+
onRequestParamsChange(Object.assign(Object.assign({}, requestParams), {
|
|
836
|
+
offset: 0,
|
|
837
|
+
sort: _defineProperty({}, sortKey, nextSortDir)
|
|
838
|
+
}));
|
|
839
|
+
} else {
|
|
840
|
+
onRequestParamsChange(requestParams);
|
|
841
|
+
}
|
|
842
|
+
};
|
|
1244
843
|
}
|
|
1245
844
|
|
|
1246
|
-
return
|
|
845
|
+
return {
|
|
846
|
+
currentSortKey: currentSortKey,
|
|
847
|
+
currentSortDir: currentSortDir,
|
|
848
|
+
onSort: onSort
|
|
849
|
+
};
|
|
1247
850
|
};
|
|
1248
851
|
|
|
1249
|
-
exports.
|
|
1250
|
-
|
|
1251
|
-
/***/ }),
|
|
1252
|
-
|
|
1253
|
-
/***/ 19:
|
|
1254
|
-
/***/ (function(module, exports) {
|
|
1255
|
-
|
|
1256
|
-
module.exports = require("@babel/runtime/helpers/createClass");
|
|
1257
|
-
|
|
1258
|
-
/***/ }),
|
|
1259
|
-
|
|
1260
|
-
/***/ 2:
|
|
1261
|
-
/***/ (function(module, exports) {
|
|
1262
|
-
|
|
1263
|
-
module.exports = require("@splunk/ui-utils/i18n");
|
|
1264
|
-
|
|
1265
|
-
/***/ }),
|
|
1266
|
-
|
|
1267
|
-
/***/ 20:
|
|
1268
|
-
/***/ (function(module, exports) {
|
|
1269
|
-
|
|
1270
|
-
module.exports = require("@splunk/visualizations-shared/SizeAwareWrapper");
|
|
1271
|
-
|
|
1272
|
-
/***/ }),
|
|
1273
|
-
|
|
1274
|
-
/***/ 21:
|
|
1275
|
-
/***/ (function(module, exports) {
|
|
1276
|
-
|
|
1277
|
-
module.exports = require("@splunk/themes/pick");
|
|
1278
|
-
|
|
1279
|
-
/***/ }),
|
|
1280
|
-
|
|
1281
|
-
/***/ 23:
|
|
1282
|
-
/***/ (function(module, exports) {
|
|
1283
|
-
|
|
1284
|
-
module.exports = require("@splunk/visualization-context/TimezoneContext");
|
|
1285
|
-
|
|
1286
|
-
/***/ }),
|
|
1287
|
-
|
|
1288
|
-
/***/ 25:
|
|
1289
|
-
/***/ (function(module, exports) {
|
|
1290
|
-
|
|
1291
|
-
module.exports = require("@splunk/visualizations-shared/hocUtils");
|
|
1292
|
-
|
|
1293
|
-
/***/ }),
|
|
1294
|
-
|
|
1295
|
-
/***/ 26:
|
|
1296
|
-
/***/ (function(module, exports) {
|
|
1297
|
-
|
|
1298
|
-
module.exports = require("@splunk/visualizations-shared/JSONSchemaUtils");
|
|
1299
|
-
|
|
1300
|
-
/***/ }),
|
|
1301
|
-
|
|
1302
|
-
/***/ 27:
|
|
1303
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
1304
|
-
|
|
1305
|
-
"use strict";
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
Object.defineProperty(exports, "__esModule", {
|
|
1309
|
-
value: true
|
|
1310
|
-
});
|
|
1311
|
-
exports.shouldShowIconPlaceholder = void 0;
|
|
1312
|
-
|
|
1313
|
-
var React = __webpack_require__(0);
|
|
1314
|
-
|
|
1315
|
-
var T = __webpack_require__(1);
|
|
1316
|
-
|
|
1317
|
-
var lodash_1 = __webpack_require__(3);
|
|
1318
|
-
|
|
1319
|
-
var i18n_1 = __webpack_require__(2);
|
|
1320
|
-
|
|
1321
|
-
var Message_1 = __webpack_require__(10);
|
|
1322
|
-
|
|
1323
|
-
var FixedSizeContainer_1 = __webpack_require__(13);
|
|
1324
|
-
/**
|
|
1325
|
-
* @method shouldShowIconPlaceholder
|
|
1326
|
-
* @param {object} dataSources
|
|
1327
|
-
* @param {boolean} loading
|
|
1328
|
-
* @returns {boolean}
|
|
1329
|
-
*/
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
var shouldShowIconPlaceholder = function shouldShowIconPlaceholder(dataSources) {
|
|
1333
|
-
var loading = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
1334
|
-
var data = lodash_1.get(dataSources, 'primary.data.columns[0]', undefined);
|
|
1335
|
-
var noData = data === undefined;
|
|
1336
|
-
var fields = lodash_1.get(dataSources, 'primary.data.fields[0]', undefined);
|
|
1337
|
-
var noFields = fields === undefined;
|
|
1338
|
-
return loading || noData || noFields;
|
|
1339
|
-
};
|
|
1340
|
-
|
|
1341
|
-
exports.shouldShowIconPlaceholder = shouldShowIconPlaceholder;
|
|
1342
|
-
var propTypes = {
|
|
1343
|
-
icon: T.func,
|
|
1344
|
-
width: T.oneOfType([T.string, T.number]),
|
|
1345
|
-
height: T.oneOfType([T.string, T.number]),
|
|
1346
|
-
// eslint-disable-next-line react/no-unused-prop-types
|
|
1347
|
-
backgroundColor: T.string,
|
|
1348
|
-
iconColor: T.string
|
|
1349
|
-
};
|
|
1350
|
-
/**
|
|
1351
|
-
* @method IconPlaceholder
|
|
1352
|
-
* @param {IconPlaceholderProps} props
|
|
1353
|
-
* @returns {React.ReactElement}
|
|
1354
|
-
*/
|
|
1355
|
-
|
|
1356
|
-
var IconPlaceholder = function IconPlaceholder(props) {
|
|
1357
|
-
var width = props.width,
|
|
1358
|
-
height = props.height,
|
|
1359
|
-
icon = props.icon,
|
|
1360
|
-
iconColor = props.iconColor;
|
|
1361
|
-
|
|
1362
|
-
if (icon) {
|
|
1363
|
-
return React.createElement(icon, {
|
|
1364
|
-
style: {
|
|
1365
|
-
left: '50%',
|
|
1366
|
-
top: '50%',
|
|
1367
|
-
color: iconColor,
|
|
1368
|
-
opacity: 0.15,
|
|
1369
|
-
position: 'absolute',
|
|
1370
|
-
transform: 'translate(-50%, -50%)'
|
|
1371
|
-
},
|
|
1372
|
-
width: '50%',
|
|
1373
|
-
height: '50%'
|
|
1374
|
-
});
|
|
1375
|
-
}
|
|
1376
|
-
|
|
1377
|
-
return React.createElement(Message_1.default, {
|
|
1378
|
-
width: width,
|
|
1379
|
-
height: height,
|
|
1380
|
-
level: "warning",
|
|
1381
|
-
message: i18n_1._('No DataSource Connected')
|
|
1382
|
-
});
|
|
1383
|
-
};
|
|
1384
|
-
|
|
1385
|
-
IconPlaceholder.propTypes = propTypes;
|
|
1386
|
-
IconPlaceholder.defaultProps = {
|
|
1387
|
-
width: '100%',
|
|
1388
|
-
height: 250
|
|
1389
|
-
};
|
|
1390
|
-
exports.default = FixedSizeContainer_1.default(IconPlaceholder);
|
|
1391
|
-
|
|
1392
|
-
/***/ }),
|
|
1393
|
-
|
|
1394
|
-
/***/ 28:
|
|
1395
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
1396
|
-
|
|
1397
|
-
"use strict";
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
var _defineProperty = __webpack_require__(7);
|
|
1401
|
-
|
|
1402
|
-
Object.defineProperty(exports, "__esModule", {
|
|
1403
|
-
value: true
|
|
1404
|
-
});
|
|
1405
|
-
exports.getSortingParams = exports.SortParamsPropTypes = void 0;
|
|
1406
|
-
|
|
1407
|
-
var T = __webpack_require__(1);
|
|
1408
|
-
|
|
1409
|
-
var lodash_1 = __webpack_require__(3);
|
|
1410
|
-
|
|
1411
|
-
var DataSource_1 = __webpack_require__(39);
|
|
1412
|
-
|
|
1413
|
-
exports.SortParamsPropTypes = T.shape({
|
|
1414
|
-
currentSortKey: T.string,
|
|
1415
|
-
currentSortDir: T.oneOf(DataSource_1.validSortDirs),
|
|
1416
|
-
onSort: T.func
|
|
1417
|
-
});
|
|
1418
|
-
|
|
1419
|
-
var getSortingParams = function getSortingParams(_ref) {
|
|
1420
|
-
var requestParams = _ref.requestParams,
|
|
1421
|
-
onRequestParamsChange = _ref.onRequestParamsChange;
|
|
1422
|
-
var currentSortKey;
|
|
1423
|
-
var currentSortDir;
|
|
1424
|
-
var nextSortDirMap = {
|
|
1425
|
-
asc: 'desc',
|
|
1426
|
-
desc: 'asc',
|
|
1427
|
-
none: 'asc'
|
|
1428
|
-
};
|
|
1429
|
-
var onSort;
|
|
1430
|
-
|
|
1431
|
-
if (lodash_1.isFunction(onRequestParamsChange)) {
|
|
1432
|
-
if (requestParams && lodash_1.has(requestParams, 'sort')) {
|
|
1433
|
-
currentSortKey = Object.keys(requestParams.sort).shift();
|
|
1434
|
-
currentSortDir = requestParams.sort[currentSortKey];
|
|
1435
|
-
} // undid memoization since there is a dependency on requestParams, which is a deeply nested object
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
onSort = function onSort(e, _ref2) {
|
|
1439
|
-
var sortKey = _ref2.sortKey,
|
|
1440
|
-
sortDir = _ref2.sortDir;
|
|
1441
|
-
|
|
1442
|
-
if (typeof sortKey === 'string') {
|
|
1443
|
-
var nextSortDir = lodash_1.has(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : 'none';
|
|
1444
|
-
onRequestParamsChange(Object.assign(Object.assign({}, requestParams), {
|
|
1445
|
-
offset: 0,
|
|
1446
|
-
sort: _defineProperty({}, sortKey, nextSortDir)
|
|
1447
|
-
}));
|
|
1448
|
-
} else {
|
|
1449
|
-
onRequestParamsChange(requestParams);
|
|
1450
|
-
}
|
|
1451
|
-
};
|
|
1452
|
-
}
|
|
1453
|
-
|
|
1454
|
-
return {
|
|
1455
|
-
currentSortKey: currentSortKey,
|
|
1456
|
-
currentSortDir: currentSortDir,
|
|
1457
|
-
onSort: onSort
|
|
1458
|
-
};
|
|
1459
|
-
};
|
|
1460
|
-
|
|
1461
|
-
exports.getSortingParams = getSortingParams;
|
|
852
|
+
exports.getSortingParams = getSortingParams;
|
|
1462
853
|
|
|
1463
854
|
/***/ }),
|
|
1464
855
|
|
|
@@ -2196,7 +1587,7 @@ var Cover = styled_components_1.default.div.withConfig({
|
|
|
2196
1587
|
componentId: "sc-1gsbnxb-0"
|
|
2197
1588
|
})(["position:absolute;left:0;right:0;top:0;bottom:0;"]);
|
|
2198
1589
|
var Blocker = styled_components_1.default.div.attrs({
|
|
2199
|
-
'data-splunk-visualization-version': "25.3.
|
|
1590
|
+
'data-splunk-visualization-version': "25.3.2 - 6c6c6519f"
|
|
2200
1591
|
}).withConfig({
|
|
2201
1592
|
displayName: "withEditModeCover__Blocker",
|
|
2202
1593
|
componentId: "sc-1gsbnxb-1"
|
|
@@ -2307,7 +1698,7 @@ module.exports = require("@splunk/visualizations-shared/colorConstants");
|
|
|
2307
1698
|
|
|
2308
1699
|
/***/ }),
|
|
2309
1700
|
|
|
2310
|
-
/***/
|
|
1701
|
+
/***/ 456:
|
|
2311
1702
|
/***/ (function(module, exports, __webpack_require__) {
|
|
2312
1703
|
|
|
2313
1704
|
"use strict";
|
|
@@ -2352,7 +1743,7 @@ Object.defineProperty(exports, "default", {
|
|
|
2352
1743
|
|
|
2353
1744
|
/***/ }),
|
|
2354
1745
|
|
|
2355
|
-
/***/
|
|
1746
|
+
/***/ 457:
|
|
2356
1747
|
/***/ (function(module, exports, __webpack_require__) {
|
|
2357
1748
|
|
|
2358
1749
|
"use strict";
|
|
@@ -2431,6 +1822,9 @@ var defaultContext = {
|
|
|
2431
1822
|
}, {
|
|
2432
1823
|
match: 'unknown',
|
|
2433
1824
|
value: 'left'
|
|
1825
|
+
}, {
|
|
1826
|
+
match: 'null',
|
|
1827
|
+
value: 'left'
|
|
2434
1828
|
}],
|
|
2435
1829
|
tableCellTypeByType: [{
|
|
2436
1830
|
match: 'string',
|
|
@@ -2453,6 +1847,9 @@ var defaultContext = {
|
|
|
2453
1847
|
}, {
|
|
2454
1848
|
match: 'unknown',
|
|
2455
1849
|
value: 'TextCell'
|
|
1850
|
+
}, {
|
|
1851
|
+
match: 'null',
|
|
1852
|
+
value: 'TextCell'
|
|
2456
1853
|
}],
|
|
2457
1854
|
// NOTE: These contexts are used by the table background color editor.
|
|
2458
1855
|
// Please be careful removing/renaming/altering them.
|
|
@@ -3044,37 +2441,630 @@ var editorConfig = [{
|
|
|
3044
2441
|
* visualization configuration
|
|
3045
2442
|
*/
|
|
3046
2443
|
|
|
3047
|
-
var config = {
|
|
3048
|
-
/**
|
|
3049
|
-
* unique viz key
|
|
3050
|
-
*/
|
|
3051
|
-
key: 'splunk.table',
|
|
2444
|
+
var config = {
|
|
2445
|
+
/**
|
|
2446
|
+
* unique viz key
|
|
2447
|
+
*/
|
|
2448
|
+
key: 'splunk.table',
|
|
2449
|
+
|
|
2450
|
+
/**
|
|
2451
|
+
* viz name
|
|
2452
|
+
*/
|
|
2453
|
+
name: 'Table',
|
|
2454
|
+
category: VizCategory_1.VizCategory.TABLE,
|
|
2455
|
+
|
|
2456
|
+
/**
|
|
2457
|
+
* viz icon
|
|
2458
|
+
*/
|
|
2459
|
+
icon: visualization_icons_1.Table,
|
|
2460
|
+
placeholderIcon: placeholders_1.Table,
|
|
2461
|
+
dataContract: dataContract,
|
|
2462
|
+
size: size,
|
|
2463
|
+
defaultContext: defaultContext,
|
|
2464
|
+
optionsSchema: optionsSchema,
|
|
2465
|
+
editorConfig: editorConfig,
|
|
2466
|
+
events: {
|
|
2467
|
+
'cell.click': {
|
|
2468
|
+
description: 'triggered when user clicks a table cell'
|
|
2469
|
+
}
|
|
2470
|
+
},
|
|
2471
|
+
supports: [VizBehavior_1.VizBehavior.DYNAMIC_OPTIONS, VizBehavior_1.VizBehavior.EVENTS, VizBehavior_1.VizBehavior.PAGE_AND_SORT, VizBehavior_1.VizBehavior.PLACEHOLDER],
|
|
2472
|
+
themes: themes
|
|
2473
|
+
};
|
|
2474
|
+
exports.default = configUtils_1.enhanceConfig(config);
|
|
2475
|
+
|
|
2476
|
+
/***/ }),
|
|
2477
|
+
|
|
2478
|
+
/***/ 458:
|
|
2479
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
2480
|
+
|
|
2481
|
+
"use strict";
|
|
2482
|
+
|
|
2483
|
+
|
|
2484
|
+
var _slicedToArray = __webpack_require__(51);
|
|
2485
|
+
|
|
2486
|
+
var _defineProperty = __webpack_require__(7);
|
|
2487
|
+
|
|
2488
|
+
var _taggedTemplateLiteral = __webpack_require__(86);
|
|
2489
|
+
|
|
2490
|
+
var _templateObject, _templateObject2;
|
|
2491
|
+
|
|
2492
|
+
var __rest = this && this.__rest || function (s, e) {
|
|
2493
|
+
var t = {};
|
|
2494
|
+
|
|
2495
|
+
for (var p in s) {
|
|
2496
|
+
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
2497
|
+
}
|
|
2498
|
+
|
|
2499
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
2500
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
2501
|
+
}
|
|
2502
|
+
return t;
|
|
2503
|
+
};
|
|
2504
|
+
|
|
2505
|
+
Object.defineProperty(exports, "__esModule", {
|
|
2506
|
+
value: true
|
|
2507
|
+
});
|
|
2508
|
+
exports.MINIMUM_COLUMN_SIZE = void 0;
|
|
2509
|
+
|
|
2510
|
+
var React = __webpack_require__(0);
|
|
2511
|
+
|
|
2512
|
+
var T = __webpack_require__(1);
|
|
2513
|
+
|
|
2514
|
+
var lodash_1 = __webpack_require__(3);
|
|
2515
|
+
|
|
2516
|
+
var styled_components_1 = __webpack_require__(4);
|
|
2517
|
+
|
|
2518
|
+
var i18n_1 = __webpack_require__(2);
|
|
2519
|
+
|
|
2520
|
+
var Table_1 = __webpack_require__(97);
|
|
2521
|
+
|
|
2522
|
+
var Paginator_1 = __webpack_require__(459);
|
|
2523
|
+
|
|
2524
|
+
var Message_1 = __webpack_require__(460);
|
|
2525
|
+
|
|
2526
|
+
var colorUtils_1 = __webpack_require__(12);
|
|
2527
|
+
|
|
2528
|
+
var style_1 = __webpack_require__(15);
|
|
2529
|
+
|
|
2530
|
+
var pick_1 = __webpack_require__(21);
|
|
2531
|
+
|
|
2532
|
+
var variables_1 = __webpack_require__(9);
|
|
2533
|
+
|
|
2534
|
+
var hooks_1 = __webpack_require__(461);
|
|
2535
|
+
|
|
2536
|
+
var consts_1 = __webpack_require__(120);
|
|
2537
|
+
|
|
2538
|
+
var cells_1 = __webpack_require__(462);
|
|
2539
|
+
|
|
2540
|
+
var getPagination_1 = __webpack_require__(29);
|
|
2541
|
+
|
|
2542
|
+
var getSorting_1 = __webpack_require__(28);
|
|
2543
|
+
|
|
2544
|
+
var FixedSizeContainer_1 = __webpack_require__(13);
|
|
2545
|
+
|
|
2546
|
+
var utils_1 = __webpack_require__(467); // debounce was imported this way due to typing
|
|
2547
|
+
// eslint-disable-next-line import/order
|
|
2548
|
+
|
|
2549
|
+
|
|
2550
|
+
var debounce = __webpack_require__(468);
|
|
2551
|
+
|
|
2552
|
+
exports.MINIMUM_COLUMN_SIZE = 30;
|
|
2553
|
+
var NonVisibleTableHead = styled_components_1.default(Table_1.default.Head).withConfig({
|
|
2554
|
+
displayName: "PureTable__NonVisibleTableHead",
|
|
2555
|
+
componentId: "tovzjg-0"
|
|
2556
|
+
})(["display:none;"]);
|
|
2557
|
+
var FixedTableHead = styled_components_1.default(Table_1.default.Head).withConfig({
|
|
2558
|
+
displayName: "PureTable__FixedTableHead",
|
|
2559
|
+
componentId: "tovzjg-1"
|
|
2560
|
+
})(["position:sticky;top:0;"]);
|
|
2561
|
+
var VizTableContainer = styled_components_1.default.div.withConfig({
|
|
2562
|
+
displayName: "PureTable__VizTableContainer",
|
|
2563
|
+
componentId: "tovzjg-2"
|
|
2564
|
+
})(["box-sizing:border-box;padding:", ";background-color:", ";display:flex;flex-flow:column nowrap;overflow:hidden;"], pick_1.default({
|
|
2565
|
+
enterprise: variables_1.default.spacingHalf,
|
|
2566
|
+
prisma: variables_1.default.spacingSmall
|
|
2567
|
+
}), function (props) {
|
|
2568
|
+
return colorUtils_1.isColor(props.backgroundColor) && props.backgroundColor || props.theme.defaultBackgroundColor;
|
|
2569
|
+
});
|
|
2570
|
+
VizTableContainer.displayName = 'VizTableContainer';
|
|
2571
|
+
var PAGINATOR_CONTAINER_HEIGHT = 38;
|
|
2572
|
+
var PAGINATOR_SPACING = 5;
|
|
2573
|
+
var SUITableContainer = styled_components_1.default.div.withConfig({
|
|
2574
|
+
displayName: "PureTable__SUITableContainer",
|
|
2575
|
+
componentId: "tovzjg-3"
|
|
2576
|
+
})(["& *{font-family:", ";font-size:", ";line-height:", ";}box-sizing:border-box;flex-grow:1;overflow:hidden;", ";", ";", " ", " & [data-fixed-column='true']{table-layout:", ";width:", ";}"], function (props) {
|
|
2577
|
+
return props.font;
|
|
2578
|
+
}, function (props) {
|
|
2579
|
+
return props.fontSize;
|
|
2580
|
+
}, function (props) {
|
|
2581
|
+
return props.lineHeight;
|
|
2582
|
+
}, function (_ref) {
|
|
2583
|
+
var width = _ref.width,
|
|
2584
|
+
height = _ref.height,
|
|
2585
|
+
isPaging = _ref.isPaging,
|
|
2586
|
+
theme = _ref.theme;
|
|
2587
|
+
var padding = pick_1.default({
|
|
2588
|
+
enterprise: variables_1.default.spacingHalf({
|
|
2589
|
+
theme: theme
|
|
2590
|
+
}),
|
|
2591
|
+
prisma: variables_1.default.spacingSmall({
|
|
2592
|
+
theme: theme
|
|
2593
|
+
})
|
|
2594
|
+
})({
|
|
2595
|
+
theme: theme
|
|
2596
|
+
});
|
|
2597
|
+
var paddingOffset = parseInt(padding, 10) * 2;
|
|
2598
|
+
return style_1.toDimension({
|
|
2599
|
+
width: width - paddingOffset,
|
|
2600
|
+
height: isPaging ? height - PAGINATOR_CONTAINER_HEIGHT - PAGINATOR_SPACING - paddingOffset : height - paddingOffset
|
|
2601
|
+
});
|
|
2602
|
+
}, function (_ref2) {
|
|
2603
|
+
var isPaging = _ref2.isPaging;
|
|
2604
|
+
return isPaging && "\n margin-bottom: ".concat(PAGINATOR_SPACING, "px;\n ");
|
|
2605
|
+
}, function (_ref3) {
|
|
2606
|
+
var headerStyle = _ref3.headerStyle;
|
|
2607
|
+
return headerStyle && headerStyle.backgroundColor && styled_components_1.css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n & [data-test='head-cell'] {\n background-color: ", ";\n }\n "])), headerStyle.backgroundColor);
|
|
2608
|
+
}, function (_ref4) {
|
|
2609
|
+
var headerStyle = _ref4.headerStyle;
|
|
2610
|
+
return headerStyle && headerStyle.color && styled_components_1.css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n & [data-test='head-cell'] > div > span {\n color: ", ";\n }\n "])), headerStyle.color);
|
|
2611
|
+
}, function (_ref5) {
|
|
2612
|
+
var widthSet = _ref5.widthSet;
|
|
2613
|
+
return widthSet ? 'fixed' : 'auto';
|
|
2614
|
+
}, function (_ref6) {
|
|
2615
|
+
var widthSet = _ref6.widthSet;
|
|
2616
|
+
return widthSet ? '0' : '100%';
|
|
2617
|
+
});
|
|
2618
|
+
SUITableContainer.displayName = 'SUITableContainer';
|
|
2619
|
+
var PaginatorContainer = styled_components_1.default.div.withConfig({
|
|
2620
|
+
displayName: "PureTable__PaginatorContainer",
|
|
2621
|
+
componentId: "tovzjg-4"
|
|
2622
|
+
})(["position:relative;text-align:right;height:", "px;"], PAGINATOR_CONTAINER_HEIGHT);
|
|
2623
|
+
PaginatorContainer.displayName = 'PaginatorContainer'; // allow for early return in case of empty tableBody while still following hook rules
|
|
2624
|
+
|
|
2625
|
+
var withEmptyTableMessage = function withEmptyTableMessage(Viz) {
|
|
2626
|
+
// TODO(fkurniawan): add omit type to differentiate WrapperProps from PureTableProps
|
|
2627
|
+
var Wrapper = function Wrapper(props) {
|
|
2628
|
+
var headers = props.headers,
|
|
2629
|
+
table = props.table,
|
|
2630
|
+
headerVisibility = props.headerVisibility,
|
|
2631
|
+
showRowNumbers = props.showRowNumbers,
|
|
2632
|
+
showInternalFields = props.showInternalFields,
|
|
2633
|
+
tableFormat = props.tableFormat,
|
|
2634
|
+
columnFormat = props.columnFormat;
|
|
2635
|
+
|
|
2636
|
+
var _hooks_1$useTable = hooks_1.useTable({
|
|
2637
|
+
headers: headers,
|
|
2638
|
+
table: table,
|
|
2639
|
+
headerVisibility: headerVisibility,
|
|
2640
|
+
showRowNumbers: showRowNumbers,
|
|
2641
|
+
showInternalFields: showInternalFields,
|
|
2642
|
+
tableFormat: Object.assign(Object.assign(Object.assign(Object.assign({}, tableFormat), (tableFormat === null || tableFormat === void 0 ? void 0 : tableFormat.align) && {
|
|
2643
|
+
align: lodash_1.cloneDeep(tableFormat.align)
|
|
2644
|
+
}), (tableFormat === null || tableFormat === void 0 ? void 0 : tableFormat.cellTypes) && {
|
|
2645
|
+
cellTypes: lodash_1.cloneDeep(tableFormat.cellTypes)
|
|
2646
|
+
}), (tableFormat === null || tableFormat === void 0 ? void 0 : tableFormat.data) && {
|
|
2647
|
+
data: lodash_1.cloneDeep(tableFormat.data)
|
|
2648
|
+
}),
|
|
2649
|
+
columnFormat: columnFormat
|
|
2650
|
+
}),
|
|
2651
|
+
tableHeader = _hooks_1$useTable.tableHeader,
|
|
2652
|
+
tableBody = _hooks_1$useTable.tableBody;
|
|
2653
|
+
|
|
2654
|
+
if (tableBody.rows.length === 0) {
|
|
2655
|
+
return React.createElement(Message_1.default, {
|
|
2656
|
+
type: "warning"
|
|
2657
|
+
}, i18n_1._('No data!'));
|
|
2658
|
+
}
|
|
2659
|
+
|
|
2660
|
+
return React.createElement(Viz, Object.assign({}, props, {
|
|
2661
|
+
tableHeader: tableHeader,
|
|
2662
|
+
tableBody: tableBody
|
|
2663
|
+
}));
|
|
2664
|
+
};
|
|
2665
|
+
|
|
2666
|
+
Wrapper.displayName = 'PureTableWrapper';
|
|
2667
|
+
return Wrapper;
|
|
2668
|
+
};
|
|
2669
|
+
|
|
2670
|
+
var useTableHead = function useTableHead(visibility) {
|
|
2671
|
+
if (visibility === 'none') {
|
|
2672
|
+
return NonVisibleTableHead;
|
|
2673
|
+
}
|
|
2674
|
+
|
|
2675
|
+
if (visibility === 'fixed') {
|
|
2676
|
+
return FixedTableHead;
|
|
2677
|
+
}
|
|
2678
|
+
|
|
2679
|
+
return Table_1.default.Head;
|
|
2680
|
+
};
|
|
2681
|
+
|
|
2682
|
+
var HeadCell = function HeadCell(_a) {
|
|
2683
|
+
var setTempColumnWidth = _a.setTempColumnWidth,
|
|
2684
|
+
setRemainingWidth = _a.setRemainingWidth,
|
|
2685
|
+
value = _a.value,
|
|
2686
|
+
widthSet = _a.widthSet,
|
|
2687
|
+
headerVisibility = _a.headerVisibility,
|
|
2688
|
+
props = __rest(_a, ["setTempColumnWidth", "setRemainingWidth", "value", "widthSet", "headerVisibility"]);
|
|
2689
|
+
|
|
2690
|
+
var cellRef = React.useRef(null);
|
|
2691
|
+
React.useEffect(function () {
|
|
2692
|
+
if (!widthSet && cellRef.current && cellRef.current.clientWidth >= 0 && headerVisibility !== 'none') {
|
|
2693
|
+
setTempColumnWidth(function (columnWidth) {
|
|
2694
|
+
return Object.assign(Object.assign({}, columnWidth), _defineProperty({}, value, {
|
|
2695
|
+
width: cellRef.current.clientWidth
|
|
2696
|
+
}));
|
|
2697
|
+
});
|
|
2698
|
+
setRemainingWidth(function (prevWidth) {
|
|
2699
|
+
return prevWidth + Math.max(props.width ? cellRef.current.clientWidth - props.width : 0, 0);
|
|
2700
|
+
});
|
|
2701
|
+
}
|
|
2702
|
+
});
|
|
2703
|
+
return React.createElement(Table_1.default.HeadCell, Object.assign({
|
|
2704
|
+
elementRef: cellRef
|
|
2705
|
+
}, props), value);
|
|
2706
|
+
};
|
|
2707
|
+
|
|
2708
|
+
var fontMap = {
|
|
2709
|
+
proportional: 'Splunk Platform Sans',
|
|
2710
|
+
monospace: 'Splunk Platform Mono'
|
|
2711
|
+
};
|
|
2712
|
+
var fontSizeMap = {
|
|
2713
|
+
extraSmall: '10px',
|
|
2714
|
+
small: '12px',
|
|
2715
|
+
default: '14px',
|
|
2716
|
+
large: '16px'
|
|
2717
|
+
};
|
|
2718
|
+
var rowHeightMap = {
|
|
2719
|
+
extraSmall: '12px',
|
|
2720
|
+
small: '12px',
|
|
2721
|
+
default: '20px',
|
|
2722
|
+
large: '24px'
|
|
2723
|
+
};
|
|
2724
|
+
|
|
2725
|
+
var PureTable = function PureTable(props) {
|
|
2726
|
+
var count = props.count,
|
|
2727
|
+
width = props.width,
|
|
2728
|
+
height = props.height,
|
|
2729
|
+
backgroundColor = props.backgroundColor,
|
|
2730
|
+
tableHeader = props.tableHeader,
|
|
2731
|
+
tableBody = props.tableBody,
|
|
2732
|
+
showRowNumbers = props.showRowNumbers,
|
|
2733
|
+
_props$sortParams = props.sortParams,
|
|
2734
|
+
currentSortKey = _props$sortParams.currentSortKey,
|
|
2735
|
+
currentSortDir = _props$sortParams.currentSortDir,
|
|
2736
|
+
onSort = _props$sortParams.onSort,
|
|
2737
|
+
_a = props.paginatorParams,
|
|
2738
|
+
isPaging = _a.isPaging,
|
|
2739
|
+
paginatorOnChange = _a.onChange,
|
|
2740
|
+
paginatorProps = __rest(_a, ["isPaging", "onChange"]),
|
|
2741
|
+
onCellClick = props.onCellClick,
|
|
2742
|
+
onColumnFormatChange = props.onColumnFormatChange,
|
|
2743
|
+
columnFormat = props.columnFormat,
|
|
2744
|
+
mode = props.mode,
|
|
2745
|
+
headerVisibility = props.headerVisibility,
|
|
2746
|
+
font = props.font,
|
|
2747
|
+
fontSize = props.fontSize;
|
|
2748
|
+
|
|
2749
|
+
var _React$useState = React.useState(columnFormat),
|
|
2750
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
2751
|
+
columns = _React$useState2[0],
|
|
2752
|
+
setColumns = _React$useState2[1];
|
|
2753
|
+
|
|
2754
|
+
var _React$useState3 = React.useState(columnFormat),
|
|
2755
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
2756
|
+
tempColumns = _React$useState4[0],
|
|
2757
|
+
setTempColumns = _React$useState4[1];
|
|
2758
|
+
|
|
2759
|
+
var _React$useState5 = React.useState(0),
|
|
2760
|
+
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
2761
|
+
remainingWidth = _React$useState6[0],
|
|
2762
|
+
setRemainingWidth = _React$useState6[1];
|
|
2763
|
+
|
|
2764
|
+
var numColumnsWithoutWidth = Object.keys(tempColumns).reduce(function (acc, key) {
|
|
2765
|
+
var _a;
|
|
2766
|
+
|
|
2767
|
+
if ((_a = columns[key]) === null || _a === void 0 ? void 0 : _a.width) {
|
|
2768
|
+
return acc;
|
|
2769
|
+
}
|
|
2770
|
+
|
|
2771
|
+
return acc + 1;
|
|
2772
|
+
}, 0);
|
|
2773
|
+
var containerRef = React.useRef(null);
|
|
2774
|
+
var containerRefInner = React.useRef(null);
|
|
2775
|
+
var widthRef = React.useRef(0);
|
|
2776
|
+
var widthSet = tableHeader.cells.length === tableHeader.cells.filter(function (_ref7) {
|
|
2777
|
+
var value = _ref7.value,
|
|
2778
|
+
showCell = _ref7.showCell;
|
|
2779
|
+
|
|
2780
|
+
var _a, _b;
|
|
2781
|
+
|
|
2782
|
+
return ((_a = columns[value]) === null || _a === void 0 ? void 0 : _a.width) !== undefined || ((_b = tempColumns[value]) === null || _b === void 0 ? void 0 : _b.width) !== undefined || !showCell;
|
|
2783
|
+
}).length;
|
|
2784
|
+
React.useEffect(function () {
|
|
2785
|
+
if (containerRef.current && containerRef.current.clientWidth !== widthRef.current) {
|
|
2786
|
+
widthRef.current = containerRef.current.clientWidth;
|
|
2787
|
+
recalculateTempColumnWidths();
|
|
2788
|
+
}
|
|
2789
|
+
});
|
|
2790
|
+
var firstRenderCount = React.useRef(count);
|
|
2791
|
+
React.useEffect(function () {
|
|
2792
|
+
if (firstRenderCount.current !== count) {
|
|
2793
|
+
firstRenderCount.current = count;
|
|
2794
|
+
paginatorOnChange(null, {
|
|
2795
|
+
count: count
|
|
2796
|
+
});
|
|
2797
|
+
}
|
|
2798
|
+
}, [count, paginatorProps]);
|
|
2799
|
+
var stringifiedColumnFormat = JSON.stringify(columnFormat);
|
|
2800
|
+
var columnFormatRef = React.useRef(stringifiedColumnFormat);
|
|
2801
|
+
var modeRef = React.useRef(mode);
|
|
2802
|
+
React.useEffect(function () {
|
|
2803
|
+
if (modeRef.current !== mode || columnFormatRef.current !== stringifiedColumnFormat) {
|
|
2804
|
+
columnFormatRef.current = stringifiedColumnFormat;
|
|
2805
|
+
modeRef.current = mode;
|
|
2806
|
+
setColumns(columnFormat);
|
|
2807
|
+
}
|
|
2808
|
+
}, [mode, stringifiedColumnFormat]);
|
|
2809
|
+
var TableHead = useTableHead(headerVisibility);
|
|
2810
|
+
var debouncedDrilldown = debounce(function (e, payload) {
|
|
2811
|
+
if (window.getSelection().toString() === '') {
|
|
2812
|
+
if (lodash_1.isFunction(onCellClick)) {
|
|
2813
|
+
onCellClick({
|
|
2814
|
+
e: e,
|
|
2815
|
+
payload: payload
|
|
2816
|
+
});
|
|
2817
|
+
}
|
|
2818
|
+
}
|
|
2819
|
+
}, 200);
|
|
2820
|
+
var drilldownHandler = React.useCallback(function (e) {
|
|
2821
|
+
var element = e.target;
|
|
2822
|
+
var row = element.getAttribute('data-row-index');
|
|
2823
|
+
var col = element.getAttribute('data-col-index');
|
|
2824
|
+
var arrayIndex = element.getAttribute('data-array-index') || -1;
|
|
2825
|
+
|
|
2826
|
+
if (row && col) {
|
|
2827
|
+
var cellRefIndex = +col;
|
|
2828
|
+
var cellIndex = cellRefIndex;
|
|
2829
|
+
var rowIndex = +row;
|
|
2830
|
+
var fieldValue = tableHeader.cells[cellRefIndex].value;
|
|
2831
|
+
var cellValue = tableBody.rows[rowIndex].cells[cellRefIndex].value;
|
|
2832
|
+
var cellRawValue = tableBody.rows[rowIndex].cells[cellRefIndex].value;
|
|
2833
|
+
var value = arrayIndex === -1 ? cellValue : cellRawValue[+arrayIndex]; // Wish we did not have these if statements for
|
|
2834
|
+
// showRowNumbers
|
|
2835
|
+
|
|
2836
|
+
if (showRowNumbers === true) {
|
|
2837
|
+
if (cellIndex === 0) {
|
|
2838
|
+
// no click event for row numbers
|
|
2839
|
+
return;
|
|
2840
|
+
}
|
|
2841
|
+
|
|
2842
|
+
cellIndex -= 1;
|
|
2843
|
+
}
|
|
2844
|
+
|
|
2845
|
+
var payload = {
|
|
2846
|
+
cellIndex: cellIndex,
|
|
2847
|
+
rowIndex: rowIndex,
|
|
2848
|
+
fieldValue: fieldValue,
|
|
2849
|
+
cellValue: cellValue,
|
|
2850
|
+
cellRawValue: cellRawValue,
|
|
2851
|
+
value: value,
|
|
2852
|
+
name: fieldValue
|
|
2853
|
+
};
|
|
2854
|
+
tableBody.rows[rowIndex].cells.forEach(function (c, index) {
|
|
2855
|
+
var rowToken = "row.".concat(tableHeader.cells[index].value, ".value");
|
|
2856
|
+
payload[rowToken] = c.value;
|
|
2857
|
+
});
|
|
2858
|
+
debouncedDrilldown(e.nativeEvent, payload);
|
|
2859
|
+
}
|
|
2860
|
+
}, [onCellClick, showRowNumbers, tableHeader, tableBody]);
|
|
2861
|
+
var debouncedOnColumnFormatChange = React.useMemo(function () {
|
|
2862
|
+
return debounce(function (newFormat) {
|
|
2863
|
+
onColumnFormatChange(newFormat);
|
|
2864
|
+
}, 300);
|
|
2865
|
+
}, [onColumnFormatChange]);
|
|
2866
|
+
|
|
2867
|
+
var handleResizeColumn = function handleResizeColumn(_event, payload) {
|
|
2868
|
+
var updatedCF = columns;
|
|
2869
|
+
var field = payload.columnId;
|
|
2870
|
+
updatedCF[field] = Object.assign(Object.assign({}, updatedCF[field]), {
|
|
2871
|
+
width: Math.max(payload.width, exports.MINIMUM_COLUMN_SIZE)
|
|
2872
|
+
});
|
|
2873
|
+
setColumns(Object.assign({}, updatedCF));
|
|
2874
|
+
recalculateTempColumnWidths(); // Updates column json in edit mode
|
|
3052
2875
|
|
|
3053
|
-
|
|
3054
|
-
|
|
3055
|
-
|
|
3056
|
-
|
|
3057
|
-
category: VizCategory_1.VizCategory.TABLE,
|
|
2876
|
+
if (mode === 'edit') {
|
|
2877
|
+
debouncedOnColumnFormatChange(updatedCF);
|
|
2878
|
+
}
|
|
2879
|
+
};
|
|
3058
2880
|
|
|
3059
|
-
|
|
3060
|
-
|
|
3061
|
-
|
|
3062
|
-
|
|
3063
|
-
placeholderIcon: placeholders_1.Table,
|
|
3064
|
-
dataContract: dataContract,
|
|
3065
|
-
size: size,
|
|
3066
|
-
defaultContext: defaultContext,
|
|
3067
|
-
optionsSchema: optionsSchema,
|
|
3068
|
-
editorConfig: editorConfig,
|
|
3069
|
-
events: {
|
|
3070
|
-
'cell.click': {
|
|
3071
|
-
description: 'triggered when user clicks a table cell'
|
|
2881
|
+
var handleEventClick = function handleEventClick(e) {
|
|
2882
|
+
// Hack to target the resize handlers, since the only button within a HeadCell is the resize handlers
|
|
2883
|
+
if (e.target.tagName.toLowerCase() === 'button') {
|
|
2884
|
+
e.stopPropagation();
|
|
3072
2885
|
}
|
|
2886
|
+
};
|
|
2887
|
+
|
|
2888
|
+
var recalculateTempColumnWidths = function recalculateTempColumnWidths() {
|
|
2889
|
+
setTempColumns({});
|
|
2890
|
+
setRemainingWidth(0);
|
|
2891
|
+
};
|
|
2892
|
+
|
|
2893
|
+
var withColumnResizing = function withColumnResizing(func) {
|
|
2894
|
+
return function (e, additionalParams) {
|
|
2895
|
+
recalculateTempColumnWidths();
|
|
2896
|
+
func(e, additionalParams);
|
|
2897
|
+
};
|
|
2898
|
+
};
|
|
2899
|
+
|
|
2900
|
+
var fontMapped = fontMap[font] || fontMap.proportional;
|
|
2901
|
+
var fontSizeMapped = fontSizeMap[fontSize] || fontSizeMap.default;
|
|
2902
|
+
var rowHeightMapped = rowHeightMap[fontSize] || rowHeightMap.default;
|
|
2903
|
+
return React.createElement(VizTableContainer, {
|
|
2904
|
+
backgroundColor: backgroundColor,
|
|
2905
|
+
ref: containerRef
|
|
2906
|
+
}, React.createElement(SUITableContainer, {
|
|
2907
|
+
ref: containerRefInner,
|
|
2908
|
+
width: width,
|
|
2909
|
+
height: height,
|
|
2910
|
+
isPaging: isPaging,
|
|
2911
|
+
headerStyle: tableHeader.style,
|
|
2912
|
+
widthSet: widthSet,
|
|
2913
|
+
font: fontMapped,
|
|
2914
|
+
fontSize: fontSizeMapped,
|
|
2915
|
+
lineHeight: rowHeightMapped
|
|
2916
|
+
}, React.createElement(Table_1.default, {
|
|
2917
|
+
headType: headerVisibility !== 'none' ? 'inline' : undefined,
|
|
2918
|
+
innerStyle: {
|
|
2919
|
+
height: '100%'
|
|
2920
|
+
},
|
|
2921
|
+
outerStyle: {
|
|
2922
|
+
height: '100%',
|
|
2923
|
+
cursor: onCellClick ? 'pointer' : 'unset'
|
|
2924
|
+
},
|
|
2925
|
+
onClick: onCellClick ? drilldownHandler : lodash_1.noop,
|
|
2926
|
+
onRequestResizeColumn: handleResizeColumn
|
|
2927
|
+
}, React.createElement(TableHead, null, tableHeader.cells.filter(function (c) {
|
|
2928
|
+
return c.showCell;
|
|
2929
|
+
}).map(function (_a) {
|
|
2930
|
+
var key = _a.key,
|
|
2931
|
+
value = _a.value,
|
|
2932
|
+
sortKey = _a.sortKey,
|
|
2933
|
+
rest = __rest(_a, ["key", "value", "sortKey"]);
|
|
2934
|
+
|
|
2935
|
+
return React.createElement(HeadCell, Object.assign({
|
|
2936
|
+
key: key,
|
|
2937
|
+
columnId: value,
|
|
2938
|
+
sortDir: sortKey === currentSortKey ? currentSortDir : 'none',
|
|
2939
|
+
width: utils_1.getColumnWidth({
|
|
2940
|
+
columns: columns,
|
|
2941
|
+
tempColumns: tempColumns,
|
|
2942
|
+
columnName: value,
|
|
2943
|
+
remainingWidth: remainingWidth,
|
|
2944
|
+
numColumnsWithoutWidth: numColumnsWithoutWidth
|
|
2945
|
+
}),
|
|
2946
|
+
onMouseDown: handleEventClick,
|
|
2947
|
+
value: value,
|
|
2948
|
+
setTempColumnWidth: setTempColumns,
|
|
2949
|
+
widthSet: widthSet,
|
|
2950
|
+
onSort: withColumnResizing(onSort),
|
|
2951
|
+
headerVisibility: headerVisibility,
|
|
2952
|
+
setRemainingWidth: setRemainingWidth
|
|
2953
|
+
}, Object.assign({
|
|
2954
|
+
sortKey: sortKey
|
|
2955
|
+
}, rest)));
|
|
2956
|
+
})), React.createElement(Table_1.default.Body, null, tableBody.rows.map(function (row) {
|
|
2957
|
+
return React.createElement(Table_1.default.Row, {
|
|
2958
|
+
key: row.key
|
|
2959
|
+
}, row.cells.filter(function (c) {
|
|
2960
|
+
return c.showCell;
|
|
2961
|
+
}).map(function (cell) {
|
|
2962
|
+
return React.createElement(cells_1.SwitchTableCell, {
|
|
2963
|
+
key: cell.key,
|
|
2964
|
+
type: cell.cellType
|
|
2965
|
+
}, React.createElement(cells_1.TextCell, {
|
|
2966
|
+
cell: cell,
|
|
2967
|
+
useMouseOverEffect: !!onCellClick,
|
|
2968
|
+
width: utils_1.getColumnWidth({
|
|
2969
|
+
columns: columns,
|
|
2970
|
+
tempColumns: tempColumns,
|
|
2971
|
+
columnName: cell.header,
|
|
2972
|
+
remainingWidth: remainingWidth,
|
|
2973
|
+
numColumnsWithoutWidth: numColumnsWithoutWidth
|
|
2974
|
+
})
|
|
2975
|
+
}), React.createElement(cells_1.SparklineCell, {
|
|
2976
|
+
cell: cell,
|
|
2977
|
+
useMouseOverEffect: !!onCellClick,
|
|
2978
|
+
width: utils_1.getColumnWidth({
|
|
2979
|
+
columns: columns,
|
|
2980
|
+
tempColumns: tempColumns,
|
|
2981
|
+
columnName: cell.header,
|
|
2982
|
+
remainingWidth: remainingWidth,
|
|
2983
|
+
numColumnsWithoutWidth: numColumnsWithoutWidth
|
|
2984
|
+
})
|
|
2985
|
+
}), React.createElement(cells_1.ArrayCell, {
|
|
2986
|
+
cell: cell,
|
|
2987
|
+
useMouseOverEffect: !!onCellClick,
|
|
2988
|
+
width: utils_1.getColumnWidth({
|
|
2989
|
+
columns: columns,
|
|
2990
|
+
tempColumns: tempColumns,
|
|
2991
|
+
columnName: cell.header,
|
|
2992
|
+
remainingWidth: remainingWidth,
|
|
2993
|
+
numColumnsWithoutWidth: numColumnsWithoutWidth
|
|
2994
|
+
})
|
|
2995
|
+
}));
|
|
2996
|
+
}));
|
|
2997
|
+
})))), isPaging ? React.createElement(PaginatorContainer, null, React.createElement(Paginator_1.default, Object.assign({
|
|
2998
|
+
onChange: withColumnResizing(paginatorOnChange)
|
|
2999
|
+
}, paginatorProps))) : null);
|
|
3000
|
+
};
|
|
3001
|
+
|
|
3002
|
+
var cellDataType = T.oneOfType([T.string, T.number, T.arrayOf(T.oneOfType([T.string, T.number]))]);
|
|
3003
|
+
PureTable.propTypes = {
|
|
3004
|
+
backgroundColor: T.string,
|
|
3005
|
+
count: T.number,
|
|
3006
|
+
columnFormat: T.objectOf(T.shape({
|
|
3007
|
+
align: T.arrayOf(T.oneOf(consts_1.validAlignments)),
|
|
3008
|
+
cellTypes: T.arrayOf(T.oneOf(consts_1.validCellRenderers)),
|
|
3009
|
+
data: T.arrayOf(cellDataType),
|
|
3010
|
+
rowBackgroundColors: T.arrayOf(T.string),
|
|
3011
|
+
rowColors: T.arrayOf(T.string),
|
|
3012
|
+
sparklineAreaColors: T.arrayOf(T.string),
|
|
3013
|
+
sparklineColors: T.arrayOf(T.string),
|
|
3014
|
+
sparklineTypes: T.arrayOf(T.oneOf(consts_1.validSparklineTypes))
|
|
3015
|
+
})),
|
|
3016
|
+
headers: T.arrayOf(T.string),
|
|
3017
|
+
headerVisibility: T.oneOf(consts_1.validHeaderVisibilities),
|
|
3018
|
+
height: T.oneOfType([T.number]),
|
|
3019
|
+
mode: T.string,
|
|
3020
|
+
onCellClick: T.func,
|
|
3021
|
+
paginatorParams: getPagination_1.PaginatorParamsPropTypes,
|
|
3022
|
+
showRowNumbers: T.bool,
|
|
3023
|
+
sortParams: getSorting_1.SortParamsPropTypes,
|
|
3024
|
+
table: T.arrayOf(T.arrayOf(cellDataType)),
|
|
3025
|
+
tableFormat: T.shape({
|
|
3026
|
+
align: T.arrayOf(T.arrayOf(T.oneOf(consts_1.validAlignments))),
|
|
3027
|
+
cellTypes: T.arrayOf(T.arrayOf(T.oneOf(consts_1.validCellRenderers))),
|
|
3028
|
+
data: T.arrayOf(T.arrayOf(cellDataType)),
|
|
3029
|
+
headerBackgroundColor: T.string,
|
|
3030
|
+
headerColor: T.string,
|
|
3031
|
+
rowBackgroundColors: T.oneOfType([T.arrayOf(T.string), T.arrayOf(T.arrayOf(T.string))]),
|
|
3032
|
+
rowColors: T.oneOfType([T.arrayOf(T.string), T.arrayOf(T.arrayOf(T.string))]),
|
|
3033
|
+
sparklineAreaColors: T.arrayOf(T.arrayOf(T.string)),
|
|
3034
|
+
sparklineColors: T.arrayOf(T.arrayOf(T.string)),
|
|
3035
|
+
sparklineTypes: T.arrayOf(T.arrayOf(T.oneOf(consts_1.validSparklineTypes)))
|
|
3036
|
+
}),
|
|
3037
|
+
theme: T.any,
|
|
3038
|
+
width: T.oneOfType([T.number]),
|
|
3039
|
+
onColumnFormatChange: T.func,
|
|
3040
|
+
font: T.string,
|
|
3041
|
+
fontSize: T.string
|
|
3042
|
+
};
|
|
3043
|
+
PureTable.defaultProps = {
|
|
3044
|
+
columnFormat: {},
|
|
3045
|
+
headers: [],
|
|
3046
|
+
headerVisibility: 'inline',
|
|
3047
|
+
height: 300,
|
|
3048
|
+
mode: 'view',
|
|
3049
|
+
onCellClick: null,
|
|
3050
|
+
paginatorParams: {
|
|
3051
|
+
isPaging: false,
|
|
3052
|
+
onChange: lodash_1.noop
|
|
3073
3053
|
},
|
|
3074
|
-
|
|
3075
|
-
|
|
3054
|
+
showRowNumbers: false,
|
|
3055
|
+
sortParams: {
|
|
3056
|
+
onSort: lodash_1.noop
|
|
3057
|
+
},
|
|
3058
|
+
table: [],
|
|
3059
|
+
tableFormat: {},
|
|
3060
|
+
theme: {},
|
|
3061
|
+
width: 300,
|
|
3062
|
+
onColumnFormatChange: lodash_1.noop,
|
|
3063
|
+
font: fontMap.proportional,
|
|
3064
|
+
fontSize: fontSizeMap.default
|
|
3076
3065
|
};
|
|
3077
|
-
|
|
3066
|
+
PureTable.displayName = 'VizTable';
|
|
3067
|
+
exports.default = withEmptyTableMessage(FixedSizeContainer_1.default(PureTable));
|
|
3078
3068
|
|
|
3079
3069
|
/***/ }),
|
|
3080
3070
|
|
|
@@ -3593,7 +3583,7 @@ exports.TextCell = void 0;
|
|
|
3593
3583
|
|
|
3594
3584
|
var React = __webpack_require__(0);
|
|
3595
3585
|
|
|
3596
|
-
var Table_1 = __webpack_require__(
|
|
3586
|
+
var Table_1 = __webpack_require__(97);
|
|
3597
3587
|
|
|
3598
3588
|
var TextCell = function TextCell(_ref) {
|
|
3599
3589
|
var cell = _ref.cell,
|
|
@@ -3629,7 +3619,7 @@ exports.ArrayCell = void 0;
|
|
|
3629
3619
|
|
|
3630
3620
|
var React = __webpack_require__(0);
|
|
3631
3621
|
|
|
3632
|
-
var Table_1 = __webpack_require__(
|
|
3622
|
+
var Table_1 = __webpack_require__(97);
|
|
3633
3623
|
|
|
3634
3624
|
var ArrayCell = function ArrayCell(_ref) {
|
|
3635
3625
|
var cell = _ref.cell,
|
|
@@ -3673,9 +3663,9 @@ exports.SparklineCell = exports.validSparklineTypes = void 0;
|
|
|
3673
3663
|
|
|
3674
3664
|
var React = __webpack_require__(0);
|
|
3675
3665
|
|
|
3676
|
-
var Table_1 = __webpack_require__(
|
|
3666
|
+
var Table_1 = __webpack_require__(97);
|
|
3677
3667
|
|
|
3678
|
-
var Line_1 = __webpack_require__(
|
|
3668
|
+
var Line_1 = __webpack_require__(98);
|
|
3679
3669
|
|
|
3680
3670
|
var paddingLeftRight = 5;
|
|
3681
3671
|
var paddingTopBottom = 3;
|
|
@@ -3760,9 +3750,7 @@ exports.SparklineCell.displayName = 'SparklineCell';
|
|
|
3760
3750
|
Object.defineProperty(exports, "__esModule", {
|
|
3761
3751
|
value: true
|
|
3762
3752
|
});
|
|
3763
|
-
exports.
|
|
3764
|
-
|
|
3765
|
-
var PureTable_1 = __webpack_require__(151);
|
|
3753
|
+
exports.getColumnWidth = void 0;
|
|
3766
3754
|
|
|
3767
3755
|
var getColumnWidth = function getColumnWidth(_ref) {
|
|
3768
3756
|
var columns = _ref.columns,
|
|
@@ -3785,7 +3773,8 @@ var getColumnWidth = function getColumnWidth(_ref) {
|
|
|
3785
3773
|
|
|
3786
3774
|
|
|
3787
3775
|
if (numColumnsWithoutWidth !== 0) {
|
|
3788
|
-
|
|
3776
|
+
// Math.max() was needed because existing tests expected 0 as an outcome so if the calculation is -1 it puts it back up to 0
|
|
3777
|
+
return Math.max(Math.ceil(((_e = tempColumns[columnName]) === null || _e === void 0 ? void 0 : _e.width) + remainingWidth / numColumnsWithoutWidth) - 1, 0);
|
|
3789
3778
|
} // No columns have a width in the dashboard definition
|
|
3790
3779
|
|
|
3791
3780
|
|
|
@@ -3793,55 +3782,6 @@ var getColumnWidth = function getColumnWidth(_ref) {
|
|
|
3793
3782
|
};
|
|
3794
3783
|
|
|
3795
3784
|
exports.getColumnWidth = getColumnWidth;
|
|
3796
|
-
/**
|
|
3797
|
-
* * Gets the width of the right most column
|
|
3798
|
-
* @param containerRefInnerWidth width of the table
|
|
3799
|
-
* @param lastShowingTableHeadersID id of the last table header
|
|
3800
|
-
* @param columns columns
|
|
3801
|
-
* @param tempColumns tempColumns runtime calculation of columns
|
|
3802
|
-
* @param firstShowingTableHeadersID id of the first table header
|
|
3803
|
-
* @returns number width of the last column
|
|
3804
|
-
*/
|
|
3805
|
-
|
|
3806
|
-
var getLastColumnWidth = function getLastColumnWidth(containerRefInnerWidth, lastShowingTableHeadersID, columns, tempColumns, firstShowingTableHeadersID) {
|
|
3807
|
-
var _a, _b, _c, _d; // save the width of the last column from either columns ( first as thats user defined ) then tempColumns ( created at runtime )
|
|
3808
|
-
|
|
3809
|
-
|
|
3810
|
-
var knownWidthOfLastColumn = ((_a = columns[lastShowingTableHeadersID]) === null || _a === void 0 ? void 0 : _a.width) || ((_b = tempColumns[lastShowingTableHeadersID]) === null || _b === void 0 ? void 0 : _b.width) || 0;
|
|
3811
|
-
var currentWidthSansLastColumn = 0; // calculate the width of all the column except the last column
|
|
3812
|
-
|
|
3813
|
-
Object.keys(tempColumns).forEach(function (key) {
|
|
3814
|
-
var _a;
|
|
3815
|
-
|
|
3816
|
-
if (key !== lastShowingTableHeadersID) {
|
|
3817
|
-
currentWidthSansLastColumn += ((_a = tempColumns[key]) === null || _a === void 0 ? void 0 : _a.width) || 0;
|
|
3818
|
-
}
|
|
3819
|
-
});
|
|
3820
|
-
Object.keys(columns).forEach(function (key) {
|
|
3821
|
-
var _a, _b, _c;
|
|
3822
|
-
|
|
3823
|
-
if (key !== lastShowingTableHeadersID) {
|
|
3824
|
-
if (((_a = tempColumns[key]) === null || _a === void 0 ? void 0 : _a.width) && ((_b = columns[key]) === null || _b === void 0 ? void 0 : _b.width)) {
|
|
3825
|
-
currentWidthSansLastColumn -= tempColumns[key].width;
|
|
3826
|
-
currentWidthSansLastColumn += ((_c = columns[key]) === null || _c === void 0 ? void 0 : _c.width) || 0;
|
|
3827
|
-
}
|
|
3828
|
-
}
|
|
3829
|
-
}); // if the first column is not defined and the last is keep the last as the first will expand
|
|
3830
|
-
|
|
3831
|
-
if (!((_c = columns[firstShowingTableHeadersID]) === null || _c === void 0 ? void 0 : _c.width) && ((_d = columns[lastShowingTableHeadersID]) === null || _d === void 0 ? void 0 : _d.width)) {
|
|
3832
|
-
return columns[lastShowingTableHeadersID].width;
|
|
3833
|
-
} // if the width of the columns plus the last column is smaller than the table return the difference
|
|
3834
|
-
// so as to expand the last column
|
|
3835
|
-
|
|
3836
|
-
|
|
3837
|
-
if (currentWidthSansLastColumn + knownWidthOfLastColumn < containerRefInnerWidth && knownWidthOfLastColumn) {
|
|
3838
|
-
return Math.max(PureTable_1.MINIMUM_COLUMN_SIZE, containerRefInnerWidth - currentWidthSansLastColumn);
|
|
3839
|
-
}
|
|
3840
|
-
|
|
3841
|
-
return knownWidthOfLastColumn;
|
|
3842
|
-
};
|
|
3843
|
-
|
|
3844
|
-
exports.getLastColumnWidth = getLastColumnWidth;
|
|
3845
3785
|
|
|
3846
3786
|
/***/ }),
|
|
3847
3787
|
|
|
@@ -3939,14 +3879,14 @@ module.exports = require("@splunk/themes/variables");
|
|
|
3939
3879
|
|
|
3940
3880
|
/***/ }),
|
|
3941
3881
|
|
|
3942
|
-
/***/
|
|
3882
|
+
/***/ 97:
|
|
3943
3883
|
/***/ (function(module, exports) {
|
|
3944
3884
|
|
|
3945
3885
|
module.exports = require("@splunk/react-ui/Table");
|
|
3946
3886
|
|
|
3947
3887
|
/***/ }),
|
|
3948
3888
|
|
|
3949
|
-
/***/
|
|
3889
|
+
/***/ 98:
|
|
3950
3890
|
/***/ (function(module, exports) {
|
|
3951
3891
|
|
|
3952
3892
|
module.exports = require("@splunk/react-sparkline/Line");
|