@splunk/visualizations 26.0.0 → 26.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Area.config.js +103 -19
- package/Area.config.js.map +1 -1
- package/Area.js +646 -243
- package/Area.js.map +1 -1
- package/Bar.config.js +105 -21
- package/Bar.config.js.map +1 -1
- package/Bar.js +653 -237
- package/Bar.js.map +1 -1
- package/Bubble.config.js +95 -21
- package/Bubble.config.js.map +1 -1
- package/Bubble.js +635 -229
- package/Bubble.js.map +1 -1
- package/ChoroplethSvg.config.js +66 -15
- package/ChoroplethSvg.config.js.map +1 -1
- package/ChoroplethSvg.js +589 -211
- package/ChoroplethSvg.js.map +1 -1
- package/Column.config.js +104 -19
- package/Column.config.js.map +1 -1
- package/Column.js +666 -239
- package/Column.js.map +1 -1
- package/Ellipse.config.js +83 -18
- package/Ellipse.config.js.map +1 -1
- package/Ellipse.js +444 -156
- package/Ellipse.js.map +1 -1
- package/Events.config.js +101 -19
- package/Events.config.js.map +1 -1
- package/Events.js +792 -322
- package/Events.js.map +1 -1
- package/FillerGauge.config.js +97 -28
- package/FillerGauge.config.js.map +1 -1
- package/FillerGauge.js +786 -390
- package/FillerGauge.js.map +1 -1
- package/Image.config.js +63 -19
- package/Image.config.js.map +1 -1
- package/Image.js +439 -164
- package/Image.js.map +1 -1
- package/Line.config.js +107 -23
- package/Line.config.js.map +1 -1
- package/Line.js +841 -456
- package/Line.js.map +1 -1
- package/LinkGraph.config.js +73 -23
- package/LinkGraph.config.js.map +1 -1
- package/LinkGraph.js +653 -230
- package/LinkGraph.js.map +1 -1
- package/MIGRATION.md +1082 -0
- package/Map.config.js +244 -99
- package/Map.config.js.map +1 -1
- package/Map.js +1223 -612
- package/Map.js.map +1 -1
- package/Markdown.config.js +71 -21
- package/Markdown.config.js.map +1 -1
- package/Markdown.js +477 -202
- package/Markdown.js.map +1 -1
- package/MarkerGauge.config.js +80 -22
- package/MarkerGauge.config.js.map +1 -1
- package/MarkerGauge.js +819 -418
- package/MarkerGauge.js.map +1 -1
- package/ParallelCoordinates.config.js +73 -19
- package/ParallelCoordinates.config.js.map +1 -1
- package/ParallelCoordinates.js +870 -491
- package/ParallelCoordinates.js.map +1 -1
- package/Pie.config.js +76 -23
- package/Pie.config.js.map +1 -1
- package/Pie.js +643 -233
- package/Pie.js.map +1 -1
- package/Punchcard.config.js +82 -30
- package/Punchcard.config.js.map +1 -1
- package/Punchcard.js +863 -387
- package/Punchcard.js.map +1 -1
- package/Rectangle.config.js +86 -20
- package/Rectangle.config.js.map +1 -1
- package/Rectangle.js +449 -159
- package/Rectangle.js.map +1 -1
- package/Sankey.config.js +85 -23
- package/Sankey.config.js.map +1 -1
- package/Sankey.js +895 -349
- package/Sankey.js.map +1 -1
- package/Scatter.config.js +97 -23
- package/Scatter.config.js.map +1 -1
- package/Scatter.js +639 -234
- package/Scatter.js.map +1 -1
- package/SingleValue.config.js +95 -25
- package/SingleValue.config.js.map +1 -1
- package/SingleValue.js +1198 -656
- package/SingleValue.js.map +1 -1
- package/SingleValueBasic.js +287 -226
- package/SingleValueBasic.js.map +1 -1
- package/SingleValueIcon.config.js +93 -23
- package/SingleValueIcon.config.js.map +1 -1
- package/SingleValueIcon.js +991 -522
- package/SingleValueIcon.js.map +1 -1
- package/SingleValueRadial.config.js +100 -27
- package/SingleValueRadial.config.js.map +1 -1
- package/SingleValueRadial.js +1185 -624
- package/SingleValueRadial.js.map +1 -1
- package/SparkLine.js +127 -68
- package/SparkLine.js.map +1 -1
- package/Table.config.js +74 -21
- package/Table.config.js.map +1 -1
- package/Table.js +827 -329
- package/Table.js.map +1 -1
- package/common/Charting.js +152 -69
- package/common/Charting.js.map +1 -1
- package/common/ChartingApi.js +25 -14
- package/common/ChartingApi.js.map +1 -1
- package/common/DocExampleWithVizSandbox.js +530 -0
- package/common/DocExampleWithVizSandbox.js.map +1 -0
- package/common/EventsDoc.js +139 -104
- package/common/EventsDoc.js.map +1 -1
- package/common/GaugeMajorTicks.js +79 -69
- package/common/GaugeMajorTicks.js.map +1 -1
- package/common/GaugeValueMarker.js +54 -45
- package/common/GaugeValueMarker.js.map +1 -1
- package/common/OptionsDoc.js +178 -87
- package/common/OptionsDoc.js.map +1 -1
- package/common/OverviewDoc.js +530 -68
- package/common/OverviewDoc.js.map +1 -1
- package/common/SplunkVisualization.js +47 -20
- package/common/SplunkVisualization.js.map +1 -1
- package/common/SplunkVisualizationApi.js +15 -9
- package/common/SplunkVisualizationApi.js.map +1 -1
- package/common/ThemesDoc.js +57 -44
- package/common/ThemesDoc.js.map +1 -1
- package/common/chartingUtils.js +52 -20
- package/common/chartingUtils.js.map +1 -1
- package/common/docUtils.js +139 -7
- package/common/docUtils.js.map +1 -1
- package/common/gaugeUtils.js +185 -102
- package/common/gaugeUtils.js.map +1 -1
- package/common/shapeUtils.js +28 -16
- package/common/shapeUtils.js.map +1 -1
- package/common/utils/configUtils.js +50 -15
- package/common/utils/configUtils.js.map +1 -1
- package/common/utils/dataUtils.js +8 -3
- package/common/utils/dataUtils.js.map +1 -1
- package/common/utils/hocUtils.js +4 -2
- package/common/utils/hocUtils.js.map +1 -1
- package/common/utils/layoutUtils.js +2 -1
- package/common/utils/layoutUtils.js.map +1 -1
- package/common/utils/mapUtils.js +288 -128
- package/common/utils/mapUtils.js.map +1 -1
- package/common/utils/singleValueUtils.js +242 -197
- package/common/utils/singleValueUtils.js.map +1 -1
- package/common/utils/testHelper.js +10 -1
- package/common/utils/testHelper.js.map +1 -1
- package/common/utils/trellisUtils.js +62 -1
- package/common/utils/trellisUtils.js.map +1 -1
- package/common/utils/urlUtils.js +3 -1
- package/common/utils/urlUtils.js.map +1 -1
- package/common/withDashboardViz.js +389 -192
- package/common/withDashboardViz.js.map +1 -1
- package/package.json +18 -26
package/Sankey.config.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Copyright ©
|
|
2
|
+
* Copyright © 2024 Splunk Inc.
|
|
3
3
|
* SPLUNK CONFIDENTIAL – Use or disclosure of this material in whole or
|
|
4
4
|
* in part without a valid written license from Splunk Inc. is PROHIBITED.
|
|
5
5
|
*/
|
|
@@ -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 = 72);
|
|
91
91
|
/******/ })
|
|
92
92
|
/************************************************************************/
|
|
93
93
|
/******/ ({
|
|
@@ -129,11 +129,13 @@ module.exports = require("@splunk/visualization-icons");
|
|
|
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
140
|
label: (0, i18n_1._)(label || 'Background'),
|
|
139
141
|
option: 'backgroundColor',
|
|
@@ -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
|
/***/ }),
|
|
@@ -173,6 +176,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
173
176
|
});
|
|
174
177
|
exports.VizBehavior = void 0;
|
|
175
178
|
var VizBehavior;
|
|
179
|
+
|
|
176
180
|
(function (VizBehavior) {
|
|
177
181
|
/**
|
|
178
182
|
* Dynamic Options Behavior.
|
|
@@ -192,6 +196,7 @@ var VizBehavior;
|
|
|
192
196
|
* missing.
|
|
193
197
|
* @type {string}
|
|
194
198
|
*/
|
|
199
|
+
|
|
195
200
|
VizBehavior["PLACEHOLDER"] = "placeholder";
|
|
196
201
|
VizBehavior["PAGE_AND_SORT"] = "page-and-sort";
|
|
197
202
|
VizBehavior["TRELLIS"] = "trellis";
|
|
@@ -220,24 +225,33 @@ module.exports = require("@splunk/visualizations-shared/schemaUtils");
|
|
|
220
225
|
|
|
221
226
|
|
|
222
227
|
var _toConsumableArray = __webpack_require__(1);
|
|
228
|
+
|
|
223
229
|
var _defineProperty = __webpack_require__(7);
|
|
230
|
+
|
|
224
231
|
var __rest = this && this.__rest || function (s, e) {
|
|
225
232
|
var t = {};
|
|
233
|
+
|
|
226
234
|
for (var p in s) {
|
|
227
235
|
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
228
236
|
}
|
|
237
|
+
|
|
229
238
|
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
230
239
|
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
231
240
|
}
|
|
232
241
|
return t;
|
|
233
242
|
};
|
|
243
|
+
|
|
234
244
|
Object.defineProperty(exports, "__esModule", {
|
|
235
245
|
value: true
|
|
236
246
|
});
|
|
237
247
|
exports.insertLayout = exports.isDynamicOption = exports.uncollapseEditorConfig = exports.generatePrecisionValues = exports.getInitialPreset = exports.enhanceOptionsSchemaWithDynamicOptions = exports.enhanceConfig = void 0;
|
|
248
|
+
|
|
238
249
|
var lodash_1 = __webpack_require__(6);
|
|
250
|
+
|
|
239
251
|
var schemaUtils_1 = __webpack_require__(3);
|
|
252
|
+
|
|
240
253
|
var VizBehavior_1 = __webpack_require__(2);
|
|
254
|
+
|
|
241
255
|
var dynamicOptionsDSLType = {
|
|
242
256
|
type: 'string',
|
|
243
257
|
pattern: schemaUtils_1.DYNAMIC_OPTIONS_DSL_PATTERN
|
|
@@ -247,20 +261,22 @@ var dynamicOptionsDSLType = {
|
|
|
247
261
|
* @param optionsSchema a visualization's options schema
|
|
248
262
|
* @returns an updated options schema that additionally allows strings starting with > for each option
|
|
249
263
|
*/
|
|
264
|
+
|
|
250
265
|
function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
|
|
251
266
|
var enhancedOptionsSchema = {};
|
|
252
267
|
Object.keys(optionsSchema).forEach(function (key) {
|
|
253
268
|
var _a = optionsSchema[key],
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
269
|
+
title = _a.title,
|
|
270
|
+
description = _a.description,
|
|
271
|
+
readOnly = _a.readOnly,
|
|
272
|
+
writeOnly = _a.writeOnly,
|
|
273
|
+
examples = _a.examples,
|
|
274
|
+
defaultValue = _a.default,
|
|
275
|
+
type = _a.type,
|
|
276
|
+
properties = _a.properties,
|
|
277
|
+
patternProperties = _a.patternProperties,
|
|
278
|
+
remainingSchemaEntry = __rest(_a, ["title", "description", "readOnly", "writeOnly", "examples", "default", "type", "properties", "patternProperties"]);
|
|
279
|
+
|
|
264
280
|
var annotations = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, title !== undefined && {
|
|
265
281
|
title: title
|
|
266
282
|
}), description !== undefined && {
|
|
@@ -274,12 +290,14 @@ function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
|
|
|
274
290
|
}), defaultValue !== undefined && {
|
|
275
291
|
default: defaultValue
|
|
276
292
|
});
|
|
293
|
+
|
|
277
294
|
if (type === 'object') {
|
|
278
295
|
enhancedOptionsSchema[key] = Object.assign(Object.assign(Object.assign(Object.assign({}, remainingSchemaEntry), annotations), {
|
|
279
296
|
type: type
|
|
280
297
|
}), properties && {
|
|
281
298
|
properties: enhanceOptionsSchemaWithDynamicOptions(properties)
|
|
282
299
|
});
|
|
300
|
+
|
|
283
301
|
if (patternProperties) {
|
|
284
302
|
var enhancedPatternProperties = {};
|
|
285
303
|
Object.keys(patternProperties).forEach(function (opt) {
|
|
@@ -297,6 +315,7 @@ function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
|
|
|
297
315
|
});
|
|
298
316
|
return enhancedOptionsSchema;
|
|
299
317
|
}
|
|
318
|
+
|
|
300
319
|
exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamicOptions;
|
|
301
320
|
/**
|
|
302
321
|
* Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block
|
|
@@ -305,11 +324,14 @@ exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamic
|
|
|
305
324
|
* @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports
|
|
306
325
|
* and containing `open: false` for all editor panels in editorConfig
|
|
307
326
|
*/
|
|
327
|
+
|
|
308
328
|
function enhanceConfig(vizConfig) {
|
|
309
329
|
var enhancedConfig = Object.assign({}, vizConfig);
|
|
330
|
+
|
|
310
331
|
if (vizConfig.supports.indexOf(VizBehavior_1.VizBehavior.DYNAMIC_OPTIONS) !== -1) {
|
|
311
332
|
enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);
|
|
312
333
|
}
|
|
334
|
+
|
|
313
335
|
enhancedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
|
|
314
336
|
return Object.assign(Object.assign({}, config), {
|
|
315
337
|
open: config.open || false
|
|
@@ -317,6 +339,7 @@ function enhanceConfig(vizConfig) {
|
|
|
317
339
|
});
|
|
318
340
|
return enhancedConfig;
|
|
319
341
|
}
|
|
342
|
+
|
|
320
343
|
exports.enhanceConfig = enhanceConfig;
|
|
321
344
|
/**
|
|
322
345
|
* Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig
|
|
@@ -324,6 +347,7 @@ exports.enhanceConfig = enhanceConfig;
|
|
|
324
347
|
* @param vizConfig a Visualization Config
|
|
325
348
|
* @returns a Visualization Config containing `open: true` for all editor panels in editorConfig
|
|
326
349
|
*/
|
|
350
|
+
|
|
327
351
|
function uncollapseEditorConfig(vizConfig) {
|
|
328
352
|
var editorPanelUncollapsedConfig = Object.assign({}, vizConfig);
|
|
329
353
|
editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
|
|
@@ -333,13 +357,16 @@ function uncollapseEditorConfig(vizConfig) {
|
|
|
333
357
|
});
|
|
334
358
|
return editorPanelUncollapsedConfig;
|
|
335
359
|
}
|
|
360
|
+
|
|
336
361
|
exports.uncollapseEditorConfig = uncollapseEditorConfig;
|
|
362
|
+
|
|
337
363
|
function isDynamicOption(option) {
|
|
338
364
|
return option && typeof option === 'string' && option.trim().startsWith('>') || false;
|
|
339
365
|
}
|
|
340
|
-
|
|
341
|
-
// private helpers to improve readability of getInitialPreset
|
|
366
|
+
|
|
367
|
+
exports.isDynamicOption = isDynamicOption; // private helpers to improve readability of getInitialPreset
|
|
342
368
|
// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset
|
|
369
|
+
|
|
343
370
|
/**
|
|
344
371
|
* this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset
|
|
345
372
|
* 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
|
|
@@ -348,6 +375,7 @@ exports.isDynamicOption = isDynamicOption;
|
|
|
348
375
|
*
|
|
349
376
|
* Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values
|
|
350
377
|
*/
|
|
378
|
+
|
|
351
379
|
function hasCompatibleContexts(vizContext, presetContext) {
|
|
352
380
|
var presetContextKeys = Object.keys(presetContext);
|
|
353
381
|
return presetContextKeys.every(function (contextKey) {
|
|
@@ -357,6 +385,8 @@ function hasCompatibleContexts(vizContext, presetContext) {
|
|
|
357
385
|
/**
|
|
358
386
|
* Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions
|
|
359
387
|
*/
|
|
388
|
+
|
|
389
|
+
|
|
360
390
|
function hasCompatibleOptions(vizOptions, presetOptions) {
|
|
361
391
|
var presetOptionKeys = Object.keys(presetOptions);
|
|
362
392
|
return presetOptionKeys.every(function (optionKey) {
|
|
@@ -371,18 +401,21 @@ function hasCompatibleOptions(vizOptions, presetOptions) {
|
|
|
371
401
|
* @param {Object} vizOptions - the current vizOptions definition
|
|
372
402
|
* @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset
|
|
373
403
|
*/
|
|
404
|
+
|
|
405
|
+
|
|
374
406
|
function getInitialPreset(vizContext, vizOptions, presets) {
|
|
375
407
|
return presets.find(function (preset) {
|
|
376
408
|
var presetContext = (0, lodash_1.get)(preset, ['value', 'context'], {});
|
|
377
409
|
var presetOptions = (0, lodash_1.get)(preset, ['value', 'options'], {});
|
|
378
410
|
var presetContextKeys = Object.keys(presetContext);
|
|
379
|
-
var presetOptionKeys = Object.keys(presetOptions);
|
|
380
|
-
// all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)
|
|
411
|
+
var presetOptionKeys = Object.keys(presetOptions); // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)
|
|
381
412
|
// if not, then the preset is invalid in config.ts
|
|
413
|
+
|
|
382
414
|
if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;
|
|
383
415
|
return hasCompatibleContexts(vizContext, presetContext) && hasCompatibleOptions(vizOptions, presetOptions);
|
|
384
416
|
});
|
|
385
417
|
}
|
|
418
|
+
|
|
386
419
|
exports.getInitialPreset = getInitialPreset;
|
|
387
420
|
/**
|
|
388
421
|
* generates number precision values for a Select editor
|
|
@@ -390,6 +423,7 @@ exports.getInitialPreset = getInitialPreset;
|
|
|
390
423
|
* @param {Number} numPrecisionValues - number of integer precision values to generate
|
|
391
424
|
* @returns {{ label: string; value; string }[]} array of { label, value } tuples
|
|
392
425
|
*/
|
|
426
|
+
|
|
393
427
|
function generatePrecisionValues(numPrecisionValues) {
|
|
394
428
|
return (0, lodash_1.range)(0, numPrecisionValues + 1).map(function (i) {
|
|
395
429
|
return {
|
|
@@ -398,6 +432,7 @@ function generatePrecisionValues(numPrecisionValues) {
|
|
|
398
432
|
};
|
|
399
433
|
});
|
|
400
434
|
}
|
|
435
|
+
|
|
401
436
|
exports.generatePrecisionValues = generatePrecisionValues;
|
|
402
437
|
/**
|
|
403
438
|
* insert layout in layout array, return a new layout array instead of updating the original
|
|
@@ -407,12 +442,15 @@ exports.generatePrecisionValues = generatePrecisionValues;
|
|
|
407
442
|
* @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert
|
|
408
443
|
* @returns {EditorLayoutConfig[][]} new editor layout with insertion
|
|
409
444
|
*/
|
|
445
|
+
|
|
410
446
|
var insertLayout = function insertLayout(layout, index) {
|
|
411
447
|
for (var _len = arguments.length, layoutItems = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
412
448
|
layoutItems[_key - 2] = arguments[_key];
|
|
413
449
|
}
|
|
450
|
+
|
|
414
451
|
return [].concat(_toConsumableArray(layout.slice(0, index)), layoutItems, _toConsumableArray(layout.slice(index)));
|
|
415
452
|
};
|
|
453
|
+
|
|
416
454
|
exports.insertLayout = insertLayout;
|
|
417
455
|
|
|
418
456
|
/***/ }),
|
|
@@ -438,7 +476,7 @@ module.exports = require("@babel/runtime/helpers/defineProperty");
|
|
|
438
476
|
|
|
439
477
|
/***/ }),
|
|
440
478
|
|
|
441
|
-
/***/
|
|
479
|
+
/***/ 72:
|
|
442
480
|
/***/ (function(module, exports, __webpack_require__) {
|
|
443
481
|
|
|
444
482
|
"use strict";
|
|
@@ -447,18 +485,31 @@ module.exports = require("@babel/runtime/helpers/defineProperty");
|
|
|
447
485
|
Object.defineProperty(exports, "__esModule", {
|
|
448
486
|
value: true
|
|
449
487
|
});
|
|
488
|
+
|
|
450
489
|
var visualization_icons_1 = __webpack_require__(12);
|
|
490
|
+
|
|
451
491
|
var placeholders_1 = __webpack_require__(11);
|
|
492
|
+
|
|
452
493
|
var visualization_color_palettes_1 = __webpack_require__(14);
|
|
494
|
+
|
|
453
495
|
var schemaUtils_1 = __webpack_require__(3);
|
|
496
|
+
|
|
454
497
|
var PresetPalettes_1 = __webpack_require__(15);
|
|
498
|
+
|
|
455
499
|
var themes_1 = __webpack_require__(21);
|
|
500
|
+
|
|
456
501
|
var i18n_1 = __webpack_require__(0);
|
|
502
|
+
|
|
457
503
|
var VizBehavior_1 = __webpack_require__(2);
|
|
504
|
+
|
|
458
505
|
var VizCategory_1 = __webpack_require__(8);
|
|
506
|
+
|
|
459
507
|
var configUtils_1 = __webpack_require__(4);
|
|
460
|
-
|
|
508
|
+
|
|
509
|
+
var DynamicLinkColorsEditor_1 = __webpack_require__(73);
|
|
510
|
+
|
|
461
511
|
var BackgroundColor_1 = __webpack_require__(13);
|
|
512
|
+
|
|
462
513
|
var defaultContext = {
|
|
463
514
|
linkColorRangeConfig: [{
|
|
464
515
|
to: 20,
|
|
@@ -636,17 +687,20 @@ var editorConfig = [{
|
|
|
636
687
|
/**
|
|
637
688
|
* visualization configuration
|
|
638
689
|
*/
|
|
690
|
+
|
|
639
691
|
var config = {
|
|
640
692
|
/**
|
|
641
693
|
* unique viz key
|
|
642
694
|
*/
|
|
643
695
|
key: 'splunk.sankey',
|
|
696
|
+
|
|
644
697
|
/**
|
|
645
698
|
* viz name
|
|
646
699
|
*/
|
|
647
700
|
name: (0, i18n_1._)('Sankey'),
|
|
648
701
|
category: VizCategory_1.VizCategory.FLOW,
|
|
649
702
|
status: 'preview',
|
|
703
|
+
|
|
650
704
|
/**
|
|
651
705
|
* viz icon
|
|
652
706
|
*/
|
|
@@ -657,7 +711,14 @@ var config = {
|
|
|
657
711
|
defaultContext: defaultContext,
|
|
658
712
|
optionsSchema: optionsSchema,
|
|
659
713
|
editorConfig: editorConfig,
|
|
660
|
-
events: {
|
|
714
|
+
events: {
|
|
715
|
+
'node.click': {
|
|
716
|
+
description: 'Triggered when user clicks on a node'
|
|
717
|
+
},
|
|
718
|
+
'link.click': {
|
|
719
|
+
description: 'Triggered when user clicks on a link'
|
|
720
|
+
}
|
|
721
|
+
},
|
|
661
722
|
supports: [VizBehavior_1.VizBehavior.DYNAMIC_OPTIONS, VizBehavior_1.VizBehavior.EVENTS, VizBehavior_1.VizBehavior.PLACEHOLDER],
|
|
662
723
|
themes: themes,
|
|
663
724
|
requiredProps: []
|
|
@@ -666,7 +727,7 @@ exports.default = (0, configUtils_1.enhanceConfig)(config);
|
|
|
666
727
|
|
|
667
728
|
/***/ }),
|
|
668
729
|
|
|
669
|
-
/***/
|
|
730
|
+
/***/ 73:
|
|
670
731
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
671
732
|
|
|
672
733
|
"use strict";
|
|
@@ -680,7 +741,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
680
741
|
|
|
681
742
|
var getDynamicLinkColorsEditor = function getDynamicLinkColorsEditor(_ref) {
|
|
682
743
|
var defaultContext = _ref.defaultContext,
|
|
683
|
-
|
|
744
|
+
defaultPalettesConfig = _ref.defaultPalettesConfig;
|
|
684
745
|
return {
|
|
685
746
|
label: Object(_splunk_ui_utils_i18n__WEBPACK_IMPORTED_MODULE_0__["_"])('Link'),
|
|
686
747
|
option: 'linkColors',
|
|
@@ -728,6 +789,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
728
789
|
});
|
|
729
790
|
exports.VizCategory = void 0;
|
|
730
791
|
var VizCategory;
|
|
792
|
+
|
|
731
793
|
(function (VizCategory) {
|
|
732
794
|
VizCategory["SINGLE_VALUE"] = "Single Value";
|
|
733
795
|
VizCategory["TRENDS"] = "Trends";
|
package/Sankey.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:///external \"@splunk/visualization-color-palettes\"","webpack:///external \"@splunk/visualization-color-palettes/editors/PresetPalettes\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/themes\"","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@splunk/visualizations-shared/configUtils\"","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/Sankey/config.ts","webpack:///./src/common/editorConfig/DynamicLinkColorsEditor.js","webpack:///./src/common/interfaces/VizCategory.ts"],"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","visualization_icons_1","placeholders_1","visualization_color_palettes_1","PresetPalettes_1","themes_1","VizCategory_1","configUtils_1","DynamicLinkColorsEditor_1","BackgroundColor_1","defaultContext","linkColorRangeConfig","to","from","linkColorMatchConfig","match","dataContract","requiredDataSources","name","optionalDataSources","initialRequestParams","primary","offset","count","size","initialWidth","initialHeight","backgroundColor","COLOR_OR_TOKEN_PATTERN_WITH_RGBA","colorMode","getPattern","linkColors","items","linkOpacity","linkValues","resultLimit","seriesColors","VIZ_CATEGORICAL","defaultBackgroundColor","props","pick","enterprise","dark","variables","black","light","prisma","backgroundColorSidebar","nodeTextColor","textColor","contentColorActive","tooltipRowColor","tooltipLinkHeaderColor","tooltipHeaderColor","textGray","contentColorMuted","context","dataSourceKey","filterByTypes","values","getDynamicLinkColorsEditor","defaultPalettesConfig","showEditor","options","category","VizCategory","FLOW","status","icon","Sankey","placeholderIcon","events","EVENTS","PLACEHOLDER","requiredProps","_ref2","flyoutTitle","formatters","defaults","dataSelectors"],"mappings":"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","file":"Sankey.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 = 71);\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","module.exports = require(\"@splunk/visualization-color-palettes\");","module.exports = require(\"@splunk/visualization-color-palettes/editors/PresetPalettes\");","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/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","module.exports = require(\"@splunk/visualizations-shared/configUtils\");","module.exports = require(\"lodash\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","import { Sankey as SankeyIcon } from '@splunk/visualization-icons';\nimport { Sankey as SankeyPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA, getPattern } from '@splunk/visualizations-shared/schemaUtils';\nimport { defaultPalettesConfig } from '@splunk/visualization-color-palettes/editors/PresetPalettes';\nimport { pick, variables } from '@splunk/themes';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport { getDynamicLinkColorsEditor } from '../common/editorConfig/DynamicLinkColorsEditor';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst defaultContext: DefaultContext = {\n linkColorRangeConfig: [\n { to: 20, value: '#D41F1F' },\n { from: 20, to: 40, value: '#D94E17' },\n { from: 40, to: 60, value: '#CBA700' },\n { from: 60, to: 80, value: '#669922' },\n { from: 80, value: '#118832' },\n ],\n linkColorMatchConfig: [{ match: '', value: '#5C33FF' }],\n};\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 600,\n initialHeight: 300,\n};\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color for the background. You may use a dataSource to apply the color. The default for enterprise light is \"#ffffff\". The default for enterprise dark is \"#000000\". The default for prisma dark is \"#0b0c0e\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n colorMode: {\n default: 'categorical',\n description:\n 'Specify the coloring method used for the links. When set to \"categorical\" the nodes and links will be colored based on the \"seriesColors\". When set to \"dynamic\" the links will be colored based on the dynamic string assigned to \"linkColors\".',\n pattern: getPattern(['categorical', 'dynamic']),\n type: 'string',\n },\n linkColors: {\n default: `> linkValues | rangeValue(linkColorRangeConfig)`,\n description:\n 'Specify the coloring method used for the links when the colorMode “dynamic” is specified.',\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n },\n linkOpacity: {\n default: 0.5,\n description: 'Specify the opacity of the links. Choose a number in the range of 0 - 1 (inclusive).',\n type: 'number',\n },\n linkValues: {\n default: `> primary | seriesByType('number')`,\n description: 'Specify the dataSource to apply link width.',\n type: 'string',\n },\n resultLimit: {\n default: 1000,\n description: 'Specify the maximum length of link data points rendered.',\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};\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 nodeTextColor: props =>\n pick({\n enterprise: {\n dark: variables.textColor(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorActive(props),\n })(props),\n tooltipRowColor: props =>\n pick({\n enterprise: {\n dark: variables.textColor(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorActive(props),\n })(props),\n tooltipLinkHeaderColor: props =>\n pick({\n enterprise: {\n dark: variables.textColor(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorActive(props),\n })(props),\n tooltipHeaderColor: props =>\n pick({\n enterprise: {\n dark: variables.textGray(props),\n light: variables.textGray(props),\n },\n prisma: variables.contentColorMuted(props),\n })(props),\n};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data configurations'),\n layout: [\n [\n {\n label: 'Link value',\n editor: 'editor.columnSelector',\n option: 'linkValues',\n context: 'linkValuesContext',\n editorProps: {\n dataSourceKey: 'primary',\n filterByTypes: ['number'],\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Color mode'),\n option: 'colorMode',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Categorical'), value: 'categorical' },\n { label: _('Dynamic'), value: 'dynamic' },\n ],\n },\n },\n ],\n [\n {\n ...getDynamicLinkColorsEditor({ defaultContext, defaultPalettesConfig }),\n showEditor: ({ options }) => options.colorMode === 'dynamic',\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.sankey',\n /**\n * viz name\n */\n name: _('Sankey'),\n category: VizCategory.FLOW,\n status: 'preview',\n /**\n * viz icon\n */\n icon: SankeyIcon,\n placeholderIcon: SankeyPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {},\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER],\n themes,\n requiredProps: [],\n};\n\nexport default enhanceConfig(config);\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nexport const getDynamicLinkColorsEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Link'),\n option: 'linkColors',\n context: 'linkColorRangeConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.linkColors),\n editorProps: {\n labelPosition: 'top',\n flyoutTitle: _('Dynamic coloring: link'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n linkValues: defaultContext.linkColorRangeConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n linkValues: defaultContext.linkColorMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Link'),\n value: 'linkValues',\n },\n ],\n defaultPalettesConfig,\n },\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":""}
|
|
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/visualization-color-palettes\"","webpack:///external \"@splunk/visualization-color-palettes/editors/PresetPalettes\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/themes\"","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@splunk/visualizations-shared/configUtils\"","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/Sankey/config.ts","webpack:///./src/common/editorConfig/DynamicLinkColorsEditor.js","webpack:///./src/common/interfaces/VizCategory.ts"],"names":["getDynamicLinkColorsEditor","defaultContext","defaultPalettesConfig","label","_","option","context","editor","showEditor","options","isDynamicOption","editorProps","labelPosition","flyoutTitle","formatters","value","defaults","linkValues","linkColorRangeConfig","linkColorMatchConfig","dataSelectors"],"mappings":"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","file":"Sankey.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 = 72);\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","module.exports = require(\"@splunk/visualization-color-palettes\");","module.exports = require(\"@splunk/visualization-color-palettes/editors/PresetPalettes\");","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/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","module.exports = require(\"@splunk/visualizations-shared/configUtils\");","module.exports = require(\"lodash\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","import { Sankey as SankeyIcon } from '@splunk/visualization-icons';\nimport { Sankey as SankeyPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA, getPattern } from '@splunk/visualizations-shared/schemaUtils';\nimport { defaultPalettesConfig } from '@splunk/visualization-color-palettes/editors/PresetPalettes';\nimport { pick, variables } from '@splunk/themes';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport { getDynamicLinkColorsEditor } from '../common/editorConfig/DynamicLinkColorsEditor';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst defaultContext: DefaultContext = {\n linkColorRangeConfig: [\n { to: 20, value: '#D41F1F' },\n { from: 20, to: 40, value: '#D94E17' },\n { from: 40, to: 60, value: '#CBA700' },\n { from: 60, to: 80, value: '#669922' },\n { from: 80, value: '#118832' },\n ],\n linkColorMatchConfig: [{ match: '', value: '#5C33FF' }],\n};\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 600,\n initialHeight: 300,\n};\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color for the background. You may use a dataSource to apply the color. The default for enterprise light is \"#ffffff\". The default for enterprise dark is \"#000000\". The default for prisma dark is \"#0b0c0e\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n colorMode: {\n default: 'categorical',\n description:\n 'Specify the coloring method used for the links. When set to \"categorical\" the nodes and links will be colored based on the \"seriesColors\". When set to \"dynamic\" the links will be colored based on the dynamic string assigned to \"linkColors\".',\n pattern: getPattern(['categorical', 'dynamic']),\n type: 'string',\n },\n linkColors: {\n default: `> linkValues | rangeValue(linkColorRangeConfig)`,\n description:\n 'Specify the coloring method used for the links when the colorMode “dynamic” is specified.',\n type: 'array',\n items: {\n type: 'string',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n },\n },\n linkOpacity: {\n default: 0.5,\n description: 'Specify the opacity of the links. Choose a number in the range of 0 - 1 (inclusive).',\n type: 'number',\n },\n linkValues: {\n default: `> primary | seriesByType('number')`,\n description: 'Specify the dataSource to apply link width.',\n type: 'string',\n },\n resultLimit: {\n default: 1000,\n description: 'Specify the maximum length of link data points rendered.',\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};\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 nodeTextColor: props =>\n pick({\n enterprise: {\n dark: variables.textColor(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorActive(props),\n })(props),\n tooltipRowColor: props =>\n pick({\n enterprise: {\n dark: variables.textColor(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorActive(props),\n })(props),\n tooltipLinkHeaderColor: props =>\n pick({\n enterprise: {\n dark: variables.textColor(props),\n light: variables.textColor(props),\n },\n prisma: variables.contentColorActive(props),\n })(props),\n tooltipHeaderColor: props =>\n pick({\n enterprise: {\n dark: variables.textGray(props),\n light: variables.textGray(props),\n },\n prisma: variables.contentColorMuted(props),\n })(props),\n};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data configurations'),\n layout: [\n [\n {\n label: 'Link value',\n editor: 'editor.columnSelector',\n option: 'linkValues',\n context: 'linkValuesContext',\n editorProps: {\n dataSourceKey: 'primary',\n filterByTypes: ['number'],\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Color mode'),\n option: 'colorMode',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Categorical'), value: 'categorical' },\n { label: _('Dynamic'), value: 'dynamic' },\n ],\n },\n },\n ],\n [\n {\n ...getDynamicLinkColorsEditor({ defaultContext, defaultPalettesConfig }),\n showEditor: ({ options }) => options.colorMode === 'dynamic',\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.sankey',\n /**\n * viz name\n */\n name: _('Sankey'),\n category: VizCategory.FLOW,\n status: 'preview',\n /**\n * viz icon\n */\n icon: SankeyIcon,\n placeholderIcon: SankeyPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'node.click': {\n description: 'Triggered when user clicks on a node',\n },\n 'link.click': {\n description: 'Triggered when user clicks on a link',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER],\n themes,\n requiredProps: [],\n};\n\nexport default enhanceConfig(config);\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nexport const getDynamicLinkColorsEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Link'),\n option: 'linkColors',\n context: 'linkColorRangeConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.linkColors),\n editorProps: {\n labelPosition: 'top',\n flyoutTitle: _('Dynamic coloring: link'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n linkValues: defaultContext.linkColorRangeConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n linkValues: defaultContext.linkColorMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Link'),\n value: 'linkValues',\n },\n ],\n defaultPalettesConfig,\n },\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":""}
|