@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/LinkGraph.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 = 56);
|
|
91
91
|
/******/ })
|
|
92
92
|
/************************************************************************/
|
|
93
93
|
/******/ ({
|
|
@@ -145,6 +145,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
145
145
|
});
|
|
146
146
|
exports.VizBehavior = void 0;
|
|
147
147
|
var VizBehavior;
|
|
148
|
+
|
|
148
149
|
(function (VizBehavior) {
|
|
149
150
|
/**
|
|
150
151
|
* Dynamic Options Behavior.
|
|
@@ -164,6 +165,7 @@ var VizBehavior;
|
|
|
164
165
|
* missing.
|
|
165
166
|
* @type {string}
|
|
166
167
|
*/
|
|
168
|
+
|
|
167
169
|
VizBehavior["PLACEHOLDER"] = "placeholder";
|
|
168
170
|
VizBehavior["PAGE_AND_SORT"] = "page-and-sort";
|
|
169
171
|
VizBehavior["TRELLIS"] = "trellis";
|
|
@@ -192,24 +194,33 @@ module.exports = require("@splunk/visualizations-shared/schemaUtils");
|
|
|
192
194
|
|
|
193
195
|
|
|
194
196
|
var _toConsumableArray = __webpack_require__(1);
|
|
197
|
+
|
|
195
198
|
var _defineProperty = __webpack_require__(7);
|
|
199
|
+
|
|
196
200
|
var __rest = this && this.__rest || function (s, e) {
|
|
197
201
|
var t = {};
|
|
202
|
+
|
|
198
203
|
for (var p in s) {
|
|
199
204
|
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
200
205
|
}
|
|
206
|
+
|
|
201
207
|
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
202
208
|
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
203
209
|
}
|
|
204
210
|
return t;
|
|
205
211
|
};
|
|
212
|
+
|
|
206
213
|
Object.defineProperty(exports, "__esModule", {
|
|
207
214
|
value: true
|
|
208
215
|
});
|
|
209
216
|
exports.insertLayout = exports.isDynamicOption = exports.uncollapseEditorConfig = exports.generatePrecisionValues = exports.getInitialPreset = exports.enhanceOptionsSchemaWithDynamicOptions = exports.enhanceConfig = void 0;
|
|
217
|
+
|
|
210
218
|
var lodash_1 = __webpack_require__(6);
|
|
219
|
+
|
|
211
220
|
var schemaUtils_1 = __webpack_require__(3);
|
|
221
|
+
|
|
212
222
|
var VizBehavior_1 = __webpack_require__(2);
|
|
223
|
+
|
|
213
224
|
var dynamicOptionsDSLType = {
|
|
214
225
|
type: 'string',
|
|
215
226
|
pattern: schemaUtils_1.DYNAMIC_OPTIONS_DSL_PATTERN
|
|
@@ -219,20 +230,22 @@ var dynamicOptionsDSLType = {
|
|
|
219
230
|
* @param optionsSchema a visualization's options schema
|
|
220
231
|
* @returns an updated options schema that additionally allows strings starting with > for each option
|
|
221
232
|
*/
|
|
233
|
+
|
|
222
234
|
function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
|
|
223
235
|
var enhancedOptionsSchema = {};
|
|
224
236
|
Object.keys(optionsSchema).forEach(function (key) {
|
|
225
237
|
var _a = optionsSchema[key],
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
238
|
+
title = _a.title,
|
|
239
|
+
description = _a.description,
|
|
240
|
+
readOnly = _a.readOnly,
|
|
241
|
+
writeOnly = _a.writeOnly,
|
|
242
|
+
examples = _a.examples,
|
|
243
|
+
defaultValue = _a.default,
|
|
244
|
+
type = _a.type,
|
|
245
|
+
properties = _a.properties,
|
|
246
|
+
patternProperties = _a.patternProperties,
|
|
247
|
+
remainingSchemaEntry = __rest(_a, ["title", "description", "readOnly", "writeOnly", "examples", "default", "type", "properties", "patternProperties"]);
|
|
248
|
+
|
|
236
249
|
var annotations = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, title !== undefined && {
|
|
237
250
|
title: title
|
|
238
251
|
}), description !== undefined && {
|
|
@@ -246,12 +259,14 @@ function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
|
|
|
246
259
|
}), defaultValue !== undefined && {
|
|
247
260
|
default: defaultValue
|
|
248
261
|
});
|
|
262
|
+
|
|
249
263
|
if (type === 'object') {
|
|
250
264
|
enhancedOptionsSchema[key] = Object.assign(Object.assign(Object.assign(Object.assign({}, remainingSchemaEntry), annotations), {
|
|
251
265
|
type: type
|
|
252
266
|
}), properties && {
|
|
253
267
|
properties: enhanceOptionsSchemaWithDynamicOptions(properties)
|
|
254
268
|
});
|
|
269
|
+
|
|
255
270
|
if (patternProperties) {
|
|
256
271
|
var enhancedPatternProperties = {};
|
|
257
272
|
Object.keys(patternProperties).forEach(function (opt) {
|
|
@@ -269,6 +284,7 @@ function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
|
|
|
269
284
|
});
|
|
270
285
|
return enhancedOptionsSchema;
|
|
271
286
|
}
|
|
287
|
+
|
|
272
288
|
exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamicOptions;
|
|
273
289
|
/**
|
|
274
290
|
* Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block
|
|
@@ -277,11 +293,14 @@ exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamic
|
|
|
277
293
|
* @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports
|
|
278
294
|
* and containing `open: false` for all editor panels in editorConfig
|
|
279
295
|
*/
|
|
296
|
+
|
|
280
297
|
function enhanceConfig(vizConfig) {
|
|
281
298
|
var enhancedConfig = Object.assign({}, vizConfig);
|
|
299
|
+
|
|
282
300
|
if (vizConfig.supports.indexOf(VizBehavior_1.VizBehavior.DYNAMIC_OPTIONS) !== -1) {
|
|
283
301
|
enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);
|
|
284
302
|
}
|
|
303
|
+
|
|
285
304
|
enhancedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
|
|
286
305
|
return Object.assign(Object.assign({}, config), {
|
|
287
306
|
open: config.open || false
|
|
@@ -289,6 +308,7 @@ function enhanceConfig(vizConfig) {
|
|
|
289
308
|
});
|
|
290
309
|
return enhancedConfig;
|
|
291
310
|
}
|
|
311
|
+
|
|
292
312
|
exports.enhanceConfig = enhanceConfig;
|
|
293
313
|
/**
|
|
294
314
|
* Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig
|
|
@@ -296,6 +316,7 @@ exports.enhanceConfig = enhanceConfig;
|
|
|
296
316
|
* @param vizConfig a Visualization Config
|
|
297
317
|
* @returns a Visualization Config containing `open: true` for all editor panels in editorConfig
|
|
298
318
|
*/
|
|
319
|
+
|
|
299
320
|
function uncollapseEditorConfig(vizConfig) {
|
|
300
321
|
var editorPanelUncollapsedConfig = Object.assign({}, vizConfig);
|
|
301
322
|
editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
|
|
@@ -305,13 +326,16 @@ function uncollapseEditorConfig(vizConfig) {
|
|
|
305
326
|
});
|
|
306
327
|
return editorPanelUncollapsedConfig;
|
|
307
328
|
}
|
|
329
|
+
|
|
308
330
|
exports.uncollapseEditorConfig = uncollapseEditorConfig;
|
|
331
|
+
|
|
309
332
|
function isDynamicOption(option) {
|
|
310
333
|
return option && typeof option === 'string' && option.trim().startsWith('>') || false;
|
|
311
334
|
}
|
|
312
|
-
|
|
313
|
-
// private helpers to improve readability of getInitialPreset
|
|
335
|
+
|
|
336
|
+
exports.isDynamicOption = isDynamicOption; // private helpers to improve readability of getInitialPreset
|
|
314
337
|
// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset
|
|
338
|
+
|
|
315
339
|
/**
|
|
316
340
|
* this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset
|
|
317
341
|
* 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
|
|
@@ -320,6 +344,7 @@ exports.isDynamicOption = isDynamicOption;
|
|
|
320
344
|
*
|
|
321
345
|
* Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values
|
|
322
346
|
*/
|
|
347
|
+
|
|
323
348
|
function hasCompatibleContexts(vizContext, presetContext) {
|
|
324
349
|
var presetContextKeys = Object.keys(presetContext);
|
|
325
350
|
return presetContextKeys.every(function (contextKey) {
|
|
@@ -329,6 +354,8 @@ function hasCompatibleContexts(vizContext, presetContext) {
|
|
|
329
354
|
/**
|
|
330
355
|
* Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions
|
|
331
356
|
*/
|
|
357
|
+
|
|
358
|
+
|
|
332
359
|
function hasCompatibleOptions(vizOptions, presetOptions) {
|
|
333
360
|
var presetOptionKeys = Object.keys(presetOptions);
|
|
334
361
|
return presetOptionKeys.every(function (optionKey) {
|
|
@@ -343,18 +370,21 @@ function hasCompatibleOptions(vizOptions, presetOptions) {
|
|
|
343
370
|
* @param {Object} vizOptions - the current vizOptions definition
|
|
344
371
|
* @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset
|
|
345
372
|
*/
|
|
373
|
+
|
|
374
|
+
|
|
346
375
|
function getInitialPreset(vizContext, vizOptions, presets) {
|
|
347
376
|
return presets.find(function (preset) {
|
|
348
377
|
var presetContext = (0, lodash_1.get)(preset, ['value', 'context'], {});
|
|
349
378
|
var presetOptions = (0, lodash_1.get)(preset, ['value', 'options'], {});
|
|
350
379
|
var presetContextKeys = Object.keys(presetContext);
|
|
351
|
-
var presetOptionKeys = Object.keys(presetOptions);
|
|
352
|
-
// all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)
|
|
380
|
+
var presetOptionKeys = Object.keys(presetOptions); // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)
|
|
353
381
|
// if not, then the preset is invalid in config.ts
|
|
382
|
+
|
|
354
383
|
if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;
|
|
355
384
|
return hasCompatibleContexts(vizContext, presetContext) && hasCompatibleOptions(vizOptions, presetOptions);
|
|
356
385
|
});
|
|
357
386
|
}
|
|
387
|
+
|
|
358
388
|
exports.getInitialPreset = getInitialPreset;
|
|
359
389
|
/**
|
|
360
390
|
* generates number precision values for a Select editor
|
|
@@ -362,6 +392,7 @@ exports.getInitialPreset = getInitialPreset;
|
|
|
362
392
|
* @param {Number} numPrecisionValues - number of integer precision values to generate
|
|
363
393
|
* @returns {{ label: string; value; string }[]} array of { label, value } tuples
|
|
364
394
|
*/
|
|
395
|
+
|
|
365
396
|
function generatePrecisionValues(numPrecisionValues) {
|
|
366
397
|
return (0, lodash_1.range)(0, numPrecisionValues + 1).map(function (i) {
|
|
367
398
|
return {
|
|
@@ -370,6 +401,7 @@ function generatePrecisionValues(numPrecisionValues) {
|
|
|
370
401
|
};
|
|
371
402
|
});
|
|
372
403
|
}
|
|
404
|
+
|
|
373
405
|
exports.generatePrecisionValues = generatePrecisionValues;
|
|
374
406
|
/**
|
|
375
407
|
* insert layout in layout array, return a new layout array instead of updating the original
|
|
@@ -379,45 +411,61 @@ exports.generatePrecisionValues = generatePrecisionValues;
|
|
|
379
411
|
* @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert
|
|
380
412
|
* @returns {EditorLayoutConfig[][]} new editor layout with insertion
|
|
381
413
|
*/
|
|
414
|
+
|
|
382
415
|
var insertLayout = function insertLayout(layout, index) {
|
|
383
416
|
for (var _len = arguments.length, layoutItems = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
384
417
|
layoutItems[_key - 2] = arguments[_key];
|
|
385
418
|
}
|
|
419
|
+
|
|
386
420
|
return [].concat(_toConsumableArray(layout.slice(0, index)), layoutItems, _toConsumableArray(layout.slice(index)));
|
|
387
421
|
};
|
|
422
|
+
|
|
388
423
|
exports.insertLayout = insertLayout;
|
|
389
424
|
|
|
390
425
|
/***/ }),
|
|
391
426
|
|
|
392
|
-
/***/
|
|
427
|
+
/***/ 56:
|
|
393
428
|
/***/ (function(module, exports, __webpack_require__) {
|
|
394
429
|
|
|
395
430
|
"use strict";
|
|
396
431
|
|
|
397
432
|
|
|
398
433
|
var _toConsumableArray = __webpack_require__(1);
|
|
434
|
+
|
|
399
435
|
Object.defineProperty(exports, "__esModule", {
|
|
400
436
|
value: true
|
|
401
437
|
});
|
|
438
|
+
|
|
402
439
|
var lodash_1 = __webpack_require__(6);
|
|
440
|
+
|
|
403
441
|
var visualization_icons_1 = __webpack_require__(12);
|
|
442
|
+
|
|
404
443
|
var placeholders_1 = __webpack_require__(11);
|
|
444
|
+
|
|
405
445
|
var schemaUtils_1 = __webpack_require__(3);
|
|
446
|
+
|
|
406
447
|
var i18n_1 = __webpack_require__(0);
|
|
448
|
+
|
|
407
449
|
var pick_1 = __webpack_require__(9);
|
|
450
|
+
|
|
408
451
|
var variables_1 = __webpack_require__(10);
|
|
452
|
+
|
|
409
453
|
var colorConstants_1 = __webpack_require__(26);
|
|
454
|
+
|
|
410
455
|
var visualization_color_palettes_1 = __webpack_require__(14);
|
|
456
|
+
|
|
411
457
|
var configUtils_1 = __webpack_require__(4);
|
|
458
|
+
|
|
412
459
|
var VizCategory_1 = __webpack_require__(8);
|
|
460
|
+
|
|
413
461
|
var VizBehavior_1 = __webpack_require__(2);
|
|
462
|
+
|
|
414
463
|
var dataContract = {
|
|
415
464
|
requiredDataSources: [{
|
|
416
465
|
name: 'primary',
|
|
417
466
|
description: 'DataSource that powers the visualization'
|
|
418
467
|
}],
|
|
419
|
-
optionalDataSources: [
|
|
420
|
-
// {
|
|
468
|
+
optionalDataSources: [// {
|
|
421
469
|
// name: 'metadata',
|
|
422
470
|
// description: 'Used buy the ES team along side the feature flag `LinkGraph.showNodeMetaData`',
|
|
423
471
|
// },
|
|
@@ -553,8 +601,8 @@ var themes = {
|
|
|
553
601
|
enterprise: {
|
|
554
602
|
dark: variables_1.default.contentColorInverted(props),
|
|
555
603
|
light: variables_1.default.white(props) // equal to textColor in enterpriseDark
|
|
556
|
-
},
|
|
557
604
|
|
|
605
|
+
},
|
|
558
606
|
prisma: variables_1.default.contentColorInverted(props)
|
|
559
607
|
})(props);
|
|
560
608
|
},
|
|
@@ -569,8 +617,8 @@ var themes = {
|
|
|
569
617
|
enterprise: {
|
|
570
618
|
dark: variables_1.default.contentColorInverted(props),
|
|
571
619
|
light: variables_1.default.white(props) // equal to textColor in enterpriseDark
|
|
572
|
-
},
|
|
573
620
|
|
|
621
|
+
},
|
|
574
622
|
prisma: variables_1.default.contentColorInverted(props)
|
|
575
623
|
})(props);
|
|
576
624
|
}
|
|
@@ -579,8 +627,7 @@ var EDITOR_LABEL_WIDTH = 140;
|
|
|
579
627
|
var backgroundColorPaletteSet = new Set([].concat(_toConsumableArray(colorConstants_1.COLOR_EDITOR_PALETTE), _toConsumableArray((0, lodash_1.map)(themes, function (t) {
|
|
580
628
|
return (0, lodash_1.get)(t, 'defaultBackgroundColor');
|
|
581
629
|
}))));
|
|
582
|
-
var editorConfig = [
|
|
583
|
-
// {
|
|
630
|
+
var editorConfig = [// {
|
|
584
631
|
// label: _('Data'),
|
|
585
632
|
// layout: [
|
|
586
633
|
// [
|
|
@@ -724,12 +771,14 @@ var config = {
|
|
|
724
771
|
* unique viz key
|
|
725
772
|
*/
|
|
726
773
|
key: 'splunk.linkgraph',
|
|
774
|
+
|
|
727
775
|
/**
|
|
728
776
|
* viz name
|
|
729
777
|
*/
|
|
730
778
|
name: (0, i18n_1._)('Link graph'),
|
|
731
779
|
category: VizCategory_1.VizCategory.FLOW,
|
|
732
780
|
status: 'preview',
|
|
781
|
+
|
|
733
782
|
/**
|
|
734
783
|
* viz icon
|
|
735
784
|
*/
|
|
@@ -780,6 +829,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
780
829
|
});
|
|
781
830
|
exports.VizCategory = void 0;
|
|
782
831
|
var VizCategory;
|
|
832
|
+
|
|
783
833
|
(function (VizCategory) {
|
|
784
834
|
VizCategory["SINGLE_VALUE"] = "Single Value";
|
|
785
835
|
VizCategory["TRENDS"] = "Trends";
|
package/LinkGraph.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:///external \"@splunk/visualization-icons\"","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/colorConstants\"","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/utils/configUtils.ts","webpack:///./src/LinkGraph/config.ts","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///external \"@splunk/themes/pick\""],"names":["VizBehavior","exports","lodash_1","require","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","default","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","option","trim","startsWith","hasCompatibleContexts","vizContext","presetContext","presetContextKeys","every","contextKey","hasCompatibleOptions","vizOptions","presetOptions","presetOptionKeys","optionKey","getInitialPreset","presets","find","preset","get","length","generatePrecisionValues","numPrecisionValues","range","i","label","concat","repeat","value","insertLayout","layout","index","_len","arguments","layoutItems","Array","_key","_toConsumableArray","slice","visualization_icons_1","placeholders_1","i18n_1","pick_1","variables_1","colorConstants_1","visualization_color_palettes_1","configUtils_1","VizCategory_1","dataContract","requiredDataSources","name","optionalDataSources","initialRequestParams","primary","offset","count","size","initialWidth","initialHeight","defaultContext","nodeTextColorMaxContrast","colors","nodeHighlightTextColorMaxContrast","backgroundColor","COLOR_OR_TOKEN_PATTERN_WITH_RGBA","fieldOrder","items","linkColor","linkWidth","nodeColor","nodeTextColor","nodeHeight","nodeHighlightColor","VIZ_CATEGORICAL","nodeTextHighlightColor","nodeSpacingX","nodeSpacingY","nodeWidth","resultLimit","showNodeCounts","showValueCounts","themes","defaultBackgroundColor","props","enterprise","dark","black","light","prisma","backgroundColorSidebar","defaultNodeColor","backgroundColorDialog","gray96","inverseDefaultNodeColor","contentColorInverted","white","textColor","contentColorDefault","inverseTextColor","EDITOR_LABEL_WIDTH","backgroundColorPaletteSet","Set","COLOR_EDITOR_PALETTE","t","_","editor","editorProps","min","labelWidth","palette","labelPosition","category","VizCategory","FLOW","status","icon","LinkGraph","placeholderIcon","events","EVENTS","PLACEHOLDER"],"mappings":"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","file":"LinkGraph.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 = 55);\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\");","module.exports = require(\"@splunk/visualization-icons\");","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/colorConstants\");","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((opt): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [opt]: patternProperties[opt] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * this function also collapse all editor panels\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n * and containing `open: false` for all editor panels in editorConfig\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = { ...vizConfig };\n if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\n }\n );\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = { ...vizConfig };\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n getInitialPreset,\n generatePrecisionValues,\n uncollapseEditorConfig,\n isDynamicOption,\n};\n\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n","import { map, get } from 'lodash';\nimport { LinkGraph as LinkGraphIcon } from '@splunk/visualization-icons';\nimport { LinkGraph as LinkGraphPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA } from '@splunk/visualizations-shared/schemaUtils';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { COLOR_EDITOR_PALETTE } from '@splunk/visualizations-shared/colorConstants';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [\n // {\n // name: 'metadata',\n // description: 'Used buy the ES team along side the feature flag `LinkGraph.showNodeMetaData`',\n // },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 900,\n initialHeight: 400,\n};\n\nconst defaultContext: DefaultContext = {\n nodeTextColorMaxContrast: {\n colors: ['> themes.textColor', '> themes.inverseTextColor'],\n default: '> themes.textColor',\n },\n nodeHighlightTextColorMaxContrast: {\n colors: ['> themes.defaultNodeColor', '> themes.inverseDefaultNodeColor'],\n default: '> themes.textColor',\n },\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 fieldOrder: {\n default: '> primary | getField()',\n description:\n 'Specify the order of fields to be displayed in the link graph from left to right when loaded. Unspecified fields will be excluded from the graph.',\n type: 'array',\n items: {\n type: 'string',\n },\n },\n linkColor: {\n default: '#6d6f76',\n description:\n 'Specify the color used for highlighted links. Unhighlighted links will be displayed at 20% opacity.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n linkWidth: {\n default: 1,\n description: 'Specify, in pixels, the stroke width of each link.',\n type: 'number',\n },\n nodeColor: {\n default: '> themes.defaultNodeColor',\n description: 'Specify the color used for unhighlighted nodes.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n nodeTextColor: {\n description: 'Specify the color used for unhighlighted nodes text.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n default: '> nodeColor | maxContrast(nodeTextColorMaxContrast)',\n },\n nodeHeight: {\n default: 21,\n description: 'Specify, in pixels, the height of each node.',\n type: 'number',\n },\n nodeHighlightColor: {\n default: VIZ_CATEGORICAL[0],\n description: 'Specify the color used for highlighted nodes.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n nodeTextHighlightColor: {\n description: 'Specify the color used for highlighted nodes text.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n default: '> nodeHighlightColor | maxContrast(nodeHighlightTextColorMaxContrast)',\n },\n nodeSpacingX: {\n default: 32,\n description: 'Specify, in pixels, the horizontal spacing between each node.',\n type: 'number',\n },\n nodeSpacingY: {\n default: 18,\n description: 'Specify, in pixels, the vertical spacing between each node.',\n type: 'number',\n },\n nodeWidth: {\n default: 180,\n description: 'Specify, in pixels, the width of each node.',\n type: 'number',\n },\n resultLimit: {\n default: 50,\n description: 'Specify the number of nodes rendered in each column.',\n type: 'number',\n },\n showNodeCounts: {\n default: true,\n description:\n 'Specify whether a count is shown for the number of nodes displayed in each column. The number of total nodes is also shown if there are hidden nodes.',\n type: 'boolean',\n },\n showValueCounts: {\n default: true,\n description:\n 'Specify whether a count is shown for the frequency of occurrence for each distinct node value.',\n type: 'boolean',\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 defaultNodeColor: props =>\n pick({\n enterprise: {\n dark: variables.backgroundColorDialog(props),\n light: variables.gray96(props),\n },\n prisma: variables.backgroundColorDialog(props),\n })(props),\n inverseDefaultNodeColor: props =>\n pick({\n enterprise: {\n dark: variables.contentColorInverted(props), // equal to textColor in enterprise\n light: variables.white(props), // equal to textColor in enterpriseDark\n },\n prisma: variables.contentColorInverted(props),\n })(props),\n textColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: variables.contentColorDefault(props),\n })(props),\n inverseTextColor: props =>\n pick({\n enterprise: {\n dark: variables.contentColorInverted(props), // equal to textColor in enterprise\n light: variables.white(props), // equal to textColor in enterpriseDark\n },\n prisma: variables.contentColorInverted(props),\n })(props),\n};\n\nconst EDITOR_LABEL_WIDTH = 140;\nconst backgroundColorPaletteSet = new Set([\n ...COLOR_EDITOR_PALETTE,\n ...map(themes, (t): string => get(t, 'defaultBackgroundColor')),\n]);\n\nconst editorConfig: EditorConfig[] = [\n // {\n // label: _('Data'),\n // layout: [\n // [\n // {\n // label: _('Field Ordering'),\n // option: 'fieldOrder',\n // editor: 'editor.arrayOfStrings',\n // editorProps: {\n // themes,\n // labelPosition: 'top',\n // },\n // },\n // ],\n // ],\n // },\n {\n label: _('Data configurations'),\n layout: [\n [\n {\n label: _('Result limit'),\n option: 'resultLimit',\n editor: 'editor.number',\n editorProps: {\n themes,\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n ],\n },\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Show node counts'),\n option: 'showNodeCounts',\n editor: 'editor.checkbox',\n editorProps: {\n themes,\n labelWidth: 130,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Show value counts'),\n option: 'showValueCounts',\n editor: 'editor.checkbox',\n editorProps: {\n themes,\n labelWidth: 130,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Nodes'),\n option: 'nodeColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Selected nodes'),\n option: 'nodeHighlightColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Links'),\n option: 'linkColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Node width'),\n option: 'nodeWidth',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n {\n label: _('Node height'),\n option: 'nodeHeight',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Vertical spacing'),\n option: 'nodeSpacingY',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n {\n label: _('Horizontal spacing'),\n option: 'nodeSpacingX',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Link width'),\n option: 'linkWidth',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n ],\n },\n];\n\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.linkgraph',\n /**\n * viz name\n */\n name: _('Link graph'),\n category: VizCategory.FLOW,\n status: 'preview',\n /**\n * viz icon\n */\n icon: LinkGraphIcon,\n placeholderIcon: LinkGraphPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'node.click': {\n description: 'triggered when user clicks a node',\n },\n 'node.mouseover': {\n description: 'triggered when user hovers over a node',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER],\n themes,\n};\n\nexport default enhanceConfig(config);\n","module.exports = require(\"lodash\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","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:///external \"@splunk/visualization-icons\"","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/colorConstants\"","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/utils/configUtils.ts","webpack:///./src/LinkGraph/config.ts","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///external \"@splunk/themes/pick\""],"names":[],"mappings":"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","file":"LinkGraph.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 = 56);\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\");","module.exports = require(\"@splunk/visualization-icons\");","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/colorConstants\");","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((opt): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [opt]: patternProperties[opt] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * this function also collapse all editor panels\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n * and containing `open: false` for all editor panels in editorConfig\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = { ...vizConfig };\n if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\n }\n );\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = { ...vizConfig };\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n getInitialPreset,\n generatePrecisionValues,\n uncollapseEditorConfig,\n isDynamicOption,\n};\n\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n","import { map, get } from 'lodash';\nimport { LinkGraph as LinkGraphIcon } from '@splunk/visualization-icons';\nimport { LinkGraph as LinkGraphPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA } from '@splunk/visualizations-shared/schemaUtils';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { COLOR_EDITOR_PALETTE } from '@splunk/visualizations-shared/colorConstants';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [\n // {\n // name: 'metadata',\n // description: 'Used buy the ES team along side the feature flag `LinkGraph.showNodeMetaData`',\n // },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 900,\n initialHeight: 400,\n};\n\nconst defaultContext: DefaultContext = {\n nodeTextColorMaxContrast: {\n colors: ['> themes.textColor', '> themes.inverseTextColor'],\n default: '> themes.textColor',\n },\n nodeHighlightTextColorMaxContrast: {\n colors: ['> themes.defaultNodeColor', '> themes.inverseDefaultNodeColor'],\n default: '> themes.textColor',\n },\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 fieldOrder: {\n default: '> primary | getField()',\n description:\n 'Specify the order of fields to be displayed in the link graph from left to right when loaded. Unspecified fields will be excluded from the graph.',\n type: 'array',\n items: {\n type: 'string',\n },\n },\n linkColor: {\n default: '#6d6f76',\n description:\n 'Specify the color used for highlighted links. Unhighlighted links will be displayed at 20% opacity.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n linkWidth: {\n default: 1,\n description: 'Specify, in pixels, the stroke width of each link.',\n type: 'number',\n },\n nodeColor: {\n default: '> themes.defaultNodeColor',\n description: 'Specify the color used for unhighlighted nodes.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n nodeTextColor: {\n description: 'Specify the color used for unhighlighted nodes text.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n default: '> nodeColor | maxContrast(nodeTextColorMaxContrast)',\n },\n nodeHeight: {\n default: 21,\n description: 'Specify, in pixels, the height of each node.',\n type: 'number',\n },\n nodeHighlightColor: {\n default: VIZ_CATEGORICAL[0],\n description: 'Specify the color used for highlighted nodes.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n nodeTextHighlightColor: {\n description: 'Specify the color used for highlighted nodes text.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n default: '> nodeHighlightColor | maxContrast(nodeHighlightTextColorMaxContrast)',\n },\n nodeSpacingX: {\n default: 32,\n description: 'Specify, in pixels, the horizontal spacing between each node.',\n type: 'number',\n },\n nodeSpacingY: {\n default: 18,\n description: 'Specify, in pixels, the vertical spacing between each node.',\n type: 'number',\n },\n nodeWidth: {\n default: 180,\n description: 'Specify, in pixels, the width of each node.',\n type: 'number',\n },\n resultLimit: {\n default: 50,\n description: 'Specify the number of nodes rendered in each column.',\n type: 'number',\n },\n showNodeCounts: {\n default: true,\n description:\n 'Specify whether a count is shown for the number of nodes displayed in each column. The number of total nodes is also shown if there are hidden nodes.',\n type: 'boolean',\n },\n showValueCounts: {\n default: true,\n description:\n 'Specify whether a count is shown for the frequency of occurrence for each distinct node value.',\n type: 'boolean',\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 defaultNodeColor: props =>\n pick({\n enterprise: {\n dark: variables.backgroundColorDialog(props),\n light: variables.gray96(props),\n },\n prisma: variables.backgroundColorDialog(props),\n })(props),\n inverseDefaultNodeColor: props =>\n pick({\n enterprise: {\n dark: variables.contentColorInverted(props), // equal to textColor in enterprise\n light: variables.white(props), // equal to textColor in enterpriseDark\n },\n prisma: variables.contentColorInverted(props),\n })(props),\n textColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: variables.contentColorDefault(props),\n })(props),\n inverseTextColor: props =>\n pick({\n enterprise: {\n dark: variables.contentColorInverted(props), // equal to textColor in enterprise\n light: variables.white(props), // equal to textColor in enterpriseDark\n },\n prisma: variables.contentColorInverted(props),\n })(props),\n};\n\nconst EDITOR_LABEL_WIDTH = 140;\nconst backgroundColorPaletteSet = new Set([\n ...COLOR_EDITOR_PALETTE,\n ...map(themes, (t): string => get(t, 'defaultBackgroundColor')),\n]);\n\nconst editorConfig: EditorConfig[] = [\n // {\n // label: _('Data'),\n // layout: [\n // [\n // {\n // label: _('Field Ordering'),\n // option: 'fieldOrder',\n // editor: 'editor.arrayOfStrings',\n // editorProps: {\n // themes,\n // labelPosition: 'top',\n // },\n // },\n // ],\n // ],\n // },\n {\n label: _('Data configurations'),\n layout: [\n [\n {\n label: _('Result limit'),\n option: 'resultLimit',\n editor: 'editor.number',\n editorProps: {\n themes,\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n ],\n },\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Show node counts'),\n option: 'showNodeCounts',\n editor: 'editor.checkbox',\n editorProps: {\n themes,\n labelWidth: 130,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Show value counts'),\n option: 'showValueCounts',\n editor: 'editor.checkbox',\n editorProps: {\n themes,\n labelWidth: 130,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Nodes'),\n option: 'nodeColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Selected nodes'),\n option: 'nodeHighlightColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Links'),\n option: 'linkColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Node width'),\n option: 'nodeWidth',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n {\n label: _('Node height'),\n option: 'nodeHeight',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Vertical spacing'),\n option: 'nodeSpacingY',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n {\n label: _('Horizontal spacing'),\n option: 'nodeSpacingX',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Link width'),\n option: 'linkWidth',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n ],\n },\n];\n\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.linkgraph',\n /**\n * viz name\n */\n name: _('Link graph'),\n category: VizCategory.FLOW,\n status: 'preview',\n /**\n * viz icon\n */\n icon: LinkGraphIcon,\n placeholderIcon: LinkGraphPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'node.click': {\n description: 'triggered when user clicks a node',\n },\n 'node.mouseover': {\n description: 'triggered when user hovers over a node',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER],\n themes,\n};\n\nexport default enhanceConfig(config);\n","module.exports = require(\"lodash\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","module.exports = require(\"@splunk/themes/pick\");"],"sourceRoot":""}
|