@splunk/visualizations 23.2.0 → 23.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Area.config.js +36 -30
- package/Area.config.js.map +1 -1
- package/Area.js +243 -203
- package/Area.js.map +1 -1
- package/Bar.config.js +29 -23
- package/Bar.config.js.map +1 -1
- package/Bar.js +233 -193
- package/Bar.js.map +1 -1
- package/Bubble.config.js +36 -23
- package/Bubble.config.js.map +1 -1
- package/Bubble.js +247 -196
- package/Bubble.js.map +1 -1
- package/ChoroplethSvg.config.js +15 -12
- package/ChoroplethSvg.config.js.map +1 -1
- package/ChoroplethSvg.js +201 -148
- package/ChoroplethSvg.js.map +1 -1
- package/Column.config.js +29 -23
- package/Column.config.js.map +1 -1
- package/Column.js +235 -194
- package/Column.js.map +1 -1
- package/Ellipse.config.js +23 -20
- package/Ellipse.config.js.map +1 -1
- package/Ellipse.js +176 -123
- package/Ellipse.js.map +1 -1
- package/FillerGauge.config.js +803 -0
- package/FillerGauge.config.js.map +1 -0
- package/FillerGauge.js +3634 -0
- package/FillerGauge.js.map +1 -0
- package/Image.config.js +13 -6
- package/Image.config.js.map +1 -1
- package/Image.js +260 -200
- package/Image.js.map +1 -1
- package/LICENSE.md +14 -0
- package/Line.config.js +40 -31
- package/Line.config.js.map +1 -1
- package/Line.js +248 -202
- package/Line.js.map +1 -1
- package/LinkGraph.config.js +107 -123
- package/LinkGraph.config.js.map +1 -1
- package/LinkGraph.js +241 -193
- package/LinkGraph.js.map +1 -1
- package/Markdown.config.js +95 -3
- package/Markdown.config.js.map +1 -1
- package/Markdown.js +272 -118
- package/Markdown.js.map +1 -1
- package/MarkerGauge.config.js +750 -0
- package/MarkerGauge.config.js.map +1 -0
- package/MarkerGauge.js +3758 -0
- package/MarkerGauge.js.map +1 -0
- package/ParallelCoordinates.config.js +52 -46
- package/ParallelCoordinates.config.js.map +1 -1
- package/ParallelCoordinates.js +257 -164
- package/ParallelCoordinates.js.map +1 -1
- package/Pie.config.js +61 -46
- package/Pie.config.js.map +1 -1
- package/Pie.js +254 -186
- package/Pie.js.map +1 -1
- package/Punchcard.config.js +279 -39
- package/Punchcard.config.js.map +1 -1
- package/Punchcard.js +825 -193
- package/Punchcard.js.map +1 -1
- package/README.external.md +45 -0
- package/README.md +18 -3
- package/Rectangle.config.js +89 -107
- package/Rectangle.config.js.map +1 -1
- package/Rectangle.js +204 -145
- package/Rectangle.js.map +1 -1
- package/Sankey.config.js +29 -22
- package/Sankey.config.js.map +1 -1
- package/Sankey.js +250 -186
- package/Sankey.js.map +1 -1
- package/Scatter.config.js +39 -28
- package/Scatter.config.js.map +1 -1
- package/Scatter.js +2375 -2434
- package/Scatter.js.map +1 -1
- package/SingleValue.config.js +37 -29
- package/SingleValue.config.js.map +1 -1
- package/SingleValue.js +3108 -3174
- package/SingleValue.js.map +1 -1
- package/SingleValueBasic.js +37 -23
- package/SingleValueBasic.js.map +1 -1
- package/SingleValueIcon.config.js +36 -28
- package/SingleValueIcon.config.js.map +1 -1
- package/SingleValueIcon.js +279 -210
- package/SingleValueIcon.js.map +1 -1
- package/SingleValueRadial.config.js +15 -13
- package/SingleValueRadial.config.js.map +1 -1
- package/SingleValueRadial.js +299 -253
- package/SingleValueRadial.js.map +1 -1
- package/Table.config.js +26 -10
- package/Table.config.js.map +1 -1
- package/Table.js +382 -265
- package/Table.js.map +1 -1
- package/common/Charting.js +33 -30
- package/common/Charting.js.map +1 -1
- package/common/ChartingApi.js +4 -4
- package/common/ChartingApi.js.map +1 -1
- package/common/EventsDoc.js +36 -34
- package/common/EventsDoc.js.map +1 -1
- package/common/GaugeMajorTicks.js +386 -0
- package/common/GaugeMajorTicks.js.map +1 -0
- package/common/GaugeValueMarker.js +333 -0
- package/common/GaugeValueMarker.js.map +1 -0
- package/common/OptionsDoc.js +47 -33
- package/common/OptionsDoc.js.map +1 -1
- package/common/OverviewDoc.js +376 -0
- package/common/OverviewDoc.js.map +1 -0
- package/common/SplunkVisualization.js +6 -6
- package/common/SplunkVisualization.js.map +1 -1
- package/common/SplunkVisualizationApi.js +10 -10
- package/common/SplunkVisualizationApi.js.map +1 -1
- package/common/ThemesDoc.js +55 -72
- package/common/ThemesDoc.js.map +1 -1
- package/common/chartingUtils.js +15 -13
- package/common/chartingUtils.js.map +1 -1
- package/common/docUtils.js +4 -4
- package/common/docUtils.js.map +1 -1
- package/common/gaugeUtils.js +893 -0
- package/common/gaugeUtils.js.map +1 -0
- package/common/shapeUtils.js +8 -8
- package/common/shapeUtils.js.map +1 -1
- package/common/utils/JSONSchemaUtils.js.map +1 -1
- package/common/utils/configUtils.js.map +1 -1
- package/common/utils/hocUtils.js +57 -3
- package/common/utils/hocUtils.js.map +1 -1
- package/common/utils/singleValueUtils.js +24 -10
- package/common/utils/singleValueUtils.js.map +1 -1
- package/common/withDashboardViz.js +158 -95
- package/common/withDashboardViz.js.map +1 -1
- package/package.json +18 -14
- package/common/utils/eventUtils.js +0 -115
- package/common/utils/eventUtils.js.map +0 -1
package/Ellipse.config.js
CHANGED
|
@@ -87,7 +87,7 @@ module.exports =
|
|
|
87
87
|
/******/
|
|
88
88
|
/******/
|
|
89
89
|
/******/ // Load entry module and return exports
|
|
90
|
-
/******/ return __webpack_require__(__webpack_require__.s =
|
|
90
|
+
/******/ return __webpack_require__(__webpack_require__.s = 42);
|
|
91
91
|
/******/ })
|
|
92
92
|
/************************************************************************/
|
|
93
93
|
/******/ ([
|
|
@@ -360,6 +360,8 @@ var VizCategory;
|
|
|
360
360
|
VizCategory["SHAPES"] = "Shapes";
|
|
361
361
|
VizCategory["MISC"] = "misc";
|
|
362
362
|
VizCategory["FLOW"] = "Flow";
|
|
363
|
+
VizCategory["CORRELATION"] = "Correlation";
|
|
364
|
+
VizCategory["SPATIAL"] = "Spatial";
|
|
363
365
|
})(VizCategory = exports.VizCategory || (exports.VizCategory = {}));
|
|
364
366
|
|
|
365
367
|
/***/ }),
|
|
@@ -369,29 +371,29 @@ var VizCategory;
|
|
|
369
371
|
module.exports = require("@babel/runtime/helpers/defineProperty");
|
|
370
372
|
|
|
371
373
|
/***/ }),
|
|
372
|
-
/* 7
|
|
373
|
-
/* 8 */
|
|
374
|
+
/* 7 */
|
|
374
375
|
/***/ (function(module, exports) {
|
|
375
376
|
|
|
376
377
|
module.exports = require("@splunk/themes/pick");
|
|
377
378
|
|
|
378
379
|
/***/ }),
|
|
379
|
-
/*
|
|
380
|
+
/* 8 */
|
|
380
381
|
/***/ (function(module, exports) {
|
|
381
382
|
|
|
382
383
|
module.exports = require("@splunk/themes/variables");
|
|
383
384
|
|
|
384
385
|
/***/ }),
|
|
386
|
+
/* 9 */,
|
|
385
387
|
/* 10 */,
|
|
386
388
|
/* 11 */,
|
|
387
|
-
/* 12
|
|
388
|
-
/* 13 */,
|
|
389
|
-
/* 14 */
|
|
389
|
+
/* 12 */
|
|
390
390
|
/***/ (function(module, exports) {
|
|
391
391
|
|
|
392
392
|
module.exports = require("@splunk/visualization-color-palettes/editors/PresetPalettes");
|
|
393
393
|
|
|
394
394
|
/***/ }),
|
|
395
|
+
/* 13 */,
|
|
396
|
+
/* 14 */,
|
|
395
397
|
/* 15 */,
|
|
396
398
|
/* 16 */,
|
|
397
399
|
/* 17 */,
|
|
@@ -401,7 +403,8 @@ module.exports = require("@splunk/visualization-color-palettes/editors/PresetPal
|
|
|
401
403
|
/* 21 */,
|
|
402
404
|
/* 22 */,
|
|
403
405
|
/* 23 */,
|
|
404
|
-
/* 24
|
|
406
|
+
/* 24 */,
|
|
407
|
+
/* 25 */
|
|
405
408
|
/***/ (function(module, exports, __webpack_require__) {
|
|
406
409
|
|
|
407
410
|
"use strict";
|
|
@@ -450,7 +453,7 @@ var getDynamicFillColorEditor = function getDynamicFillColorEditor(_ref) {
|
|
|
450
453
|
exports.getDynamicFillColorEditor = getDynamicFillColorEditor;
|
|
451
454
|
|
|
452
455
|
/***/ }),
|
|
453
|
-
/*
|
|
456
|
+
/* 26 */
|
|
454
457
|
/***/ (function(module, exports, __webpack_require__) {
|
|
455
458
|
|
|
456
459
|
"use strict";
|
|
@@ -499,7 +502,7 @@ var getDynamicStrokeColorEditor = function getDynamicStrokeColorEditor(_ref) {
|
|
|
499
502
|
exports.getDynamicStrokeColorEditor = getDynamicStrokeColorEditor;
|
|
500
503
|
|
|
501
504
|
/***/ }),
|
|
502
|
-
/*
|
|
505
|
+
/* 27 */
|
|
503
506
|
/***/ (function(module, exports, __webpack_require__) {
|
|
504
507
|
|
|
505
508
|
"use strict";
|
|
@@ -525,7 +528,7 @@ var StaticFillColorEditor = {
|
|
|
525
528
|
exports.default = StaticFillColorEditor;
|
|
526
529
|
|
|
527
530
|
/***/ }),
|
|
528
|
-
/*
|
|
531
|
+
/* 28 */
|
|
529
532
|
/***/ (function(module, exports, __webpack_require__) {
|
|
530
533
|
|
|
531
534
|
"use strict";
|
|
@@ -551,7 +554,6 @@ var StaticStrokeColorEditor = {
|
|
|
551
554
|
exports.default = StaticStrokeColorEditor;
|
|
552
555
|
|
|
553
556
|
/***/ }),
|
|
554
|
-
/* 28 */,
|
|
555
557
|
/* 29 */,
|
|
556
558
|
/* 30 */,
|
|
557
559
|
/* 31 */,
|
|
@@ -564,7 +566,8 @@ exports.default = StaticStrokeColorEditor;
|
|
|
564
566
|
/* 38 */,
|
|
565
567
|
/* 39 */,
|
|
566
568
|
/* 40 */,
|
|
567
|
-
/* 41
|
|
569
|
+
/* 41 */,
|
|
570
|
+
/* 42 */
|
|
568
571
|
/***/ (function(module, exports, __webpack_require__) {
|
|
569
572
|
|
|
570
573
|
"use strict";
|
|
@@ -576,11 +579,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
576
579
|
|
|
577
580
|
var i18n_1 = __webpack_require__(0);
|
|
578
581
|
|
|
579
|
-
var PresetPalettes_1 = __webpack_require__(
|
|
582
|
+
var PresetPalettes_1 = __webpack_require__(12);
|
|
580
583
|
|
|
581
|
-
var pick_1 = __webpack_require__(
|
|
584
|
+
var pick_1 = __webpack_require__(7);
|
|
582
585
|
|
|
583
|
-
var variables_1 = __webpack_require__(
|
|
586
|
+
var variables_1 = __webpack_require__(8);
|
|
584
587
|
|
|
585
588
|
var VizBehavior_1 = __webpack_require__(2);
|
|
586
589
|
|
|
@@ -588,13 +591,13 @@ var VizCategory_1 = __webpack_require__(5);
|
|
|
588
591
|
|
|
589
592
|
var configUtils_1 = __webpack_require__(1);
|
|
590
593
|
|
|
591
|
-
var DynamicFillColorEditor_1 = __webpack_require__(
|
|
594
|
+
var DynamicFillColorEditor_1 = __webpack_require__(25);
|
|
592
595
|
|
|
593
|
-
var DynamicStrokeColorEditor_1 = __webpack_require__(
|
|
596
|
+
var DynamicStrokeColorEditor_1 = __webpack_require__(26);
|
|
594
597
|
|
|
595
|
-
var StaticFillColorEditor_1 = __webpack_require__(
|
|
598
|
+
var StaticFillColorEditor_1 = __webpack_require__(27);
|
|
596
599
|
|
|
597
|
-
var StaticStrokeColorEditor_1 = __webpack_require__(
|
|
600
|
+
var StaticStrokeColorEditor_1 = __webpack_require__(28);
|
|
598
601
|
|
|
599
602
|
var dataContract = {
|
|
600
603
|
requiredDataSources: [],
|
package/Ellipse.config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///./src/common/utils/configUtils.ts","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///external \"lodash\"","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///external \"@splunk/themes/pick\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/visualization-color-palettes/editors/PresetPalettes\"","webpack:///./src/common/editorConfig/DynamicFillColorEditor.ts","webpack:///./src/common/editorConfig/DynamicStrokeColorEditor.ts","webpack:///./src/common/editorConfig/StaticFillColorEditor.ts","webpack:///./src/common/editorConfig/StaticStrokeColorEditor.ts","webpack:///./src/Ellipse/config.ts"],"names":[],"mappings":"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","file":"Ellipse.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 = 41);\n","module.exports = require(\"@splunk/ui-utils/i18n\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { JSONSchema7Definition } from 'json-schema';\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((key): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [key]: patternProperties[key] }),\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 * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\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 return enhancedConfig;\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 isDynamicOption,\n getInitialPreset,\n generatePrecisionValues,\n};\n","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\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}\n","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","module.exports = require(\"lodash\");","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}\n","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"@splunk/themes/pick\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualization-color-palettes/editors/PresetPalettes\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '../utils/configUtils';\n\nexport const getDynamicFillColorEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Dynamic Fill'),\n option: 'fillColor',\n context: 'fillColorEditorConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.fillColor),\n editorProps: {\n labelPosition: 'left',\n flyoutTitle: _('Dynamic Coloring: Fill Color'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n fillColor: defaultContext.fillColorConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Fill Color'),\n value: 'fillDataValue',\n },\n ],\n defaultPalettesConfig,\n },\n});\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '../utils/configUtils';\n\nexport const getDynamicStrokeColorEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Dynamic Stroke'),\n option: 'strokeColor',\n context: 'strokeColorEditorConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.strokeColor),\n editorProps: {\n labelPosition: 'left',\n flyoutTitle: _('Dynamic Coloring: Stroke Color'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n strokeColor: defaultContext.strokeColorConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Stroke Color'),\n value: 'strokeDataValue',\n },\n ],\n defaultPalettesConfig,\n },\n});\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '../utils/configUtils';\n\nconst StaticFillColorEditor = {\n label: _('Static Fill'),\n option: 'fillColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.fillColor),\n};\n\nexport default StaticFillColorEditor;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '../utils/configUtils';\n\nconst StaticStrokeColorEditor = {\n label: _('Static Stroke'),\n option: 'strokeColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.strokeColor),\n};\n\nexport default StaticStrokeColorEditor;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { defaultPalettesConfig } from '@splunk/visualization-color-palettes/editors/PresetPalettes';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { PresetEntry, enhanceConfig, getInitialPreset } from '../common/utils/configUtils';\nimport { getDynamicFillColorEditor } from '../common/editorConfig/DynamicFillColorEditor';\nimport { getDynamicStrokeColorEditor } from '../common/editorConfig/DynamicStrokeColorEditor';\nimport StaticFillColorEditor from '../common/editorConfig/StaticFillColorEditor';\nimport StaticStrokeColorEditor from '../common/editorConfig/StaticStrokeColorEditor';\n\nconst dataContract: DataContract = {\n requiredDataSources: [],\n optionalDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n annotation: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {\n fillColorConfig: [\n {\n from: 100,\n value: '#118832',\n },\n {\n from: 80,\n to: 100,\n value: '#669922',\n },\n {\n from: 60,\n to: 80,\n value: '#9D9F0D',\n },\n {\n from: 40,\n to: 60,\n value: '#CBA700',\n },\n {\n from: 20,\n to: 40,\n value: '#D97A0D',\n },\n {\n from: 0,\n to: 20,\n value: '#D94E17',\n },\n {\n to: 0,\n value: '#D41F1F',\n },\n ],\n strokeColorConfig: [\n {\n from: 100,\n value: '#118832',\n },\n {\n from: 80,\n to: 100,\n value: '#669922',\n },\n {\n from: 60,\n to: 80,\n value: '#9D9F0D',\n },\n {\n from: 40,\n to: 60,\n value: '#CBA700',\n },\n {\n from: 20,\n to: 40,\n value: '#D97A0D',\n },\n {\n from: 0,\n to: 20,\n value: '#D94E17',\n },\n {\n to: 0,\n value: '#D41F1F',\n },\n ],\n};\n\nconst optionsSchema: OptionsSchema = {\n fillColor: {\n default: '> themes.defaultFillColor',\n description:\n 'Specify the fill color. You may use a dataSource to apply the color. The hex value format should be \"#FFFFFF\". The default for enterprise light is \"#C3CBD4\". The default for enterprise dark is \"#31373E\". The default for prisma dark is \"#0B0C0E\".',\n type: 'string',\n },\n fillOpacity: {\n default: 1,\n description:\n 'Specify the opacity of the fill. Choose a number in the range of 0 - 1 (inclusive). You can also express the value as a percentage. For example, \"0.80\" in source or \"80%\" in UI.',\n type: 'number',\n },\n strokeColor: {\n default: '> themes.defaultStrokeColor',\n description:\n 'Specify the stroke color. You may use a dataSource to apply the color. The hex value format should be \"#FFFFFF\". The default for enterprise light is \"#3C444D\". The default for enterprise dark is \"#C3CBD4\". The default for prisma dark is \"#ACACAD\".',\n type: 'string',\n },\n strokeDashStyle: {\n default: 0,\n description:\n 'Specify the size, in pixels, of dashes and spaces used to create a custom stitched outline. The value you specify applies to both the dashes and the spaces between them.',\n type: 'number',\n },\n strokeOpacity: {\n default: 1,\n description:\n 'Specify the opacity of the stroke. Choose a number in the range of 0 - 1 (inclusive). You can also express the value as a percentage. For example, \"0.80\" in source or \"80%\" in UI.',\n type: 'number',\n },\n strokeWidth: {\n default: 1,\n description: 'Specify the width of the stroke, in pixels, in the range of 1 - 25 (inclusive).',\n type: 'number',\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultFillColor: props =>\n pick({\n enterprise: {\n dark: variables.gray25(props),\n light: variables.gray80(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n defaultStrokeColor: props =>\n pick({\n enterprise: {\n dark: variables.gray80(props),\n light: variables.gray30(props),\n },\n prisma: variables.neutral500(props),\n })(props),\n};\n\nconst basePresetContext = {\n fillColorEditorConfig: undefined,\n strokeColorEditorConfig: undefined,\n};\n\nconst basePresetOptions = {\n fillColor: undefined,\n strokeColor: undefined,\n};\n\nconst presets: PresetEntry[] = [\n {\n // dummy context variables to allow for resetting of unused context states\n label: _('None'),\n name: 'ellipse.none',\n value: {\n context: { ...basePresetContext },\n options: { ...basePresetOptions },\n },\n },\n {\n label: _('Fill'),\n name: 'ellipse.fill',\n value: {\n context: {\n ...basePresetContext,\n fillDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n fillColorEditorConfig: defaultContext.fillColorConfig,\n },\n options: {\n ...basePresetOptions,\n fillColor: '> fillDataValue | rangeValue(fillColorEditorConfig)',\n },\n },\n },\n {\n label: _('Stroke'),\n name: 'ellipse.stroke',\n value: {\n context: {\n ...basePresetContext,\n strokeDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n strokeColorEditorConfig: defaultContext.strokeColorConfig,\n },\n options: {\n ...basePresetOptions,\n strokeColor: '> strokeDataValue | rangeValue(strokeColorEditorConfig)',\n },\n },\n },\n {\n label: _('Fill & Stroke'),\n name: 'ellipse.fillAndStroke',\n value: {\n context: {\n ...basePresetContext,\n fillDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n strokeDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n fillColorEditorConfig: defaultContext.fillColorConfig,\n strokeColorEditorConfig: defaultContext.strokeColorConfig,\n },\n options: {\n ...basePresetOptions,\n fillColor: '> fillDataValue | rangeValue(fillColorEditorConfig)',\n strokeColor: '> strokeDataValue | rangeValue(strokeColorEditorConfig)',\n },\n },\n },\n];\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('General'),\n layout: [\n [\n {\n label: _('Fill Opacity (%)'),\n option: 'fillOpacity',\n editor: 'editor.percent',\n editorProps: {\n min: 0,\n },\n },\n {\n label: _('Stroke Opacity (%)'),\n option: 'strokeOpacity',\n editor: 'editor.percent',\n editorProps: {\n min: 0,\n },\n },\n ],\n [\n {\n label: _('Stroke Width'),\n option: 'strokeWidth',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n },\n },\n {\n label: _('Stroke Dash Style'),\n option: 'strokeDashStyle',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n },\n },\n ],\n ],\n },\n {\n label: _('Coloring'),\n layout: [\n [\n {\n label: 'Dynamic Elements',\n key: 'presetSelector',\n editor: 'editor.presetSelector',\n editorProps: {\n presets,\n value: ({ context, options }) => {\n const initialPreset = getInitialPreset(context, options, presets);\n return (initialPreset && initialPreset.label) || null;\n },\n },\n },\n ],\n [\n {\n ...StaticFillColorEditor,\n editorProps: {\n labelPosition: 'left',\n themes,\n },\n },\n ],\n [getDynamicFillColorEditor({ defaultContext, defaultPalettesConfig })],\n [\n {\n ...StaticStrokeColorEditor,\n editorProps: {\n labelPosition: 'left',\n themes,\n },\n },\n ],\n [getDynamicStrokeColorEditor({ defaultContext, defaultPalettesConfig })],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.ellipse',\n /**\n * viz name\n */\n name: 'Ellipse',\n category: VizCategory.SHAPES,\n /**\n * viz icon\n */\n icon: null,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'ellipse.click': {\n description: 'triggered when user clicks ellipse',\n payloadKeys: ['strokeColor', 'fillColor'],\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS],\n themes,\n};\n\nexport default enhanceConfig(config);\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///./src/common/utils/configUtils.ts","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///external \"lodash\"","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///external \"@splunk/themes/pick\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/visualization-color-palettes/editors/PresetPalettes\"","webpack:///./src/common/editorConfig/DynamicFillColorEditor.ts","webpack:///./src/common/editorConfig/DynamicStrokeColorEditor.ts","webpack:///./src/common/editorConfig/StaticFillColorEditor.ts","webpack:///./src/common/editorConfig/StaticStrokeColorEditor.ts","webpack:///./src/Ellipse/config.ts"],"names":[],"mappings":"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","file":"Ellipse.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 = 42);\n","module.exports = require(\"@splunk/ui-utils/i18n\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport type { JSONSchema7Definition } from 'json-schema';\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((key): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [key]: patternProperties[key] }),\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 * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\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 return enhancedConfig;\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 isDynamicOption,\n getInitialPreset,\n generatePrecisionValues,\n};\n","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\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}\n","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","module.exports = require(\"lodash\");","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(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"@splunk/themes/pick\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualization-color-palettes/editors/PresetPalettes\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '../utils/configUtils';\n\nexport const getDynamicFillColorEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Dynamic Fill'),\n option: 'fillColor',\n context: 'fillColorEditorConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.fillColor),\n editorProps: {\n labelPosition: 'left',\n flyoutTitle: _('Dynamic Coloring: Fill Color'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n fillColor: defaultContext.fillColorConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Fill Color'),\n value: 'fillDataValue',\n },\n ],\n defaultPalettesConfig,\n },\n});\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '../utils/configUtils';\n\nexport const getDynamicStrokeColorEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Dynamic Stroke'),\n option: 'strokeColor',\n context: 'strokeColorEditorConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.strokeColor),\n editorProps: {\n labelPosition: 'left',\n flyoutTitle: _('Dynamic Coloring: Stroke Color'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n strokeColor: defaultContext.strokeColorConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Stroke Color'),\n value: 'strokeDataValue',\n },\n ],\n defaultPalettesConfig,\n },\n});\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '../utils/configUtils';\n\nconst StaticFillColorEditor = {\n label: _('Static Fill'),\n option: 'fillColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.fillColor),\n};\n\nexport default StaticFillColorEditor;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '../utils/configUtils';\n\nconst StaticStrokeColorEditor = {\n label: _('Static Stroke'),\n option: 'strokeColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.strokeColor),\n};\n\nexport default StaticStrokeColorEditor;\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { defaultPalettesConfig } from '@splunk/visualization-color-palettes/editors/PresetPalettes';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { PresetEntry, enhanceConfig, getInitialPreset } from '../common/utils/configUtils';\nimport { getDynamicFillColorEditor } from '../common/editorConfig/DynamicFillColorEditor';\nimport { getDynamicStrokeColorEditor } from '../common/editorConfig/DynamicStrokeColorEditor';\nimport StaticFillColorEditor from '../common/editorConfig/StaticFillColorEditor';\nimport StaticStrokeColorEditor from '../common/editorConfig/StaticStrokeColorEditor';\n\nconst dataContract: DataContract = {\n requiredDataSources: [],\n optionalDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n annotation: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {\n fillColorConfig: [\n {\n from: 100,\n value: '#118832',\n },\n {\n from: 80,\n to: 100,\n value: '#669922',\n },\n {\n from: 60,\n to: 80,\n value: '#9D9F0D',\n },\n {\n from: 40,\n to: 60,\n value: '#CBA700',\n },\n {\n from: 20,\n to: 40,\n value: '#D97A0D',\n },\n {\n from: 0,\n to: 20,\n value: '#D94E17',\n },\n {\n to: 0,\n value: '#D41F1F',\n },\n ],\n strokeColorConfig: [\n {\n from: 100,\n value: '#118832',\n },\n {\n from: 80,\n to: 100,\n value: '#669922',\n },\n {\n from: 60,\n to: 80,\n value: '#9D9F0D',\n },\n {\n from: 40,\n to: 60,\n value: '#CBA700',\n },\n {\n from: 20,\n to: 40,\n value: '#D97A0D',\n },\n {\n from: 0,\n to: 20,\n value: '#D94E17',\n },\n {\n to: 0,\n value: '#D41F1F',\n },\n ],\n};\n\nconst optionsSchema: OptionsSchema = {\n fillColor: {\n default: '> themes.defaultFillColor',\n description:\n 'Specify the fill color. You may use a dataSource to apply the color. The hex value format should be \"#FFFFFF\". The default for enterprise light is \"#C3CBD4\". The default for enterprise dark is \"#31373E\". The default for prisma dark is \"#0B0C0E\".',\n type: 'string',\n },\n fillOpacity: {\n default: 1,\n description:\n 'Specify the opacity of the fill. Choose a number in the range of 0 - 1 (inclusive). You can also express the value as a percentage. For example, \"0.80\" in source or \"80%\" in UI.',\n type: 'number',\n },\n strokeColor: {\n default: '> themes.defaultStrokeColor',\n description:\n 'Specify the stroke color. You may use a dataSource to apply the color. The hex value format should be \"#FFFFFF\". The default for enterprise light is \"#3C444D\". The default for enterprise dark is \"#C3CBD4\". The default for prisma dark is \"#ACACAD\".',\n type: 'string',\n },\n strokeDashStyle: {\n default: 0,\n description:\n 'Specify the size, in pixels, of dashes and spaces used to create a custom stitched outline. The value you specify applies to both the dashes and the spaces between them.',\n type: 'number',\n },\n strokeOpacity: {\n default: 1,\n description:\n 'Specify the opacity of the stroke. Choose a number in the range of 0 - 1 (inclusive). You can also express the value as a percentage. For example, \"0.80\" in source or \"80%\" in UI.',\n type: 'number',\n },\n strokeWidth: {\n default: 1,\n description: 'Specify the width of the stroke, in pixels, in the range of 1 - 25 (inclusive).',\n type: 'number',\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultFillColor: props =>\n pick({\n enterprise: {\n dark: variables.gray25(props),\n light: variables.gray80(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n defaultStrokeColor: props =>\n pick({\n enterprise: {\n dark: variables.gray80(props),\n light: variables.gray30(props),\n },\n prisma: variables.neutral500(props),\n })(props),\n};\n\nconst basePresetContext = {\n fillColorEditorConfig: undefined,\n strokeColorEditorConfig: undefined,\n};\n\nconst basePresetOptions = {\n fillColor: undefined,\n strokeColor: undefined,\n};\n\nconst presets: PresetEntry[] = [\n {\n // dummy context variables to allow for resetting of unused context states\n label: _('None'),\n name: 'ellipse.none',\n value: {\n context: { ...basePresetContext },\n options: { ...basePresetOptions },\n },\n },\n {\n label: _('Fill'),\n name: 'ellipse.fill',\n value: {\n context: {\n ...basePresetContext,\n fillDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n fillColorEditorConfig: defaultContext.fillColorConfig,\n },\n options: {\n ...basePresetOptions,\n fillColor: '> fillDataValue | rangeValue(fillColorEditorConfig)',\n },\n },\n },\n {\n label: _('Stroke'),\n name: 'ellipse.stroke',\n value: {\n context: {\n ...basePresetContext,\n strokeDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n strokeColorEditorConfig: defaultContext.strokeColorConfig,\n },\n options: {\n ...basePresetOptions,\n strokeColor: '> strokeDataValue | rangeValue(strokeColorEditorConfig)',\n },\n },\n },\n {\n label: _('Fill & Stroke'),\n name: 'ellipse.fillAndStroke',\n value: {\n context: {\n ...basePresetContext,\n fillDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n strokeDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n fillColorEditorConfig: defaultContext.fillColorConfig,\n strokeColorEditorConfig: defaultContext.strokeColorConfig,\n },\n options: {\n ...basePresetOptions,\n fillColor: '> fillDataValue | rangeValue(fillColorEditorConfig)',\n strokeColor: '> strokeDataValue | rangeValue(strokeColorEditorConfig)',\n },\n },\n },\n];\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('General'),\n layout: [\n [\n {\n label: _('Fill Opacity (%)'),\n option: 'fillOpacity',\n editor: 'editor.percent',\n editorProps: {\n min: 0,\n },\n },\n {\n label: _('Stroke Opacity (%)'),\n option: 'strokeOpacity',\n editor: 'editor.percent',\n editorProps: {\n min: 0,\n },\n },\n ],\n [\n {\n label: _('Stroke Width'),\n option: 'strokeWidth',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n },\n },\n {\n label: _('Stroke Dash Style'),\n option: 'strokeDashStyle',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n },\n },\n ],\n ],\n },\n {\n label: _('Coloring'),\n layout: [\n [\n {\n label: 'Dynamic Elements',\n key: 'presetSelector',\n editor: 'editor.presetSelector',\n editorProps: {\n presets,\n value: ({ context, options }) => {\n const initialPreset = getInitialPreset(context, options, presets);\n return (initialPreset && initialPreset.label) || null;\n },\n },\n },\n ],\n [\n {\n ...StaticFillColorEditor,\n editorProps: {\n labelPosition: 'left',\n themes,\n },\n },\n ],\n [getDynamicFillColorEditor({ defaultContext, defaultPalettesConfig })],\n [\n {\n ...StaticStrokeColorEditor,\n editorProps: {\n labelPosition: 'left',\n themes,\n },\n },\n ],\n [getDynamicStrokeColorEditor({ defaultContext, defaultPalettesConfig })],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.ellipse',\n /**\n * viz name\n */\n name: 'Ellipse',\n category: VizCategory.SHAPES,\n /**\n * viz icon\n */\n icon: null,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'ellipse.click': {\n description: 'triggered when user clicks ellipse',\n payloadKeys: ['strokeColor', 'fillColor'],\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS],\n themes,\n};\n\nexport default enhanceConfig(config);\n"],"sourceRoot":""}
|