@splunk/visualizations 24.4.0 → 24.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.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_Choropleth_Svg_Choropleth_Svg_Placeholder_If_No_Svg_And_No_Data.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_Mostly_null.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_Markdown_Markdown_Background_Color_af575a.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Basic_Markdown.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Begin_with_Text_Instead_of_Header.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Font_Color_purple.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Font_Size_extraLarge.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Placeholder_if_empty_columns_and_fields.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Placeholder_if_invalid_label_data_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Placeholder_if_invalid_value_data_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Placeholder_if_missing_column.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_Time_Type_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_Time_Type_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Cell_Types.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_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_Sparklines_Adv.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Time_Zone_Time_Formatting.png +0 -0
- package/Area.js +246 -218
- package/Area.js.map +1 -1
- package/Bar.js +238 -210
- package/Bar.js.map +1 -1
- package/Bubble.js +231 -203
- package/Bubble.js.map +1 -1
- package/ChoroplethSvg.js +230 -197
- package/ChoroplethSvg.js.map +1 -1
- package/Column.js +238 -210
- package/Column.js.map +1 -1
- package/Ellipse.js +203 -170
- package/Ellipse.js.map +1 -1
- package/FillerGauge.js +222 -189
- package/FillerGauge.js.map +1 -1
- package/Image.js +199 -164
- package/Image.js.map +1 -1
- package/Line.js +239 -211
- package/Line.js.map +1 -1
- package/LinkGraph.js +264 -223
- package/LinkGraph.js.map +1 -1
- package/Map.config.js +39 -25
- package/Map.config.js.map +1 -1
- package/Map.js +469 -327
- package/Map.js.map +1 -1
- package/Markdown.config.js +29 -1
- package/Markdown.config.js.map +1 -1
- package/Markdown.js +513 -267
- package/Markdown.js.map +1 -1
- package/MarkerGauge.js +941 -906
- package/MarkerGauge.js.map +1 -1
- package/ParallelCoordinates.js +230 -196
- package/ParallelCoordinates.js.map +1 -1
- package/Pie.js +309 -249
- package/Pie.js.map +1 -1
- package/Punchcard.js +263 -229
- package/Punchcard.js.map +1 -1
- package/Rectangle.js +217 -182
- package/Rectangle.js.map +1 -1
- package/Sankey.js +269 -230
- package/Sankey.js.map +1 -1
- package/Scatter.js +314 -286
- package/Scatter.js.map +1 -1
- package/SingleValue.js +398 -363
- package/SingleValue.js.map +1 -1
- package/SingleValueBasic.js +25 -25
- package/SingleValueBasic.js.map +1 -1
- package/SingleValueIcon.js +2821 -2653
- package/SingleValueIcon.js.map +1 -1
- package/SingleValueRadial.js +359 -324
- package/SingleValueRadial.js.map +1 -1
- package/Table.config.js +2 -1
- package/Table.config.js.map +1 -1
- package/Table.js +623 -347
- package/Table.js.map +1 -1
- package/common/Charting.js +21 -21
- package/common/Charting.js.map +1 -1
- package/common/ChartingApi.js +2 -2
- package/common/ChartingApi.js.map +1 -1
- package/common/EventsDoc.js +18 -18
- package/common/EventsDoc.js.map +1 -1
- package/common/GaugeMajorTicks.js +10 -10
- package/common/GaugeMajorTicks.js.map +1 -1
- package/common/GaugeValueMarker.js +10 -10
- package/common/GaugeValueMarker.js.map +1 -1
- package/common/OptionsDoc.js +217 -174
- package/common/OptionsDoc.js.map +1 -1
- package/common/SplunkVisualization.js +4 -4
- package/common/SplunkVisualization.js.map +1 -1
- package/common/ThemesDoc.js +26 -26
- package/common/ThemesDoc.js.map +1 -1
- package/common/chartingUtils.js +3 -3
- package/common/chartingUtils.js.map +1 -1
- package/common/gaugeUtils.js +2 -2
- package/common/shapeUtils.js +2 -2
- package/common/withDashboardViz.js +80 -48
- package/common/withDashboardViz.js.map +1 -1
- package/package.json +13 -11
package/Map.config.js
CHANGED
|
@@ -462,13 +462,13 @@ var size = {
|
|
|
462
462
|
var optionsSchema = {
|
|
463
463
|
backgroundColor: {
|
|
464
464
|
default: '> themes.defaultBackgroundColor',
|
|
465
|
-
description: 'Specify
|
|
465
|
+
description: 'Specify a color for the background. You might use a dataSource 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".',
|
|
466
466
|
pattern: schemaUtils_1.COLOR_OR_TOKEN_PATTERN_WITH_RGBA,
|
|
467
467
|
type: 'string'
|
|
468
468
|
},
|
|
469
469
|
center: {
|
|
470
470
|
type: 'array',
|
|
471
|
-
description: 'Specify the center of the map in coordinates, in the form of [latitude, longitude].
|
|
471
|
+
description: 'Specify the center of the map in coordinates, in the form of [latitude, longitude]. If you don’t provide coordinates, the map automatically centers, based on available location data. If there is no available location data, the center of the map defaults to [37.7749, -122.4194].',
|
|
472
472
|
items: {
|
|
473
473
|
type: 'number'
|
|
474
474
|
}
|
|
@@ -482,18 +482,18 @@ var optionsSchema = {
|
|
|
482
482
|
longitude: '> primary | seriesByName("longitude")',
|
|
483
483
|
seriesColors: visualization_color_palettes_1.VIZ_CATEGORICAL,
|
|
484
484
|
bubbleSize: '> primary | frameWithoutSeriesNames("geobin", "latitude", "longitude") | frameBySeriesTypes("number")',
|
|
485
|
-
|
|
485
|
+
additionalTooltipFields: [],
|
|
486
486
|
resultLimit: 1000
|
|
487
487
|
}, {
|
|
488
488
|
type: 'marker',
|
|
489
489
|
latitude: '> primary | seriesByName("latitude")',
|
|
490
490
|
longitude: '> primary | seriesByName("longitude")',
|
|
491
491
|
seriesColors: visualization_color_palettes_1.VIZ_CATEGORICAL,
|
|
492
|
-
|
|
492
|
+
additionalTooltipFields: [],
|
|
493
493
|
resultLimit: 1000
|
|
494
494
|
}],
|
|
495
495
|
type: 'array',
|
|
496
|
-
description: 'Specify the data visualization layers
|
|
496
|
+
description: 'Specify the optional data visualization layers over the base map. If empty, only the base map appears.',
|
|
497
497
|
items: {
|
|
498
498
|
anyOf: [{
|
|
499
499
|
type: 'object',
|
|
@@ -501,25 +501,34 @@ var optionsSchema = {
|
|
|
501
501
|
type: {
|
|
502
502
|
description: 'Specify the type of data layer method to display points on the map. For example, “bubble” or “marker”.',
|
|
503
503
|
type: 'string',
|
|
504
|
-
pattern: schemaUtils_1.getPattern(['marker']),
|
|
504
|
+
pattern: schemaUtils_1.getPattern(['marker', 'bubble']),
|
|
505
505
|
default: 'marker'
|
|
506
506
|
},
|
|
507
507
|
latitude: {
|
|
508
508
|
description: 'Specify a dataSource series to apply latitude coordinates for data points displayed on the map.',
|
|
509
509
|
type: ['string', 'array'],
|
|
510
|
+
items: {
|
|
511
|
+
type: 'number'
|
|
512
|
+
},
|
|
510
513
|
default: '> primary | seriesByName("latitude")'
|
|
511
514
|
},
|
|
512
515
|
longitude: {
|
|
513
516
|
description: 'Specify a dataSource series to apply longitude coordinates for data points displayed on the map.',
|
|
514
517
|
type: ['string', 'array'],
|
|
518
|
+
items: {
|
|
519
|
+
type: 'number'
|
|
520
|
+
},
|
|
515
521
|
default: '> primary | seriesByName("longitude")'
|
|
516
522
|
},
|
|
517
523
|
dataColors: {
|
|
518
|
-
description: 'Specify the colors used for data points. You may use an array of colors to be picked from, or you may use a dataSource to apply dynamic coloring. For example, “> primary | seriesByName("status") | matchValue(colorMatchConfig)”. ',
|
|
519
|
-
type: ['string', 'array']
|
|
524
|
+
description: 'Specify the colors used for data points. If specified, this option overrides the seriesColors option. You may use an array of colors to be picked from, or you may use a dataSource to apply dynamic coloring. For example, “> primary | seriesByName("status") | matchValue(colorMatchConfig)”. ',
|
|
525
|
+
type: ['string', 'array'],
|
|
526
|
+
items: {
|
|
527
|
+
type: 'string'
|
|
528
|
+
}
|
|
520
529
|
},
|
|
521
530
|
seriesColors: {
|
|
522
|
-
description: 'Specify the colors used for data points.',
|
|
531
|
+
description: 'Specify the colors used for data points. If the dataColors option is specified, the seriesColors option is ignored.',
|
|
523
532
|
type: 'array',
|
|
524
533
|
items: {
|
|
525
534
|
type: 'string',
|
|
@@ -527,8 +536,8 @@ var optionsSchema = {
|
|
|
527
536
|
},
|
|
528
537
|
default: visualization_color_palettes_1.VIZ_CATEGORICAL
|
|
529
538
|
},
|
|
530
|
-
|
|
531
|
-
description: 'Specify the fields to add to tooltips
|
|
539
|
+
additionalTooltipFields: {
|
|
540
|
+
description: 'Specify the fields to add to the default set of tooltips. Tooltips appear when you hover over data points. These fields and their corresponding values will be shown in addition to the ones displayed by default.',
|
|
532
541
|
type: 'array',
|
|
533
542
|
items: {
|
|
534
543
|
type: 'string'
|
|
@@ -536,7 +545,7 @@ var optionsSchema = {
|
|
|
536
545
|
default: []
|
|
537
546
|
},
|
|
538
547
|
resultLimit: {
|
|
539
|
-
description: 'Specify the maximum number of data points
|
|
548
|
+
description: 'Specify the maximum number of data points to render on the map. Adjust the value to improve performance.',
|
|
540
549
|
type: 'number',
|
|
541
550
|
default: 1000
|
|
542
551
|
}
|
|
@@ -547,12 +556,15 @@ var optionsSchema = {
|
|
|
547
556
|
type: {
|
|
548
557
|
description: 'Specify the type of data layer method to display points on the map. For example, “bubble” or “marker”.',
|
|
549
558
|
type: 'string',
|
|
550
|
-
pattern: schemaUtils_1.getPattern(['bubble']),
|
|
559
|
+
pattern: schemaUtils_1.getPattern(['marker', 'bubble']),
|
|
551
560
|
default: 'bubble'
|
|
552
561
|
},
|
|
553
562
|
bubbleSize: {
|
|
554
|
-
description: 'Specify the data column to encode bubble size',
|
|
563
|
+
description: 'Specify the data column to encode bubble size. This applies to layers where type: "bubble".',
|
|
555
564
|
type: ['string', 'array'],
|
|
565
|
+
items: {
|
|
566
|
+
type: 'number'
|
|
567
|
+
},
|
|
556
568
|
default: '> primary | frameWithoutSeriesNames("geobin", "latitude", "longitude") | frameBySeriesTypes("number")'
|
|
557
569
|
},
|
|
558
570
|
latitude: {
|
|
@@ -572,11 +584,14 @@ var optionsSchema = {
|
|
|
572
584
|
default: '> primary | seriesByName("longitude")'
|
|
573
585
|
},
|
|
574
586
|
dataColors: {
|
|
575
|
-
description: 'Specify the colors used for data points. You may use an array of colors to be picked from, or you may use a dataSource to apply dynamic coloring. For example, “> primary | seriesByName("status") | matchValue(colorMatchConfig)”. ',
|
|
576
|
-
type: ['string', 'array']
|
|
587
|
+
description: 'Specify the colors used for data points. If specified, this option overrides the seriesColors option. You may use an array of colors to be picked from, or you may use a dataSource to apply dynamic coloring. For example, “> primary | seriesByName("status") | matchValue(colorMatchConfig)”. ',
|
|
588
|
+
type: ['string', 'array'],
|
|
589
|
+
items: {
|
|
590
|
+
type: 'string'
|
|
591
|
+
}
|
|
577
592
|
},
|
|
578
593
|
seriesColors: {
|
|
579
|
-
description:
|
|
594
|
+
description: 'Specify the colors used for data points. If the dataColors option is specified, the seriesColors option is ignored.',
|
|
580
595
|
type: 'array',
|
|
581
596
|
items: {
|
|
582
597
|
type: 'string',
|
|
@@ -584,8 +599,8 @@ var optionsSchema = {
|
|
|
584
599
|
},
|
|
585
600
|
default: visualization_color_palettes_1.VIZ_CATEGORICAL
|
|
586
601
|
},
|
|
587
|
-
|
|
588
|
-
description: 'Specify the fields to add to tooltips
|
|
602
|
+
additionalTooltipFields: {
|
|
603
|
+
description: 'Specify the fields to add to the default set of tooltips. Tooltips appear when you hover over data points. These fields and their corresponding values will be shown in addition to the ones displayed by default.',
|
|
589
604
|
type: 'array',
|
|
590
605
|
items: {
|
|
591
606
|
type: 'string'
|
|
@@ -593,7 +608,7 @@ var optionsSchema = {
|
|
|
593
608
|
default: []
|
|
594
609
|
},
|
|
595
610
|
resultLimit: {
|
|
596
|
-
description: 'Specify the maximum number of data points
|
|
611
|
+
description: 'Specify the maximum number of data points to render on the map. Adjust the value to improve performance.',
|
|
597
612
|
type: 'number',
|
|
598
613
|
default: 1000
|
|
599
614
|
}
|
|
@@ -604,7 +619,7 @@ var optionsSchema = {
|
|
|
604
619
|
scaleUnit: {
|
|
605
620
|
default: 'metric',
|
|
606
621
|
type: 'string',
|
|
607
|
-
description: 'Specify
|
|
622
|
+
description: 'Specify the scale unit to use.',
|
|
608
623
|
pattern: schemaUtils_1.getPattern(['metric', 'imperial'])
|
|
609
624
|
},
|
|
610
625
|
// TODO: choropleth map retain old design
|
|
@@ -616,11 +631,11 @@ var optionsSchema = {
|
|
|
616
631
|
showScale: {
|
|
617
632
|
default: true,
|
|
618
633
|
type: 'boolean',
|
|
619
|
-
description: 'Specify whether the scale on the bottom left
|
|
634
|
+
description: 'Specify whether to display the scale on the bottom left.'
|
|
620
635
|
},
|
|
621
636
|
baseLayerTileServer: {
|
|
622
637
|
type: 'string',
|
|
623
|
-
description: 'Specify the
|
|
638
|
+
description: 'Specify the URL for the set of tiles that make up the base map.'
|
|
624
639
|
},
|
|
625
640
|
baseLayerTileServerType: {
|
|
626
641
|
type: 'string',
|
|
@@ -692,14 +707,13 @@ var editorConfig = [{
|
|
|
692
707
|
}], [{
|
|
693
708
|
label: i18n_1._('Size'),
|
|
694
709
|
option: 'layers[0].bubbleSize',
|
|
695
|
-
editor: 'editor.
|
|
710
|
+
editor: 'editor.columnMultiSelector',
|
|
696
711
|
showEditor: function showEditor(_ref) {
|
|
697
712
|
var options = _ref.options;
|
|
698
713
|
return !(options.layers && options.layers.length && options.layers[0].type === 'marker');
|
|
699
714
|
},
|
|
700
715
|
editorProps: {
|
|
701
716
|
dataSourceKey: 'primary',
|
|
702
|
-
isMultiSelect: true,
|
|
703
717
|
shouldShowInternalFields: false,
|
|
704
718
|
excludeByNames: ['latitude', 'longitude', 'geobin']
|
|
705
719
|
}
|
package/Map.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\"","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///external \"@splunk/themes\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///external \"lodash\"","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///./src/Map/config.ts","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///external \"@splunk/visualization-icons/placeholders\""],"names":[],"mappings":"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","file":"Map.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 = 51);\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';\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","module.exports = require(\"@splunk/visualization-icons\");","module.exports = require(\"@splunk/visualization-color-palettes\");","module.exports = require(\"@splunk/themes\");","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\");","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 { Map as MapIcon } from '@splunk/visualization-icons';\nimport { Map as MapPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { getPattern, COLOR_OR_TOKEN_PATTERN_WITH_RGBA } from '@splunk/visualizations-shared/schemaUtils';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { pick, variables } from '@splunk/themes';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { enhanceConfig } from '../common/utils/configUtils';\n\nconst defaultContext: DefaultContext = {\n colorRangeConfig: [\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};\n\nconst dataContract: DataContract = {\n requiredDataSources: [],\n optionalDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization.',\n },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 800,\n initialHeight: 600,\n};\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color for the background. You may use a dataSource 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_WITH_RGBA,\n type: 'string',\n },\n center: {\n type: 'array',\n description:\n 'Specify the center of the map in coordinates, in the form of [latitude, longitude]. When not provided, will automatically calculate map center based on available location data. When no location data available will fall back to [0,0].',\n items: { type: 'number' },\n },\n layers: {\n // The option merging of defaults and data binding with editing UI happens with the default defined below.\n // The inner defaults for properties within anyOf objects is used only for code intellisense in UDF to populate options.\n default: [\n {\n type: 'bubble',\n latitude: '> primary | seriesByName(\"latitude\")',\n longitude: '> primary | seriesByName(\"longitude\")',\n seriesColors: VIZ_CATEGORICAL,\n bubbleSize:\n '> primary | frameWithoutSeriesNames(\"geobin\", \"latitude\", \"longitude\") | frameBySeriesTypes(\"number\")',\n tooltipFields: [],\n resultLimit: 1000,\n },\n {\n type: 'marker',\n latitude: '> primary | seriesByName(\"latitude\")',\n longitude: '> primary | seriesByName(\"longitude\")',\n seriesColors: VIZ_CATEGORICAL,\n tooltipFields: [],\n resultLimit: 1000,\n },\n ],\n type: 'array',\n description:\n 'Specify the data visualization layers on top of the base map. Can be empty to only show the base map.',\n items: {\n anyOf: [\n {\n type: 'object',\n properties: {\n type: {\n description:\n 'Specify the type of data layer method to display points on the map. For example, “bubble” or “marker”.',\n type: 'string',\n pattern: getPattern(['marker']),\n default: 'marker',\n },\n latitude: {\n description:\n 'Specify a dataSource series to apply latitude coordinates for data points displayed on the map.',\n type: ['string', 'array'],\n default: '> primary | seriesByName(\"latitude\")',\n },\n longitude: {\n description:\n 'Specify a dataSource series to apply longitude coordinates for data points displayed on the map.',\n type: ['string', 'array'],\n default: '> primary | seriesByName(\"longitude\")',\n },\n dataColors: {\n description:\n 'Specify the colors used for data points. You may use an array of colors to be picked from, or you may use a dataSource to apply dynamic coloring. For example, “> primary | seriesByName(\"status\") | matchValue(colorMatchConfig)”. ',\n type: ['string', 'array'],\n },\n seriesColors: {\n description: 'Specify the colors used for data points.',\n type: 'array',\n items: { type: 'string', pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA },\n default: VIZ_CATEGORICAL,\n },\n tooltipFields: {\n description:\n 'Specify the fields to add to tooltips shown while hovering over data points. These fields and their corresponding values will be shown in addition to the ones displayed by default.',\n type: 'array',\n items: { type: 'string' },\n default: [],\n },\n resultLimit: {\n description:\n 'Specify the maximum number of data points rendered on the map to improve performance.',\n type: 'number',\n default: 1000,\n },\n },\n },\n {\n type: 'object',\n properties: {\n type: {\n description:\n 'Specify the type of data layer method to display points on the map. For example, “bubble” or “marker”.',\n type: 'string',\n pattern: getPattern(['bubble']),\n default: 'bubble',\n },\n bubbleSize: {\n description: 'Specify the data column to encode bubble size',\n type: ['string', 'array'],\n default:\n '> primary | frameWithoutSeriesNames(\"geobin\", \"latitude\", \"longitude\") | frameBySeriesTypes(\"number\")',\n },\n latitude: {\n description:\n 'Specify a dataSource series to apply latitude coordinates for data points displayed on the map.',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"latitude\")',\n },\n longitude: {\n description:\n 'Specify a dataSource series to apply longitude coordinates for data points displayed on the map.',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"longitude\")',\n },\n dataColors: {\n description:\n 'Specify the colors used for data points. You may use an array of colors to be picked from, or you may use a dataSource to apply dynamic coloring. For example, “> primary | seriesByName(\"status\") | matchValue(colorMatchConfig)”. ',\n type: ['string', 'array'],\n },\n seriesColors: {\n description: `Specify the colors used for data points. For example, [\"#FF0000\", \"#0000FF\", \"#008000\"].`,\n type: 'array',\n items: { type: 'string', pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA },\n default: VIZ_CATEGORICAL,\n },\n tooltipFields: {\n description:\n 'Specify the fields to add to tooltips shown while hovering over data points. These fields and their corresponding values will be shown in addition to the ones displayed by default.',\n type: 'array',\n items: { type: 'string' },\n default: [],\n },\n resultLimit: {\n description:\n 'Specify the maximum number of data points rendered on the map to improve performance.',\n type: 'number',\n default: 1000,\n },\n },\n },\n ],\n },\n },\n scaleUnit: {\n default: 'metric',\n type: 'string',\n description: 'Specify which scale unit to use.',\n pattern: getPattern(['metric', 'imperial']),\n },\n // TODO: choropleth map retain old design\n // showBaseLayer: {\n // default: true,\n // type: 'boolean',\n // description: 'Specify if showing the base map.',\n // },\n showScale: {\n default: true,\n type: 'boolean',\n description: 'Specify whether the scale on the bottom left is shown.',\n },\n baseLayerTileServer: {\n type: 'string',\n description: 'Specify the tile set URL for the base map.',\n },\n baseLayerTileServerType: {\n type: 'string',\n description: 'Specify the type of tile set for the base map.',\n pattern: getPattern(['vector', 'raster']),\n },\n zoom: {\n description: 'Specify the zoom level of the map.',\n type: 'number',\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 controlBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.gray22(props),\n light: variables.white(props),\n },\n prisma: variables.backgroundColorPopup(props),\n })(props),\n controlForegroundColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: variables.contentColorDefault(props),\n })(props),\n};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data Layer Formatting'),\n layout: [\n [\n {\n label: _('Layer Type'),\n option: 'layers[0].type',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Marker'), value: 'marker' },\n { label: _('Bubble'), value: 'bubble' },\n ],\n },\n },\n ],\n [\n {\n label: _('Latitude'),\n option: 'layers[0].latitude',\n editor: 'editor.columnSelector',\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n },\n },\n ],\n [\n {\n label: _('Longitude'),\n option: 'layers[0].longitude',\n editor: 'editor.columnSelector',\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n },\n },\n ],\n [\n {\n label: _('Size'),\n option: 'layers[0].bubbleSize',\n editor: 'editor.columnSelector',\n showEditor: ({ options }) =>\n !(options.layers && options.layers.length && options.layers[0].type === 'marker'),\n editorProps: {\n dataSourceKey: 'primary',\n isMultiSelect: true,\n shouldShowInternalFields: false,\n excludeByNames: ['latitude', 'longitude', 'geobin'],\n },\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.map',\n /**\n * viz name\n */\n name: 'Map',\n category: VizCategory.CHOROPLETH,\n status: 'preview',\n /**\n * viz icon\n */\n icon: MapIcon,\n placeholderIcon: MapPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'map.load': {\n description: 'triggered when map is fully loaded',\n },\n 'map.click': {\n description: 'trigger when user clicks map layer',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER],\n themes,\n requiredProps: [],\n};\n\nexport default enhanceConfig(config);\n","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"@splunk/visualization-icons/placeholders\");"],"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\"","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///external \"@splunk/themes\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///external \"lodash\"","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///./src/Map/config.ts","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///external \"@splunk/visualization-icons/placeholders\""],"names":[],"mappings":"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","file":"Map.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 = 51);\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';\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","module.exports = require(\"@splunk/visualization-icons\");","module.exports = require(\"@splunk/visualization-color-palettes\");","module.exports = require(\"@splunk/themes\");","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\");","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 { Map as MapIcon } from '@splunk/visualization-icons';\nimport { Map as MapPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { getPattern, COLOR_OR_TOKEN_PATTERN_WITH_RGBA } from '@splunk/visualizations-shared/schemaUtils';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { pick, variables } from '@splunk/themes';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { enhanceConfig } from '../common/utils/configUtils';\n\nconst defaultContext: DefaultContext = {\n colorRangeConfig: [\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};\n\nconst dataContract: DataContract = {\n requiredDataSources: [],\n optionalDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization.',\n },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 800,\n initialHeight: 600,\n};\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify a color for the background. You might use a dataSource 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_WITH_RGBA,\n type: 'string',\n },\n center: {\n type: 'array',\n description:\n 'Specify the center of the map in coordinates, in the form of [latitude, longitude]. If you don’t provide coordinates, the map automatically centers, based on available location data. If there is no available location data, the center of the map defaults to [37.7749, -122.4194].',\n items: { type: 'number' },\n },\n layers: {\n // The option merging of defaults and data binding with editing UI happens with the default defined below.\n // The inner defaults for properties within anyOf objects is used only for code intellisense in UDF to populate options.\n default: [\n {\n type: 'bubble',\n latitude: '> primary | seriesByName(\"latitude\")',\n longitude: '> primary | seriesByName(\"longitude\")',\n seriesColors: VIZ_CATEGORICAL,\n bubbleSize:\n '> primary | frameWithoutSeriesNames(\"geobin\", \"latitude\", \"longitude\") | frameBySeriesTypes(\"number\")',\n additionalTooltipFields: [],\n resultLimit: 1000,\n },\n {\n type: 'marker',\n latitude: '> primary | seriesByName(\"latitude\")',\n longitude: '> primary | seriesByName(\"longitude\")',\n seriesColors: VIZ_CATEGORICAL,\n additionalTooltipFields: [],\n resultLimit: 1000,\n },\n ],\n type: 'array',\n description:\n 'Specify the optional data visualization layers over the base map. If empty, only the base map appears.',\n items: {\n anyOf: [\n {\n type: 'object',\n properties: {\n type: {\n description:\n 'Specify the type of data layer method to display points on the map. For example, “bubble” or “marker”.',\n type: 'string',\n pattern: getPattern(['marker', 'bubble']),\n default: 'marker',\n },\n latitude: {\n description:\n 'Specify a dataSource series to apply latitude coordinates for data points displayed on the map.',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"latitude\")',\n },\n longitude: {\n description:\n 'Specify a dataSource series to apply longitude coordinates for data points displayed on the map.',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"longitude\")',\n },\n dataColors: {\n description:\n 'Specify the colors used for data points. If specified, this option overrides the seriesColors option. You may use an array of colors to be picked from, or you may use a dataSource to apply dynamic coloring. For example, “> primary | seriesByName(\"status\") | matchValue(colorMatchConfig)”. ',\n type: ['string', 'array'],\n items: { type: 'string' },\n },\n seriesColors: {\n description:\n 'Specify the colors used for data points. If the dataColors option is specified, the seriesColors option is ignored.',\n type: 'array',\n items: { type: 'string', pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA },\n default: VIZ_CATEGORICAL,\n },\n additionalTooltipFields: {\n description:\n 'Specify the fields to add to the default set of tooltips. Tooltips appear when you hover over data points. These fields and their corresponding values will be shown in addition to the ones displayed by default.',\n type: 'array',\n items: { type: 'string' },\n default: [],\n },\n resultLimit: {\n description:\n 'Specify the maximum number of data points to render on the map. Adjust the value to improve performance.',\n type: 'number',\n default: 1000,\n },\n },\n },\n {\n type: 'object',\n properties: {\n type: {\n description:\n 'Specify the type of data layer method to display points on the map. For example, “bubble” or “marker”.',\n type: 'string',\n pattern: getPattern(['marker', 'bubble']),\n default: 'bubble',\n },\n bubbleSize: {\n description:\n 'Specify the data column to encode bubble size. This applies to layers where type: \"bubble\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default:\n '> primary | frameWithoutSeriesNames(\"geobin\", \"latitude\", \"longitude\") | frameBySeriesTypes(\"number\")',\n },\n latitude: {\n description:\n 'Specify a dataSource series to apply latitude coordinates for data points displayed on the map.',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"latitude\")',\n },\n longitude: {\n description:\n 'Specify a dataSource series to apply longitude coordinates for data points displayed on the map.',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"longitude\")',\n },\n dataColors: {\n description:\n 'Specify the colors used for data points. If specified, this option overrides the seriesColors option. You may use an array of colors to be picked from, or you may use a dataSource to apply dynamic coloring. For example, “> primary | seriesByName(\"status\") | matchValue(colorMatchConfig)”. ',\n type: ['string', 'array'],\n items: { type: 'string' },\n },\n seriesColors: {\n description:\n 'Specify the colors used for data points. If the dataColors option is specified, the seriesColors option is ignored.',\n type: 'array',\n items: { type: 'string', pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA },\n default: VIZ_CATEGORICAL,\n },\n additionalTooltipFields: {\n description:\n 'Specify the fields to add to the default set of tooltips. Tooltips appear when you hover over data points. These fields and their corresponding values will be shown in addition to the ones displayed by default.',\n type: 'array',\n items: { type: 'string' },\n default: [],\n },\n resultLimit: {\n description:\n 'Specify the maximum number of data points to render on the map. Adjust the value to improve performance.',\n type: 'number',\n default: 1000,\n },\n },\n },\n ],\n },\n },\n scaleUnit: {\n default: 'metric',\n type: 'string',\n description: 'Specify the scale unit to use.',\n pattern: getPattern(['metric', 'imperial']),\n },\n // TODO: choropleth map retain old design\n // showBaseLayer: {\n // default: true,\n // type: 'boolean',\n // description: 'Specify if showing the base map.',\n // },\n showScale: {\n default: true,\n type: 'boolean',\n description: 'Specify whether to display the scale on the bottom left.',\n },\n baseLayerTileServer: {\n type: 'string',\n description: 'Specify the URL for the set of tiles that make up the base map.',\n },\n baseLayerTileServerType: {\n type: 'string',\n description: 'Specify the type of tile set for the base map.',\n pattern: getPattern(['vector', 'raster']),\n },\n zoom: {\n description: 'Specify the zoom level of the map.',\n type: 'number',\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 controlBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.gray22(props),\n light: variables.white(props),\n },\n prisma: variables.backgroundColorPopup(props),\n })(props),\n controlForegroundColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: variables.contentColorDefault(props),\n })(props),\n};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data Layer Formatting'),\n layout: [\n [\n {\n label: _('Layer Type'),\n option: 'layers[0].type',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Marker'), value: 'marker' },\n { label: _('Bubble'), value: 'bubble' },\n ],\n },\n },\n ],\n [\n {\n label: _('Latitude'),\n option: 'layers[0].latitude',\n editor: 'editor.columnSelector',\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n },\n },\n ],\n [\n {\n label: _('Longitude'),\n option: 'layers[0].longitude',\n editor: 'editor.columnSelector',\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n },\n },\n ],\n [\n {\n label: _('Size'),\n option: 'layers[0].bubbleSize',\n editor: 'editor.columnMultiSelector',\n showEditor: ({ options }) =>\n !(options.layers && options.layers.length && options.layers[0].type === 'marker'),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n excludeByNames: ['latitude', 'longitude', 'geobin'],\n },\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.map',\n /**\n * viz name\n */\n name: 'Map',\n category: VizCategory.CHOROPLETH,\n status: 'preview',\n /**\n * viz icon\n */\n icon: MapIcon,\n placeholderIcon: MapPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'map.load': {\n description: 'triggered when map is fully loaded',\n },\n 'map.click': {\n description: 'trigger when user clicks map layer',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER],\n themes,\n requiredProps: [],\n};\n\nexport default enhanceConfig(config);\n","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"@splunk/visualization-icons/placeholders\");"],"sourceRoot":""}
|