@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.
Files changed (142) hide show
  1. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_basic.png +0 -0
  2. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_marker_layer_dynamic_color.png +0 -0
  3. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_marker_layer_static_color.png +0 -0
  4. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_marker_layer_static_color_with_no_seriesColors.png +0 -0
  5. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_scale_off.png +0 -0
  6. package/.loki/reference/chrome_docker_PureVisualizations_PureMap_scale_unit_metric.png +0 -0
  7. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Area_Editor.png +0 -0
  8. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bar_Editor.png +0 -0
  9. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bubble_Editor.png +0 -0
  10. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_ChoroplethSvg_Editor.png +0 -0
  11. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Column_Editor.png +0 -0
  12. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Ellipse_Editor.png +0 -0
  13. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_FillerGauge_Editor.png +0 -0
  14. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Image_Editor.png +0 -0
  15. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Line_Editor.png +0 -0
  16. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_LinkGraph_Editor.png +0 -0
  17. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Map_Editor.png +0 -0
  18. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Markdown_Editor.png +0 -0
  19. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_MarkerGauge_Editor.png +0 -0
  20. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Parallel_Coordinates_Editor.png +0 -0
  21. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Pie_Editor.png +0 -0
  22. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Punchcard_Editor.png +0 -0
  23. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Rectangle_Editor.png +0 -0
  24. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Sankey_Editor.png +0 -0
  25. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Scatter_Editor.png +0 -0
  26. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Editor.png +0 -0
  27. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Icon_Editor.png +0 -0
  28. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Radial_Editor.png +0 -0
  29. package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Table_Editor.png +0 -0
  30. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
  31. package/.loki/reference/chrome_docker_Visualizations_Line_Line_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
  32. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Basic_Map.png +0 -0
  33. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer.png +0 -0
  34. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_GET.png +0 -0
  35. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_GET_Dynamic_Coloring.png +0 -0
  36. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_Internal_Fields.png +0 -0
  37. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_Static_Coloring.png +0 -0
  38. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_Dynamic_Coloring.png +0 -0
  39. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Marker_layer.png +0 -0
  40. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Marker_layer_Dynamic_coloring.png +0 -0
  41. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Marker_layer_Result_Limit_Set_To_3.png +0 -0
  42. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Restricted_Zoom.png +0 -0
  43. package/.loki/reference/chrome_docker_Visualizations_Map_Map_Set_Map_tiles.png +0 -0
  44. package/Area.config.js +26 -1
  45. package/Area.config.js.map +1 -1
  46. package/Area.js +49 -23
  47. package/Area.js.map +1 -1
  48. package/Bar.config.js +26 -1
  49. package/Bar.config.js.map +1 -1
  50. package/Bar.js +49 -23
  51. package/Bar.js.map +1 -1
  52. package/Bubble.config.js +26 -1
  53. package/Bubble.config.js.map +1 -1
  54. package/Bubble.js +49 -23
  55. package/Bubble.js.map +1 -1
  56. package/ChoroplethSvg.config.js +27 -3
  57. package/ChoroplethSvg.config.js.map +1 -1
  58. package/ChoroplethSvg.js +73 -48
  59. package/ChoroplethSvg.js.map +1 -1
  60. package/Column.config.js +26 -1
  61. package/Column.config.js.map +1 -1
  62. package/Column.js +49 -23
  63. package/Column.js.map +1 -1
  64. package/Ellipse.config.js +26 -1
  65. package/Ellipse.config.js.map +1 -1
  66. package/Ellipse.js +58 -32
  67. package/Ellipse.js.map +1 -1
  68. package/FillerGauge.config.js +27 -2
  69. package/FillerGauge.config.js.map +1 -1
  70. package/FillerGauge.js +60 -34
  71. package/FillerGauge.js.map +1 -1
  72. package/Image.config.js +27 -3
  73. package/Image.config.js.map +1 -1
  74. package/Image.js +58 -34
  75. package/Image.js.map +1 -1
  76. package/Line.config.js +26 -1
  77. package/Line.config.js.map +1 -1
  78. package/Line.js +49 -23
  79. package/Line.js.map +1 -1
  80. package/LinkGraph.config.js +26 -1
  81. package/LinkGraph.config.js.map +1 -1
  82. package/LinkGraph.js +87 -61
  83. package/LinkGraph.js.map +1 -1
  84. package/Map.config.js +42 -5
  85. package/Map.config.js.map +1 -1
  86. package/Map.js +100 -60
  87. package/Map.js.map +1 -1
  88. package/Markdown.config.js +28 -5
  89. package/Markdown.config.js.map +1 -1
  90. package/Markdown.js +58 -35
  91. package/Markdown.js.map +1 -1
  92. package/MarkerGauge.config.js +31 -7
  93. package/MarkerGauge.config.js.map +1 -1
  94. package/MarkerGauge.js +2939 -3022
  95. package/MarkerGauge.js.map +1 -1
  96. package/ParallelCoordinates.config.js +35 -10
  97. package/ParallelCoordinates.config.js.map +1 -1
  98. package/ParallelCoordinates.js +61 -35
  99. package/ParallelCoordinates.js.map +1 -1
  100. package/Pie.config.js +32 -8
  101. package/Pie.config.js.map +1 -1
  102. package/Pie.js +2242 -2330
  103. package/Pie.js.map +1 -1
  104. package/Punchcard.config.js +28 -5
  105. package/Punchcard.config.js.map +1 -1
  106. package/Punchcard.js +72 -48
  107. package/Punchcard.js.map +1 -1
  108. package/Rectangle.config.js +28 -3
  109. package/Rectangle.config.js.map +1 -1
  110. package/Rectangle.js +155 -130
  111. package/Rectangle.js.map +1 -1
  112. package/Sankey.config.js +30 -5
  113. package/Sankey.config.js.map +1 -1
  114. package/Sankey.js +107 -82
  115. package/Sankey.js.map +1 -1
  116. package/Scatter.config.js +29 -3
  117. package/Scatter.config.js.map +1 -1
  118. package/Scatter.js +47 -22
  119. package/Scatter.js.map +1 -1
  120. package/SingleValue.config.js +33 -7
  121. package/SingleValue.config.js.map +1 -1
  122. package/SingleValue.js +63 -38
  123. package/SingleValue.js.map +1 -1
  124. package/SingleValueBasic.js +2 -2
  125. package/SingleValueIcon.config.js +31 -5
  126. package/SingleValueIcon.config.js.map +1 -1
  127. package/SingleValueIcon.js +71 -45
  128. package/SingleValueIcon.js.map +1 -1
  129. package/SingleValueRadial.config.js +160 -165
  130. package/SingleValueRadial.config.js.map +1 -1
  131. package/SingleValueRadial.js +112 -87
  132. package/SingleValueRadial.js.map +1 -1
  133. package/Table.config.js +31 -6
  134. package/Table.config.js.map +1 -1
  135. package/Table.js +249 -224
  136. package/Table.js.map +1 -1
  137. package/common/OptionsDoc.js +26 -1
  138. package/common/OptionsDoc.js.map +1 -1
  139. package/common/utils/configUtils.js +26 -1
  140. package/common/utils/configUtils.js.map +1 -1
  141. package/common/withDashboardViz.js +2 -2
  142. package/package.json +10 -10
@@ -123,7 +123,7 @@ var __rest = this && this.__rest || function (s, e) {
123
123
  Object.defineProperty(exports, "__esModule", {
124
124
  value: true
125
125
  });
126
- exports.insertLayout = exports.generatePrecisionValues = exports.getInitialPreset = exports.isDynamicOption = exports.enhanceOptionsSchemaWithDynamicOptions = exports.enhanceConfig = void 0;
126
+ exports.insertLayout = exports.uncollapseEditorConfig = exports.generatePrecisionValues = exports.getInitialPreset = exports.isDynamicOption = exports.enhanceOptionsSchemaWithDynamicOptions = exports.enhanceConfig = void 0;
127
127
 
128
128
  var lodash_1 = __webpack_require__(5);
129
129
 
@@ -198,8 +198,10 @@ function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
198
198
  exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamicOptions;
199
199
  /**
200
200
  * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block
201
+ * this function also collapse all editor panels
201
202
  * @param vizConfig a Visualization Config
202
203
  * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports
204
+ * and containing `open: false` for all editor panels in editorConfig
203
205
  */
204
206
 
205
207
  function enhanceConfig(vizConfig) {
@@ -209,10 +211,33 @@ function enhanceConfig(vizConfig) {
209
211
  enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);
210
212
  }
211
213
 
214
+ enhancedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
215
+ return Object.assign(Object.assign({}, config), {
216
+ open: false
217
+ });
218
+ });
212
219
  return enhancedConfig;
213
220
  }
214
221
 
215
222
  exports.enhanceConfig = enhanceConfig;
223
+ /**
224
+ * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig
225
+ * Created for editor unit tests
226
+ * @param vizConfig a Visualization Config
227
+ * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig
228
+ */
229
+
230
+ function uncollapseEditorConfig(vizConfig) {
231
+ var editorPanelUncollapsedConfig = vizConfig;
232
+ editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
233
+ return Object.assign(Object.assign({}, config), {
234
+ open: true
235
+ });
236
+ });
237
+ return editorPanelUncollapsedConfig;
238
+ }
239
+
240
+ exports.uncollapseEditorConfig = uncollapseEditorConfig;
216
241
 
217
242
  function isDynamicOption(option) {
218
243
  return option && typeof option === 'string' && option.trim().startsWith('>') || false;
@@ -603,9 +628,8 @@ var themes = {
603
628
  };
604
629
  var editorConfig = [{
605
630
  label: i18n_1._('SVG Data'),
606
- open: true,
607
631
  layout: [[{
608
- label: '',
632
+ label: i18n_1._('SVG file'),
609
633
  option: 'svg',
610
634
  editor: 'editor.image',
611
635
  editorProps: {
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","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:///external \"@splunk/themes/pick\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///external \"@splunk/visualization-color-palettes/editors/PresetPalettes\"","webpack:///./src/common/editorConfig/StaticBackgroundColorEditor.js","webpack:///./src/ChoroplethSvg/config.ts"],"names":["StaticBackgroundColorEditor","label","_","option","editor","showEditor","options","isDynamicOption"],"mappings":"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","file":"ChoroplethSvg.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 = 40);\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(\"@babel/runtime/helpers/toConsumableArray\");","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","module.exports = require(\"@splunk/themes/pick\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualization-icons/placeholders\");","module.exports = require(\"@splunk/visualization-icons\");","module.exports = require(\"@splunk/visualization-color-palettes/editors/PresetPalettes\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '../utils/configUtils';\n\nconst StaticBackgroundColorEditor = {\n label: _('Static Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.backgroundColor),\n};\n\nexport default StaticBackgroundColorEditor;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { COLOR_OR_TOKEN_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport { defaultPalettesConfig } from '@splunk/visualization-color-palettes/editors/PresetPalettes';\nimport { ChoroplethSvg as ChoroplethSvgIcon } from '@splunk/visualization-icons';\nimport { ChoroplethSvg as ChoroplethSvgPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\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 { enhanceConfig } from '../common/utils/configUtils';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport StaticBackgroundColorEditor from '../common/editorConfig/StaticBackgroundColorEditor';\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: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {\n areaColorsGradientConfig: { colors: ['#7EEFDA', '#6484F6', '#C093F9', '#293873'] },\n areaColorsRangeConfig: [\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 areaColorsMatchConfig: [{ match: '', value: '#5C33FF' }],\n};\nconst optionsSchema: OptionsSchema = {\n areaColors: {\n default: '> areaValues|rangeValue(areaColorsRangeConfig)',\n description:\n 'Specify the dataSource field that should be used to set the svg fill attribute of identified areas.',\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN,\n },\n },\n areaIds: {\n default: '> primary|seriesByType(\"string\")',\n description:\n 'Specify the dataSource field that should be used to identify each area in the Choropleth svg, where the area has been tagged with an id field.',\n type: 'array',\n items: { type: 'string' },\n },\n areaValues: {\n default: '> primary|seriesByType(\"number\")',\n description: 'Specify the dataSource field that indicates the values for the areas.',\n type: 'array',\n items: { type: 'number' },\n },\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description: 'the background color behind the SVG, title, and description.',\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN,\n },\n svg: {\n description: 'Literal svg, or svg data URI.',\n type: 'string',\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};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('SVG Data'),\n open: true,\n layout: [\n [\n {\n label: '',\n option: 'svg',\n editor: 'editor.image',\n editorProps: {\n validMediaTypes: ['svg'],\n svgRenderAsDom: true,\n },\n },\n ],\n ],\n },\n {\n label: _('Path ID Field Formatting'),\n layout: [\n [\n {\n label: 'SVG Path ID Field',\n editor: 'editor.columnSelector',\n option: 'areaIds',\n context: 'areaIdContext', // todo: need refactor this\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ],\n [\n {\n label: 'Value Field',\n editor: 'editor.columnSelector',\n option: 'areaValues',\n context: 'areaValuesContext', // todo: need refactor this\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ],\n [\n {\n label: _('Coloring'),\n option: 'areaColors',\n context: 'defaultContext',\n editor: 'editor.dynamicColor',\n editorProps: {\n labelPosition: 'left',\n flyoutTitle: _('Path ID Field Formatting: Value'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n isDefault: true, // show it by default when open dynamic color flyout\n defaults: {\n areaValues: defaultContext.areaColorsRangeConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n areaValues: defaultContext.areaColorsMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Value'),\n value: 'areaValues',\n },\n ],\n defaultPalettesConfig,\n },\n },\n ],\n [\n {\n ...StaticBackgroundColorEditor,\n editorProps: {\n labelPosition: 'left',\n themes,\n },\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.choropleth.svg',\n /**\n * viz name\n */\n name: 'Choropleth Svg',\n category: VizCategory.CHOROPLETH,\n /**\n * viz icon\n */\n icon: ChoroplethSvgIcon,\n placeholderIcon: ChoroplethSvgPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n requiredProps: ['svg'],\n editorConfig,\n events: {\n 'area.click': {\n description: 'trigger when user clicks one area',\n payloadKeys: ['value', 'name'],\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER],\n themes,\n};\n\nexport default enhanceConfig(config);\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","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:///external \"@splunk/themes/pick\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///external \"@splunk/visualization-color-palettes/editors/PresetPalettes\"","webpack:///./src/common/editorConfig/StaticBackgroundColorEditor.js","webpack:///./src/ChoroplethSvg/config.ts"],"names":["StaticBackgroundColorEditor","label","_","option","editor","showEditor","options","isDynamicOption"],"mappings":"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","file":"ChoroplethSvg.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 = 40);\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(\"@babel/runtime/helpers/toConsumableArray\");","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","module.exports = require(\"@splunk/themes/pick\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualization-icons/placeholders\");","module.exports = require(\"@splunk/visualization-icons\");","module.exports = require(\"@splunk/visualization-color-palettes/editors/PresetPalettes\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '../utils/configUtils';\n\nconst StaticBackgroundColorEditor = {\n label: _('Static Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.backgroundColor),\n};\n\nexport default StaticBackgroundColorEditor;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { COLOR_OR_TOKEN_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport { defaultPalettesConfig } from '@splunk/visualization-color-palettes/editors/PresetPalettes';\nimport { ChoroplethSvg as ChoroplethSvgIcon } from '@splunk/visualization-icons';\nimport { ChoroplethSvg as ChoroplethSvgPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\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 { enhanceConfig } from '../common/utils/configUtils';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport StaticBackgroundColorEditor from '../common/editorConfig/StaticBackgroundColorEditor';\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: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {\n areaColorsGradientConfig: { colors: ['#7EEFDA', '#6484F6', '#C093F9', '#293873'] },\n areaColorsRangeConfig: [\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 areaColorsMatchConfig: [{ match: '', value: '#5C33FF' }],\n};\nconst optionsSchema: OptionsSchema = {\n areaColors: {\n default: '> areaValues|rangeValue(areaColorsRangeConfig)',\n description:\n 'Specify the dataSource field that should be used to set the svg fill attribute of identified areas.',\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN,\n },\n },\n areaIds: {\n default: '> primary|seriesByType(\"string\")',\n description:\n 'Specify the dataSource field that should be used to identify each area in the Choropleth svg, where the area has been tagged with an id field.',\n type: 'array',\n items: { type: 'string' },\n },\n areaValues: {\n default: '> primary|seriesByType(\"number\")',\n description: 'Specify the dataSource field that indicates the values for the areas.',\n type: 'array',\n items: { type: 'number' },\n },\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description: 'the background color behind the SVG, title, and description.',\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN,\n },\n svg: {\n description: 'Literal svg, or svg data URI.',\n type: 'string',\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};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('SVG Data'),\n layout: [\n [\n {\n label: _('SVG file'),\n option: 'svg',\n editor: 'editor.image',\n editorProps: {\n validMediaTypes: ['svg'],\n svgRenderAsDom: true,\n },\n },\n ],\n ],\n },\n {\n label: _('Path ID Field Formatting'),\n layout: [\n [\n {\n label: 'SVG Path ID Field',\n editor: 'editor.columnSelector',\n option: 'areaIds',\n context: 'areaIdContext', // todo: need refactor this\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ],\n [\n {\n label: 'Value Field',\n editor: 'editor.columnSelector',\n option: 'areaValues',\n context: 'areaValuesContext', // todo: need refactor this\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ],\n [\n {\n label: _('Coloring'),\n option: 'areaColors',\n context: 'defaultContext',\n editor: 'editor.dynamicColor',\n editorProps: {\n labelPosition: 'left',\n flyoutTitle: _('Path ID Field Formatting: Value'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n isDefault: true, // show it by default when open dynamic color flyout\n defaults: {\n areaValues: defaultContext.areaColorsRangeConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n areaValues: defaultContext.areaColorsMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Value'),\n value: 'areaValues',\n },\n ],\n defaultPalettesConfig,\n },\n },\n ],\n [\n {\n ...StaticBackgroundColorEditor,\n editorProps: {\n labelPosition: 'left',\n themes,\n },\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.choropleth.svg',\n /**\n * viz name\n */\n name: 'Choropleth Svg',\n category: VizCategory.CHOROPLETH,\n /**\n * viz icon\n */\n icon: ChoroplethSvgIcon,\n placeholderIcon: ChoroplethSvgPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n requiredProps: ['svg'],\n editorConfig,\n events: {\n 'area.click': {\n description: 'trigger when user clicks one area',\n payloadKeys: ['value', 'name'],\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER],\n themes,\n};\n\nexport default enhanceConfig(config);\n"],"sourceRoot":""}
package/ChoroplethSvg.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 = 155);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 156);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ([
@@ -184,7 +184,7 @@ var __rest = this && this.__rest || function (s, e) {
184
184
  Object.defineProperty(exports, "__esModule", {
185
185
  value: true
186
186
  });
187
- exports.insertLayout = exports.generatePrecisionValues = exports.getInitialPreset = exports.isDynamicOption = exports.enhanceOptionsSchemaWithDynamicOptions = exports.enhanceConfig = void 0;
187
+ exports.insertLayout = exports.uncollapseEditorConfig = exports.generatePrecisionValues = exports.getInitialPreset = exports.isDynamicOption = exports.enhanceOptionsSchemaWithDynamicOptions = exports.enhanceConfig = void 0;
188
188
 
189
189
  var lodash_1 = __webpack_require__(2);
190
190
 
@@ -259,8 +259,10 @@ function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
259
259
  exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamicOptions;
260
260
  /**
261
261
  * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block
262
+ * this function also collapse all editor panels
262
263
  * @param vizConfig a Visualization Config
263
264
  * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports
265
+ * and containing `open: false` for all editor panels in editorConfig
264
266
  */
265
267
 
266
268
  function enhanceConfig(vizConfig) {
@@ -270,10 +272,33 @@ function enhanceConfig(vizConfig) {
270
272
  enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);
271
273
  }
272
274
 
275
+ enhancedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
276
+ return Object.assign(Object.assign({}, config), {
277
+ open: false
278
+ });
279
+ });
273
280
  return enhancedConfig;
274
281
  }
275
282
 
276
283
  exports.enhanceConfig = enhanceConfig;
284
+ /**
285
+ * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig
286
+ * Created for editor unit tests
287
+ * @param vizConfig a Visualization Config
288
+ * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig
289
+ */
290
+
291
+ function uncollapseEditorConfig(vizConfig) {
292
+ var editorPanelUncollapsedConfig = vizConfig;
293
+ editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
294
+ return Object.assign(Object.assign({}, config), {
295
+ open: true
296
+ });
297
+ });
298
+ return editorPanelUncollapsedConfig;
299
+ }
300
+
301
+ exports.uncollapseEditorConfig = uncollapseEditorConfig;
277
302
 
278
303
  function isDynamicOption(option) {
279
304
  return option && typeof option === 'string' && option.trim().startsWith('>') || false;
@@ -381,7 +406,7 @@ module.exports = require("@babel/runtime/helpers/defineProperty");
381
406
  "use strict";
382
407
 
383
408
 
384
- var _typeof = __webpack_require__(23);
409
+ var _typeof = __webpack_require__(25);
385
410
 
386
411
  Object.defineProperty(exports, "__esModule", {
387
412
  value: true
@@ -566,7 +591,7 @@ var withFixedSizeContainer = function withFixedSizeContainer(Viz) {
566
591
 
567
592
  return React.createElement(FixSizeItem, {
568
593
  "data-test": "fix-size-item",
569
- "data-splunk-visualization-version": "25.0.0 - 5e0f30e5a",
594
+ "data-splunk-visualization-version": "25.0.1 - de10ad954",
570
595
  width: width,
571
596
  height: height,
572
597
  backgroundColor: backgroundColor
@@ -625,14 +650,8 @@ module.exports = require("@splunk/visualization-context/TimezoneContext");
625
650
 
626
651
  /***/ }),
627
652
  /* 22 */,
628
- /* 23 */
629
- /***/ (function(module, exports) {
630
-
631
- module.exports = require("@babel/runtime/helpers/typeof");
632
-
633
- /***/ }),
634
- /* 24 */,
635
- /* 25 */
653
+ /* 23 */,
654
+ /* 24 */
636
655
  /***/ (function(module, exports, __webpack_require__) {
637
656
 
638
657
  "use strict";
@@ -664,6 +683,12 @@ var pickFieldFromJSONSchema = function pickFieldFromJSONSchema(optionsSchema) {
664
683
 
665
684
  exports.pickFieldFromJSONSchema = pickFieldFromJSONSchema;
666
685
 
686
+ /***/ }),
687
+ /* 25 */
688
+ /***/ (function(module, exports) {
689
+
690
+ module.exports = require("@babel/runtime/helpers/typeof");
691
+
667
692
  /***/ }),
668
693
  /* 26 */
669
694
  /***/ (function(module, exports, __webpack_require__) {
@@ -954,7 +979,7 @@ var getPagination_1 = __webpack_require__(28);
954
979
 
955
980
  var useDeepMemo_1 = __webpack_require__(38);
956
981
 
957
- var JSONSchemaUtils_1 = __webpack_require__(25);
982
+ var JSONSchemaUtils_1 = __webpack_require__(24);
958
983
 
959
984
  var MissingPropsMessage_1 = __webpack_require__(39);
960
985
 
@@ -1534,7 +1559,7 @@ var Cover = styled_components_1.default.div.withConfig({
1534
1559
  componentId: "sc-1gsbnxb-0"
1535
1560
  })(["position:absolute;left:0;right:0;top:0;bottom:0;"]);
1536
1561
  var Blocker = styled_components_1.default.div.attrs({
1537
- 'data-splunk-visualization-version': "25.0.0 - 5e0f30e5a"
1562
+ 'data-splunk-visualization-version': "25.0.1 - de10ad954"
1538
1563
  }).withConfig({
1539
1564
  displayName: "withEditModeCover__Blocker",
1540
1565
  componentId: "sc-1gsbnxb-1"
@@ -1743,25 +1768,25 @@ var StaticBackgroundColorEditor = {
1743
1768
  /* 89 */,
1744
1769
  /* 90 */,
1745
1770
  /* 91 */,
1746
- /* 92 */
1771
+ /* 92 */,
1772
+ /* 93 */
1747
1773
  /***/ (function(module, exports) {
1748
1774
 
1749
1775
  module.exports = require("@babel/runtime/helpers/inherits");
1750
1776
 
1751
1777
  /***/ }),
1752
- /* 93 */
1778
+ /* 94 */
1753
1779
  /***/ (function(module, exports) {
1754
1780
 
1755
1781
  module.exports = require("@babel/runtime/helpers/possibleConstructorReturn");
1756
1782
 
1757
1783
  /***/ }),
1758
- /* 94 */
1784
+ /* 95 */
1759
1785
  /***/ (function(module, exports) {
1760
1786
 
1761
1787
  module.exports = require("@babel/runtime/helpers/getPrototypeOf");
1762
1788
 
1763
1789
  /***/ }),
1764
- /* 95 */,
1765
1790
  /* 96 */,
1766
1791
  /* 97 */,
1767
1792
  /* 98 */,
@@ -1786,7 +1811,8 @@ module.exports = require("@babel/runtime/helpers/getPrototypeOf");
1786
1811
  /* 117 */,
1787
1812
  /* 118 */,
1788
1813
  /* 119 */,
1789
- /* 120 */
1814
+ /* 120 */,
1815
+ /* 121 */
1790
1816
  /***/ (function(module, exports, __webpack_require__) {
1791
1817
 
1792
1818
  "use strict";
@@ -1796,11 +1822,11 @@ var _classCallCheck = __webpack_require__(12);
1796
1822
 
1797
1823
  var _createClass = __webpack_require__(17);
1798
1824
 
1799
- var _inherits = __webpack_require__(92);
1825
+ var _inherits = __webpack_require__(93);
1800
1826
 
1801
- var _possibleConstructorReturn = __webpack_require__(93);
1827
+ var _possibleConstructorReturn = __webpack_require__(94);
1802
1828
 
1803
- var _getPrototypeOf = __webpack_require__(94);
1829
+ var _getPrototypeOf = __webpack_require__(95);
1804
1830
 
1805
1831
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
1806
1832
 
@@ -1814,7 +1840,7 @@ var React = __webpack_require__(1);
1814
1840
 
1815
1841
  var lodash_1 = __webpack_require__(2);
1816
1842
 
1817
- var SvgMutator_1 = __webpack_require__(161);
1843
+ var SvgMutator_1 = __webpack_require__(162);
1818
1844
  /**
1819
1845
  * This react component simply take an SVG document, and mutates it by applying data to the document according to
1820
1846
  * dataBindings. The data (data prop) is processed by performing the mutation once for each 'row' of the data even though the data is formatted as columns.
@@ -1942,7 +1968,6 @@ SvgChoroplethDynamic.defaultProps = {
1942
1968
  };
1943
1969
 
1944
1970
  /***/ }),
1945
- /* 121 */,
1946
1971
  /* 122 */,
1947
1972
  /* 123 */,
1948
1973
  /* 124 */,
@@ -1976,7 +2001,8 @@ SvgChoroplethDynamic.defaultProps = {
1976
2001
  /* 152 */,
1977
2002
  /* 153 */,
1978
2003
  /* 154 */,
1979
- /* 155 */
2004
+ /* 155 */,
2005
+ /* 156 */
1980
2006
  /***/ (function(module, exports, __webpack_require__) {
1981
2007
 
1982
2008
  "use strict";
@@ -2006,21 +2032,21 @@ var T = __webpack_require__(0);
2006
2032
 
2007
2033
  var lodash_1 = __webpack_require__(2);
2008
2034
 
2009
- var FeatureFlagContext_1 = __webpack_require__(156);
2035
+ var FeatureFlagContext_1 = __webpack_require__(157);
2010
2036
 
2011
- var ImageContext_1 = __webpack_require__(157);
2037
+ var ImageContext_1 = __webpack_require__(158);
2012
2038
 
2013
- var FileDownloader_1 = __webpack_require__(158);
2039
+ var FileDownloader_1 = __webpack_require__(159);
2014
2040
 
2015
- var Downloader_1 = __webpack_require__(159);
2041
+ var Downloader_1 = __webpack_require__(160);
2016
2042
 
2017
2043
  var withDashboardViz_1 = __webpack_require__(30);
2018
2044
 
2019
- var PureChoroplethSvg_1 = __webpack_require__(160);
2045
+ var PureChoroplethSvg_1 = __webpack_require__(161);
2020
2046
 
2021
- var SvgChoroplethDynamic_1 = __webpack_require__(120);
2047
+ var SvgChoroplethDynamic_1 = __webpack_require__(121);
2022
2048
 
2023
- var config_1 = __webpack_require__(165);
2049
+ var config_1 = __webpack_require__(166);
2024
2050
 
2025
2051
  var IconPlaceholder_1 = __webpack_require__(26);
2026
2052
 
@@ -2106,31 +2132,31 @@ var platformViz = withDashboardViz_1.default({
2106
2132
  exports.default = platformViz;
2107
2133
 
2108
2134
  /***/ }),
2109
- /* 156 */
2135
+ /* 157 */
2110
2136
  /***/ (function(module, exports) {
2111
2137
 
2112
2138
  module.exports = require("@splunk/visualization-context/FeatureFlagContext");
2113
2139
 
2114
2140
  /***/ }),
2115
- /* 157 */
2141
+ /* 158 */
2116
2142
  /***/ (function(module, exports) {
2117
2143
 
2118
2144
  module.exports = require("@splunk/visualization-context/ImageContext");
2119
2145
 
2120
2146
  /***/ }),
2121
- /* 158 */
2147
+ /* 159 */
2122
2148
  /***/ (function(module, exports) {
2123
2149
 
2124
2150
  module.exports = require("@splunk/visualizations-shared/FileDownloader");
2125
2151
 
2126
2152
  /***/ }),
2127
- /* 159 */
2153
+ /* 160 */
2128
2154
  /***/ (function(module, exports) {
2129
2155
 
2130
2156
  module.exports = require("@splunk/visualizations-shared/Downloader");
2131
2157
 
2132
2158
  /***/ }),
2133
- /* 160 */
2159
+ /* 161 */
2134
2160
  /***/ (function(module, exports, __webpack_require__) {
2135
2161
 
2136
2162
  "use strict";
@@ -2164,7 +2190,7 @@ var style_1 = __webpack_require__(15);
2164
2190
 
2165
2191
  var SizeAwareWrapper_1 = __webpack_require__(18);
2166
2192
 
2167
- var SvgChoroplethDynamic_1 = __webpack_require__(120);
2193
+ var SvgChoroplethDynamic_1 = __webpack_require__(121);
2168
2194
 
2169
2195
  var VizStyleWrapper_1 = __webpack_require__(62);
2170
2196
 
@@ -2236,7 +2262,7 @@ PureChoroplethSvg.defaultProps = {
2236
2262
  exports.default = styled_components_1.withTheme(PureChoroplethSvg);
2237
2263
 
2238
2264
  /***/ }),
2239
- /* 161 */
2265
+ /* 162 */
2240
2266
  /***/ (function(module, exports, __webpack_require__) {
2241
2267
 
2242
2268
  "use strict";
@@ -2254,11 +2280,11 @@ exports.SvgMutator = exports.ERROR_NON_ATTRIBUTE_MUTATION = void 0;
2254
2280
 
2255
2281
  var React = __webpack_require__(1);
2256
2282
 
2257
- var XPath = __webpack_require__(162);
2283
+ var XPath = __webpack_require__(163);
2258
2284
 
2259
- var xmldom_1 = __webpack_require__(163);
2285
+ var xmldom_1 = __webpack_require__(164);
2260
2286
 
2261
- var jexl = __webpack_require__(164);
2287
+ var jexl = __webpack_require__(165);
2262
2288
  /**
2263
2289
  * An error message indicating that a mutation has attempted to target anything other than SVG attribute(s)
2264
2290
  * @type {string}
@@ -2662,25 +2688,25 @@ exports.SvgMutator = SvgMutator;
2662
2688
  SvgMutator.serializer = new xmldom_1.XMLSerializer();
2663
2689
 
2664
2690
  /***/ }),
2665
- /* 162 */
2691
+ /* 163 */
2666
2692
  /***/ (function(module, exports) {
2667
2693
 
2668
2694
  module.exports = require("xpath");
2669
2695
 
2670
2696
  /***/ }),
2671
- /* 163 */
2697
+ /* 164 */
2672
2698
  /***/ (function(module, exports) {
2673
2699
 
2674
2700
  module.exports = require("@xmldom/xmldom");
2675
2701
 
2676
2702
  /***/ }),
2677
- /* 164 */
2703
+ /* 165 */
2678
2704
  /***/ (function(module, exports) {
2679
2705
 
2680
2706
  module.exports = require("jexl");
2681
2707
 
2682
2708
  /***/ }),
2683
- /* 165 */
2709
+ /* 166 */
2684
2710
  /***/ (function(module, exports, __webpack_require__) {
2685
2711
 
2686
2712
  "use strict";
@@ -2807,9 +2833,8 @@ var themes = {
2807
2833
  };
2808
2834
  var editorConfig = [{
2809
2835
  label: i18n_1._('SVG Data'),
2810
- open: true,
2811
2836
  layout: [[{
2812
- label: '',
2837
+ label: i18n_1._('SVG file'),
2813
2838
  option: 'svg',
2814
2839
  editor: 'editor.image',
2815
2840
  editorProps: {