@splunk/visualizations 25.0.0 → 25.0.1
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_PureVisualizations_PureMap_basic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMap_marker_layer_dynamic_color.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMap_marker_layer_static_color.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMap_marker_layer_static_color_with_no_seriesColors.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMap_scale_off.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMap_scale_unit_metric.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Area_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bar_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bubble_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_ChoroplethSvg_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Column_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Ellipse_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_FillerGauge_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Image_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Line_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_LinkGraph_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Map_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Markdown_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_MarkerGauge_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Parallel_Coordinates_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Pie_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Punchcard_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Rectangle_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Sankey_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Scatter_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Icon_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Radial_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Table_Editor.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Basic_Map.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_GET.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_GET_Dynamic_Coloring.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_Internal_Fields.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_Static_Coloring.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_Dynamic_Coloring.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Marker_layer.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Marker_layer_Dynamic_coloring.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Marker_layer_Result_Limit_Set_To_3.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Restricted_Zoom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Set_Map_tiles.png +0 -0
- package/Area.config.js +26 -1
- package/Area.config.js.map +1 -1
- package/Area.js +49 -23
- package/Area.js.map +1 -1
- package/Bar.config.js +26 -1
- package/Bar.config.js.map +1 -1
- package/Bar.js +49 -23
- package/Bar.js.map +1 -1
- package/Bubble.config.js +26 -1
- package/Bubble.config.js.map +1 -1
- package/Bubble.js +49 -23
- package/Bubble.js.map +1 -1
- package/ChoroplethSvg.config.js +27 -3
- package/ChoroplethSvg.config.js.map +1 -1
- package/ChoroplethSvg.js +73 -48
- package/ChoroplethSvg.js.map +1 -1
- package/Column.config.js +26 -1
- package/Column.config.js.map +1 -1
- package/Column.js +49 -23
- package/Column.js.map +1 -1
- package/Ellipse.config.js +26 -1
- package/Ellipse.config.js.map +1 -1
- package/Ellipse.js +58 -32
- package/Ellipse.js.map +1 -1
- package/FillerGauge.config.js +27 -2
- package/FillerGauge.config.js.map +1 -1
- package/FillerGauge.js +60 -34
- package/FillerGauge.js.map +1 -1
- package/Image.config.js +27 -3
- package/Image.config.js.map +1 -1
- package/Image.js +58 -34
- package/Image.js.map +1 -1
- package/Line.config.js +26 -1
- package/Line.config.js.map +1 -1
- package/Line.js +49 -23
- package/Line.js.map +1 -1
- package/LinkGraph.config.js +26 -1
- package/LinkGraph.config.js.map +1 -1
- package/LinkGraph.js +87 -61
- package/LinkGraph.js.map +1 -1
- package/Map.config.js +42 -5
- package/Map.config.js.map +1 -1
- package/Map.js +100 -60
- package/Map.js.map +1 -1
- package/Markdown.config.js +28 -5
- package/Markdown.config.js.map +1 -1
- package/Markdown.js +58 -35
- package/Markdown.js.map +1 -1
- package/MarkerGauge.config.js +31 -7
- package/MarkerGauge.config.js.map +1 -1
- package/MarkerGauge.js +2939 -3022
- package/MarkerGauge.js.map +1 -1
- package/ParallelCoordinates.config.js +35 -10
- package/ParallelCoordinates.config.js.map +1 -1
- package/ParallelCoordinates.js +61 -35
- package/ParallelCoordinates.js.map +1 -1
- package/Pie.config.js +32 -8
- package/Pie.config.js.map +1 -1
- package/Pie.js +2242 -2330
- package/Pie.js.map +1 -1
- package/Punchcard.config.js +28 -5
- package/Punchcard.config.js.map +1 -1
- package/Punchcard.js +72 -48
- package/Punchcard.js.map +1 -1
- package/Rectangle.config.js +28 -3
- package/Rectangle.config.js.map +1 -1
- package/Rectangle.js +155 -130
- package/Rectangle.js.map +1 -1
- package/Sankey.config.js +30 -5
- package/Sankey.config.js.map +1 -1
- package/Sankey.js +107 -82
- package/Sankey.js.map +1 -1
- package/Scatter.config.js +29 -3
- package/Scatter.config.js.map +1 -1
- package/Scatter.js +47 -22
- package/Scatter.js.map +1 -1
- package/SingleValue.config.js +33 -7
- package/SingleValue.config.js.map +1 -1
- package/SingleValue.js +63 -38
- package/SingleValue.js.map +1 -1
- package/SingleValueBasic.js +2 -2
- package/SingleValueIcon.config.js +31 -5
- package/SingleValueIcon.config.js.map +1 -1
- package/SingleValueIcon.js +71 -45
- package/SingleValueIcon.js.map +1 -1
- package/SingleValueRadial.config.js +160 -165
- package/SingleValueRadial.config.js.map +1 -1
- package/SingleValueRadial.js +112 -87
- package/SingleValueRadial.js.map +1 -1
- package/Table.config.js +31 -6
- package/Table.config.js.map +1 -1
- package/Table.js +249 -224
- package/Table.js.map +1 -1
- package/common/OptionsDoc.js +26 -1
- package/common/OptionsDoc.js.map +1 -1
- package/common/utils/configUtils.js +26 -1
- package/common/utils/configUtils.js.map +1 -1
- package/common/withDashboardViz.js +2 -2
- package/package.json +10 -10
package/Table.config.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 = 74);
|
|
91
91
|
/******/ })
|
|
92
92
|
/************************************************************************/
|
|
93
93
|
/******/ ({
|
|
@@ -125,7 +125,7 @@ var __rest = this && this.__rest || function (s, e) {
|
|
|
125
125
|
Object.defineProperty(exports, "__esModule", {
|
|
126
126
|
value: true
|
|
127
127
|
});
|
|
128
|
-
exports.insertLayout = exports.generatePrecisionValues = exports.getInitialPreset = exports.isDynamicOption = exports.enhanceOptionsSchemaWithDynamicOptions = exports.enhanceConfig = void 0;
|
|
128
|
+
exports.insertLayout = exports.uncollapseEditorConfig = exports.generatePrecisionValues = exports.getInitialPreset = exports.isDynamicOption = exports.enhanceOptionsSchemaWithDynamicOptions = exports.enhanceConfig = void 0;
|
|
129
129
|
|
|
130
130
|
var lodash_1 = __webpack_require__(5);
|
|
131
131
|
|
|
@@ -200,8 +200,10 @@ function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
|
|
|
200
200
|
exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamicOptions;
|
|
201
201
|
/**
|
|
202
202
|
* Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block
|
|
203
|
+
* this function also collapse all editor panels
|
|
203
204
|
* @param vizConfig a Visualization Config
|
|
204
205
|
* @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports
|
|
206
|
+
* and containing `open: false` for all editor panels in editorConfig
|
|
205
207
|
*/
|
|
206
208
|
|
|
207
209
|
function enhanceConfig(vizConfig) {
|
|
@@ -211,10 +213,33 @@ function enhanceConfig(vizConfig) {
|
|
|
211
213
|
enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);
|
|
212
214
|
}
|
|
213
215
|
|
|
216
|
+
enhancedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
|
|
217
|
+
return Object.assign(Object.assign({}, config), {
|
|
218
|
+
open: false
|
|
219
|
+
});
|
|
220
|
+
});
|
|
214
221
|
return enhancedConfig;
|
|
215
222
|
}
|
|
216
223
|
|
|
217
224
|
exports.enhanceConfig = enhanceConfig;
|
|
225
|
+
/**
|
|
226
|
+
* Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig
|
|
227
|
+
* Created for editor unit tests
|
|
228
|
+
* @param vizConfig a Visualization Config
|
|
229
|
+
* @returns a Visualization Config containing `open: true` for all editor panels in editorConfig
|
|
230
|
+
*/
|
|
231
|
+
|
|
232
|
+
function uncollapseEditorConfig(vizConfig) {
|
|
233
|
+
var editorPanelUncollapsedConfig = vizConfig;
|
|
234
|
+
editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
|
|
235
|
+
return Object.assign(Object.assign({}, config), {
|
|
236
|
+
open: true
|
|
237
|
+
});
|
|
238
|
+
});
|
|
239
|
+
return editorPanelUncollapsedConfig;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
exports.uncollapseEditorConfig = uncollapseEditorConfig;
|
|
218
243
|
|
|
219
244
|
function isDynamicOption(option) {
|
|
220
245
|
return option && typeof option === 'string' && option.trim().startsWith('>') || false;
|
|
@@ -427,7 +452,7 @@ var VizCategory;
|
|
|
427
452
|
|
|
428
453
|
/***/ }),
|
|
429
454
|
|
|
430
|
-
/***/
|
|
455
|
+
/***/ 74:
|
|
431
456
|
/***/ (function(module, exports, __webpack_require__) {
|
|
432
457
|
|
|
433
458
|
"use strict";
|
|
@@ -459,7 +484,7 @@ var configUtils_1 = __webpack_require__(1);
|
|
|
459
484
|
|
|
460
485
|
var VizBehavior_1 = __webpack_require__(3);
|
|
461
486
|
|
|
462
|
-
var consts_1 = __webpack_require__(
|
|
487
|
+
var consts_1 = __webpack_require__(75);
|
|
463
488
|
|
|
464
489
|
var VizCategory_1 = __webpack_require__(7);
|
|
465
490
|
|
|
@@ -1037,7 +1062,7 @@ var editorConfig = [{
|
|
|
1037
1062
|
}, {
|
|
1038
1063
|
label: i18n_1._('Column Formatting'),
|
|
1039
1064
|
layout: [[{
|
|
1040
|
-
label: i18n_1._(''),
|
|
1065
|
+
label: i18n_1._('Column-specific formatting'),
|
|
1041
1066
|
editor: 'editor.tableColumnFormatter',
|
|
1042
1067
|
editorProps: {
|
|
1043
1068
|
// Table column coloring does not adhere to same DSL structure as other dynamically colored options
|
|
@@ -1154,7 +1179,7 @@ exports.default = configUtils_1.enhanceConfig(config);
|
|
|
1154
1179
|
|
|
1155
1180
|
/***/ }),
|
|
1156
1181
|
|
|
1157
|
-
/***/
|
|
1182
|
+
/***/ 75:
|
|
1158
1183
|
/***/ (function(module, exports, __webpack_require__) {
|
|
1159
1184
|
|
|
1160
1185
|
"use strict";
|
package/Table.config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@splunk/visualizations-shared/colorConstants\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///./src/Table/config.ts","webpack:///./src/Table/consts.ts","webpack:///external \"@splunk/themes/pick\"","webpack:///external \"@splunk/themes/variables\""],"names":[],"mappings":"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","file":"Table.config.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 73);\n","module.exports = require(\"@splunk/ui-utils/i18n\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { EditorLayoutConfig } from '../interfaces/Editor';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((opt): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [opt]: patternProperties[opt] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = vizConfig;\n if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n return enhancedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * 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\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * 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\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n isDynamicOption,\n getInitialPreset,\n generatePrecisionValues,\n};\n\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n","module.exports = require(\"@splunk/visualization-icons/placeholders\");","module.exports = require(\"@splunk/visualization-icons\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/visualizations-shared/colorConstants\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n}\n","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","module.exports = require(\"lodash\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { map, get } from 'lodash';\nimport {\n COLOR_OR_TOKEN_PATTERN,\n COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n getPattern,\n} from '@splunk/visualizations-shared/schemaUtils';\nimport { COLOR_EDITOR_PALETTE } from '@splunk/visualizations-shared/colorConstants';\nimport { Table as TableIcon } from '@splunk/visualization-icons';\nimport { Table as TablePlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport variables from '@splunk/themes/variables';\nimport pick from '@splunk/themes/pick';\nimport { enhanceConfig, generatePrecisionValues } from '../common/utils/configUtils';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport {\n validHeaderVisibilities,\n validAlignments,\n validTextOverflows,\n validCellRenderers,\n validSparklineTypes,\n validFontSizes,\n} from './consts';\nimport { VizCategory } from '../common/interfaces/VizCategory';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [],\n initialRequestParams: {\n primary: (options: { count?: number } = {}): Record<string, unknown> => ({\n offset: 0,\n count: options.count ? options.count : 10,\n requestTotalCount: true,\n }),\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {\n tableAlignByType: [\n { match: 'string', value: 'left' },\n { match: 'number', value: 'right' },\n { match: 'time', value: 'left' },\n { match: 'color', value: 'left' },\n { match: 'array', value: 'left' },\n { match: 'sparkline', value: 'center' },\n { match: 'unknown', value: 'left' },\n ],\n tableCellTypeByType: [\n { match: 'string', value: 'TextCell' },\n { match: 'number', value: 'TextCell' },\n { match: 'time', value: 'TextCell' },\n { match: 'color', value: 'TextCell' },\n { match: 'array', value: 'ArrayCell' },\n { match: 'sparkline', value: 'SparklineCell' },\n { match: 'unknown', value: 'TextCell' },\n ],\n\n // NOTE: These contexts are used by the table background color editor.\n // Please be careful removing/renaming/altering them.\n // There are unit tests and visual test that will capture breakages.\n tableRowColorMaxContrast: {\n colors: ['> themes.textColor', '> themes.inverseTextColor'],\n default: '> themes.textColor',\n },\n tableRowBackgroundColorEvenConfig: {\n channel: 'hsv.v',\n value: '*0.96',\n },\n tableHeaderBackgroundColorConfig: {\n channel: 'hsv.v',\n value: '*0.9',\n },\n tableRowBackgroundColorsByTheme: ['> themes.rowBackgroundColorOdd'],\n tableAltRowBackgroundColorsByTheme: ['> themes.rowBackgroundColorOdd', '> themes.rowBackgroundColorEven'],\n tableRowBackgroundColorsByBackgroundColor: ['> backgroundColor'],\n tableAltRowBackgroundColorsByBackgroundColor: [\n '> backgroundColor',\n '> backgroundColor | setColorChannel(tableRowBackgroundColorEvenConfig)',\n ],\n};\n\nconst unitPositionConfig = {\n label: _('Units Position'),\n editor: 'editor.select',\n option: 'unitPosition',\n editorProps: {\n values: [\n { label: _('Before'), value: 'before' },\n { label: _('After'), value: 'after' },\n ],\n },\n};\n\nconst unitLabelConfig = {\n label: _('Unit Label'),\n option: 'unit',\n editor: 'editor.text',\n};\n\nconst timeFormattingConfig = {\n label: _('Date & Time Formatting'),\n option: 'format',\n editor: 'editor.text',\n editorProps: {\n tooltip: _('For example: DD-MM-YYYY'),\n },\n};\n\nconst sequentialColorConfig = [\n { to: 20, value: '#D41F1F' },\n { from: 20, to: 40, value: '#D94E17' },\n { from: 40, to: 60, value: '#CBA700' },\n { from: 60, to: 80, value: '#669922' },\n { from: 80, value: '#118832' },\n];\n\nconst matchColorConfig = [{ match: '', value: '#5C33FF' }];\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color for the background. You might use a data source to apply the color. The default for enterprise light is \"#FFFFFF\". The default for enterprise dark is \"#000000\". The default for prisma dark is \"#0B0C0E\".',\n pattern: COLOR_OR_TOKEN_PATTERN,\n type: 'string',\n },\n columnFormat: {\n description: 'Allows column formatting for individual columns.',\n type: 'object',\n patternProperties: {\n '.*': {\n description: 'Customization for column property',\n type: 'object',\n properties: {\n align: {\n description:\n 'Specify the alignment for each cell in a column. Valid alignments include \"left\", \"center\", and \"right\".',\n type: 'array',\n items: {\n type: 'string',\n enum: validAlignments.concat(),\n },\n },\n cellTypes: {\n description:\n 'Specify how to render data in cells. Valid cell renders include \"TextCell\", \"ArrayCell\", \"SparklineCell\".',\n type: 'array',\n items: {\n type: 'string',\n enum: validCellRenderers.concat(),\n },\n },\n data: {\n description: 'Specify data points to be displayed in the cells of a column.',\n type: 'array',\n items: {\n oneOf: [\n { type: 'string' },\n { type: 'number' },\n { type: 'array', items: { type: ['string', 'number'] } },\n ],\n },\n },\n rowBackgroundColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the background color of each column of the table. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN,\n },\n },\n rowColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the text color of the cells of a column. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN,\n },\n },\n sparklineAreaColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the sparkline area of each column. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN,\n },\n },\n sparklineColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the sparkline stroke of each column. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN,\n },\n },\n sparklineTypes: {\n description:\n 'Choose either area or line formatting for the Sparkline. Valid sparkline types include \"line\" and \"area\".',\n type: 'array',\n items: {\n type: 'string',\n enum: validSparklineTypes.concat(),\n },\n },\n textOverflow: {\n description:\n 'Controls how the text should be truncated within a particular column. Valid types include \"anywhere\", \"break-word\", \"ellipsis\". Defaults width for ellipsis is 100px.',\n type: 'string',\n pattern: getPattern(validTextOverflows),\n enum: validTextOverflows.concat(),\n },\n width: {\n description:\n 'Controls how wide in pixels (where 1 px = 1/96th of 1 in) the column should be displayed.',\n type: 'number',\n minimum: 30,\n },\n },\n },\n },\n },\n count: {\n description: 'Specify the maximum number of rows to display.',\n type: 'number',\n default: 10,\n },\n font: {\n default: 'proportional',\n description: 'Specify the font style to use for table content.',\n type: 'string',\n pattern: getPattern(['proportional', 'monospace']),\n },\n fontSize: {\n default: 'default',\n description:\n 'Specify the font size to use for table content. Font sizes range from extra small (10px) to large (16px) with the default being 14px.',\n type: 'string',\n pattern: getPattern(validFontSizes),\n },\n headers: {\n default: '> table | getField()',\n description:\n \"Specify an array of headers to display on the table. Though these can be statically listed, it's best to use the dynamic default, as it will return the fields of your search.\",\n type: 'array',\n items: {\n type: 'string',\n },\n },\n headerVisibility: {\n default: 'inline',\n description: 'Specify how to display the table header row.',\n pattern: getPattern(validHeaderVisibilities),\n enum: validHeaderVisibilities.concat(),\n type: 'string',\n },\n paginateDataSourceKey: {\n default: 'primary',\n description: 'Specify the data source key for pagination and sorting.',\n type: 'string',\n },\n showInternalFields: {\n default: true,\n description:\n 'Specify whether to show internal fields that start with an underscore. The _time field will still be shown if false.',\n type: 'boolean',\n },\n showRowNumbers: {\n default: false,\n description: 'Show row numbers in the first column.',\n type: 'boolean',\n },\n table: {\n default: '> primary',\n description: 'Two dimensional array of data to be displayed in the table.',\n type: 'array',\n items: {\n type: 'array',\n items: {\n oneOf: [\n { type: 'string' },\n { type: 'number' },\n { type: 'array', items: { type: ['string', 'number'] } },\n ],\n },\n },\n },\n tableFormat: {\n description: 'Allows users to set table wide options.',\n type: 'object',\n properties: {\n align: {\n default: '> table | type() | matchValue(tableAlignByType)',\n description:\n 'Specify alignment for each cell in the table. Valid alignments include \"left\", \"center\", and \"right\".',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string',\n enum: validAlignments.concat(),\n },\n },\n },\n cellTypes: {\n default: '> table | type() | matchValue(tableCellTypeByType)',\n description:\n 'Specify how to render data in cells. Valid cell renders include \"TextCell\", \"ArrayCell\", \"SparklineCell\".',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string',\n enum: validCellRenderers.concat(),\n },\n },\n },\n data: {\n description:\n 'Two dimensional data to be displayed in the table. This is usually formatted data instead of raw data from search.',\n type: 'array',\n items: {\n type: 'array',\n items: {\n oneOf: [\n { type: 'string' },\n { type: 'number' },\n { type: 'array', items: { type: ['string', 'number'] } },\n ],\n },\n },\n },\n headerBackgroundColor: {\n default: '> themes.defaultHeaderBackgroundColor',\n description:\n 'Specify the table header background color using a hexadecimal code. For example, \"#FFFFFF\".',\n pattern: COLOR_OR_TOKEN_PATTERN,\n type: 'string',\n },\n headerColor: {\n description:\n 'Specify the table header text color using a hexadecimal code. For example, \"#FFFFFF\".',\n pattern: COLOR_OR_TOKEN_PATTERN,\n type: 'string',\n },\n rowBackgroundColors: {\n default: '> table | seriesByIndex(0) | pick(tableAltRowBackgroundColorsByTheme)',\n description:\n 'Specify a list of colors, in hexadecimal code, for the background color of each row of the table. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN,\n },\n },\n },\n rowColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the text color of each row of the table. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n },\n },\n sparklineAreaColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the sparkline area of each row of the table. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN,\n },\n },\n },\n sparklineColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the sparkline stroke of each row of the table. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN,\n },\n },\n },\n sparklineTypes: {\n description: 'Choose either area or line formatting for the Sparkline.',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string',\n enum: validSparklineTypes.concat(),\n },\n },\n },\n },\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n defaultHeaderBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.gray20(props),\n light: variables.gray92(props),\n },\n prisma: variables.backgroundColor(props),\n })(props),\n rowBackgroundColorEven: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.gray96(props),\n },\n prisma: variables.backgroundColorPage(props),\n })(props),\n rowBackgroundColorOdd: props =>\n pick({\n enterprise: {\n dark: '#0D1012',\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n textColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: variables.contentColorDefault(props),\n })(props),\n inverseTextColor: props =>\n pick({\n enterprise: {\n dark: variables.contentColorInverted(props), // equal to textColor in enterprise\n light: variables.white(props), // equal to textColor in enterpriseDark\n },\n prisma: variables.contentColorInverted(props),\n })(props),\n};\n\nconst backgroundColorPaletteSet = new Set([\n ...COLOR_EDITOR_PALETTE,\n ...map(themes, (t): string => get(t, 'defaultBackgroundColor')),\n]);\nconst EDITOR_LABEL_WIDTH = 100;\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Global Formatting'),\n layout: [\n [\n {\n label: _('Rows Displayed'),\n option: 'count',\n editor: 'editor.number',\n editorProps: {\n labelPosition: 'left',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Row Numbers'),\n option: 'showRowNumbers',\n editor: 'editor.toggle',\n editorProps: {\n labelPosition: 'left',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Internal Fields'),\n option: 'showInternalFields',\n editor: 'editor.toggle',\n editorProps: {\n labelPosition: 'left',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Header Row'),\n option: 'headerVisibility',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Inline'), value: 'inline' },\n { label: _('Fixed'), value: 'fixed' },\n { label: _('Hidden'), value: 'none' },\n ],\n labelPosition: 'left',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n key: 'backgroundColor',\n editor: 'editor.tableBackgroundColor',\n editorProps: {\n themes,\n labelPosition: 'left',\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n option: 'font',\n label: _('Font'),\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Proportional (Default)'), value: 'proportional' },\n { label: _('Monospace'), value: 'monospace' },\n ],\n labelPosition: 'top',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n option: 'fontSize',\n label: _('Font Size'),\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Extra Small (font 10px, row 24px)'), value: 'extraSmall' },\n { label: _('Small (font 12px, row 24px)'), value: 'small' },\n { label: _('Default (font 14px, row 32px)'), value: 'default' },\n { label: _('Large (font 16px, row 36px)'), value: 'large' },\n ],\n labelPosition: 'top',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n ],\n },\n {\n label: _('Column Formatting'),\n layout: [\n [\n {\n label: _(''),\n editor: 'editor.tableColumnFormatter',\n editorProps: {\n // Table column coloring does not adhere to same DSL structure as other dynamically colored options\n // we use the FormatterEditor directly and not the DynamicColorEditor's provided DSL builders\n columnColoringConfig: {\n coloringTypes: [\n {\n label: _('Text'),\n value: 'rowColors',\n },\n {\n label: _('Background'),\n value: 'rowBackgroundColors',\n },\n ],\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n rowBackgroundColors: sequentialColorConfig,\n rowColors: sequentialColorConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n rowBackgroundColors: matchColorConfig,\n rowColors: matchColorConfig,\n },\n },\n ],\n themes,\n },\n defaultOptionsByType: {\n number: {\n thousandSeparated: false,\n unitPosition: 'after',\n },\n string: {\n unitPosition: 'after',\n },\n },\n flyoutConfig: {\n number: [\n [\n {\n ...unitPositionConfig,\n },\n {\n ...unitLabelConfig,\n },\n ],\n [\n {\n label: _('Precision'),\n option: 'precision',\n editor: 'editor.select',\n editorProps: {\n values: generatePrecisionValues(20),\n },\n },\n {\n label: _('Thousand Separators'),\n option: 'thousandSeparated',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Off'), value: false },\n { label: _('On'), value: true },\n ],\n },\n },\n ],\n ],\n // TODO(fkurniawan): fill in with proper editor components\n sparkline: [],\n string: [\n [\n {\n ...unitPositionConfig,\n },\n {\n ...unitLabelConfig,\n },\n ],\n ],\n time: [\n [\n {\n ...timeFormattingConfig,\n },\n ],\n ],\n },\n value: ({ context, options }) => {\n return {\n context,\n columnFormat: options.columnFormat,\n tableFormat: options.tableFormat,\n };\n },\n },\n key: 'TableColumnFormatterEditor',\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.table',\n /**\n * viz name\n */\n name: 'Table',\n category: VizCategory.TABLE,\n /**\n * viz icon\n */\n icon: TableIcon,\n placeholderIcon: TablePlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'cell.click': {\n description: 'triggered when user clicks a table cell',\n },\n },\n supports: [\n VizBehavior.DYNAMIC_OPTIONS,\n VizBehavior.EVENTS,\n VizBehavior.PAGE_AND_SORT,\n VizBehavior.PLACEHOLDER,\n ],\n themes,\n};\n\nexport default enhanceConfig(config);\n","export const validCellRenderers = ['TextCell', 'ArrayCell', 'SparklineCell'] as const;\nexport type CellRenderers = typeof validCellRenderers[number];\nexport const validSparklineTypes = ['line', 'area'] as const;\nexport type SparklineType = typeof validSparklineTypes[number];\nexport const validHeaderVisibilities = ['none', 'fixed', 'inline'] as const;\nexport type TableHeaderVisibility = typeof validHeaderVisibilities[number];\nexport const validAlignments = ['left', 'center', 'right'] as const;\nexport type TableAlignment = typeof validAlignments[number];\nexport const validTextOverflows = ['anywhere', 'break-word', 'ellipsis'] as const;\nexport type TextOverflow = typeof validTextOverflows[number];\nexport const validFontSizes = ['extraSmall', 'small', 'default', 'large'] as const;\nexport type FontSize = typeof validFontSizes[number];\n","module.exports = require(\"@splunk/themes/pick\");","module.exports = require(\"@splunk/themes/variables\");"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@splunk/visualizations-shared/colorConstants\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///./src/Table/config.ts","webpack:///./src/Table/consts.ts","webpack:///external \"@splunk/themes/pick\"","webpack:///external \"@splunk/themes/variables\""],"names":[],"mappings":"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","file":"Table.config.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 74);\n","module.exports = require(\"@splunk/ui-utils/i18n\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((opt): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [opt]: patternProperties[opt] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * this function also collapse all editor panels\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n * and containing `open: false` for all editor panels in editorConfig\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = vizConfig;\n if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: false };\n }\n );\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = vizConfig;\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * 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\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * 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\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n isDynamicOption,\n getInitialPreset,\n generatePrecisionValues,\n uncollapseEditorConfig,\n};\n\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n","module.exports = require(\"@splunk/visualization-icons/placeholders\");","module.exports = require(\"@splunk/visualization-icons\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/visualizations-shared/colorConstants\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n}\n","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","module.exports = require(\"lodash\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { map, get } from 'lodash';\nimport {\n COLOR_OR_TOKEN_PATTERN,\n COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n getPattern,\n} from '@splunk/visualizations-shared/schemaUtils';\nimport { COLOR_EDITOR_PALETTE } from '@splunk/visualizations-shared/colorConstants';\nimport { Table as TableIcon } from '@splunk/visualization-icons';\nimport { Table as TablePlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport variables from '@splunk/themes/variables';\nimport pick from '@splunk/themes/pick';\nimport { enhanceConfig, generatePrecisionValues } from '../common/utils/configUtils';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport {\n validHeaderVisibilities,\n validAlignments,\n validTextOverflows,\n validCellRenderers,\n validSparklineTypes,\n validFontSizes,\n} from './consts';\nimport { VizCategory } from '../common/interfaces/VizCategory';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [],\n initialRequestParams: {\n primary: (options: { count?: number } = {}): Record<string, unknown> => ({\n offset: 0,\n count: options.count ? options.count : 10,\n requestTotalCount: true,\n }),\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {\n tableAlignByType: [\n { match: 'string', value: 'left' },\n { match: 'number', value: 'right' },\n { match: 'time', value: 'left' },\n { match: 'color', value: 'left' },\n { match: 'array', value: 'left' },\n { match: 'sparkline', value: 'center' },\n { match: 'unknown', value: 'left' },\n ],\n tableCellTypeByType: [\n { match: 'string', value: 'TextCell' },\n { match: 'number', value: 'TextCell' },\n { match: 'time', value: 'TextCell' },\n { match: 'color', value: 'TextCell' },\n { match: 'array', value: 'ArrayCell' },\n { match: 'sparkline', value: 'SparklineCell' },\n { match: 'unknown', value: 'TextCell' },\n ],\n\n // NOTE: These contexts are used by the table background color editor.\n // Please be careful removing/renaming/altering them.\n // There are unit tests and visual test that will capture breakages.\n tableRowColorMaxContrast: {\n colors: ['> themes.textColor', '> themes.inverseTextColor'],\n default: '> themes.textColor',\n },\n tableRowBackgroundColorEvenConfig: {\n channel: 'hsv.v',\n value: '*0.96',\n },\n tableHeaderBackgroundColorConfig: {\n channel: 'hsv.v',\n value: '*0.9',\n },\n tableRowBackgroundColorsByTheme: ['> themes.rowBackgroundColorOdd'],\n tableAltRowBackgroundColorsByTheme: ['> themes.rowBackgroundColorOdd', '> themes.rowBackgroundColorEven'],\n tableRowBackgroundColorsByBackgroundColor: ['> backgroundColor'],\n tableAltRowBackgroundColorsByBackgroundColor: [\n '> backgroundColor',\n '> backgroundColor | setColorChannel(tableRowBackgroundColorEvenConfig)',\n ],\n};\n\nconst unitPositionConfig = {\n label: _('Units Position'),\n editor: 'editor.select',\n option: 'unitPosition',\n editorProps: {\n values: [\n { label: _('Before'), value: 'before' },\n { label: _('After'), value: 'after' },\n ],\n },\n};\n\nconst unitLabelConfig = {\n label: _('Unit Label'),\n option: 'unit',\n editor: 'editor.text',\n};\n\nconst timeFormattingConfig = {\n label: _('Date & Time Formatting'),\n option: 'format',\n editor: 'editor.text',\n editorProps: {\n tooltip: _('For example: DD-MM-YYYY'),\n },\n};\n\nconst sequentialColorConfig = [\n { to: 20, value: '#D41F1F' },\n { from: 20, to: 40, value: '#D94E17' },\n { from: 40, to: 60, value: '#CBA700' },\n { from: 60, to: 80, value: '#669922' },\n { from: 80, value: '#118832' },\n];\n\nconst matchColorConfig = [{ match: '', value: '#5C33FF' }];\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color for the background. You might use a data source to apply the color. The default for enterprise light is \"#FFFFFF\". The default for enterprise dark is \"#000000\". The default for prisma dark is \"#0B0C0E\".',\n pattern: COLOR_OR_TOKEN_PATTERN,\n type: 'string',\n },\n columnFormat: {\n description: 'Allows column formatting for individual columns.',\n type: 'object',\n patternProperties: {\n '.*': {\n description: 'Customization for column property',\n type: 'object',\n properties: {\n align: {\n description:\n 'Specify the alignment for each cell in a column. Valid alignments include \"left\", \"center\", and \"right\".',\n type: 'array',\n items: {\n type: 'string',\n enum: validAlignments.concat(),\n },\n },\n cellTypes: {\n description:\n 'Specify how to render data in cells. Valid cell renders include \"TextCell\", \"ArrayCell\", \"SparklineCell\".',\n type: 'array',\n items: {\n type: 'string',\n enum: validCellRenderers.concat(),\n },\n },\n data: {\n description: 'Specify data points to be displayed in the cells of a column.',\n type: 'array',\n items: {\n oneOf: [\n { type: 'string' },\n { type: 'number' },\n { type: 'array', items: { type: ['string', 'number'] } },\n ],\n },\n },\n rowBackgroundColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the background color of each column of the table. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN,\n },\n },\n rowColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the text color of the cells of a column. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN,\n },\n },\n sparklineAreaColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the sparkline area of each column. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN,\n },\n },\n sparklineColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the sparkline stroke of each column. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN,\n },\n },\n sparklineTypes: {\n description:\n 'Choose either area or line formatting for the Sparkline. Valid sparkline types include \"line\" and \"area\".',\n type: 'array',\n items: {\n type: 'string',\n enum: validSparklineTypes.concat(),\n },\n },\n textOverflow: {\n description:\n 'Controls how the text should be truncated within a particular column. Valid types include \"anywhere\", \"break-word\", \"ellipsis\". Defaults width for ellipsis is 100px.',\n type: 'string',\n pattern: getPattern(validTextOverflows),\n enum: validTextOverflows.concat(),\n },\n width: {\n description:\n 'Controls how wide in pixels (where 1 px = 1/96th of 1 in) the column should be displayed.',\n type: 'number',\n minimum: 30,\n },\n },\n },\n },\n },\n count: {\n description: 'Specify the maximum number of rows to display.',\n type: 'number',\n default: 10,\n },\n font: {\n default: 'proportional',\n description: 'Specify the font style to use for table content.',\n type: 'string',\n pattern: getPattern(['proportional', 'monospace']),\n },\n fontSize: {\n default: 'default',\n description:\n 'Specify the font size to use for table content. Font sizes range from extra small (10px) to large (16px) with the default being 14px.',\n type: 'string',\n pattern: getPattern(validFontSizes),\n },\n headers: {\n default: '> table | getField()',\n description:\n \"Specify an array of headers to display on the table. Though these can be statically listed, it's best to use the dynamic default, as it will return the fields of your search.\",\n type: 'array',\n items: {\n type: 'string',\n },\n },\n headerVisibility: {\n default: 'inline',\n description: 'Specify how to display the table header row.',\n pattern: getPattern(validHeaderVisibilities),\n enum: validHeaderVisibilities.concat(),\n type: 'string',\n },\n paginateDataSourceKey: {\n default: 'primary',\n description: 'Specify the data source key for pagination and sorting.',\n type: 'string',\n },\n showInternalFields: {\n default: true,\n description:\n 'Specify whether to show internal fields that start with an underscore. The _time field will still be shown if false.',\n type: 'boolean',\n },\n showRowNumbers: {\n default: false,\n description: 'Show row numbers in the first column.',\n type: 'boolean',\n },\n table: {\n default: '> primary',\n description: 'Two dimensional array of data to be displayed in the table.',\n type: 'array',\n items: {\n type: 'array',\n items: {\n oneOf: [\n { type: 'string' },\n { type: 'number' },\n { type: 'array', items: { type: ['string', 'number'] } },\n ],\n },\n },\n },\n tableFormat: {\n description: 'Allows users to set table wide options.',\n type: 'object',\n properties: {\n align: {\n default: '> table | type() | matchValue(tableAlignByType)',\n description:\n 'Specify alignment for each cell in the table. Valid alignments include \"left\", \"center\", and \"right\".',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string',\n enum: validAlignments.concat(),\n },\n },\n },\n cellTypes: {\n default: '> table | type() | matchValue(tableCellTypeByType)',\n description:\n 'Specify how to render data in cells. Valid cell renders include \"TextCell\", \"ArrayCell\", \"SparklineCell\".',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string',\n enum: validCellRenderers.concat(),\n },\n },\n },\n data: {\n description:\n 'Two dimensional data to be displayed in the table. This is usually formatted data instead of raw data from search.',\n type: 'array',\n items: {\n type: 'array',\n items: {\n oneOf: [\n { type: 'string' },\n { type: 'number' },\n { type: 'array', items: { type: ['string', 'number'] } },\n ],\n },\n },\n },\n headerBackgroundColor: {\n default: '> themes.defaultHeaderBackgroundColor',\n description:\n 'Specify the table header background color using a hexadecimal code. For example, \"#FFFFFF\".',\n pattern: COLOR_OR_TOKEN_PATTERN,\n type: 'string',\n },\n headerColor: {\n description:\n 'Specify the table header text color using a hexadecimal code. For example, \"#FFFFFF\".',\n pattern: COLOR_OR_TOKEN_PATTERN,\n type: 'string',\n },\n rowBackgroundColors: {\n default: '> table | seriesByIndex(0) | pick(tableAltRowBackgroundColorsByTheme)',\n description:\n 'Specify a list of colors, in hexadecimal code, for the background color of each row of the table. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN,\n },\n },\n },\n rowColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the text color of each row of the table. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n },\n },\n sparklineAreaColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the sparkline area of each row of the table. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN,\n },\n },\n },\n sparklineColors: {\n description:\n 'Specify a list of colors, in hexadecimal code, for the sparkline stroke of each row of the table. For example, [\"#2C333B\", \"32373D\"].',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN,\n },\n },\n },\n sparklineTypes: {\n description: 'Choose either area or line formatting for the Sparkline.',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'string',\n enum: validSparklineTypes.concat(),\n },\n },\n },\n },\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n defaultHeaderBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.gray20(props),\n light: variables.gray92(props),\n },\n prisma: variables.backgroundColor(props),\n })(props),\n rowBackgroundColorEven: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.gray96(props),\n },\n prisma: variables.backgroundColorPage(props),\n })(props),\n rowBackgroundColorOdd: props =>\n pick({\n enterprise: {\n dark: '#0D1012',\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n textColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: variables.contentColorDefault(props),\n })(props),\n inverseTextColor: props =>\n pick({\n enterprise: {\n dark: variables.contentColorInverted(props), // equal to textColor in enterprise\n light: variables.white(props), // equal to textColor in enterpriseDark\n },\n prisma: variables.contentColorInverted(props),\n })(props),\n};\n\nconst backgroundColorPaletteSet = new Set([\n ...COLOR_EDITOR_PALETTE,\n ...map(themes, (t): string => get(t, 'defaultBackgroundColor')),\n]);\nconst EDITOR_LABEL_WIDTH = 100;\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Global Formatting'),\n layout: [\n [\n {\n label: _('Rows Displayed'),\n option: 'count',\n editor: 'editor.number',\n editorProps: {\n labelPosition: 'left',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Row Numbers'),\n option: 'showRowNumbers',\n editor: 'editor.toggle',\n editorProps: {\n labelPosition: 'left',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Internal Fields'),\n option: 'showInternalFields',\n editor: 'editor.toggle',\n editorProps: {\n labelPosition: 'left',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Header Row'),\n option: 'headerVisibility',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Inline'), value: 'inline' },\n { label: _('Fixed'), value: 'fixed' },\n { label: _('Hidden'), value: 'none' },\n ],\n labelPosition: 'left',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n key: 'backgroundColor',\n editor: 'editor.tableBackgroundColor',\n editorProps: {\n themes,\n labelPosition: 'left',\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n option: 'font',\n label: _('Font'),\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Proportional (Default)'), value: 'proportional' },\n { label: _('Monospace'), value: 'monospace' },\n ],\n labelPosition: 'top',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n option: 'fontSize',\n label: _('Font Size'),\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Extra Small (font 10px, row 24px)'), value: 'extraSmall' },\n { label: _('Small (font 12px, row 24px)'), value: 'small' },\n { label: _('Default (font 14px, row 32px)'), value: 'default' },\n { label: _('Large (font 16px, row 36px)'), value: 'large' },\n ],\n labelPosition: 'top',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n ],\n },\n {\n label: _('Column Formatting'),\n layout: [\n [\n {\n label: _('Column-specific formatting'),\n editor: 'editor.tableColumnFormatter',\n editorProps: {\n // Table column coloring does not adhere to same DSL structure as other dynamically colored options\n // we use the FormatterEditor directly and not the DynamicColorEditor's provided DSL builders\n columnColoringConfig: {\n coloringTypes: [\n {\n label: _('Text'),\n value: 'rowColors',\n },\n {\n label: _('Background'),\n value: 'rowBackgroundColors',\n },\n ],\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n rowBackgroundColors: sequentialColorConfig,\n rowColors: sequentialColorConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n rowBackgroundColors: matchColorConfig,\n rowColors: matchColorConfig,\n },\n },\n ],\n themes,\n },\n defaultOptionsByType: {\n number: {\n thousandSeparated: false,\n unitPosition: 'after',\n },\n string: {\n unitPosition: 'after',\n },\n },\n flyoutConfig: {\n number: [\n [\n {\n ...unitPositionConfig,\n },\n {\n ...unitLabelConfig,\n },\n ],\n [\n {\n label: _('Precision'),\n option: 'precision',\n editor: 'editor.select',\n editorProps: {\n values: generatePrecisionValues(20),\n },\n },\n {\n label: _('Thousand Separators'),\n option: 'thousandSeparated',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Off'), value: false },\n { label: _('On'), value: true },\n ],\n },\n },\n ],\n ],\n // TODO(fkurniawan): fill in with proper editor components\n sparkline: [],\n string: [\n [\n {\n ...unitPositionConfig,\n },\n {\n ...unitLabelConfig,\n },\n ],\n ],\n time: [\n [\n {\n ...timeFormattingConfig,\n },\n ],\n ],\n },\n value: ({ context, options }) => {\n return {\n context,\n columnFormat: options.columnFormat,\n tableFormat: options.tableFormat,\n };\n },\n },\n key: 'TableColumnFormatterEditor',\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.table',\n /**\n * viz name\n */\n name: 'Table',\n category: VizCategory.TABLE,\n /**\n * viz icon\n */\n icon: TableIcon,\n placeholderIcon: TablePlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'cell.click': {\n description: 'triggered when user clicks a table cell',\n },\n },\n supports: [\n VizBehavior.DYNAMIC_OPTIONS,\n VizBehavior.EVENTS,\n VizBehavior.PAGE_AND_SORT,\n VizBehavior.PLACEHOLDER,\n ],\n themes,\n};\n\nexport default enhanceConfig(config);\n","export const validCellRenderers = ['TextCell', 'ArrayCell', 'SparklineCell'] as const;\nexport type CellRenderers = typeof validCellRenderers[number];\nexport const validSparklineTypes = ['line', 'area'] as const;\nexport type SparklineType = typeof validSparklineTypes[number];\nexport const validHeaderVisibilities = ['none', 'fixed', 'inline'] as const;\nexport type TableHeaderVisibility = typeof validHeaderVisibilities[number];\nexport const validAlignments = ['left', 'center', 'right'] as const;\nexport type TableAlignment = typeof validAlignments[number];\nexport const validTextOverflows = ['anywhere', 'break-word', 'ellipsis'] as const;\nexport type TextOverflow = typeof validTextOverflows[number];\nexport const validFontSizes = ['extraSmall', 'small', 'default', 'large'] as const;\nexport type FontSize = typeof validFontSizes[number];\n","module.exports = require(\"@splunk/themes/pick\");","module.exports = require(\"@splunk/themes/variables\");"],"sourceRoot":""}
|