@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.
- package/Area.config.js +92 -595
- package/Area.config.js.map +1 -1
- package/Area.js +296 -801
- package/Area.js.map +1 -1
- package/Bar.config.js +93 -562
- package/Bar.config.js.map +1 -1
- package/Bar.js +299 -770
- package/Bar.js.map +1 -1
- package/Bubble.config.js +84 -483
- package/Bubble.config.js.map +1 -1
- package/Bubble.js +286 -687
- package/Bubble.js.map +1 -1
- package/ChoroplethSvg.config.js +77 -202
- package/ChoroplethSvg.config.js.map +1 -1
- package/ChoroplethSvg.js +272 -400
- package/ChoroplethSvg.js.map +1 -1
- package/Column.config.js +93 -600
- package/Column.config.js.map +1 -1
- package/Column.js +299 -808
- package/Column.js.map +1 -1
- package/Ellipse.config.js +82 -200
- package/Ellipse.config.js.map +1 -1
- package/Ellipse.js +233 -356
- package/Ellipse.js.map +1 -1
- package/Events.config.js +62 -283
- package/Events.config.js.map +1 -1
- package/Events.js +326 -530
- package/Events.js.map +1 -1
- package/FillerGauge.config.js +91 -220
- package/FillerGauge.config.js.map +1 -1
- package/FillerGauge.js +267 -401
- package/FillerGauge.js.map +1 -1
- package/Image.config.js +61 -157
- package/Image.config.js.map +1 -1
- package/Image.js +217 -327
- package/Image.js.map +1 -1
- package/Line.config.js +92 -607
- package/Line.config.js.map +1 -1
- package/Line.js +297 -814
- package/Line.js.map +1 -1
- package/LinkGraph.config.js +75 -257
- package/LinkGraph.config.js.map +1 -1
- package/LinkGraph.js +1755 -17415
- package/LinkGraph.js.map +1 -1
- package/MIGRATION.md +6 -0
- package/Map.config.js +128 -1123
- package/Map.config.js.map +1 -1
- package/Map.js +470 -782
- package/Map.js.map +1 -1
- package/Markdown.config.js +62 -189
- package/Markdown.config.js.map +1 -1
- package/Markdown.js +272 -401
- package/Markdown.js.map +1 -1
- package/MarkerGauge.config.js +138 -298
- package/MarkerGauge.config.js.map +1 -1
- package/MarkerGauge.js +309 -470
- package/MarkerGauge.js.map +1 -1
- package/ParallelCoordinates.config.js +72 -192
- package/ParallelCoordinates.config.js.map +1 -1
- package/ParallelCoordinates.js +333 -442
- package/ParallelCoordinates.js.map +1 -1
- package/Pie.config.js +77 -241
- package/Pie.config.js.map +1 -1
- package/Pie.js +336 -471
- package/Pie.js.map +1 -1
- package/Punchcard.config.js +72 -306
- package/Punchcard.config.js.map +1 -1
- package/Punchcard.js +356 -583
- package/Punchcard.js.map +1 -1
- package/Rectangle.config.js +211 -347
- package/Rectangle.config.js.map +1 -1
- package/Rectangle.js +371 -509
- package/Rectangle.js.map +1 -1
- package/Sankey.config.js +72 -214
- package/Sankey.config.js.map +1 -1
- package/Sankey.js +343 -475
- package/Sankey.js.map +1 -1
- package/Scatter.config.js +86 -464
- package/Scatter.config.js.map +1 -1
- package/Scatter.js +1118 -1493
- package/Scatter.js.map +1 -1
- package/SingleValue.config.js +124 -411
- package/SingleValue.config.js.map +1 -1
- package/SingleValue.js +522 -789
- package/SingleValue.js.map +1 -1
- package/SingleValueBasic.js +73 -61
- package/SingleValueBasic.js.map +1 -1
- package/SingleValueIcon.config.js +123 -380
- package/SingleValueIcon.config.js.map +1 -1
- package/SingleValueIcon.js +508 -745
- package/SingleValueIcon.js.map +1 -1
- package/SingleValueRadial.config.js +121 -385
- package/SingleValueRadial.config.js.map +1 -1
- package/SingleValueRadial.js +1642 -1885
- package/SingleValueRadial.js.map +1 -1
- package/SparkLine.js +39 -39
- package/SparkLine.js.map +1 -1
- package/Table.config.js +82 -496
- package/Table.config.js.map +1 -1
- package/Table.js +416 -825
- package/Table.js.map +1 -1
- package/common/Charting.js +37 -57
- package/common/Charting.js.map +1 -1
- package/common/DocExampleWithVizSandbox.js +21 -21
- package/common/DocExampleWithVizSandbox.js.map +1 -1
- package/common/EventsDoc.js +18 -18
- package/common/EventsDoc.js.map +1 -1
- package/common/GaugeMajorTicks.js +4 -4
- package/common/GaugeMajorTicks.js.map +1 -1
- package/common/GaugeValueMarker.js +2 -2
- package/common/GaugeValueMarker.js.map +1 -1
- package/common/OptionsDoc.js +4 -4
- package/common/OptionsDoc.js.map +1 -1
- package/common/OverviewDoc.js +39 -40
- package/common/OverviewDoc.js.map +1 -1
- package/common/SplunkVisualization.js +2 -2
- package/common/SplunkVisualization.js.map +1 -1
- package/common/SplunkVisualizationApi.js +2 -2
- package/common/SplunkVisualizationApi.js.map +1 -1
- package/common/ThemesDoc.js +19 -19
- package/common/ThemesDoc.js.map +1 -1
- package/common/chartingUtils.js +2 -2
- package/common/chartingUtils.js.map +1 -1
- package/common/gaugeUtils.js +10 -10
- package/common/gaugeUtils.js.map +1 -1
- package/common/shapeUtils.js +10 -10
- package/common/shapeUtils.js.map +1 -1
- package/common/utils/configUtils.js +25 -155
- package/common/utils/configUtils.js.map +1 -1
- package/common/utils/dataUtils.js +87 -105
- package/common/utils/dataUtils.js.map +1 -1
- package/common/utils/featureFlagUtils.js +4 -4
- package/common/utils/featureFlagUtils.js.map +1 -1
- package/common/utils/hocUtils.js +2 -2
- package/common/utils/hocUtils.js.map +1 -1
- package/common/utils/mapUtils.js +51 -54
- package/common/utils/mapUtils.js.map +1 -1
- package/common/utils/singleValueUtils.js +30 -18
- package/common/utils/singleValueUtils.js.map +1 -1
- package/common/utils/testHelper.js +7 -36
- package/common/utils/testHelper.js.map +1 -1
- package/common/utils/trellisUtils.js +7 -6
- package/common/utils/trellisUtils.js.map +1 -1
- package/common/utils/urlUtils.js +2 -2
- package/common/utils/urlUtils.js.map +1 -1
- package/common/withDashboardViz.js +93 -101
- package/common/withDashboardViz.js.map +1 -1
- package/package.json +48 -50
- package/common/utils/layoutUtils.js +0 -115
- 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 =
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
116
|
+
/***/ 11:
|
|
117
117
|
/***/ (function(module, exports) {
|
|
118
118
|
|
|
119
119
|
module.exports = require("@splunk/visualization-icons");
|
|
120
120
|
|
|
121
121
|
/***/ }),
|
|
122
122
|
|
|
123
|
-
/***/
|
|
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
|
-
/***/
|
|
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
|
-
/***/
|
|
161
|
+
/***/ 2:
|
|
202
162
|
/***/ (function(module, exports) {
|
|
203
163
|
|
|
204
|
-
module.exports = require("@splunk/
|
|
164
|
+
module.exports = require("@splunk/visualization-schemas");
|
|
205
165
|
|
|
206
166
|
/***/ }),
|
|
207
167
|
|
|
208
|
-
/***/
|
|
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.
|
|
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
|
|
181
|
+
var lodash_1 = __webpack_require__(5); // included for backwards compatibility
|
|
239
182
|
|
|
240
|
-
var VizBehavior_1 = __webpack_require__(2);
|
|
241
183
|
|
|
242
|
-
var
|
|
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
|
|
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
|
-
/***/
|
|
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__(
|
|
335
|
+
var visualization_icons_1 = __webpack_require__(11);
|
|
456
336
|
|
|
457
|
-
var placeholders_1 = __webpack_require__(
|
|
337
|
+
var placeholders_1 = __webpack_require__(10);
|
|
458
338
|
|
|
459
|
-
var
|
|
339
|
+
var visualization_schemas_1 = __webpack_require__(2);
|
|
460
340
|
|
|
461
|
-
var themes_1 = __webpack_require__(
|
|
341
|
+
var themes_1 = __webpack_require__(19);
|
|
462
342
|
|
|
463
343
|
var i18n_1 = __webpack_require__(0);
|
|
464
344
|
|
|
465
|
-
var
|
|
466
|
-
|
|
467
|
-
var VizBehavior_1 = __webpack_require__(2);
|
|
345
|
+
var VizBehavior_1 = __webpack_require__(6);
|
|
468
346
|
|
|
469
|
-
var VizCategory_1 = __webpack_require__(
|
|
347
|
+
var VizCategory_1 = __webpack_require__(7);
|
|
470
348
|
|
|
471
|
-
var configUtils_1 = __webpack_require__(
|
|
349
|
+
var configUtils_1 = __webpack_require__(3);
|
|
472
350
|
|
|
473
|
-
var BackgroundColor_1 = __webpack_require__(
|
|
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:
|
|
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
|
-
/***/
|
|
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.
|
|
714
|
-
|
|
715
|
-
exports.validSegmentationModes = ['none', 'inner'];
|
|
716
|
-
exports.validOutputModes = ['json_cols', 'json'];
|
|
717
|
-
|
|
718
|
-
/***/ }),
|
|
482
|
+
exports.VizBehavior = void 0;
|
|
483
|
+
var VizBehavior;
|
|
719
484
|
|
|
720
|
-
|
|
721
|
-
|
|
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
|
-
|
|
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";
|
package/Events.config.js.map
CHANGED
|
@@ -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":""}
|