@splunk/visualizations 25.13.1 → 26.1.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 +318 -234
- package/Area.config.js.map +1 -1
- package/Area.js +1131 -766
- package/Area.js.map +1 -1
- package/Bar.config.js +317 -233
- package/Bar.config.js.map +1 -1
- package/Bar.js +1007 -594
- package/Bar.js.map +1 -1
- package/Bubble.config.js +234 -160
- package/Bubble.config.js.map +1 -1
- package/Bubble.js +912 -509
- package/Bubble.js.map +1 -1
- package/ChoroplethSvg.config.js +80 -29
- package/ChoroplethSvg.config.js.map +1 -1
- package/ChoroplethSvg.js +691 -319
- package/ChoroplethSvg.js.map +1 -1
- package/Column.config.js +308 -223
- package/Column.config.js.map +1 -1
- package/Column.js +1011 -587
- package/Column.js.map +1 -1
- package/Ellipse.config.js +127 -62
- package/Ellipse.config.js.map +1 -1
- package/Ellipse.js +576 -286
- package/Ellipse.js.map +1 -1
- package/Events.config.js +111 -29
- package/Events.config.js.map +1 -1
- package/Events.js +998 -527
- package/Events.js.map +1 -1
- package/FillerGauge.config.js +142 -73
- package/FillerGauge.config.js.map +1 -1
- package/FillerGauge.js +962 -572
- package/FillerGauge.js.map +1 -1
- package/Image.config.js +70 -26
- package/Image.config.js.map +1 -1
- package/Image.js +524 -253
- package/Image.js.map +1 -1
- package/Line.config.js +326 -242
- package/Line.config.js.map +1 -1
- package/Line.js +1022 -606
- package/Line.js.map +1 -1
- package/LinkGraph.config.js +99 -49
- package/LinkGraph.config.js.map +1 -1
- package/LinkGraph.js +1184 -762
- package/LinkGraph.js.map +1 -1
- package/MIGRATION.md +1082 -0
- package/Map.config.js +311 -167
- package/Map.config.js.map +1 -1
- package/Map.js +1479 -873
- package/Map.js.map +1 -1
- package/Markdown.config.js +93 -43
- package/Markdown.config.js.map +1 -1
- package/Markdown.js +603 -332
- package/Markdown.js.map +1 -1
- package/MarkerGauge.config.js +163 -105
- package/MarkerGauge.config.js.map +1 -1
- package/MarkerGauge.js +1025 -628
- package/MarkerGauge.js.map +1 -1
- package/ParallelCoordinates.config.js +95 -41
- package/ParallelCoordinates.config.js.map +1 -1
- package/ParallelCoordinates.js +993 -622
- package/ParallelCoordinates.js.map +1 -1
- package/Pie.config.js +99 -46
- package/Pie.config.js.map +1 -1
- package/Pie.js +847 -442
- package/Pie.js.map +1 -1
- package/Punchcard.config.js +114 -62
- package/Punchcard.config.js.map +1 -1
- package/Punchcard.js +1097 -633
- package/Punchcard.js.map +1 -1
- package/Rectangle.config.js +131 -65
- package/Rectangle.config.js.map +1 -1
- package/Rectangle.js +580 -288
- package/Rectangle.js.map +1 -1
- package/Sankey.config.js +103 -41
- package/Sankey.config.js.map +1 -1
- package/Sankey.js +1128 -586
- package/Sankey.js.map +1 -1
- package/Scatter.config.js +231 -157
- package/Scatter.config.js.map +1 -1
- package/Scatter.js +904 -504
- package/Scatter.js.map +1 -1
- package/SingleValue.config.js +212 -142
- package/SingleValue.config.js.map +1 -1
- package/SingleValue.js +1506 -956
- package/SingleValue.js.map +1 -1
- package/SingleValueBasic.js +294 -233
- package/SingleValueBasic.js.map +1 -1
- package/SingleValueIcon.config.js +208 -138
- package/SingleValueIcon.config.js.map +1 -1
- package/SingleValueIcon.js +1375 -914
- package/SingleValueIcon.js.map +1 -1
- package/SingleValueRadial.config.js +252 -137
- package/SingleValueRadial.config.js.map +1 -1
- package/SingleValueRadial.js +2194 -1069
- package/SingleValueRadial.js.map +1 -1
- package/SparkLine.js +172 -83
- package/SparkLine.js.map +1 -1
- package/Table.config.js +123 -70
- package/Table.config.js.map +1 -1
- package/Table.js +1094 -590
- package/Table.js.map +1 -1
- package/common/Charting.js +147 -75
- package/common/Charting.js.map +1 -1
- package/common/ChartingApi.js +18 -7
- package/common/ChartingApi.js.map +1 -1
- package/common/EventsDoc.js +91 -36
- package/common/EventsDoc.js.map +1 -1
- package/common/GaugeMajorTicks.js +70 -60
- package/common/GaugeMajorTicks.js.map +1 -1
- package/common/GaugeValueMarker.js +45 -36
- package/common/GaugeValueMarker.js.map +1 -1
- package/common/OptionsDoc.js +177 -86
- package/common/OptionsDoc.js.map +1 -1
- package/common/OverviewDoc.js +65 -32
- package/common/OverviewDoc.js.map +1 -1
- package/common/SplunkVisualization.js +34 -7
- package/common/SplunkVisualization.js.map +1 -1
- package/common/SplunkVisualizationApi.js +10 -4
- package/common/SplunkVisualizationApi.js.map +1 -1
- package/common/ThemesDoc.js +41 -28
- package/common/ThemesDoc.js.map +1 -1
- package/common/chartingUtils.js +56 -24
- package/common/chartingUtils.js.map +1 -1
- package/common/docUtils.js +15 -5
- package/common/docUtils.js.map +1 -1
- package/common/gaugeUtils.js +238 -155
- package/common/gaugeUtils.js.map +1 -1
- package/common/shapeUtils.js +34 -16
- package/common/shapeUtils.js.map +1 -1
- package/common/utils/configUtils.js +59 -23
- package/common/utils/configUtils.js.map +1 -1
- package/common/utils/dataUtils.js +9 -4
- package/common/utils/dataUtils.js.map +1 -1
- package/common/utils/hocUtils.js +5 -3
- package/common/utils/hocUtils.js.map +1 -1
- package/common/utils/layoutUtils.js +3 -2
- package/common/utils/layoutUtils.js.map +1 -1
- package/common/utils/mapUtils.js +370 -206
- package/common/utils/mapUtils.js.map +1 -1
- package/common/utils/singleValueUtils.js +243 -198
- package/common/utils/singleValueUtils.js.map +1 -1
- package/common/utils/testHelper.js +36 -9
- package/common/utils/testHelper.js.map +1 -1
- package/common/utils/trellisUtils.js +87 -26
- package/common/utils/trellisUtils.js.map +1 -1
- package/common/utils/urlUtils.js +4 -2
- package/common/utils/urlUtils.js.map +1 -1
- package/common/withDashboardViz.js +375 -193
- package/common/withDashboardViz.js.map +1 -1
- package/package.json +25 -27
package/Pie.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 = 68);
|
|
91
91
|
/******/ })
|
|
92
92
|
/************************************************************************/
|
|
93
93
|
/******/ ({
|
|
@@ -129,13 +129,15 @@ module.exports = require("@splunk/visualization-icons/placeholders");
|
|
|
129
129
|
Object.defineProperty(exports, "__esModule", {
|
|
130
130
|
value: true
|
|
131
131
|
});
|
|
132
|
+
|
|
132
133
|
var i18n_1 = __webpack_require__(0);
|
|
134
|
+
|
|
133
135
|
var background = function background(_ref) {
|
|
134
136
|
var label = _ref.label,
|
|
135
|
-
|
|
136
|
-
|
|
137
|
+
themes = _ref.themes,
|
|
138
|
+
labelPosition = _ref.labelPosition;
|
|
137
139
|
return [{
|
|
138
|
-
label: i18n_1._(label || 'Background'),
|
|
140
|
+
label: (0, i18n_1._)(label || 'Background'),
|
|
139
141
|
option: 'backgroundColor',
|
|
140
142
|
editor: 'editor.color',
|
|
141
143
|
editorProps: {
|
|
@@ -144,6 +146,7 @@ var background = function background(_ref) {
|
|
|
144
146
|
}
|
|
145
147
|
}];
|
|
146
148
|
};
|
|
149
|
+
|
|
147
150
|
exports.default = background;
|
|
148
151
|
|
|
149
152
|
/***/ }),
|
|
@@ -166,6 +169,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
166
169
|
});
|
|
167
170
|
exports.VizBehavior = void 0;
|
|
168
171
|
var VizBehavior;
|
|
172
|
+
|
|
169
173
|
(function (VizBehavior) {
|
|
170
174
|
/**
|
|
171
175
|
* Dynamic Options Behavior.
|
|
@@ -185,6 +189,7 @@ var VizBehavior;
|
|
|
185
189
|
* missing.
|
|
186
190
|
* @type {string}
|
|
187
191
|
*/
|
|
192
|
+
|
|
188
193
|
VizBehavior["PLACEHOLDER"] = "placeholder";
|
|
189
194
|
VizBehavior["PAGE_AND_SORT"] = "page-and-sort";
|
|
190
195
|
VizBehavior["TRELLIS"] = "trellis";
|
|
@@ -206,24 +211,33 @@ module.exports = require("@splunk/visualizations-shared/schemaUtils");
|
|
|
206
211
|
|
|
207
212
|
|
|
208
213
|
var _toConsumableArray = __webpack_require__(1);
|
|
214
|
+
|
|
209
215
|
var _defineProperty = __webpack_require__(7);
|
|
216
|
+
|
|
210
217
|
var __rest = this && this.__rest || function (s, e) {
|
|
211
218
|
var t = {};
|
|
219
|
+
|
|
212
220
|
for (var p in s) {
|
|
213
221
|
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
214
222
|
}
|
|
223
|
+
|
|
215
224
|
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
216
225
|
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
217
226
|
}
|
|
218
227
|
return t;
|
|
219
228
|
};
|
|
229
|
+
|
|
220
230
|
Object.defineProperty(exports, "__esModule", {
|
|
221
231
|
value: true
|
|
222
232
|
});
|
|
223
233
|
exports.insertLayout = exports.isDynamicOption = exports.uncollapseEditorConfig = exports.generatePrecisionValues = exports.getInitialPreset = exports.enhanceOptionsSchemaWithDynamicOptions = exports.enhanceConfig = void 0;
|
|
234
|
+
|
|
224
235
|
var lodash_1 = __webpack_require__(6);
|
|
236
|
+
|
|
225
237
|
var schemaUtils_1 = __webpack_require__(3);
|
|
238
|
+
|
|
226
239
|
var VizBehavior_1 = __webpack_require__(2);
|
|
240
|
+
|
|
227
241
|
var dynamicOptionsDSLType = {
|
|
228
242
|
type: 'string',
|
|
229
243
|
pattern: schemaUtils_1.DYNAMIC_OPTIONS_DSL_PATTERN
|
|
@@ -233,20 +247,22 @@ var dynamicOptionsDSLType = {
|
|
|
233
247
|
* @param optionsSchema a visualization's options schema
|
|
234
248
|
* @returns an updated options schema that additionally allows strings starting with > for each option
|
|
235
249
|
*/
|
|
250
|
+
|
|
236
251
|
function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
|
|
237
252
|
var enhancedOptionsSchema = {};
|
|
238
253
|
Object.keys(optionsSchema).forEach(function (key) {
|
|
239
254
|
var _a = optionsSchema[key],
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
255
|
+
title = _a.title,
|
|
256
|
+
description = _a.description,
|
|
257
|
+
readOnly = _a.readOnly,
|
|
258
|
+
writeOnly = _a.writeOnly,
|
|
259
|
+
examples = _a.examples,
|
|
260
|
+
defaultValue = _a.default,
|
|
261
|
+
type = _a.type,
|
|
262
|
+
properties = _a.properties,
|
|
263
|
+
patternProperties = _a.patternProperties,
|
|
264
|
+
remainingSchemaEntry = __rest(_a, ["title", "description", "readOnly", "writeOnly", "examples", "default", "type", "properties", "patternProperties"]);
|
|
265
|
+
|
|
250
266
|
var annotations = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, title !== undefined && {
|
|
251
267
|
title: title
|
|
252
268
|
}), description !== undefined && {
|
|
@@ -260,12 +276,14 @@ function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
|
|
|
260
276
|
}), defaultValue !== undefined && {
|
|
261
277
|
default: defaultValue
|
|
262
278
|
});
|
|
279
|
+
|
|
263
280
|
if (type === 'object') {
|
|
264
281
|
enhancedOptionsSchema[key] = Object.assign(Object.assign(Object.assign(Object.assign({}, remainingSchemaEntry), annotations), {
|
|
265
282
|
type: type
|
|
266
283
|
}), properties && {
|
|
267
284
|
properties: enhanceOptionsSchemaWithDynamicOptions(properties)
|
|
268
285
|
});
|
|
286
|
+
|
|
269
287
|
if (patternProperties) {
|
|
270
288
|
var enhancedPatternProperties = {};
|
|
271
289
|
Object.keys(patternProperties).forEach(function (opt) {
|
|
@@ -283,6 +301,7 @@ function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
|
|
|
283
301
|
});
|
|
284
302
|
return enhancedOptionsSchema;
|
|
285
303
|
}
|
|
304
|
+
|
|
286
305
|
exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamicOptions;
|
|
287
306
|
/**
|
|
288
307
|
* Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block
|
|
@@ -291,11 +310,14 @@ exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamic
|
|
|
291
310
|
* @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports
|
|
292
311
|
* and containing `open: false` for all editor panels in editorConfig
|
|
293
312
|
*/
|
|
313
|
+
|
|
294
314
|
function enhanceConfig(vizConfig) {
|
|
295
315
|
var enhancedConfig = Object.assign({}, vizConfig);
|
|
316
|
+
|
|
296
317
|
if (vizConfig.supports.indexOf(VizBehavior_1.VizBehavior.DYNAMIC_OPTIONS) !== -1) {
|
|
297
318
|
enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);
|
|
298
319
|
}
|
|
320
|
+
|
|
299
321
|
enhancedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
|
|
300
322
|
return Object.assign(Object.assign({}, config), {
|
|
301
323
|
open: config.open || false
|
|
@@ -303,6 +325,7 @@ function enhanceConfig(vizConfig) {
|
|
|
303
325
|
});
|
|
304
326
|
return enhancedConfig;
|
|
305
327
|
}
|
|
328
|
+
|
|
306
329
|
exports.enhanceConfig = enhanceConfig;
|
|
307
330
|
/**
|
|
308
331
|
* Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig
|
|
@@ -310,6 +333,7 @@ exports.enhanceConfig = enhanceConfig;
|
|
|
310
333
|
* @param vizConfig a Visualization Config
|
|
311
334
|
* @returns a Visualization Config containing `open: true` for all editor panels in editorConfig
|
|
312
335
|
*/
|
|
336
|
+
|
|
313
337
|
function uncollapseEditorConfig(vizConfig) {
|
|
314
338
|
var editorPanelUncollapsedConfig = Object.assign({}, vizConfig);
|
|
315
339
|
editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
|
|
@@ -319,13 +343,16 @@ function uncollapseEditorConfig(vizConfig) {
|
|
|
319
343
|
});
|
|
320
344
|
return editorPanelUncollapsedConfig;
|
|
321
345
|
}
|
|
346
|
+
|
|
322
347
|
exports.uncollapseEditorConfig = uncollapseEditorConfig;
|
|
348
|
+
|
|
323
349
|
function isDynamicOption(option) {
|
|
324
350
|
return option && typeof option === 'string' && option.trim().startsWith('>') || false;
|
|
325
351
|
}
|
|
326
|
-
|
|
327
|
-
// private helpers to improve readability of getInitialPreset
|
|
352
|
+
|
|
353
|
+
exports.isDynamicOption = isDynamicOption; // private helpers to improve readability of getInitialPreset
|
|
328
354
|
// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset
|
|
355
|
+
|
|
329
356
|
/**
|
|
330
357
|
* this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset
|
|
331
358
|
* 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
|
|
@@ -334,6 +361,7 @@ exports.isDynamicOption = isDynamicOption;
|
|
|
334
361
|
*
|
|
335
362
|
* Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values
|
|
336
363
|
*/
|
|
364
|
+
|
|
337
365
|
function hasCompatibleContexts(vizContext, presetContext) {
|
|
338
366
|
var presetContextKeys = Object.keys(presetContext);
|
|
339
367
|
return presetContextKeys.every(function (contextKey) {
|
|
@@ -343,6 +371,8 @@ function hasCompatibleContexts(vizContext, presetContext) {
|
|
|
343
371
|
/**
|
|
344
372
|
* Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions
|
|
345
373
|
*/
|
|
374
|
+
|
|
375
|
+
|
|
346
376
|
function hasCompatibleOptions(vizOptions, presetOptions) {
|
|
347
377
|
var presetOptionKeys = Object.keys(presetOptions);
|
|
348
378
|
return presetOptionKeys.every(function (optionKey) {
|
|
@@ -357,18 +387,21 @@ function hasCompatibleOptions(vizOptions, presetOptions) {
|
|
|
357
387
|
* @param {Object} vizOptions - the current vizOptions definition
|
|
358
388
|
* @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset
|
|
359
389
|
*/
|
|
390
|
+
|
|
391
|
+
|
|
360
392
|
function getInitialPreset(vizContext, vizOptions, presets) {
|
|
361
393
|
return presets.find(function (preset) {
|
|
362
|
-
var presetContext = lodash_1.get(preset, ['value', 'context'], {});
|
|
363
|
-
var presetOptions = lodash_1.get(preset, ['value', 'options'], {});
|
|
394
|
+
var presetContext = (0, lodash_1.get)(preset, ['value', 'context'], {});
|
|
395
|
+
var presetOptions = (0, lodash_1.get)(preset, ['value', 'options'], {});
|
|
364
396
|
var presetContextKeys = Object.keys(presetContext);
|
|
365
|
-
var presetOptionKeys = Object.keys(presetOptions);
|
|
366
|
-
// all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)
|
|
397
|
+
var presetOptionKeys = Object.keys(presetOptions); // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)
|
|
367
398
|
// if not, then the preset is invalid in config.ts
|
|
399
|
+
|
|
368
400
|
if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;
|
|
369
401
|
return hasCompatibleContexts(vizContext, presetContext) && hasCompatibleOptions(vizOptions, presetOptions);
|
|
370
402
|
});
|
|
371
403
|
}
|
|
404
|
+
|
|
372
405
|
exports.getInitialPreset = getInitialPreset;
|
|
373
406
|
/**
|
|
374
407
|
* generates number precision values for a Select editor
|
|
@@ -376,14 +409,16 @@ exports.getInitialPreset = getInitialPreset;
|
|
|
376
409
|
* @param {Number} numPrecisionValues - number of integer precision values to generate
|
|
377
410
|
* @returns {{ label: string; value; string }[]} array of { label, value } tuples
|
|
378
411
|
*/
|
|
412
|
+
|
|
379
413
|
function generatePrecisionValues(numPrecisionValues) {
|
|
380
|
-
return lodash_1.range(0, numPrecisionValues + 1).map(function (i) {
|
|
414
|
+
return (0, lodash_1.range)(0, numPrecisionValues + 1).map(function (i) {
|
|
381
415
|
return {
|
|
382
416
|
label: "".concat(i, " (0").concat(i > 0 ? '.' : '').concat('0'.repeat(i), ")"),
|
|
383
417
|
value: i
|
|
384
418
|
};
|
|
385
419
|
});
|
|
386
420
|
}
|
|
421
|
+
|
|
387
422
|
exports.generatePrecisionValues = generatePrecisionValues;
|
|
388
423
|
/**
|
|
389
424
|
* insert layout in layout array, return a new layout array instead of updating the original
|
|
@@ -393,12 +428,15 @@ exports.generatePrecisionValues = generatePrecisionValues;
|
|
|
393
428
|
* @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert
|
|
394
429
|
* @returns {EditorLayoutConfig[][]} new editor layout with insertion
|
|
395
430
|
*/
|
|
431
|
+
|
|
396
432
|
var insertLayout = function insertLayout(layout, index) {
|
|
397
433
|
for (var _len = arguments.length, layoutItems = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
398
434
|
layoutItems[_key - 2] = arguments[_key];
|
|
399
435
|
}
|
|
436
|
+
|
|
400
437
|
return [].concat(_toConsumableArray(layout.slice(0, index)), layoutItems, _toConsumableArray(layout.slice(index)));
|
|
401
438
|
};
|
|
439
|
+
|
|
402
440
|
exports.insertLayout = insertLayout;
|
|
403
441
|
|
|
404
442
|
/***/ }),
|
|
@@ -410,7 +448,7 @@ module.exports = require("lodash");
|
|
|
410
448
|
|
|
411
449
|
/***/ }),
|
|
412
450
|
|
|
413
|
-
/***/
|
|
451
|
+
/***/ 68:
|
|
414
452
|
/***/ (function(module, exports, __webpack_require__) {
|
|
415
453
|
|
|
416
454
|
"use strict";
|
|
@@ -419,24 +457,35 @@ module.exports = require("lodash");
|
|
|
419
457
|
Object.defineProperty(exports, "__esModule", {
|
|
420
458
|
value: true
|
|
421
459
|
});
|
|
422
|
-
|
|
460
|
+
|
|
461
|
+
var ChartPie_1 = __webpack_require__(69);
|
|
462
|
+
|
|
423
463
|
var placeholders_1 = __webpack_require__(11);
|
|
464
|
+
|
|
424
465
|
var i18n_1 = __webpack_require__(0);
|
|
466
|
+
|
|
425
467
|
var schemaUtils_1 = __webpack_require__(3);
|
|
468
|
+
|
|
426
469
|
var visualization_color_palettes_1 = __webpack_require__(14);
|
|
470
|
+
|
|
427
471
|
var pick_1 = __webpack_require__(9);
|
|
472
|
+
|
|
428
473
|
var variables_1 = __webpack_require__(10);
|
|
474
|
+
|
|
429
475
|
var VizBehavior_1 = __webpack_require__(2);
|
|
476
|
+
|
|
430
477
|
var VizCategory_1 = __webpack_require__(8);
|
|
478
|
+
|
|
431
479
|
var configUtils_1 = __webpack_require__(4);
|
|
480
|
+
|
|
432
481
|
var BackgroundColor_1 = __webpack_require__(13);
|
|
482
|
+
|
|
433
483
|
var dataContract = {
|
|
434
484
|
requiredDataSources: [{
|
|
435
485
|
name: 'primary',
|
|
436
486
|
description: 'DataSource that powers the visualization'
|
|
437
487
|
}],
|
|
438
|
-
optionalDataSources: [
|
|
439
|
-
// Note: SCP-14090 disable ui for optional datasources. We may need to add it back later
|
|
488
|
+
optionalDataSources: [// Note: SCP-14090 disable ui for optional datasources. We may need to add it back later
|
|
440
489
|
// {
|
|
441
490
|
// name: 'annotation',
|
|
442
491
|
// description: 'DataSource that populate event annotations',
|
|
@@ -487,7 +536,7 @@ var optionsSchema = {
|
|
|
487
536
|
labelDisplay: {
|
|
488
537
|
description: 'Specify whether to display the labels and/or slice percentages.',
|
|
489
538
|
type: 'string',
|
|
490
|
-
pattern: schemaUtils_1.getPattern(['values', 'valuesAndPercentage', 'off']),
|
|
539
|
+
pattern: (0, schemaUtils_1.getPattern)(['values', 'valuesAndPercentage', 'off']),
|
|
491
540
|
default: 'values'
|
|
492
541
|
},
|
|
493
542
|
resultLimit: {
|
|
@@ -528,7 +577,7 @@ var optionsSchema = {
|
|
|
528
577
|
};
|
|
529
578
|
var themes = {
|
|
530
579
|
defaultBackgroundColor: function defaultBackgroundColor(props) {
|
|
531
|
-
return pick_1.default({
|
|
580
|
+
return (0, pick_1.default)({
|
|
532
581
|
enterprise: {
|
|
533
582
|
dark: variables_1.default.black(props),
|
|
534
583
|
light: variables_1.default.backgroundColor(props)
|
|
@@ -538,9 +587,9 @@ var themes = {
|
|
|
538
587
|
}
|
|
539
588
|
};
|
|
540
589
|
var editorConfig = [{
|
|
541
|
-
label: i18n_1._('Data configurations'),
|
|
590
|
+
label: (0, i18n_1._)('Data configurations'),
|
|
542
591
|
layout: [[{
|
|
543
|
-
label: i18n_1._('Label'),
|
|
592
|
+
label: (0, i18n_1._)('Label'),
|
|
544
593
|
editor: 'editor.columnSelector',
|
|
545
594
|
option: 'label',
|
|
546
595
|
context: 'valuesContext',
|
|
@@ -548,7 +597,7 @@ var editorConfig = [{
|
|
|
548
597
|
dataSourceKey: 'primary'
|
|
549
598
|
}
|
|
550
599
|
}], [{
|
|
551
|
-
label: i18n_1._('Value'),
|
|
600
|
+
label: (0, i18n_1._)('Value'),
|
|
552
601
|
editor: 'editor.columnSelector',
|
|
553
602
|
option: 'value',
|
|
554
603
|
context: 'valuesContext',
|
|
@@ -557,38 +606,38 @@ var editorConfig = [{
|
|
|
557
606
|
}
|
|
558
607
|
}]]
|
|
559
608
|
}, {
|
|
560
|
-
label: i18n_1._('Data display'),
|
|
609
|
+
label: (0, i18n_1._)('Data display'),
|
|
561
610
|
layout: [[{
|
|
562
|
-
label: i18n_1._('Display type'),
|
|
611
|
+
label: (0, i18n_1._)('Display type'),
|
|
563
612
|
option: 'showDonutHole',
|
|
564
613
|
editor: 'editor.radioBar',
|
|
565
614
|
editorProps: {
|
|
566
615
|
values: [{
|
|
567
|
-
label: i18n_1._('Pie'),
|
|
616
|
+
label: (0, i18n_1._)('Pie'),
|
|
568
617
|
value: false
|
|
569
618
|
}, {
|
|
570
|
-
label: i18n_1._('Donut'),
|
|
619
|
+
label: (0, i18n_1._)('Donut'),
|
|
571
620
|
value: true
|
|
572
621
|
}]
|
|
573
622
|
}
|
|
574
623
|
}], [{
|
|
575
|
-
label: i18n_1._('Label display'),
|
|
624
|
+
label: (0, i18n_1._)('Label display'),
|
|
576
625
|
option: 'labelDisplay',
|
|
577
626
|
editor: 'editor.select',
|
|
578
627
|
editorProps: {
|
|
579
628
|
values: [{
|
|
580
|
-
label: i18n_1._('Values'),
|
|
629
|
+
label: (0, i18n_1._)('Values'),
|
|
581
630
|
value: 'values'
|
|
582
631
|
}, {
|
|
583
|
-
label: i18n_1._('Values & Percent'),
|
|
632
|
+
label: (0, i18n_1._)('Values & Percent'),
|
|
584
633
|
value: 'valuesAndPercentage'
|
|
585
634
|
}, {
|
|
586
|
-
label: i18n_1._('Off'),
|
|
635
|
+
label: (0, i18n_1._)('Off'),
|
|
587
636
|
value: 'off'
|
|
588
637
|
}]
|
|
589
638
|
}
|
|
590
639
|
}], [{
|
|
591
|
-
label: i18n_1._('Collapse threshold'),
|
|
640
|
+
label: (0, i18n_1._)('Collapse threshold'),
|
|
592
641
|
option: 'collapseThreshold',
|
|
593
642
|
editor: 'editor.number',
|
|
594
643
|
editorProps: {
|
|
@@ -597,33 +646,36 @@ var editorConfig = [{
|
|
|
597
646
|
step: 0.01
|
|
598
647
|
}
|
|
599
648
|
}], [{
|
|
600
|
-
label: i18n_1._('Collapsed slice label'),
|
|
649
|
+
label: (0, i18n_1._)('Collapsed slice label'),
|
|
601
650
|
option: 'collapseLabel',
|
|
602
651
|
editor: 'editor.text'
|
|
603
652
|
}]]
|
|
604
653
|
}, {
|
|
605
|
-
label: i18n_1._('Color and style'),
|
|
654
|
+
label: (0, i18n_1._)('Color and style'),
|
|
606
655
|
layout: [[{
|
|
607
|
-
label: i18n_1._('Series colors'),
|
|
656
|
+
label: (0, i18n_1._)('Series colors'),
|
|
608
657
|
option: 'seriesColors',
|
|
609
658
|
editor: 'editor.seriesColors'
|
|
610
|
-
}], BackgroundColor_1.default({
|
|
659
|
+
}], (0, BackgroundColor_1.default)({
|
|
611
660
|
themes: themes
|
|
612
661
|
})]
|
|
613
662
|
}];
|
|
614
663
|
/**
|
|
615
664
|
* visualization configuration
|
|
616
665
|
*/
|
|
666
|
+
|
|
617
667
|
var config = {
|
|
618
668
|
/**
|
|
619
669
|
* unique viz key
|
|
620
670
|
*/
|
|
621
671
|
key: 'splunk.pie',
|
|
672
|
+
|
|
622
673
|
/**
|
|
623
674
|
* viz name
|
|
624
675
|
*/
|
|
625
|
-
name: i18n_1._('Pie'),
|
|
676
|
+
name: (0, i18n_1._)('Pie'),
|
|
626
677
|
category: VizCategory_1.VizCategory.COMPARISONS,
|
|
678
|
+
|
|
627
679
|
/**
|
|
628
680
|
* viz icon
|
|
629
681
|
*/
|
|
@@ -642,11 +694,11 @@ var config = {
|
|
|
642
694
|
supports: [VizBehavior_1.VizBehavior.DYNAMIC_OPTIONS, VizBehavior_1.VizBehavior.PLACEHOLDER, VizBehavior_1.VizBehavior.EVENTS],
|
|
643
695
|
themes: themes
|
|
644
696
|
};
|
|
645
|
-
exports.default = configUtils_1.enhanceConfig(config);
|
|
697
|
+
exports.default = (0, configUtils_1.enhanceConfig)(config);
|
|
646
698
|
|
|
647
699
|
/***/ }),
|
|
648
700
|
|
|
649
|
-
/***/
|
|
701
|
+
/***/ 69:
|
|
650
702
|
/***/ (function(module, exports) {
|
|
651
703
|
|
|
652
704
|
module.exports = require("@splunk/react-icons/enterprise/ChartPie");
|
|
@@ -671,6 +723,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
671
723
|
});
|
|
672
724
|
exports.VizCategory = void 0;
|
|
673
725
|
var VizCategory;
|
|
726
|
+
|
|
674
727
|
(function (VizCategory) {
|
|
675
728
|
VizCategory["SINGLE_VALUE"] = "Single Value";
|
|
676
729
|
VizCategory["TRENDS"] = "Trends";
|
package/Pie.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/themes/variables\"","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"lodash\"","webpack:///./src/Pie/config.ts","webpack:///external \"@splunk/react-icons/enterprise/ChartPie\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///external \"@splunk/themes/pick\""],"names":["i18n_1","require","background","_ref","label","themes","labelPosition","_","option","editor","editorProps","exports","default","VizBehavior","lodash_1","schemaUtils_1","VizBehavior_1","dynamicOptionsDSLType","type","pattern","DYNAMIC_OPTIONS_DSL_PATTERN","enhanceOptionsSchemaWithDynamicOptions","optionsSchema","enhancedOptionsSchema","Object","keys","forEach","key","_a","title","description","readOnly","writeOnly","examples","defaultValue","properties","patternProperties","remainingSchemaEntry","__rest","annotations","assign","undefined","enhancedPatternProperties","opt","_defineProperty","anyOf","enhanceConfig","vizConfig","enhancedConfig","supports","indexOf","DYNAMIC_OPTIONS","editorConfig","map","config","open","uncollapseEditorConfig","editorPanelUncollapsedConfig","isDynamicOption","trim","startsWith","hasCompatibleContexts","vizContext","presetContext","presetContextKeys","every","contextKey","hasCompatibleOptions","vizOptions","presetOptions","presetOptionKeys","optionKey","getInitialPreset","presets","find","preset","get","length","generatePrecisionValues","numPrecisionValues","range","i","concat","repeat","value","insertLayout","layout","index","_len","arguments","layoutItems","Array","_key","_toConsumableArray","slice","ChartPie_1","placeholders_1","visualization_color_palettes_1","pick_1","variables_1","VizCategory_1","configUtils_1","BackgroundColor_1","dataContract","requiredDataSources","name","optionalDataSources","initialRequestParams","primary","offset","count","size","initialWidth","initialHeight","defaultContext","backgroundColor","COLOR_OR_TOKEN_PATTERN_WITH_RGBA","collapseLabel","collapseThreshold","items","labelField","labelDisplay","getPattern","resultLimit","seriesColors","VIZ_CATEGORICAL","seriesColorsByField","showDonutHole","valueField","defaultBackgroundColor","props","enterprise","dark","black","light","prisma","backgroundColorSidebar","context","dataSourceKey","values","min","max","step","category","VizCategory","COMPARISONS","icon","placeholderIcon","Pie","events","PLACEHOLDER","EVENTS"],"mappings":"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","file":"Pie.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 = 67);\n","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualization-icons/placeholders\");","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","module.exports = require(\"@splunk/visualization-color-palettes\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n TRELLIS = 'trellis',\n}\n","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","module.exports = require(\"lodash\");","import SuiChartPieIcon from '@splunk/react-icons/enterprise/ChartPie';\nimport { Pie as PiePlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { _ } from '@splunk/ui-utils/i18n';\n\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA, getPattern } from '@splunk/visualizations-shared/schemaUtils';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [\n // Note: SCP-14090 disable ui for optional datasources. We may need to add it back later\n // {\n // name: 'annotation',\n // description: 'DataSource that populate event annotations',\n // },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {};\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color for the background. You may use a dataSource to apply the color. The default for enterprise light is \"#ffffff\". The default for enterprise dark is \"#000000\". The default for prisma dark is \"#0b0c0e\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n collapseLabel: {\n description: 'Specify the label for the consolidated slice.',\n type: 'string',\n default: 'other',\n },\n collapseThreshold: {\n description:\n 'Specify the size threshold as a number between 0 and 1 (inclusive), of the whole pie at which slices collapse into one consolidated slice.',\n type: 'number',\n default: 0.01,\n },\n label: {\n description: 'List of string values to display the pie chart labels.',\n type: 'array',\n items: {\n type: 'string',\n },\n default: '> primary | seriesByIndex(0)',\n },\n labelField: {\n default: '> label | getField()',\n description: 'Specify the field that corresponds to the labels.',\n type: 'string',\n },\n labelDisplay: {\n description: 'Specify whether to display the labels and/or slice percentages.',\n type: 'string',\n pattern: getPattern(['values', 'valuesAndPercentage', 'off']),\n default: 'values',\n },\n resultLimit: {\n default: 50000,\n description: 'Specify the number of data points rendered in a chart.',\n type: 'number',\n },\n seriesColors: {\n default: VIZ_CATEGORICAL,\n description: 'Specify the colors used for a series. For example, [\"#FF0000\", \"#0000FF\", \"#008000\"].',\n type: 'array',\n items: {\n type: 'string',\n },\n },\n seriesColorsByField: {\n description:\n 'Specify the colors used for specific pie slice labels. For example: {\"April\": \"#008000\", \"May\": \"#FFA500\"}.',\n type: 'object',\n },\n showDonutHole: {\n default: false,\n description: 'Specify whether the pie should be a donut.',\n type: 'boolean',\n },\n value: {\n description: 'List of numerical values to power the pie chart.',\n type: 'array',\n items: {\n type: 'number',\n },\n default: '> primary | seriesByIndex(1)',\n },\n valueField: {\n default: '> value | getField()',\n description: 'Specify the field that corresponds to the data powering values.',\n type: 'string',\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data configurations'),\n layout: [\n [\n {\n label: _('Label'),\n editor: 'editor.columnSelector',\n option: 'label',\n context: 'valuesContext',\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ],\n [\n {\n label: _('Value'),\n editor: 'editor.columnSelector',\n option: 'value',\n context: 'valuesContext',\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ],\n ],\n },\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Display type'),\n option: 'showDonutHole',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Pie'), value: false },\n { label: _('Donut'), value: true },\n ],\n },\n },\n ],\n [\n {\n label: _('Label display'),\n option: 'labelDisplay',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Values'), value: 'values' },\n { label: _('Values & Percent'), value: 'valuesAndPercentage' },\n { label: _('Off'), value: 'off' },\n ],\n },\n },\n ],\n [\n {\n label: _('Collapse threshold'),\n option: 'collapseThreshold',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n max: 1,\n step: 0.01,\n },\n },\n ],\n [\n {\n label: _('Collapsed slice label'),\n option: 'collapseLabel',\n editor: 'editor.text',\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Series colors'),\n option: 'seriesColors',\n editor: 'editor.seriesColors',\n },\n ],\n getBackgroundColorEditor({ themes }),\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.pie',\n /**\n * viz name\n */\n name: _('Pie'),\n category: VizCategory.COMPARISONS,\n /**\n * viz icon\n */\n icon: SuiChartPieIcon,\n placeholderIcon: PiePlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'point.click': {\n description: 'triggered when user clicks on a point in the pie chart',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.PLACEHOLDER, VizBehavior.EVENTS],\n themes,\n};\n\nexport default enhanceConfig(config);\n","module.exports = require(\"@splunk/react-icons/enterprise/ChartPie\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","module.exports = require(\"@splunk/themes/pick\");"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"lodash\"","webpack:///./src/Pie/config.ts","webpack:///external \"@splunk/react-icons/enterprise/ChartPie\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///external \"@splunk/themes/pick\""],"names":[],"mappings":"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","file":"Pie.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 = 68);\n","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualization-icons/placeholders\");","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","module.exports = require(\"@splunk/visualization-color-palettes\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n TRELLIS = 'trellis',\n}\n","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","module.exports = require(\"lodash\");","import SuiChartPieIcon from '@splunk/react-icons/enterprise/ChartPie';\nimport { Pie as PiePlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { _ } from '@splunk/ui-utils/i18n';\n\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA, getPattern } from '@splunk/visualizations-shared/schemaUtils';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [\n // Note: SCP-14090 disable ui for optional datasources. We may need to add it back later\n // {\n // name: 'annotation',\n // description: 'DataSource that populate event annotations',\n // },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {};\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color for the background. You may use a dataSource to apply the color. The default for enterprise light is \"#ffffff\". The default for enterprise dark is \"#000000\". The default for prisma dark is \"#0b0c0e\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n collapseLabel: {\n description: 'Specify the label for the consolidated slice.',\n type: 'string',\n default: 'other',\n },\n collapseThreshold: {\n description:\n 'Specify the size threshold as a number between 0 and 1 (inclusive), of the whole pie at which slices collapse into one consolidated slice.',\n type: 'number',\n default: 0.01,\n },\n label: {\n description: 'List of string values to display the pie chart labels.',\n type: 'array',\n items: {\n type: 'string',\n },\n default: '> primary | seriesByIndex(0)',\n },\n labelField: {\n default: '> label | getField()',\n description: 'Specify the field that corresponds to the labels.',\n type: 'string',\n },\n labelDisplay: {\n description: 'Specify whether to display the labels and/or slice percentages.',\n type: 'string',\n pattern: getPattern(['values', 'valuesAndPercentage', 'off']),\n default: 'values',\n },\n resultLimit: {\n default: 50000,\n description: 'Specify the number of data points rendered in a chart.',\n type: 'number',\n },\n seriesColors: {\n default: VIZ_CATEGORICAL,\n description: 'Specify the colors used for a series. For example, [\"#FF0000\", \"#0000FF\", \"#008000\"].',\n type: 'array',\n items: {\n type: 'string',\n },\n },\n seriesColorsByField: {\n description:\n 'Specify the colors used for specific pie slice labels. For example: {\"April\": \"#008000\", \"May\": \"#FFA500\"}.',\n type: 'object',\n },\n showDonutHole: {\n default: false,\n description: 'Specify whether the pie should be a donut.',\n type: 'boolean',\n },\n value: {\n description: 'List of numerical values to power the pie chart.',\n type: 'array',\n items: {\n type: 'number',\n },\n default: '> primary | seriesByIndex(1)',\n },\n valueField: {\n default: '> value | getField()',\n description: 'Specify the field that corresponds to the data powering values.',\n type: 'string',\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data configurations'),\n layout: [\n [\n {\n label: _('Label'),\n editor: 'editor.columnSelector',\n option: 'label',\n context: 'valuesContext',\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ],\n [\n {\n label: _('Value'),\n editor: 'editor.columnSelector',\n option: 'value',\n context: 'valuesContext',\n editorProps: {\n dataSourceKey: 'primary',\n },\n },\n ],\n ],\n },\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Display type'),\n option: 'showDonutHole',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Pie'), value: false },\n { label: _('Donut'), value: true },\n ],\n },\n },\n ],\n [\n {\n label: _('Label display'),\n option: 'labelDisplay',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Values'), value: 'values' },\n { label: _('Values & Percent'), value: 'valuesAndPercentage' },\n { label: _('Off'), value: 'off' },\n ],\n },\n },\n ],\n [\n {\n label: _('Collapse threshold'),\n option: 'collapseThreshold',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n max: 1,\n step: 0.01,\n },\n },\n ],\n [\n {\n label: _('Collapsed slice label'),\n option: 'collapseLabel',\n editor: 'editor.text',\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Series colors'),\n option: 'seriesColors',\n editor: 'editor.seriesColors',\n },\n ],\n getBackgroundColorEditor({ themes }),\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.pie',\n /**\n * viz name\n */\n name: _('Pie'),\n category: VizCategory.COMPARISONS,\n /**\n * viz icon\n */\n icon: SuiChartPieIcon,\n placeholderIcon: PiePlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'point.click': {\n description: 'triggered when user clicks on a point in the pie chart',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.PLACEHOLDER, VizBehavior.EVENTS],\n themes,\n};\n\nexport default enhanceConfig(config);\n","module.exports = require(\"@splunk/react-icons/enterprise/ChartPie\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","module.exports = require(\"@splunk/themes/pick\");"],"sourceRoot":""}
|