@splunk/visualizations 26.2.0 → 26.3.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 +91 -594
- package/Area.config.js.map +1 -1
- package/Area.js +184 -689
- package/Area.js.map +1 -1
- package/Bar.config.js +92 -561
- package/Bar.config.js.map +1 -1
- package/Bar.js +184 -655
- package/Bar.js.map +1 -1
- package/Bubble.config.js +83 -482
- package/Bubble.config.js.map +1 -1
- package/Bubble.js +177 -578
- package/Bubble.js.map +1 -1
- package/ChoroplethSvg.config.js +76 -201
- package/ChoroplethSvg.config.js.map +1 -1
- package/ChoroplethSvg.js +173 -301
- package/ChoroplethSvg.js.map +1 -1
- package/Column.config.js +92 -599
- package/Column.config.js.map +1 -1
- package/Column.js +184 -693
- package/Column.js.map +1 -1
- package/Ellipse.config.js +82 -200
- package/Ellipse.config.js.map +1 -1
- package/Ellipse.js +137 -262
- package/Ellipse.js.map +1 -1
- package/Events.config.js +61 -282
- package/Events.config.js.map +1 -1
- package/Events.js +222 -428
- package/Events.js.map +1 -1
- package/FillerGauge.config.js +90 -219
- package/FillerGauge.config.js.map +1 -1
- package/FillerGauge.js +163 -299
- package/FillerGauge.js.map +1 -1
- package/Image.config.js +61 -157
- package/Image.config.js.map +1 -1
- package/Image.js +130 -242
- package/Image.js.map +1 -1
- package/Line.config.js +91 -606
- package/Line.config.js.map +1 -1
- package/Line.js +184 -701
- package/Line.js.map +1 -1
- package/LinkGraph.config.js +74 -256
- package/LinkGraph.config.js.map +1 -1
- package/LinkGraph.js +17198 -24224
- package/LinkGraph.js.map +1 -1
- package/Map.config.js +128 -1123
- package/Map.config.js.map +1 -1
- package/Map.js +309 -680
- package/Map.js.map +1 -1
- package/Markdown.config.js +61 -188
- package/Markdown.config.js.map +1 -1
- package/Markdown.js +190 -323
- package/Markdown.js.map +1 -1
- package/MarkerGauge.config.js +137 -297
- package/MarkerGauge.config.js.map +1 -1
- package/MarkerGauge.js +1038 -1203
- package/MarkerGauge.js.map +1 -1
- package/ParallelCoordinates.config.js +71 -191
- package/ParallelCoordinates.config.js.map +1 -1
- package/ParallelCoordinates.js +218 -343
- package/ParallelCoordinates.js.map +1 -1
- package/Pie.config.js +72 -240
- package/Pie.config.js.map +1 -1
- package/Pie.js +214 -381
- package/Pie.js.map +1 -1
- package/Punchcard.config.js +71 -305
- package/Punchcard.config.js.map +1 -1
- package/Punchcard.js +246 -477
- package/Punchcard.js.map +1 -1
- package/Rectangle.config.js +211 -347
- package/Rectangle.config.js.map +1 -1
- package/Rectangle.js +274 -416
- package/Rectangle.js.map +1 -1
- package/Sankey.config.js +71 -213
- package/Sankey.config.js.map +1 -1
- package/Sankey.js +246 -382
- package/Sankey.js.map +1 -1
- package/Scatter.config.js +85 -463
- package/Scatter.config.js.map +1 -1
- package/Scatter.js +825 -1202
- package/Scatter.js.map +1 -1
- package/SingleValue.config.js +114 -409
- package/SingleValue.config.js.map +1 -1
- package/SingleValue.js +287 -582
- package/SingleValue.js.map +1 -1
- package/SingleValueBasic.js +30 -30
- package/SingleValueBasic.js.map +1 -1
- package/SingleValueIcon.config.js +113 -378
- package/SingleValueIcon.config.js.map +1 -1
- package/SingleValueIcon.js +268 -533
- package/SingleValueIcon.js.map +1 -1
- package/SingleValueRadial.config.js +110 -382
- package/SingleValueRadial.config.js.map +1 -1
- package/SingleValueRadial.js +272 -543
- package/SingleValueRadial.js.map +1 -1
- package/SparkLine.js +24 -24
- package/SparkLine.js.map +1 -1
- package/Table.config.js +74 -496
- package/Table.config.js.map +1 -1
- package/Table.js +302 -720
- package/Table.js.map +1 -1
- package/common/Charting.js +22 -34
- package/common/Charting.js.map +1 -1
- package/common/DocExampleWithVizSandbox.js +21 -21
- package/common/DocExampleWithVizSandbox.js.map +1 -1
- package/common/EventsDoc.js +18 -18
- package/common/EventsDoc.js.map +1 -1
- package/common/GaugeMajorTicks.js +4 -4
- package/common/GaugeMajorTicks.js.map +1 -1
- package/common/GaugeValueMarker.js +2 -2
- package/common/GaugeValueMarker.js.map +1 -1
- package/common/OptionsDoc.js +4 -4
- package/common/OptionsDoc.js.map +1 -1
- package/common/OverviewDoc.js +39 -40
- package/common/OverviewDoc.js.map +1 -1
- package/common/SplunkVisualization.js +2 -2
- package/common/SplunkVisualization.js.map +1 -1
- package/common/SplunkVisualizationApi.js +2 -2
- package/common/SplunkVisualizationApi.js.map +1 -1
- package/common/ThemesDoc.js +19 -19
- package/common/ThemesDoc.js.map +1 -1
- package/common/chartingUtils.js +2 -2
- package/common/chartingUtils.js.map +1 -1
- package/common/gaugeUtils.js +10 -10
- package/common/gaugeUtils.js.map +1 -1
- package/common/shapeUtils.js +10 -10
- package/common/shapeUtils.js.map +1 -1
- package/common/utils/configUtils.js +25 -155
- package/common/utils/configUtils.js.map +1 -1
- package/common/utils/dataUtils.js +75 -87
- package/common/utils/dataUtils.js.map +1 -1
- package/common/utils/featureFlagUtils.js +4 -4
- package/common/utils/featureFlagUtils.js.map +1 -1
- package/common/utils/hocUtils.js +2 -2
- package/common/utils/hocUtils.js.map +1 -1
- package/common/utils/mapUtils.js +51 -54
- package/common/utils/mapUtils.js.map +1 -1
- package/common/utils/singleValueUtils.js +7 -7
- package/common/utils/singleValueUtils.js.map +1 -1
- package/common/utils/testHelper.js +7 -36
- package/common/utils/testHelper.js.map +1 -1
- package/common/utils/trellisUtils.js +7 -6
- package/common/utils/trellisUtils.js.map +1 -1
- package/common/utils/urlUtils.js +2 -2
- package/common/utils/urlUtils.js.map +1 -1
- package/common/withDashboardViz.js +65 -77
- package/common/withDashboardViz.js.map +1 -1
- package/package.json +46 -49
- package/common/utils/layoutUtils.js +0 -115
- package/common/utils/layoutUtils.js.map +0 -1
package/Punchcard.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 = 61);
|
|
91
91
|
/******/ })
|
|
92
92
|
/************************************************************************/
|
|
93
93
|
/******/ ({
|
|
@@ -109,25 +109,18 @@ module.exports = require("@babel/runtime/helpers/toConsumableArray");
|
|
|
109
109
|
/***/ 10:
|
|
110
110
|
/***/ (function(module, exports) {
|
|
111
111
|
|
|
112
|
-
module.exports = require("@splunk/themes/variables");
|
|
113
|
-
|
|
114
|
-
/***/ }),
|
|
115
|
-
|
|
116
|
-
/***/ 11:
|
|
117
|
-
/***/ (function(module, exports) {
|
|
118
|
-
|
|
119
112
|
module.exports = require("@splunk/visualization-icons/placeholders");
|
|
120
113
|
|
|
121
114
|
/***/ }),
|
|
122
115
|
|
|
123
|
-
/***/
|
|
116
|
+
/***/ 11:
|
|
124
117
|
/***/ (function(module, exports) {
|
|
125
118
|
|
|
126
119
|
module.exports = require("@splunk/visualization-icons");
|
|
127
120
|
|
|
128
121
|
/***/ }),
|
|
129
122
|
|
|
130
|
-
/***/
|
|
123
|
+
/***/ 12:
|
|
131
124
|
/***/ (function(module, exports, __webpack_require__) {
|
|
132
125
|
|
|
133
126
|
"use strict";
|
|
@@ -158,61 +151,14 @@ exports.default = background;
|
|
|
158
151
|
|
|
159
152
|
/***/ }),
|
|
160
153
|
|
|
161
|
-
/***/ 14:
|
|
162
|
-
/***/ (function(module, exports) {
|
|
163
|
-
|
|
164
|
-
module.exports = require("@splunk/visualization-color-palettes");
|
|
165
|
-
|
|
166
|
-
/***/ }),
|
|
167
|
-
|
|
168
154
|
/***/ 2:
|
|
169
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
170
|
-
|
|
171
|
-
"use strict";
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
Object.defineProperty(exports, "__esModule", {
|
|
175
|
-
value: true
|
|
176
|
-
});
|
|
177
|
-
exports.VizBehavior = void 0;
|
|
178
|
-
var VizBehavior;
|
|
179
|
-
|
|
180
|
-
(function (VizBehavior) {
|
|
181
|
-
/**
|
|
182
|
-
* Dynamic Options Behavior.
|
|
183
|
-
* This allows visualization options to be powered by data
|
|
184
|
-
*
|
|
185
|
-
* **Example**
|
|
186
|
-
*
|
|
187
|
-
* sparklineValues: ">primary|seriesByIndex(0)"
|
|
188
|
-
* would configure sparklineValues with an array of data points
|
|
189
|
-
* coming from the first series in the primary datasource
|
|
190
|
-
*
|
|
191
|
-
*/
|
|
192
|
-
VizBehavior["DYNAMIC_OPTIONS"] = "dynamic-options";
|
|
193
|
-
VizBehavior["EVENTS"] = "events";
|
|
194
|
-
VizBehavior["DOWNSAMPLING"] = "downsampling";
|
|
195
|
-
/**
|
|
196
|
-
* Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is
|
|
197
|
-
* missing.
|
|
198
|
-
* @type {string}
|
|
199
|
-
*/
|
|
200
|
-
|
|
201
|
-
VizBehavior["PLACEHOLDER"] = "placeholder";
|
|
202
|
-
VizBehavior["PAGE_AND_SORT"] = "page-and-sort";
|
|
203
|
-
VizBehavior["TRELLIS"] = "trellis";
|
|
204
|
-
})(VizBehavior = exports.VizBehavior || (exports.VizBehavior = {}));
|
|
205
|
-
|
|
206
|
-
/***/ }),
|
|
207
|
-
|
|
208
|
-
/***/ 3:
|
|
209
155
|
/***/ (function(module, exports) {
|
|
210
156
|
|
|
211
|
-
module.exports = require("@splunk/
|
|
157
|
+
module.exports = require("@splunk/visualization-schemas");
|
|
212
158
|
|
|
213
159
|
/***/ }),
|
|
214
160
|
|
|
215
|
-
/***/
|
|
161
|
+
/***/ 3:
|
|
216
162
|
/***/ (function(module, exports, __webpack_require__) {
|
|
217
163
|
|
|
218
164
|
"use strict";
|
|
@@ -220,97 +166,22 @@ module.exports = require("@splunk/visualizations-shared/schemaUtils");
|
|
|
220
166
|
|
|
221
167
|
var _toConsumableArray = __webpack_require__(1);
|
|
222
168
|
|
|
223
|
-
var _defineProperty = __webpack_require__(7);
|
|
224
|
-
|
|
225
|
-
var __rest = this && this.__rest || function (s, e) {
|
|
226
|
-
var t = {};
|
|
227
|
-
|
|
228
|
-
for (var p in s) {
|
|
229
|
-
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
233
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
234
|
-
}
|
|
235
|
-
return t;
|
|
236
|
-
};
|
|
237
|
-
|
|
238
169
|
Object.defineProperty(exports, "__esModule", {
|
|
239
170
|
value: true
|
|
240
171
|
});
|
|
241
|
-
exports.insertLayout = exports.isDynamicOption = exports.uncollapseEditorConfig = exports.generatePrecisionValues = exports.getInitialPreset = exports.
|
|
242
|
-
|
|
243
|
-
var lodash_1 = __webpack_require__(6);
|
|
244
|
-
|
|
245
|
-
var schemaUtils_1 = __webpack_require__(3);
|
|
172
|
+
exports.insertLayout = exports.isDynamicOption = exports.uncollapseEditorConfig = exports.generatePrecisionValues = exports.getInitialPreset = exports.enhanceConfig = exports.enhanceOptionsSchemaWithDynamicOptions = void 0;
|
|
246
173
|
|
|
247
|
-
var
|
|
174
|
+
var lodash_1 = __webpack_require__(5); // included for backwards compatibility
|
|
248
175
|
|
|
249
|
-
var dynamicOptionsDSLType = {
|
|
250
|
-
type: 'string',
|
|
251
|
-
pattern: schemaUtils_1.DYNAMIC_OPTIONS_DSL_PATTERN
|
|
252
|
-
};
|
|
253
|
-
/**
|
|
254
|
-
* Helper function to extend an options schema with dynamic options DSL
|
|
255
|
-
* @param optionsSchema a visualization's options schema
|
|
256
|
-
* @returns an updated options schema that additionally allows strings starting with > for each option
|
|
257
|
-
*/
|
|
258
|
-
|
|
259
|
-
function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
|
|
260
|
-
var enhancedOptionsSchema = {};
|
|
261
|
-
Object.keys(optionsSchema).forEach(function (key) {
|
|
262
|
-
var _a = optionsSchema[key],
|
|
263
|
-
title = _a.title,
|
|
264
|
-
description = _a.description,
|
|
265
|
-
readOnly = _a.readOnly,
|
|
266
|
-
writeOnly = _a.writeOnly,
|
|
267
|
-
examples = _a.examples,
|
|
268
|
-
defaultValue = _a.default,
|
|
269
|
-
type = _a.type,
|
|
270
|
-
properties = _a.properties,
|
|
271
|
-
patternProperties = _a.patternProperties,
|
|
272
|
-
remainingSchemaEntry = __rest(_a, ["title", "description", "readOnly", "writeOnly", "examples", "default", "type", "properties", "patternProperties"]);
|
|
273
|
-
|
|
274
|
-
var annotations = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, title !== undefined && {
|
|
275
|
-
title: title
|
|
276
|
-
}), description !== undefined && {
|
|
277
|
-
description: description
|
|
278
|
-
}), readOnly !== undefined && {
|
|
279
|
-
readOnly: readOnly
|
|
280
|
-
}), writeOnly !== undefined && {
|
|
281
|
-
writeOnly: writeOnly
|
|
282
|
-
}), examples !== undefined && {
|
|
283
|
-
examples: examples
|
|
284
|
-
}), defaultValue !== undefined && {
|
|
285
|
-
default: defaultValue
|
|
286
|
-
});
|
|
287
176
|
|
|
288
|
-
|
|
289
|
-
enhancedOptionsSchema[key] = Object.assign(Object.assign(Object.assign(Object.assign({}, remainingSchemaEntry), annotations), {
|
|
290
|
-
type: type
|
|
291
|
-
}), properties && {
|
|
292
|
-
properties: enhanceOptionsSchemaWithDynamicOptions(properties)
|
|
293
|
-
});
|
|
294
|
-
|
|
295
|
-
if (patternProperties) {
|
|
296
|
-
var enhancedPatternProperties = {};
|
|
297
|
-
Object.keys(patternProperties).forEach(function (opt) {
|
|
298
|
-
enhancedPatternProperties = Object.assign(Object.assign({}, enhancedPatternProperties), enhanceOptionsSchemaWithDynamicOptions(_defineProperty({}, opt, patternProperties[opt])));
|
|
299
|
-
});
|
|
300
|
-
enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;
|
|
301
|
-
}
|
|
302
|
-
} else {
|
|
303
|
-
enhancedOptionsSchema[key] = Object.assign(Object.assign({}, annotations), {
|
|
304
|
-
anyOf: [Object.assign(Object.assign({}, type !== undefined && {
|
|
305
|
-
type: type
|
|
306
|
-
}), remainingSchemaEntry), dynamicOptionsDSLType]
|
|
307
|
-
});
|
|
308
|
-
}
|
|
309
|
-
});
|
|
310
|
-
return enhancedOptionsSchema;
|
|
311
|
-
}
|
|
177
|
+
var visualization_schemas_1 = __webpack_require__(2);
|
|
312
178
|
|
|
313
|
-
exports
|
|
179
|
+
Object.defineProperty(exports, "enhanceOptionsSchemaWithDynamicOptions", {
|
|
180
|
+
enumerable: true,
|
|
181
|
+
get: function get() {
|
|
182
|
+
return visualization_schemas_1.enhanceOptionsSchemaWithDynamicOptions;
|
|
183
|
+
}
|
|
184
|
+
});
|
|
314
185
|
/**
|
|
315
186
|
* Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block
|
|
316
187
|
* this function also collapse all editor panels
|
|
@@ -321,11 +192,6 @@ exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamic
|
|
|
321
192
|
|
|
322
193
|
function enhanceConfig(vizConfig) {
|
|
323
194
|
var enhancedConfig = Object.assign({}, vizConfig);
|
|
324
|
-
|
|
325
|
-
if (vizConfig.supports.indexOf(VizBehavior_1.VizBehavior.DYNAMIC_OPTIONS) !== -1) {
|
|
326
|
-
enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);
|
|
327
|
-
}
|
|
328
|
-
|
|
329
195
|
enhancedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
|
|
330
196
|
return Object.assign(Object.assign({}, config), {
|
|
331
197
|
open: config.open || false
|
|
@@ -449,21 +315,54 @@ exports.insertLayout = insertLayout;
|
|
|
449
315
|
|
|
450
316
|
/***/ }),
|
|
451
317
|
|
|
452
|
-
/***/
|
|
318
|
+
/***/ 5:
|
|
453
319
|
/***/ (function(module, exports) {
|
|
454
320
|
|
|
455
321
|
module.exports = require("lodash");
|
|
456
322
|
|
|
457
323
|
/***/ }),
|
|
458
324
|
|
|
459
|
-
/***/
|
|
460
|
-
/***/ (function(module, exports) {
|
|
325
|
+
/***/ 6:
|
|
326
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
327
|
+
|
|
328
|
+
"use strict";
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
Object.defineProperty(exports, "__esModule", {
|
|
332
|
+
value: true
|
|
333
|
+
});
|
|
334
|
+
exports.VizBehavior = void 0;
|
|
335
|
+
var VizBehavior;
|
|
336
|
+
|
|
337
|
+
(function (VizBehavior) {
|
|
338
|
+
/**
|
|
339
|
+
* Dynamic Options Behavior.
|
|
340
|
+
* This allows visualization options to be powered by data
|
|
341
|
+
*
|
|
342
|
+
* **Example**
|
|
343
|
+
*
|
|
344
|
+
* sparklineValues: ">primary|seriesByIndex(0)"
|
|
345
|
+
* would configure sparklineValues with an array of data points
|
|
346
|
+
* coming from the first series in the primary datasource
|
|
347
|
+
*
|
|
348
|
+
*/
|
|
349
|
+
VizBehavior["DYNAMIC_OPTIONS"] = "dynamic-options";
|
|
350
|
+
VizBehavior["EVENTS"] = "events";
|
|
351
|
+
VizBehavior["DOWNSAMPLING"] = "downsampling";
|
|
352
|
+
/**
|
|
353
|
+
* Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is
|
|
354
|
+
* missing.
|
|
355
|
+
* @type {string}
|
|
356
|
+
*/
|
|
461
357
|
|
|
462
|
-
|
|
358
|
+
VizBehavior["PLACEHOLDER"] = "placeholder";
|
|
359
|
+
VizBehavior["PAGE_AND_SORT"] = "page-and-sort";
|
|
360
|
+
VizBehavior["TRELLIS"] = "trellis";
|
|
361
|
+
})(VizBehavior = exports.VizBehavior || (exports.VizBehavior = {}));
|
|
463
362
|
|
|
464
363
|
/***/ }),
|
|
465
364
|
|
|
466
|
-
/***/
|
|
365
|
+
/***/ 61:
|
|
467
366
|
/***/ (function(module, exports, __webpack_require__) {
|
|
468
367
|
|
|
469
368
|
"use strict";
|
|
@@ -475,25 +374,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
475
374
|
|
|
476
375
|
var i18n_1 = __webpack_require__(0);
|
|
477
376
|
|
|
478
|
-
var
|
|
377
|
+
var visualization_schemas_1 = __webpack_require__(2);
|
|
479
378
|
|
|
480
|
-
var visualization_icons_1 = __webpack_require__(
|
|
379
|
+
var visualization_icons_1 = __webpack_require__(11);
|
|
481
380
|
|
|
482
|
-
var placeholders_1 = __webpack_require__(
|
|
381
|
+
var placeholders_1 = __webpack_require__(10);
|
|
483
382
|
|
|
484
|
-
var
|
|
383
|
+
var pick_1 = __webpack_require__(8);
|
|
485
384
|
|
|
486
|
-
var
|
|
385
|
+
var variables_1 = __webpack_require__(9);
|
|
487
386
|
|
|
488
|
-
var
|
|
387
|
+
var VizBehavior_1 = __webpack_require__(6);
|
|
489
388
|
|
|
490
|
-
var
|
|
389
|
+
var VizCategory_1 = __webpack_require__(7);
|
|
491
390
|
|
|
492
|
-
var
|
|
391
|
+
var configUtils_1 = __webpack_require__(3);
|
|
493
392
|
|
|
494
|
-
var
|
|
495
|
-
|
|
496
|
-
var BackgroundColor_1 = __webpack_require__(13);
|
|
393
|
+
var BackgroundColor_1 = __webpack_require__(12);
|
|
497
394
|
|
|
498
395
|
var dataContract = {
|
|
499
396
|
requiredDataSources: [{
|
|
@@ -522,144 +419,6 @@ var defaultContext = {
|
|
|
522
419
|
colors: ['rgba(123,86,219,0.4)', 'rgba(123,86,219,1)']
|
|
523
420
|
}
|
|
524
421
|
};
|
|
525
|
-
var optionsSchema = {
|
|
526
|
-
x: {
|
|
527
|
-
default: '> primary | seriesByIndex(0)',
|
|
528
|
-
description: 'Specify the dataSource applied to the x-axis.',
|
|
529
|
-
type: 'array',
|
|
530
|
-
items: {
|
|
531
|
-
type: ['string', 'number']
|
|
532
|
-
}
|
|
533
|
-
},
|
|
534
|
-
y: {
|
|
535
|
-
default: '> primary | seriesByIndex(1)',
|
|
536
|
-
description: 'Specify the dataSource applied to the y-axis.',
|
|
537
|
-
type: 'array',
|
|
538
|
-
items: {
|
|
539
|
-
type: ['string', 'number']
|
|
540
|
-
}
|
|
541
|
-
},
|
|
542
|
-
category: {
|
|
543
|
-
default: '> primary | seriesByIndex(3)',
|
|
544
|
-
description: 'Specify the dataSource to apply series categories.',
|
|
545
|
-
type: 'array',
|
|
546
|
-
items: {
|
|
547
|
-
type: ['string', 'number']
|
|
548
|
-
}
|
|
549
|
-
},
|
|
550
|
-
size: {
|
|
551
|
-
default: '> primary | seriesByIndex(2)',
|
|
552
|
-
description: 'Specify the dataSource to apply bubble size in the chart.',
|
|
553
|
-
type: 'array',
|
|
554
|
-
items: {
|
|
555
|
-
type: 'number'
|
|
556
|
-
}
|
|
557
|
-
},
|
|
558
|
-
xField: {
|
|
559
|
-
default: '> x | getField()',
|
|
560
|
-
description: 'Specify the field that should be mapped to the x-axis.',
|
|
561
|
-
type: 'string'
|
|
562
|
-
},
|
|
563
|
-
yField: {
|
|
564
|
-
default: '> y | getField()',
|
|
565
|
-
description: 'Specify the field that should be mapped to the y-axis.',
|
|
566
|
-
type: 'string'
|
|
567
|
-
},
|
|
568
|
-
categoryField: {
|
|
569
|
-
default: '> category | getField()',
|
|
570
|
-
description: 'Specify the field that should be mapped to the series categories.',
|
|
571
|
-
type: 'string'
|
|
572
|
-
},
|
|
573
|
-
sizeField: {
|
|
574
|
-
default: '> size | getField()',
|
|
575
|
-
description: 'Specify the field that should be mapped to the bubble size in the chart.',
|
|
576
|
-
type: 'string'
|
|
577
|
-
},
|
|
578
|
-
backgroundColor: {
|
|
579
|
-
default: '> themes.defaultBackgroundColor',
|
|
580
|
-
description: 'Specify the color used for the background. The default for enterprise light is "#ffffff". The default for enterprise dark is "#000000". The default for prisma dark is "#0b0c0e".',
|
|
581
|
-
pattern: schemaUtils_1.COLOR_OR_TOKEN_PATTERN_WITH_RGBA,
|
|
582
|
-
type: 'string'
|
|
583
|
-
},
|
|
584
|
-
bubbleColor: {
|
|
585
|
-
default: '> size | gradient(bubbleColorConfig)',
|
|
586
|
-
description: 'Specify the coloring method used for the bubbles when the colorMode “dynamic” is specified. For example “> size | gradient(bubbleColorConfig)".',
|
|
587
|
-
type: ['string', 'array']
|
|
588
|
-
},
|
|
589
|
-
bubbleLabelDisplay: {
|
|
590
|
-
default: 'all',
|
|
591
|
-
description: 'Specify whether all bubble labels, the max value bubble labels, or none of the bubble labels should be displayed.',
|
|
592
|
-
pattern: (0, schemaUtils_1.getPattern)(['all', 'max', 'off']),
|
|
593
|
-
type: 'string'
|
|
594
|
-
},
|
|
595
|
-
bubbleRadiusMax: {
|
|
596
|
-
default: 15,
|
|
597
|
-
description: 'Specify the max radius (in pixels) of the bubbles when showDynamicBubbleSize option is false. Greater than 0.',
|
|
598
|
-
type: 'number'
|
|
599
|
-
},
|
|
600
|
-
bubbleRadiusMin: {
|
|
601
|
-
default: 1,
|
|
602
|
-
description: 'Specify the min radius (in pixels) of the bubbles when showDynamicBubbleSize option is false. Greater than 0.',
|
|
603
|
-
type: 'number'
|
|
604
|
-
},
|
|
605
|
-
bubbleRowScale: {
|
|
606
|
-
default: 'global',
|
|
607
|
-
description: 'Specify how bubbles are scaled relative to other rows.',
|
|
608
|
-
pattern: (0, schemaUtils_1.getPattern)(['global', 'row']),
|
|
609
|
-
type: 'string'
|
|
610
|
-
},
|
|
611
|
-
bubbleSizeMax: {
|
|
612
|
-
default: 1,
|
|
613
|
-
description: 'Specify the max percentage (in decimal format) of space a bubble should take up within a cell when showDynamicBubbleSize option is true. The number specified must be between 0 and 1.',
|
|
614
|
-
type: 'number'
|
|
615
|
-
},
|
|
616
|
-
bubbleSizeMin: {
|
|
617
|
-
default: 0.25,
|
|
618
|
-
description: 'Specify the min percentage (in decimal format) of space a bubble should take up within a cell when showDynamicBubbleSize option is true. The number specified must be between 0 and 1.',
|
|
619
|
-
type: 'number'
|
|
620
|
-
},
|
|
621
|
-
bubbleSizeMethod: {
|
|
622
|
-
default: 'area',
|
|
623
|
-
description: 'Specify whether bubble area or diameter corresponds to the size value.',
|
|
624
|
-
pattern: (0, schemaUtils_1.getPattern)(['radius', 'area']),
|
|
625
|
-
type: 'string'
|
|
626
|
-
},
|
|
627
|
-
colorMode: {
|
|
628
|
-
default: 'dynamic',
|
|
629
|
-
description: 'Specify the coloring method used for the bubbles.',
|
|
630
|
-
pattern: (0, schemaUtils_1.getPattern)(['categorical', 'dynamic']),
|
|
631
|
-
type: 'string'
|
|
632
|
-
},
|
|
633
|
-
legendDisplay: {
|
|
634
|
-
default: 'right',
|
|
635
|
-
description: 'Specify the location of the legend on the panel.',
|
|
636
|
-
pattern: (0, schemaUtils_1.getPattern)(['right', 'off']),
|
|
637
|
-
type: 'string'
|
|
638
|
-
},
|
|
639
|
-
seriesColors: {
|
|
640
|
-
default: visualization_color_palettes_1.VIZ_CATEGORICAL,
|
|
641
|
-
description: 'Specify the colors used for a series. For example, "#FF0000", "#0000FF", "#008000".',
|
|
642
|
-
type: 'array',
|
|
643
|
-
items: {
|
|
644
|
-
type: 'string'
|
|
645
|
-
}
|
|
646
|
-
},
|
|
647
|
-
showDefaultSort: {
|
|
648
|
-
default: false,
|
|
649
|
-
description: 'Specify whether axes should be sorted based on order of time, digits and strings.',
|
|
650
|
-
type: 'boolean'
|
|
651
|
-
},
|
|
652
|
-
showDynamicBubbleSize: {
|
|
653
|
-
default: true,
|
|
654
|
-
description: 'Specify whether the bubble size should be dynamic or fixed.',
|
|
655
|
-
type: 'boolean'
|
|
656
|
-
},
|
|
657
|
-
showMaxValuePulsation: {
|
|
658
|
-
default: true,
|
|
659
|
-
description: 'Specify whether the max value bubble should pulsate.',
|
|
660
|
-
type: 'boolean'
|
|
661
|
-
}
|
|
662
|
-
};
|
|
663
422
|
var themes = {
|
|
664
423
|
defaultBackgroundColor: function defaultBackgroundColor(props) {
|
|
665
424
|
return (0, pick_1.default)({
|
|
@@ -802,7 +561,7 @@ var config = {
|
|
|
802
561
|
dataContract: dataContract,
|
|
803
562
|
size: size,
|
|
804
563
|
defaultContext: defaultContext,
|
|
805
|
-
optionsSchema:
|
|
564
|
+
optionsSchema: visualization_schemas_1.punchcardOptionsSchema,
|
|
806
565
|
editorConfig: editorConfig,
|
|
807
566
|
events: {
|
|
808
567
|
'legend.click': {
|
|
@@ -820,7 +579,7 @@ exports.default = (0, configUtils_1.enhanceConfig)(config);
|
|
|
820
579
|
|
|
821
580
|
/***/ }),
|
|
822
581
|
|
|
823
|
-
/***/
|
|
582
|
+
/***/ 7:
|
|
824
583
|
/***/ (function(module, exports, __webpack_require__) {
|
|
825
584
|
|
|
826
585
|
"use strict";
|
|
@@ -849,11 +608,18 @@ var VizCategory;
|
|
|
849
608
|
|
|
850
609
|
/***/ }),
|
|
851
610
|
|
|
852
|
-
/***/
|
|
611
|
+
/***/ 8:
|
|
853
612
|
/***/ (function(module, exports) {
|
|
854
613
|
|
|
855
614
|
module.exports = require("@splunk/themes/pick");
|
|
856
615
|
|
|
616
|
+
/***/ }),
|
|
617
|
+
|
|
618
|
+
/***/ 9:
|
|
619
|
+
/***/ (function(module, exports) {
|
|
620
|
+
|
|
621
|
+
module.exports = require("@splunk/themes/variables");
|
|
622
|
+
|
|
857
623
|
/***/ })
|
|
858
624
|
|
|
859
625
|
/******/ });
|
package/Punchcard.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:///./src/common/editorConfig/BackgroundColor.ts","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/Punchcard/config.ts","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///external \"@splunk/themes/pick\""],"names":[],"mappings":"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","file":"Punchcard.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 = 70);\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\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorLayoutConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\n\ninterface backgroundEditorProps {\n label?: string;\n themes: ThemedDefaults;\n labelPosition?: string;\n}\n\nconst background: ({ label, themes, labelPosition }: backgroundEditorProps) => EditorLayoutConfig[] = ({\n label,\n themes,\n labelPosition,\n}) => [\n {\n label: _(label || 'Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: labelPosition || 'top',\n themes,\n },\n },\n];\n\nexport default background;\n","module.exports = require(\"@splunk/visualization-color-palettes\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n DOWNSAMPLING = 'downsampling',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n TRELLIS = 'trellis',\n}\n","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((opt): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [opt]: patternProperties[opt] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * this function also collapse all editor panels\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n * and containing `open: false` for all editor panels in editorConfig\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = { ...vizConfig };\n if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\n }\n );\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = { ...vizConfig };\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n getInitialPreset,\n generatePrecisionValues,\n uncollapseEditorConfig,\n isDynamicOption,\n};\n\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n","module.exports = require(\"lodash\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { COLOR_OR_TOKEN_PATTERN_WITH_RGBA, getPattern } from '@splunk/visualizations-shared/schemaUtils';\nimport { Punchcard as PunchcardIcon } from '@splunk/visualization-icons';\nimport { Punchcard as PunchcardPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\n\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [\n // Note: SCP-14090 disable ui for optional datasources. We may need to add it back later\n // {\n // name: 'annotation',\n // description: 'DataSource that populate event annotations',\n // },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {\n bubbleColorConfig: {\n colors: ['rgba(123,86,219,0.4)', 'rgba(123,86,219,1)'],\n },\n};\n\nconst optionsSchema: OptionsSchema = {\n x: {\n default: '> primary | seriesByIndex(0)',\n description: 'Specify the dataSource applied to the x-axis.',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n y: {\n default: '> primary | seriesByIndex(1)',\n description: 'Specify the dataSource applied to the y-axis.',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n category: {\n default: '> primary | seriesByIndex(3)',\n description: 'Specify the dataSource to apply series categories.',\n type: 'array',\n items: { type: ['string', 'number'] },\n },\n size: {\n default: '> primary | seriesByIndex(2)',\n description: 'Specify the dataSource to apply bubble size in the chart.',\n type: 'array',\n items: { type: 'number' },\n },\n xField: {\n default: '> x | getField()',\n description: 'Specify the field that should be mapped to the x-axis.',\n type: 'string',\n },\n yField: {\n default: '> y | getField()',\n description: 'Specify the field that should be mapped to the y-axis.',\n type: 'string',\n },\n categoryField: {\n default: '> category | getField()',\n description: 'Specify the field that should be mapped to the series categories.',\n type: 'string',\n },\n sizeField: {\n default: '> size | getField()',\n description: 'Specify the field that should be mapped to the bubble size in the chart.',\n type: 'string',\n },\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify the color used for the background. 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 bubbleColor: {\n default: '> size | gradient(bubbleColorConfig)',\n description:\n 'Specify the coloring method used for the bubbles when the colorMode “dynamic” is specified. For example “> size | gradient(bubbleColorConfig)\".',\n type: ['string', 'array'],\n },\n bubbleLabelDisplay: {\n default: 'all',\n description:\n 'Specify whether all bubble labels, the max value bubble labels, or none of the bubble labels should be displayed.',\n pattern: getPattern(['all', 'max', 'off']),\n type: 'string',\n },\n bubbleRadiusMax: {\n default: 15,\n description:\n 'Specify the max radius (in pixels) of the bubbles when showDynamicBubbleSize option is false. Greater than 0.',\n type: 'number',\n },\n bubbleRadiusMin: {\n default: 1,\n description:\n 'Specify the min radius (in pixels) of the bubbles when showDynamicBubbleSize option is false. Greater than 0.',\n type: 'number',\n },\n bubbleRowScale: {\n default: 'global',\n description: 'Specify how bubbles are scaled relative to other rows.',\n pattern: getPattern(['global', 'row']),\n type: 'string',\n },\n bubbleSizeMax: {\n default: 1,\n description:\n 'Specify the max percentage (in decimal format) of space a bubble should take up within a cell when showDynamicBubbleSize option is true. The number specified must be between 0 and 1.',\n type: 'number',\n },\n bubbleSizeMin: {\n default: 0.25,\n description:\n 'Specify the min percentage (in decimal format) of space a bubble should take up within a cell when showDynamicBubbleSize option is true. The number specified must be between 0 and 1.',\n type: 'number',\n },\n bubbleSizeMethod: {\n default: 'area',\n description: 'Specify whether bubble area or diameter corresponds to the size value.',\n pattern: getPattern(['radius', 'area']),\n type: 'string',\n },\n colorMode: {\n default: 'dynamic',\n description: 'Specify the coloring method used for the bubbles.',\n pattern: getPattern(['categorical', 'dynamic']),\n type: 'string',\n },\n legendDisplay: {\n default: 'right',\n description: 'Specify the location of the legend on the panel.',\n pattern: getPattern(['right', 'off']),\n type: 'string',\n },\n seriesColors: {\n default: VIZ_CATEGORICAL,\n description: 'Specify the colors used for a series. For example, \"#FF0000\", \"#0000FF\", \"#008000\".',\n type: 'array',\n items: {\n type: 'string',\n },\n },\n showDefaultSort: {\n default: false,\n description: 'Specify whether axes should be sorted based on order of time, digits and strings.',\n type: 'boolean',\n },\n showDynamicBubbleSize: {\n default: true,\n description: 'Specify whether the bubble size should be dynamic or fixed.',\n type: 'boolean',\n },\n showMaxValuePulsation: {\n default: true,\n description: 'Specify whether the max value bubble should pulsate.',\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};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Show bubble labels'),\n option: 'bubbleLabelDisplay',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('All'), value: 'all' },\n { label: _('Max'), value: 'max' },\n { label: _('Off'), value: 'off' },\n ],\n },\n },\n ],\n [\n {\n label: _('Pulsate max value'),\n option: 'showMaxValuePulsation',\n editor: 'editor.toggle',\n },\n ],\n [\n {\n label: _('Bubble scale'),\n option: 'bubbleSizeMethod',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Radius'), value: 'radius' },\n { label: _('Area'), value: 'area' },\n ],\n },\n },\n ],\n [\n {\n label: _('Bubble row scale'),\n option: 'bubbleRowScale',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Global'), value: 'global' },\n { label: _('By Row'), value: 'row' },\n ],\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Color mode'),\n option: 'colorMode',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Dynamic'), value: 'dynamic' },\n { label: _('Categorical'), value: 'categorical' },\n ],\n },\n },\n ],\n [\n // This should be hidden in categorical color mode\n {\n label: _('Color by field'),\n editor: 'editor.columnSelector',\n option: 'bubbleColor',\n context: 'bubbleColorConfig',\n showEditor: ({ options }) =>\n options.colorMode === 'dynamic' || options.colorMode === undefined,\n editorProps: {\n dataSourceKey: 'primary',\n prepareValue: (\n definition\n ): { context: Record<string, any>; options: Record<string, any> } => {\n const {\n options: { bubbleColor },\n } = definition;\n return {\n context: {},\n options: {\n bubbleColor: `${bubbleColor} | gradient(bubbleColorConfig)`,\n },\n };\n },\n },\n },\n ],\n getBackgroundColorEditor({ themes }),\n [\n {\n label: _('Legend display'),\n option: 'legendDisplay',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Right'), value: 'right' },\n { label: _('Off'), value: 'off' },\n ],\n },\n showEditor: ({ options }) => options.colorMode === 'categorical',\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.punchcard',\n /**\n * viz name\n */\n name: _('Punchcard'),\n category: VizCategory.CORRELATION,\n /**\n * viz icon\n */\n icon: PunchcardIcon,\n placeholderIcon: PunchcardPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'legend.click': {\n description: 'Triggered when user clicks a chart legend',\n },\n 'point.click': {\n description: 'Triggered when user clicks a data point',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.PLACEHOLDER, VizBehavior.EVENTS],\n themes,\n requiredProps: ['x', 'y', 'size'],\n};\n\nexport default enhanceConfig(config);\n","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","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/visualization-icons/placeholders\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///external \"@splunk/visualization-schemas\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"lodash\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///./src/Punchcard/config.ts","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///external \"@splunk/themes/pick\"","webpack:///external \"@splunk/themes/variables\""],"names":[],"mappings":"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","file":"Punchcard.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 = 61);\n","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@splunk/visualization-icons/placeholders\");","module.exports = require(\"@splunk/visualization-icons\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorLayoutConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\n\ninterface backgroundEditorProps {\n label?: string;\n themes: ThemedDefaults;\n labelPosition?: string;\n}\n\nconst background: ({ label, themes, labelPosition }: backgroundEditorProps) => EditorLayoutConfig[] = ({\n label,\n themes,\n labelPosition,\n}) => [\n {\n label: _(label || 'Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: labelPosition || 'top',\n themes,\n },\n },\n];\n\nexport default background;\n","module.exports = require(\"@splunk/visualization-schemas\");","import { get, range } from 'lodash';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\n// included for backwards compatibility\nexport { enhanceOptionsSchemaWithDynamicOptions } from '@splunk/visualization-schemas';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * this function also collapse all editor panels\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n * and containing `open: false` for all editor panels in editorConfig\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = { ...vizConfig };\n\n enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\n }\n );\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = { ...vizConfig };\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport { enhanceConfig, getInitialPreset, generatePrecisionValues, uncollapseEditorConfig, isDynamicOption };\n\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n","module.exports = require(\"lodash\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n DOWNSAMPLING = 'downsampling',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n TRELLIS = 'trellis',\n}\n","import { _ } from '@splunk/ui-utils/i18n';\nimport { punchcardOptionsSchema as optionsSchema } from '@splunk/visualization-schemas';\nimport { Punchcard as PunchcardIcon } from '@splunk/visualization-icons';\nimport { Punchcard as PunchcardPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\n\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [\n // Note: SCP-14090 disable ui for optional datasources. We may need to add it back later\n // {\n // name: 'annotation',\n // description: 'DataSource that populate event annotations',\n // },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {\n bubbleColorConfig: {\n colors: ['rgba(123,86,219,0.4)', 'rgba(123,86,219,1)'],\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n};\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Show bubble labels'),\n option: 'bubbleLabelDisplay',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('All'), value: 'all' },\n { label: _('Max'), value: 'max' },\n { label: _('Off'), value: 'off' },\n ],\n },\n },\n ],\n [\n {\n label: _('Pulsate max value'),\n option: 'showMaxValuePulsation',\n editor: 'editor.toggle',\n },\n ],\n [\n {\n label: _('Bubble scale'),\n option: 'bubbleSizeMethod',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Radius'), value: 'radius' },\n { label: _('Area'), value: 'area' },\n ],\n },\n },\n ],\n [\n {\n label: _('Bubble row scale'),\n option: 'bubbleRowScale',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Global'), value: 'global' },\n { label: _('By Row'), value: 'row' },\n ],\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Color mode'),\n option: 'colorMode',\n editor: 'editor.radioBar',\n editorProps: {\n values: [\n { label: _('Dynamic'), value: 'dynamic' },\n { label: _('Categorical'), value: 'categorical' },\n ],\n },\n },\n ],\n [\n // This should be hidden in categorical color mode\n {\n label: _('Color by field'),\n editor: 'editor.columnSelector',\n option: 'bubbleColor',\n context: 'bubbleColorConfig',\n showEditor: ({ options }) =>\n options.colorMode === 'dynamic' || options.colorMode === undefined,\n editorProps: {\n dataSourceKey: 'primary',\n prepareValue: (\n definition\n ): { context: Record<string, any>; options: Record<string, any> } => {\n const {\n options: { bubbleColor },\n } = definition;\n return {\n context: {},\n options: {\n bubbleColor: `${bubbleColor} | gradient(bubbleColorConfig)`,\n },\n };\n },\n },\n },\n ],\n getBackgroundColorEditor({ themes }),\n [\n {\n label: _('Legend display'),\n option: 'legendDisplay',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Right'), value: 'right' },\n { label: _('Off'), value: 'off' },\n ],\n },\n showEditor: ({ options }) => options.colorMode === 'categorical',\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.punchcard',\n /**\n * viz name\n */\n name: _('Punchcard'),\n category: VizCategory.CORRELATION,\n /**\n * viz icon\n */\n icon: PunchcardIcon,\n placeholderIcon: PunchcardPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'legend.click': {\n description: 'Triggered when user clicks a chart legend',\n },\n 'point.click': {\n description: 'Triggered when user clicks a data point',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.PLACEHOLDER, VizBehavior.EVENTS],\n themes,\n requiredProps: ['x', 'y', 'size'],\n};\n\nexport default enhanceConfig(config);\n","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","module.exports = require(\"@splunk/themes/pick\");","module.exports = require(\"@splunk/themes/variables\");"],"sourceRoot":""}
|