@splunk/visualizations 26.2.1 → 26.4.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.
Files changed (150) hide show
  1. package/Area.config.js +92 -595
  2. package/Area.config.js.map +1 -1
  3. package/Area.js +296 -801
  4. package/Area.js.map +1 -1
  5. package/Bar.config.js +93 -562
  6. package/Bar.config.js.map +1 -1
  7. package/Bar.js +299 -770
  8. package/Bar.js.map +1 -1
  9. package/Bubble.config.js +84 -483
  10. package/Bubble.config.js.map +1 -1
  11. package/Bubble.js +286 -687
  12. package/Bubble.js.map +1 -1
  13. package/ChoroplethSvg.config.js +77 -202
  14. package/ChoroplethSvg.config.js.map +1 -1
  15. package/ChoroplethSvg.js +272 -400
  16. package/ChoroplethSvg.js.map +1 -1
  17. package/Column.config.js +93 -600
  18. package/Column.config.js.map +1 -1
  19. package/Column.js +299 -808
  20. package/Column.js.map +1 -1
  21. package/Ellipse.config.js +82 -200
  22. package/Ellipse.config.js.map +1 -1
  23. package/Ellipse.js +233 -356
  24. package/Ellipse.js.map +1 -1
  25. package/Events.config.js +62 -283
  26. package/Events.config.js.map +1 -1
  27. package/Events.js +326 -530
  28. package/Events.js.map +1 -1
  29. package/FillerGauge.config.js +91 -220
  30. package/FillerGauge.config.js.map +1 -1
  31. package/FillerGauge.js +267 -401
  32. package/FillerGauge.js.map +1 -1
  33. package/Image.config.js +61 -157
  34. package/Image.config.js.map +1 -1
  35. package/Image.js +217 -327
  36. package/Image.js.map +1 -1
  37. package/Line.config.js +92 -607
  38. package/Line.config.js.map +1 -1
  39. package/Line.js +297 -814
  40. package/Line.js.map +1 -1
  41. package/LinkGraph.config.js +75 -257
  42. package/LinkGraph.config.js.map +1 -1
  43. package/LinkGraph.js +1755 -17415
  44. package/LinkGraph.js.map +1 -1
  45. package/MIGRATION.md +6 -0
  46. package/Map.config.js +128 -1123
  47. package/Map.config.js.map +1 -1
  48. package/Map.js +470 -782
  49. package/Map.js.map +1 -1
  50. package/Markdown.config.js +62 -189
  51. package/Markdown.config.js.map +1 -1
  52. package/Markdown.js +272 -401
  53. package/Markdown.js.map +1 -1
  54. package/MarkerGauge.config.js +138 -298
  55. package/MarkerGauge.config.js.map +1 -1
  56. package/MarkerGauge.js +309 -470
  57. package/MarkerGauge.js.map +1 -1
  58. package/ParallelCoordinates.config.js +72 -192
  59. package/ParallelCoordinates.config.js.map +1 -1
  60. package/ParallelCoordinates.js +333 -442
  61. package/ParallelCoordinates.js.map +1 -1
  62. package/Pie.config.js +77 -241
  63. package/Pie.config.js.map +1 -1
  64. package/Pie.js +336 -471
  65. package/Pie.js.map +1 -1
  66. package/Punchcard.config.js +72 -306
  67. package/Punchcard.config.js.map +1 -1
  68. package/Punchcard.js +356 -583
  69. package/Punchcard.js.map +1 -1
  70. package/Rectangle.config.js +211 -347
  71. package/Rectangle.config.js.map +1 -1
  72. package/Rectangle.js +371 -509
  73. package/Rectangle.js.map +1 -1
  74. package/Sankey.config.js +72 -214
  75. package/Sankey.config.js.map +1 -1
  76. package/Sankey.js +343 -475
  77. package/Sankey.js.map +1 -1
  78. package/Scatter.config.js +86 -464
  79. package/Scatter.config.js.map +1 -1
  80. package/Scatter.js +1118 -1493
  81. package/Scatter.js.map +1 -1
  82. package/SingleValue.config.js +124 -411
  83. package/SingleValue.config.js.map +1 -1
  84. package/SingleValue.js +522 -789
  85. package/SingleValue.js.map +1 -1
  86. package/SingleValueBasic.js +73 -61
  87. package/SingleValueBasic.js.map +1 -1
  88. package/SingleValueIcon.config.js +123 -380
  89. package/SingleValueIcon.config.js.map +1 -1
  90. package/SingleValueIcon.js +508 -745
  91. package/SingleValueIcon.js.map +1 -1
  92. package/SingleValueRadial.config.js +121 -385
  93. package/SingleValueRadial.config.js.map +1 -1
  94. package/SingleValueRadial.js +1642 -1885
  95. package/SingleValueRadial.js.map +1 -1
  96. package/SparkLine.js +39 -39
  97. package/SparkLine.js.map +1 -1
  98. package/Table.config.js +82 -496
  99. package/Table.config.js.map +1 -1
  100. package/Table.js +416 -825
  101. package/Table.js.map +1 -1
  102. package/common/Charting.js +37 -57
  103. package/common/Charting.js.map +1 -1
  104. package/common/DocExampleWithVizSandbox.js +21 -21
  105. package/common/DocExampleWithVizSandbox.js.map +1 -1
  106. package/common/EventsDoc.js +18 -18
  107. package/common/EventsDoc.js.map +1 -1
  108. package/common/GaugeMajorTicks.js +4 -4
  109. package/common/GaugeMajorTicks.js.map +1 -1
  110. package/common/GaugeValueMarker.js +2 -2
  111. package/common/GaugeValueMarker.js.map +1 -1
  112. package/common/OptionsDoc.js +4 -4
  113. package/common/OptionsDoc.js.map +1 -1
  114. package/common/OverviewDoc.js +39 -40
  115. package/common/OverviewDoc.js.map +1 -1
  116. package/common/SplunkVisualization.js +2 -2
  117. package/common/SplunkVisualization.js.map +1 -1
  118. package/common/SplunkVisualizationApi.js +2 -2
  119. package/common/SplunkVisualizationApi.js.map +1 -1
  120. package/common/ThemesDoc.js +19 -19
  121. package/common/ThemesDoc.js.map +1 -1
  122. package/common/chartingUtils.js +2 -2
  123. package/common/chartingUtils.js.map +1 -1
  124. package/common/gaugeUtils.js +10 -10
  125. package/common/gaugeUtils.js.map +1 -1
  126. package/common/shapeUtils.js +10 -10
  127. package/common/shapeUtils.js.map +1 -1
  128. package/common/utils/configUtils.js +25 -155
  129. package/common/utils/configUtils.js.map +1 -1
  130. package/common/utils/dataUtils.js +87 -105
  131. package/common/utils/dataUtils.js.map +1 -1
  132. package/common/utils/featureFlagUtils.js +4 -4
  133. package/common/utils/featureFlagUtils.js.map +1 -1
  134. package/common/utils/hocUtils.js +2 -2
  135. package/common/utils/hocUtils.js.map +1 -1
  136. package/common/utils/mapUtils.js +51 -54
  137. package/common/utils/mapUtils.js.map +1 -1
  138. package/common/utils/singleValueUtils.js +30 -18
  139. package/common/utils/singleValueUtils.js.map +1 -1
  140. package/common/utils/testHelper.js +7 -36
  141. package/common/utils/testHelper.js.map +1 -1
  142. package/common/utils/trellisUtils.js +7 -6
  143. package/common/utils/trellisUtils.js.map +1 -1
  144. package/common/utils/urlUtils.js +2 -2
  145. package/common/utils/urlUtils.js.map +1 -1
  146. package/common/withDashboardViz.js +93 -101
  147. package/common/withDashboardViz.js.map +1 -1
  148. package/package.json +48 -50
  149. package/common/utils/layoutUtils.js +0 -115
  150. package/common/utils/layoutUtils.js.map +0 -1
package/Events.config.js CHANGED
@@ -87,7 +87,7 @@ module.exports =
87
87
  /******/
88
88
  /******/
89
89
  /******/ // Load entry module and return exports
90
- /******/ return __webpack_require__(__webpack_require__.s = 48);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 45);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ({
@@ -106,21 +106,21 @@ module.exports = require("@babel/runtime/helpers/toConsumableArray");
106
106
 
107
107
  /***/ }),
108
108
 
109
- /***/ 11:
109
+ /***/ 10:
110
110
  /***/ (function(module, exports) {
111
111
 
112
112
  module.exports = require("@splunk/visualization-icons/placeholders");
113
113
 
114
114
  /***/ }),
115
115
 
116
- /***/ 12:
116
+ /***/ 11:
117
117
  /***/ (function(module, exports) {
118
118
 
119
119
  module.exports = require("@splunk/visualization-icons");
120
120
 
121
121
  /***/ }),
122
122
 
123
- /***/ 13:
123
+ /***/ 12:
124
124
  /***/ (function(module, exports, __webpack_require__) {
125
125
 
126
126
  "use strict";
@@ -137,7 +137,7 @@ var background = function background(_ref) {
137
137
  themes = _ref.themes,
138
138
  labelPosition = _ref.labelPosition;
139
139
  return [{
140
- label: (0, i18n_1._)(label || 'Background'),
140
+ label: (0, i18n_1._)(label || 'Background color'),
141
141
  option: 'backgroundColor',
142
142
  editor: 'editor.color',
143
143
  editorProps: {
@@ -151,61 +151,21 @@ exports.default = background;
151
151
 
152
152
  /***/ }),
153
153
 
154
- /***/ 2:
155
- /***/ (function(module, exports, __webpack_require__) {
156
-
157
- "use strict";
158
-
159
-
160
- Object.defineProperty(exports, "__esModule", {
161
- value: true
162
- });
163
- exports.VizBehavior = void 0;
164
- var VizBehavior;
165
-
166
- (function (VizBehavior) {
167
- /**
168
- * Dynamic Options Behavior.
169
- * This allows visualization options to be powered by data
170
- *
171
- * **Example**
172
- *
173
- * sparklineValues: ">primary|seriesByIndex(0)"
174
- * would configure sparklineValues with an array of data points
175
- * coming from the first series in the primary datasource
176
- *
177
- */
178
- VizBehavior["DYNAMIC_OPTIONS"] = "dynamic-options";
179
- VizBehavior["EVENTS"] = "events";
180
- VizBehavior["DOWNSAMPLING"] = "downsampling";
181
- /**
182
- * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is
183
- * missing.
184
- * @type {string}
185
- */
186
-
187
- VizBehavior["PLACEHOLDER"] = "placeholder";
188
- VizBehavior["PAGE_AND_SORT"] = "page-and-sort";
189
- VizBehavior["TRELLIS"] = "trellis";
190
- })(VizBehavior = exports.VizBehavior || (exports.VizBehavior = {}));
191
-
192
- /***/ }),
193
-
194
- /***/ 21:
154
+ /***/ 19:
195
155
  /***/ (function(module, exports) {
196
156
 
197
157
  module.exports = require("@splunk/themes");
198
158
 
199
159
  /***/ }),
200
160
 
201
- /***/ 3:
161
+ /***/ 2:
202
162
  /***/ (function(module, exports) {
203
163
 
204
- module.exports = require("@splunk/visualizations-shared/schemaUtils");
164
+ module.exports = require("@splunk/visualization-schemas");
205
165
 
206
166
  /***/ }),
207
167
 
208
- /***/ 4:
168
+ /***/ 3:
209
169
  /***/ (function(module, exports, __webpack_require__) {
210
170
 
211
171
  "use strict";
@@ -213,97 +173,22 @@ module.exports = require("@splunk/visualizations-shared/schemaUtils");
213
173
 
214
174
  var _toConsumableArray = __webpack_require__(1);
215
175
 
216
- var _defineProperty = __webpack_require__(7);
217
-
218
- var __rest = this && this.__rest || function (s, e) {
219
- var t = {};
220
-
221
- for (var p in s) {
222
- if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
223
- }
224
-
225
- if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
226
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
227
- }
228
- return t;
229
- };
230
-
231
176
  Object.defineProperty(exports, "__esModule", {
232
177
  value: true
233
178
  });
234
- exports.insertLayout = exports.isDynamicOption = exports.uncollapseEditorConfig = exports.generatePrecisionValues = exports.getInitialPreset = exports.enhanceOptionsSchemaWithDynamicOptions = exports.enhanceConfig = void 0;
235
-
236
- var lodash_1 = __webpack_require__(6);
179
+ exports.insertLayout = exports.isDynamicOption = exports.uncollapseEditorConfig = exports.generatePrecisionValues = exports.getInitialPreset = exports.enhanceConfig = exports.enhanceOptionsSchemaWithDynamicOptions = void 0;
237
180
 
238
- var schemaUtils_1 = __webpack_require__(3);
181
+ var lodash_1 = __webpack_require__(5); // included for backwards compatibility
239
182
 
240
- var VizBehavior_1 = __webpack_require__(2);
241
183
 
242
- var dynamicOptionsDSLType = {
243
- type: 'string',
244
- pattern: schemaUtils_1.DYNAMIC_OPTIONS_DSL_PATTERN
245
- };
246
- /**
247
- * Helper function to extend an options schema with dynamic options DSL
248
- * @param optionsSchema a visualization's options schema
249
- * @returns an updated options schema that additionally allows strings starting with > for each option
250
- */
251
-
252
- function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
253
- var enhancedOptionsSchema = {};
254
- Object.keys(optionsSchema).forEach(function (key) {
255
- var _a = optionsSchema[key],
256
- title = _a.title,
257
- description = _a.description,
258
- readOnly = _a.readOnly,
259
- writeOnly = _a.writeOnly,
260
- examples = _a.examples,
261
- defaultValue = _a.default,
262
- type = _a.type,
263
- properties = _a.properties,
264
- patternProperties = _a.patternProperties,
265
- remainingSchemaEntry = __rest(_a, ["title", "description", "readOnly", "writeOnly", "examples", "default", "type", "properties", "patternProperties"]);
266
-
267
- var annotations = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, title !== undefined && {
268
- title: title
269
- }), description !== undefined && {
270
- description: description
271
- }), readOnly !== undefined && {
272
- readOnly: readOnly
273
- }), writeOnly !== undefined && {
274
- writeOnly: writeOnly
275
- }), examples !== undefined && {
276
- examples: examples
277
- }), defaultValue !== undefined && {
278
- default: defaultValue
279
- });
280
-
281
- if (type === 'object') {
282
- enhancedOptionsSchema[key] = Object.assign(Object.assign(Object.assign(Object.assign({}, remainingSchemaEntry), annotations), {
283
- type: type
284
- }), properties && {
285
- properties: enhanceOptionsSchemaWithDynamicOptions(properties)
286
- });
287
-
288
- if (patternProperties) {
289
- var enhancedPatternProperties = {};
290
- Object.keys(patternProperties).forEach(function (opt) {
291
- enhancedPatternProperties = Object.assign(Object.assign({}, enhancedPatternProperties), enhanceOptionsSchemaWithDynamicOptions(_defineProperty({}, opt, patternProperties[opt])));
292
- });
293
- enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;
294
- }
295
- } else {
296
- enhancedOptionsSchema[key] = Object.assign(Object.assign({}, annotations), {
297
- anyOf: [Object.assign(Object.assign({}, type !== undefined && {
298
- type: type
299
- }), remainingSchemaEntry), dynamicOptionsDSLType]
300
- });
301
- }
302
- });
303
- return enhancedOptionsSchema;
304
- }
184
+ var visualization_schemas_1 = __webpack_require__(2);
305
185
 
306
- exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamicOptions;
186
+ Object.defineProperty(exports, "enhanceOptionsSchemaWithDynamicOptions", {
187
+ enumerable: true,
188
+ get: function get() {
189
+ return visualization_schemas_1.enhanceOptionsSchemaWithDynamicOptions;
190
+ }
191
+ });
307
192
  /**
308
193
  * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block
309
194
  * this function also collapse all editor panels
@@ -314,11 +199,6 @@ exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamic
314
199
 
315
200
  function enhanceConfig(vizConfig) {
316
201
  var enhancedConfig = Object.assign({}, vizConfig);
317
-
318
- if (vizConfig.supports.indexOf(VizBehavior_1.VizBehavior.DYNAMIC_OPTIONS) !== -1) {
319
- enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);
320
- }
321
-
322
202
  enhancedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
323
203
  return Object.assign(Object.assign({}, config), {
324
204
  open: config.open || false
@@ -442,7 +322,7 @@ exports.insertLayout = insertLayout;
442
322
 
443
323
  /***/ }),
444
324
 
445
- /***/ 48:
325
+ /***/ 45:
446
326
  /***/ (function(module, exports, __webpack_require__) {
447
327
 
448
328
  "use strict";
@@ -452,25 +332,23 @@ Object.defineProperty(exports, "__esModule", {
452
332
  value: true
453
333
  });
454
334
 
455
- var visualization_icons_1 = __webpack_require__(12);
335
+ var visualization_icons_1 = __webpack_require__(11);
456
336
 
457
- var placeholders_1 = __webpack_require__(11);
337
+ var placeholders_1 = __webpack_require__(10);
458
338
 
459
- var schemaUtils_1 = __webpack_require__(3);
339
+ var visualization_schemas_1 = __webpack_require__(2);
460
340
 
461
- var themes_1 = __webpack_require__(21);
341
+ var themes_1 = __webpack_require__(19);
462
342
 
463
343
  var i18n_1 = __webpack_require__(0);
464
344
 
465
- var DataSource_1 = __webpack_require__(49);
466
-
467
- var VizBehavior_1 = __webpack_require__(2);
345
+ var VizBehavior_1 = __webpack_require__(6);
468
346
 
469
- var VizCategory_1 = __webpack_require__(8);
347
+ var VizCategory_1 = __webpack_require__(7);
470
348
 
471
- var configUtils_1 = __webpack_require__(4);
349
+ var configUtils_1 = __webpack_require__(3);
472
350
 
473
- var BackgroundColor_1 = __webpack_require__(13);
351
+ var BackgroundColor_1 = __webpack_require__(12);
474
352
 
475
353
  var defaultContext = {};
476
354
  var dataContract = {
@@ -503,122 +381,6 @@ var size = {
503
381
  initialWidth: 800,
504
382
  initialHeight: 500
505
383
  };
506
- var optionsSchema = {
507
- backgroundColor: {
508
- default: '> themes.defaultBackgroundColor',
509
- description: 'Specify the color used for the background by using a hexadecimal code. For example, #0000FF.',
510
- pattern: schemaUtils_1.COLOR_OR_TOKEN_PATTERN_WITH_RGBA,
511
- type: 'string'
512
- },
513
- eventActions: {
514
- default: [],
515
- description: 'Specify the available actions to take for an event. For example, `[{ "eventType": "eventAction.buildEventType.click", "label": "Build Event Type" }]`. Event types should end in `.click` if utilizing event handlers. Note that both `eventtypeValues` and `fieldFilters` keys support wildcard values.',
516
- type: 'array',
517
- items: {
518
- anyOf: [{
519
- type: 'object',
520
- properties: {
521
- eventType: {
522
- description: 'The distinct type for the event emitted upon event action click.',
523
- type: 'string',
524
- pattern: '.click$',
525
- default: ''
526
- },
527
- label: {
528
- description: 'The label for the event action.',
529
- type: 'string',
530
- default: ''
531
- },
532
- eventtypeValues: {
533
- description: 'An array of string values that all need to match against the value(s) of the `eventtype` field if it exists in the event in order to be shown.',
534
- items: {
535
- type: 'string'
536
- },
537
- type: 'array',
538
- default: []
539
- },
540
- fieldFilters: {
541
- description: 'An array of string values for fields that need to exist in the event in order for the given event action in order to be shown.',
542
- items: {
543
- type: 'string'
544
- },
545
- type: 'array',
546
- default: []
547
- }
548
- },
549
- required: ['eventType', 'label']
550
- }]
551
- }
552
- },
553
- fieldActions: {
554
- description: 'Specify the available actions for this field. For example, `{ *: [{ "eventType": "fieldAction.sharedAction1.click", "label": "Shared Action 1", "eventtypeValues": ["*"], "fieldFilters": ["*"] }] }`. Event types should end in `.click` if utilizing event handlers. Actions under the `*` key are shared across all field dropdowns. Note that both `eventtypeValues` and `fieldFilters` keys, as well as the field names, support wildcard values.',
555
- type: 'object',
556
- patternProperties: {
557
- '.*': {
558
- description: 'Specify the available actions for this field.',
559
- type: 'array',
560
- items: {
561
- anyOf: [{
562
- type: 'object',
563
- properties: {
564
- eventType: {
565
- description: 'The distinct type for the event emitted upon event action click.',
566
- type: 'string',
567
- pattern: '.click$',
568
- default: ''
569
- },
570
- label: {
571
- description: 'The label for the event action.',
572
- type: 'string',
573
- default: ''
574
- },
575
- eventtypeValues: {
576
- description: 'An array of string values that all need to match against the value(s) of the `eventtype` field if it exists in the event in order to be shown.',
577
- items: {
578
- type: 'string'
579
- },
580
- type: 'array',
581
- default: []
582
- },
583
- fieldFilters: {
584
- description: 'An array of string values for fields that need to exist in the event in order for the given event action in order to be shown.',
585
- items: {
586
- type: 'string'
587
- },
588
- type: 'array',
589
- default: []
590
- }
591
- },
592
- required: ['eventType', 'label']
593
- }]
594
- }
595
- }
596
- }
597
- },
598
- footerFields: {
599
- description: 'Specify field(s) that should be displayed in the footer component. Specify one or more fields to display in the footer component. For example, specify ["source", "dest"] to display the source and destination fields.',
600
- type: 'array',
601
- items: {
602
- type: 'string'
603
- },
604
- default: []
605
- },
606
- highlightValuesByField: {
607
- description: 'Specify the field and value pairs for manual highlighting. For example, `{"source": "$srcToken$", "dest": "12.21.1.11", "tag": ["tag1", "tag2"]}`.',
608
- type: 'object'
609
- },
610
- highlightFromSource: {
611
- description: 'Specify a segmentation mode to use for search based highlighting. Specifying "none" will turn search based highlighting off. For more about segmentation, search for "event segmentation" in the Getting Data In manual in the Splunk Docs.',
612
- type: 'string',
613
- pattern: (0, schemaUtils_1.getPattern)(DataSource_1.validSegmentationModes),
614
- default: 'none'
615
- },
616
- showFieldSummary: {
617
- description: 'Specify that a field summary popup appears when a field is selected. To show field summaries for a search, configure an additional datasource called `fieldsummary` using the original search followed by the `... | fieldsummary maxvals=10` SPL command.',
618
- type: 'boolean',
619
- default: true
620
- }
621
- };
622
384
  var themes = {
623
385
  defaultBackgroundColor: function defaultBackgroundColor(props) {
624
386
  return (0, themes_1.pick)({
@@ -671,7 +433,7 @@ var config = {
671
433
  dataContract: dataContract,
672
434
  size: size,
673
435
  defaultContext: defaultContext,
674
- optionsSchema: optionsSchema,
436
+ optionsSchema: visualization_schemas_1.eventsOptionsSchema,
675
437
  editorConfig: editorConfig,
676
438
  events: {
677
439
  'eventAction.<actionName>.click': {
@@ -701,7 +463,14 @@ exports.default = (0, configUtils_1.enhanceConfig)(config);
701
463
 
702
464
  /***/ }),
703
465
 
704
- /***/ 49:
466
+ /***/ 5:
467
+ /***/ (function(module, exports) {
468
+
469
+ module.exports = require("lodash");
470
+
471
+ /***/ }),
472
+
473
+ /***/ 6:
705
474
  /***/ (function(module, exports, __webpack_require__) {
706
475
 
707
476
  "use strict";
@@ -710,28 +479,38 @@ exports.default = (0, configUtils_1.enhanceConfig)(config);
710
479
  Object.defineProperty(exports, "__esModule", {
711
480
  value: true
712
481
  });
713
- exports.validOutputModes = exports.validSegmentationModes = exports.validSortDirs = void 0;
714
- exports.validSortDirs = ['asc', 'desc', 'none'];
715
- exports.validSegmentationModes = ['none', 'inner'];
716
- exports.validOutputModes = ['json_cols', 'json'];
717
-
718
- /***/ }),
482
+ exports.VizBehavior = void 0;
483
+ var VizBehavior;
719
484
 
720
- /***/ 6:
721
- /***/ (function(module, exports) {
485
+ (function (VizBehavior) {
486
+ /**
487
+ * Dynamic Options Behavior.
488
+ * This allows visualization options to be powered by data
489
+ *
490
+ * **Example**
491
+ *
492
+ * sparklineValues: ">primary|seriesByIndex(0)"
493
+ * would configure sparklineValues with an array of data points
494
+ * coming from the first series in the primary datasource
495
+ *
496
+ */
497
+ VizBehavior["DYNAMIC_OPTIONS"] = "dynamic-options";
498
+ VizBehavior["EVENTS"] = "events";
499
+ VizBehavior["DOWNSAMPLING"] = "downsampling";
500
+ /**
501
+ * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is
502
+ * missing.
503
+ * @type {string}
504
+ */
722
505
 
723
- module.exports = require("lodash");
506
+ VizBehavior["PLACEHOLDER"] = "placeholder";
507
+ VizBehavior["PAGE_AND_SORT"] = "page-and-sort";
508
+ VizBehavior["TRELLIS"] = "trellis";
509
+ })(VizBehavior = exports.VizBehavior || (exports.VizBehavior = {}));
724
510
 
725
511
  /***/ }),
726
512
 
727
513
  /***/ 7:
728
- /***/ (function(module, exports) {
729
-
730
- module.exports = require("@babel/runtime/helpers/defineProperty");
731
-
732
- /***/ }),
733
-
734
- /***/ 8:
735
514
  /***/ (function(module, exports, __webpack_require__) {
736
515
 
737
516
  "use strict";
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/themes\"","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/utils/configUtils.ts","webpack:///./src/Events/config.ts","webpack:///./src/common/interfaces/DataSource.ts","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/common/interfaces/VizCategory.ts"],"names":[],"mappings":"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","file":"Events.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 = 48);\n","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/visualization-icons/placeholders\");","module.exports = require(\"@splunk/visualization-icons\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorLayoutConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\n\ninterface backgroundEditorProps {\n label?: string;\n themes: ThemedDefaults;\n labelPosition?: string;\n}\n\nconst background: ({ label, themes, labelPosition }: backgroundEditorProps) => EditorLayoutConfig[] = ({\n label,\n themes,\n labelPosition,\n}) => [\n {\n label: _(label || 'Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: labelPosition || 'top',\n themes,\n },\n },\n];\n\nexport default background;\n","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 DOWNSAMPLING = 'downsampling',\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 TRELLIS = 'trellis',\n}\n","module.exports = require(\"@splunk/themes\");","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\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: 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 getInitialPreset,\n generatePrecisionValues,\n uncollapseEditorConfig,\n isDynamicOption,\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","import { Events as EventsIcon } from '@splunk/visualization-icons';\nimport { Events as EventsPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA, getPattern } from '@splunk/visualizations-shared/schemaUtils';\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 { SegmentationType, validSegmentationModes } from '../common/interfaces/DataSource';\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';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst defaultContext: DefaultContext = {};\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [\n {\n name: 'fieldsummary',\n description: 'DataSource that powers the field summary popover on field click',\n },\n ],\n initialRequestParams: {\n primary: (\n options: { count?: number; highlightFromSource?: SegmentationType } = {}\n ): Record<string, unknown> => ({\n offset: 0,\n count: options.count ? options.count : 10,\n requestTotalCount: true,\n // this is needed for search-based event highlighting\n output_mode: 'json',\n segmentation: options.highlightFromSource ?? 'none',\n }),\n },\n};\n\nconst size: VizSize = {\n initialWidth: 800,\n initialHeight: 500,\n};\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color used for the background by using a hexadecimal code. For example, #0000FF.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n eventActions: {\n default: [],\n description:\n 'Specify the available actions to take for an event. For example, `[{ \"eventType\": \"eventAction.buildEventType.click\", \"label\": \"Build Event Type\" }]`. Event types should end in `.click` if utilizing event handlers. Note that both `eventtypeValues` and `fieldFilters` keys support wildcard values.',\n type: 'array',\n items: {\n anyOf: [\n {\n type: 'object',\n properties: {\n eventType: {\n description: 'The distinct type for the event emitted upon event action click.',\n type: 'string',\n pattern: '.click$',\n default: '',\n },\n label: {\n description: 'The label for the event action.',\n type: 'string',\n default: '',\n },\n eventtypeValues: {\n description:\n 'An array of string values that all need to match against the value(s) of the `eventtype` field if it exists in the event in order to be shown.',\n items: { type: 'string' },\n type: 'array',\n default: [],\n },\n fieldFilters: {\n description:\n 'An array of string values for fields that need to exist in the event in order for the given event action in order to be shown.',\n items: { type: 'string' },\n type: 'array',\n default: [],\n },\n },\n required: ['eventType', 'label'],\n },\n ],\n },\n },\n fieldActions: {\n description:\n 'Specify the available actions for this field. For example, `{ *: [{ \"eventType\": \"fieldAction.sharedAction1.click\", \"label\": \"Shared Action 1\", \"eventtypeValues\": [\"*\"], \"fieldFilters\": [\"*\"] }] }`. Event types should end in `.click` if utilizing event handlers. Actions under the `*` key are shared across all field dropdowns. Note that both `eventtypeValues` and `fieldFilters` keys, as well as the field names, support wildcard values.',\n type: 'object',\n patternProperties: {\n '.*': {\n description: 'Specify the available actions for this field.',\n type: 'array',\n items: {\n anyOf: [\n {\n type: 'object',\n properties: {\n eventType: {\n description:\n 'The distinct type for the event emitted upon event action click.',\n type: 'string',\n pattern: '.click$',\n default: '',\n },\n label: {\n description: 'The label for the event action.',\n type: 'string',\n default: '',\n },\n eventtypeValues: {\n description:\n 'An array of string values that all need to match against the value(s) of the `eventtype` field if it exists in the event in order to be shown.',\n items: { type: 'string' },\n type: 'array',\n default: [],\n },\n fieldFilters: {\n description:\n 'An array of string values for fields that need to exist in the event in order for the given event action in order to be shown.',\n items: { type: 'string' },\n type: 'array',\n default: [],\n },\n },\n required: ['eventType', 'label'],\n },\n ],\n },\n },\n },\n },\n footerFields: {\n description:\n 'Specify field(s) that should be displayed in the footer component. Specify one or more fields to display in the footer component. For example, specify [\"source\", \"dest\"] to display the source and destination fields.',\n type: 'array',\n items: {\n type: 'string',\n },\n default: [],\n },\n highlightValuesByField: {\n description:\n 'Specify the field and value pairs for manual highlighting. For example, `{\"source\": \"$srcToken$\", \"dest\": \"12.21.1.11\", \"tag\": [\"tag1\", \"tag2\"]}`.',\n type: 'object',\n },\n highlightFromSource: {\n description:\n 'Specify a segmentation mode to use for search based highlighting. Specifying \"none\" will turn search based highlighting off. For more about segmentation, search for \"event segmentation\" in the Getting Data In manual in the Splunk Docs.',\n type: 'string',\n pattern: getPattern(validSegmentationModes),\n default: 'none',\n },\n showFieldSummary: {\n description:\n 'Specify that a field summary popup appears when a field is selected. To show field summaries for a search, configure an additional datasource called `fieldsummary` using the original search followed by the `... | fieldsummary maxvals=10` SPL command.',\n type: 'boolean',\n default: true,\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: _('Data display'),\n layout: [\n [\n {\n label: _('Show field summary'),\n option: 'showFieldSummary',\n editor: 'editor.checkbox',\n editorProps: {\n labelPosition: 'right',\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [getBackgroundColorEditor({ themes })],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.events',\n /**\n * viz name\n */\n name: _('Events'),\n category: VizCategory.TABLE,\n status: 'preview',\n /**\n * viz icon\n */\n icon: EventsIcon,\n placeholderIcon: EventsPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'eventAction.<actionName>.click': {\n description:\n 'Triggered when a user selects the Event Actions button within an event. An application developer can configure workflow action retrieval and event handling, as described in the Concepts tab.',\n },\n 'fieldAction.<actionName>.click': {\n description:\n 'Triggered when a user selects an arrow under the Actions column heading. Application developers can configure workflow action retrieval and event handling. For more information, see the Concepts tab.',\n },\n 'events.search.<fieldSummaryReportActionName>': {\n description:\n 'Triggered when a user selects a report action in the field summary of an event. Application developers must pass context and handle events in their applications. For more information, see the Concepts tab.',\n },\n 'value.click': {\n description: 'Triggered when a user clicks a value in an event.',\n },\n 'time.click': {\n description: 'Triggered when a user clicks to drilldown in the time controls popover.',\n },\n 'tag.click': {\n description: 'Triggered when a user clicks a tag in an event.',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER],\n themes,\n requiredProps: [],\n};\n\nexport default enhanceConfig(config);\n","import { FieldEntry } from '@splunk/visualizations-shared/dataSourceUtils';\n\nexport interface JsonColumnData {\n fields: FieldEntry[] | string[];\n columns: string[][];\n}\n\nexport type HighlightedSourceMap = Record<string, Record<string, boolean>>;\nexport type TagsMap = Record<string, Record<string, string[]>>;\n\nexport interface Meta {\n totalCount: number;\n sid: string;\n app: string;\n highlighted?: HighlightedSourceMap;\n tags?: TagsMap;\n}\n\nexport const validSortDirs = ['asc', 'desc', 'none'] as const;\nexport type SortDirType = typeof validSortDirs[number];\nexport const validSegmentationModes = ['none', 'inner'] as const;\nexport type SegmentationType = typeof validSegmentationModes[number];\nexport const validOutputModes = ['json_cols', 'json'] as const;\nexport type OutputModeType = typeof validOutputModes[number];\n\nexport interface RequestParams {\n count?: number;\n offset?: number;\n sort?: {\n [sortKey: string]: SortDirType;\n };\n segmentation?: SegmentationType;\n // eslint-disable-next-line camelcase\n output_mode?: OutputModeType;\n}\n\nexport interface DataSource {\n requestParams: Partial<RequestParams>;\n onRequestParamsChange?: (p: Record<string, unknown>) => void;\n data: JsonColumnData;\n error?: { level: string; message: string };\n meta: Partial<Meta>;\n}\n\nexport interface DataSourceMeta {\n requestParams: Partial<RequestParams>;\n meta: Partial<Meta>;\n onRequestParamsChange: (payload: RequestParams) => void;\n}\n","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"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///external \"@splunk/themes\"","webpack:///external \"@splunk/visualization-schemas\"","webpack:///./src/common/utils/configUtils.ts","webpack:///./src/Events/config.ts","webpack:///external \"lodash\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///./src/common/interfaces/VizCategory.ts"],"names":[],"mappings":"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","file":"Events.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 = 45);\n","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/visualization-icons/placeholders\");","module.exports = require(\"@splunk/visualization-icons\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorLayoutConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\n\ninterface backgroundEditorProps {\n label?: string;\n themes: ThemedDefaults;\n labelPosition?: string;\n}\n\nconst background: ({ label, themes, labelPosition }: backgroundEditorProps) => EditorLayoutConfig[] = ({\n label,\n themes,\n labelPosition,\n}) => [\n {\n label: _(label || 'Background color'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: labelPosition || 'top',\n themes,\n },\n },\n];\n\nexport default background;\n","module.exports = require(\"@splunk/themes\");","module.exports = require(\"@splunk/visualization-schemas\");","import { get, range } from 'lodash';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\n// included for backwards compatibility\nexport { enhanceOptionsSchemaWithDynamicOptions } from '@splunk/visualization-schemas';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\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\n enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: 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 { enhanceConfig, getInitialPreset, generatePrecisionValues, uncollapseEditorConfig, isDynamicOption };\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","import { Events as EventsIcon } from '@splunk/visualization-icons';\nimport { Events as EventsPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { eventsOptionsSchema as optionsSchema } from '@splunk/visualization-schemas';\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 { SegmentationType } from '../common/interfaces/DataSource';\nimport { EditorConfig } from '../common/interfaces/Editor';\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';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst defaultContext: DefaultContext = {};\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [\n {\n name: 'fieldsummary',\n description: 'DataSource that powers the field summary popover on field click',\n },\n ],\n initialRequestParams: {\n primary: (\n options: { count?: number; highlightFromSource?: SegmentationType } = {}\n ): Record<string, unknown> => ({\n offset: 0,\n count: options.count ? options.count : 10,\n requestTotalCount: true,\n // this is needed for search-based event highlighting\n output_mode: 'json',\n segmentation: options.highlightFromSource ?? 'none',\n }),\n },\n};\n\nconst size: VizSize = {\n initialWidth: 800,\n initialHeight: 500,\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: _('Data display'),\n layout: [\n [\n {\n label: _('Show field summary'),\n option: 'showFieldSummary',\n editor: 'editor.checkbox',\n editorProps: {\n labelPosition: 'right',\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [getBackgroundColorEditor({ themes })],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.events',\n /**\n * viz name\n */\n name: _('Events'),\n category: VizCategory.TABLE,\n status: 'preview',\n /**\n * viz icon\n */\n icon: EventsIcon,\n placeholderIcon: EventsPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'eventAction.<actionName>.click': {\n description:\n 'Triggered when a user selects the Event Actions button within an event. An application developer can configure workflow action retrieval and event handling, as described in the Concepts tab.',\n },\n 'fieldAction.<actionName>.click': {\n description:\n 'Triggered when a user selects an arrow under the Actions column heading. Application developers can configure workflow action retrieval and event handling. For more information, see the Concepts tab.',\n },\n 'events.search.<fieldSummaryReportActionName>': {\n description:\n 'Triggered when a user selects a report action in the field summary of an event. Application developers must pass context and handle events in their applications. For more information, see the Concepts tab.',\n },\n 'value.click': {\n description: 'Triggered when a user clicks a value in an event.',\n },\n 'time.click': {\n description: 'Triggered when a user clicks to drilldown in the time controls popover.',\n },\n 'tag.click': {\n description: 'Triggered when a user clicks a tag in an event.',\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(\"lodash\");","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 DOWNSAMPLING = 'downsampling',\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 TRELLIS = 'trellis',\n}\n","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"],"sourceRoot":""}