@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.
Files changed (149) hide show
  1. package/Area.config.js +91 -594
  2. package/Area.config.js.map +1 -1
  3. package/Area.js +184 -689
  4. package/Area.js.map +1 -1
  5. package/Bar.config.js +92 -561
  6. package/Bar.config.js.map +1 -1
  7. package/Bar.js +184 -655
  8. package/Bar.js.map +1 -1
  9. package/Bubble.config.js +83 -482
  10. package/Bubble.config.js.map +1 -1
  11. package/Bubble.js +177 -578
  12. package/Bubble.js.map +1 -1
  13. package/ChoroplethSvg.config.js +76 -201
  14. package/ChoroplethSvg.config.js.map +1 -1
  15. package/ChoroplethSvg.js +173 -301
  16. package/ChoroplethSvg.js.map +1 -1
  17. package/Column.config.js +92 -599
  18. package/Column.config.js.map +1 -1
  19. package/Column.js +184 -693
  20. package/Column.js.map +1 -1
  21. package/Ellipse.config.js +82 -200
  22. package/Ellipse.config.js.map +1 -1
  23. package/Ellipse.js +137 -262
  24. package/Ellipse.js.map +1 -1
  25. package/Events.config.js +61 -282
  26. package/Events.config.js.map +1 -1
  27. package/Events.js +222 -428
  28. package/Events.js.map +1 -1
  29. package/FillerGauge.config.js +90 -219
  30. package/FillerGauge.config.js.map +1 -1
  31. package/FillerGauge.js +163 -299
  32. package/FillerGauge.js.map +1 -1
  33. package/Image.config.js +61 -157
  34. package/Image.config.js.map +1 -1
  35. package/Image.js +130 -242
  36. package/Image.js.map +1 -1
  37. package/Line.config.js +91 -606
  38. package/Line.config.js.map +1 -1
  39. package/Line.js +184 -701
  40. package/Line.js.map +1 -1
  41. package/LinkGraph.config.js +74 -256
  42. package/LinkGraph.config.js.map +1 -1
  43. package/LinkGraph.js +17198 -24224
  44. package/LinkGraph.js.map +1 -1
  45. package/Map.config.js +128 -1123
  46. package/Map.config.js.map +1 -1
  47. package/Map.js +309 -680
  48. package/Map.js.map +1 -1
  49. package/Markdown.config.js +61 -188
  50. package/Markdown.config.js.map +1 -1
  51. package/Markdown.js +190 -323
  52. package/Markdown.js.map +1 -1
  53. package/MarkerGauge.config.js +137 -297
  54. package/MarkerGauge.config.js.map +1 -1
  55. package/MarkerGauge.js +1038 -1203
  56. package/MarkerGauge.js.map +1 -1
  57. package/ParallelCoordinates.config.js +71 -191
  58. package/ParallelCoordinates.config.js.map +1 -1
  59. package/ParallelCoordinates.js +218 -343
  60. package/ParallelCoordinates.js.map +1 -1
  61. package/Pie.config.js +72 -240
  62. package/Pie.config.js.map +1 -1
  63. package/Pie.js +214 -381
  64. package/Pie.js.map +1 -1
  65. package/Punchcard.config.js +71 -305
  66. package/Punchcard.config.js.map +1 -1
  67. package/Punchcard.js +246 -477
  68. package/Punchcard.js.map +1 -1
  69. package/Rectangle.config.js +211 -347
  70. package/Rectangle.config.js.map +1 -1
  71. package/Rectangle.js +274 -416
  72. package/Rectangle.js.map +1 -1
  73. package/Sankey.config.js +71 -213
  74. package/Sankey.config.js.map +1 -1
  75. package/Sankey.js +246 -382
  76. package/Sankey.js.map +1 -1
  77. package/Scatter.config.js +85 -463
  78. package/Scatter.config.js.map +1 -1
  79. package/Scatter.js +825 -1202
  80. package/Scatter.js.map +1 -1
  81. package/SingleValue.config.js +114 -409
  82. package/SingleValue.config.js.map +1 -1
  83. package/SingleValue.js +287 -582
  84. package/SingleValue.js.map +1 -1
  85. package/SingleValueBasic.js +30 -30
  86. package/SingleValueBasic.js.map +1 -1
  87. package/SingleValueIcon.config.js +113 -378
  88. package/SingleValueIcon.config.js.map +1 -1
  89. package/SingleValueIcon.js +268 -533
  90. package/SingleValueIcon.js.map +1 -1
  91. package/SingleValueRadial.config.js +110 -382
  92. package/SingleValueRadial.config.js.map +1 -1
  93. package/SingleValueRadial.js +272 -543
  94. package/SingleValueRadial.js.map +1 -1
  95. package/SparkLine.js +24 -24
  96. package/SparkLine.js.map +1 -1
  97. package/Table.config.js +74 -496
  98. package/Table.config.js.map +1 -1
  99. package/Table.js +302 -720
  100. package/Table.js.map +1 -1
  101. package/common/Charting.js +22 -34
  102. package/common/Charting.js.map +1 -1
  103. package/common/DocExampleWithVizSandbox.js +21 -21
  104. package/common/DocExampleWithVizSandbox.js.map +1 -1
  105. package/common/EventsDoc.js +18 -18
  106. package/common/EventsDoc.js.map +1 -1
  107. package/common/GaugeMajorTicks.js +4 -4
  108. package/common/GaugeMajorTicks.js.map +1 -1
  109. package/common/GaugeValueMarker.js +2 -2
  110. package/common/GaugeValueMarker.js.map +1 -1
  111. package/common/OptionsDoc.js +4 -4
  112. package/common/OptionsDoc.js.map +1 -1
  113. package/common/OverviewDoc.js +39 -40
  114. package/common/OverviewDoc.js.map +1 -1
  115. package/common/SplunkVisualization.js +2 -2
  116. package/common/SplunkVisualization.js.map +1 -1
  117. package/common/SplunkVisualizationApi.js +2 -2
  118. package/common/SplunkVisualizationApi.js.map +1 -1
  119. package/common/ThemesDoc.js +19 -19
  120. package/common/ThemesDoc.js.map +1 -1
  121. package/common/chartingUtils.js +2 -2
  122. package/common/chartingUtils.js.map +1 -1
  123. package/common/gaugeUtils.js +10 -10
  124. package/common/gaugeUtils.js.map +1 -1
  125. package/common/shapeUtils.js +10 -10
  126. package/common/shapeUtils.js.map +1 -1
  127. package/common/utils/configUtils.js +25 -155
  128. package/common/utils/configUtils.js.map +1 -1
  129. package/common/utils/dataUtils.js +75 -87
  130. package/common/utils/dataUtils.js.map +1 -1
  131. package/common/utils/featureFlagUtils.js +4 -4
  132. package/common/utils/featureFlagUtils.js.map +1 -1
  133. package/common/utils/hocUtils.js +2 -2
  134. package/common/utils/hocUtils.js.map +1 -1
  135. package/common/utils/mapUtils.js +51 -54
  136. package/common/utils/mapUtils.js.map +1 -1
  137. package/common/utils/singleValueUtils.js +7 -7
  138. package/common/utils/singleValueUtils.js.map +1 -1
  139. package/common/utils/testHelper.js +7 -36
  140. package/common/utils/testHelper.js.map +1 -1
  141. package/common/utils/trellisUtils.js +7 -6
  142. package/common/utils/trellisUtils.js.map +1 -1
  143. package/common/utils/urlUtils.js +2 -2
  144. package/common/utils/urlUtils.js.map +1 -1
  145. package/common/withDashboardViz.js +65 -77
  146. package/common/withDashboardViz.js.map +1 -1
  147. package/package.json +46 -49
  148. package/common/utils/layoutUtils.js +0 -115
  149. package/common/utils/layoutUtils.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"lodash\"","webpack:///./src/common/chartingUtils.ts"],"names":[],"mappings":"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","file":"chartingUtils.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 = 98);\n","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"lodash\");","import { has, isArray, isUndefined } from 'lodash';\nimport type { JsonColumnData } from './interfaces/DataSource';\n\ninterface ChartOptions {\n [key: string]: any;\n}\n\n/**\n * Get formatted annotations\n * @method getAnnotations\n * @param {Object} options\n * @param {Array} options.annotationX\n * @param {Array} options.annotationColor\n * @param {Array} options.annotationLabel\n * @returns {Array}\n */\nexport const getAnnotations = ({ annotationX, annotationColor, annotationLabel }) =>\n annotationX && annotationX.length\n ? annotationX.map((timestamp, i) => ({\n color: annotationColor && annotationColor[i],\n label: annotationLabel && annotationLabel[i],\n time: timestamp,\n }))\n : [];\n\n/**\n * Truncate the result set to given limit\n * @method truncateData\n * @param {Object} dataSet - dataSources.primary.data\n * @param {Number|String} truncationLimit - options['chart.resultTruncationLimit']\n * @returns {Object}\n */\nexport const truncateData = (dataSet, truncationLimit): Record<string, any[]> => {\n if (!dataSet) {\n return null;\n }\n\n const limit = parseInt(truncationLimit, 10);\n if (!limit || limit <= 0) {\n return dataSet;\n }\n\n const truncatedData: Record<string, Array<string[] | number[]>> = { ...dataSet };\n truncatedData.columns = truncatedData.columns.map(columnData =>\n columnData && Array.isArray(columnData) ? columnData.slice(0, limit) : columnData\n );\n return truncatedData;\n};\n\n/**\n * Helper method to update the option values into the values that SC accepts\n * @method mapToValues\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToValues = (optionValuesSCMapping: Record<string, any>) => options => {\n const convertedOptions: Record<string, any> = { ...options };\n Object.keys(optionValuesSCMapping).forEach(key => {\n if (has(options, key)) {\n const updatedValue = optionValuesSCMapping[key][options[key]];\n if (!isUndefined(updatedValue)) {\n convertedOptions[key] = updatedValue;\n }\n }\n });\n return convertedOptions;\n};\n\ninterface y2AxisOptions extends ChartOptions {\n y2Fields?: string | string[];\n}\n\n/**\n * Helper method to process options related to y2Fields\n * @method convertY2AxisOptions\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertY2AxisOptions = ({\n y2Fields,\n ...originalOptions\n}: y2AxisOptions): Record<string, any> => {\n const convertedOptions: Record<string, any> = {\n ...originalOptions,\n };\n if (y2Fields) {\n convertedOptions['axisY2.enabled'] = true;\n convertedOptions['axisY2.fields'] = isArray(y2Fields)\n ? y2Fields.filter(name => name).join(',')\n : y2Fields;\n }\n return convertedOptions;\n};\n\n/**\n * Helper method to format value for overlayFields\n * @method convertOverlayFields\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertOverlayFields = (originalOptions: ChartOptions): ChartOptions => {\n const convertedOptions: ChartOptions = {\n ...originalOptions,\n };\n const { overlayFields } = originalOptions;\n if (overlayFields) {\n convertedOptions.overlayFields = Array.isArray(overlayFields)\n ? overlayFields\n .filter(field => field)\n .map(field => field.trim())\n .join(',')\n : overlayFields;\n }\n return convertedOptions;\n};\n\n/**\n * checks whether data is multi series data\n * @param {array} data array\n * @return {Boolean}\n */\nexport const isMultiSeriesData = (data: string[] | string[][]): boolean =>\n Array.isArray(data) && Array.isArray(data[0]);\n/**\n * checks whether data is multi series data and returns value as array\n * @param {array} data array\n * @param {*} value to return as array\n * @return {array}\n */\nexport const toArrayForSeries = (data, value): any[] => (isMultiSeriesData(data) ? value : [value]);\n\ninterface ConstructFieldsAndColumnsParams {\n x: string[];\n y: string[] | string[][];\n xField: string;\n yFields: string | string[];\n y2?: string[] | string[][];\n y2Fields?: string | string[];\n}\nexport const constructFieldsAndColumns = ({\n x = [],\n y = [],\n xField,\n yFields,\n y2,\n y2Fields,\n}: ConstructFieldsAndColumnsParams): JsonColumnData => {\n const columns = [x.map(String), ...toArrayForSeries(y, y).map(series => series.map(String))];\n const yFieldsArray = toArrayForSeries(y, yFields);\n const fields = [{ name: xField }, ...yFieldsArray.map(field => ({ name: field }))];\n // splunk-charting requires y2 to be part of columns\n // when y & y2 options are configured with different (mutually exclusive) series\n // y2 columns need to be added to columns\n if (y2Fields) {\n const y2FieldsArray = toArrayForSeries(y2, y2Fields);\n const y2AsArray = toArrayForSeries(y2, y2).map(series => series?.map(String));\n y2FieldsArray.forEach((y2Field, index) => {\n if (yFieldsArray.indexOf(y2Field) === -1 && y2AsArray[index]) {\n fields.push({\n name: y2Field,\n });\n columns.push(y2AsArray[index]);\n }\n });\n }\n return {\n columns,\n fields,\n };\n};\n\n// Note: we are making the assumption that attaching a range.select listener means the user wants to enable search zoom\n// This is because we don't know if the time range tokens being updated by the drilldown is used by the current viz.\n// In the future we are considering using a shared context to pass this information from UDF to Viz.\ninterface OptionsProps {\n events?: string[];\n selectedItemId?: string;\n [key: string]: unknown;\n}\ninterface EventHandler {\n type: string;\n options: OptionsProps;\n}\n\nexport const shouldEnableSearchZoom = (eventHandlers: EventHandler[] = [], xField = '') => {\n const rangeSelectEventHandler = eventHandlers.find(eventHandler =>\n eventHandler.options.events?.includes('range.select')\n );\n // Check if xField is _time. This is how splunk-charting distinguishes a time chart from categorical.\n // Note: search zoom will be buggy if the x axis uses timestamp values but is not _time\n const xAxisIsTime = xField === '_time';\n\n return !!rangeSelectEventHandler && xAxisIsTime;\n};\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"lodash\"","webpack:///./src/common/chartingUtils.ts"],"names":[],"mappings":"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","file":"chartingUtils.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 = 97);\n","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"lodash\");","import { has, isArray, isUndefined } from 'lodash';\nimport type { JsonColumnData } from './interfaces/DataSource';\n\ninterface ChartOptions {\n [key: string]: any;\n}\n\n/**\n * Get formatted annotations\n * @method getAnnotations\n * @param {Object} options\n * @param {Array} options.annotationX\n * @param {Array} options.annotationColor\n * @param {Array} options.annotationLabel\n * @returns {Array}\n */\nexport const getAnnotations = ({ annotationX, annotationColor, annotationLabel }) =>\n annotationX && annotationX.length\n ? annotationX.map((timestamp, i) => ({\n color: annotationColor && annotationColor[i],\n label: annotationLabel && annotationLabel[i],\n time: timestamp,\n }))\n : [];\n\n/**\n * Truncate the result set to given limit\n * @method truncateData\n * @param {Object} dataSet - dataSources.primary.data\n * @param {Number|String} truncationLimit - options['chart.resultTruncationLimit']\n * @returns {Object}\n */\nexport const truncateData = (dataSet, truncationLimit): Record<string, any[]> => {\n if (!dataSet) {\n return null;\n }\n\n const limit = parseInt(truncationLimit, 10);\n if (!limit || limit <= 0) {\n return dataSet;\n }\n\n const truncatedData: Record<string, Array<string[] | number[]>> = { ...dataSet };\n truncatedData.columns = truncatedData.columns.map(columnData =>\n columnData && Array.isArray(columnData) ? columnData.slice(0, limit) : columnData\n );\n return truncatedData;\n};\n\n/**\n * Helper method to update the option values into the values that SC accepts\n * @method mapToValues\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToValues = (optionValuesSCMapping: Record<string, any>) => options => {\n const convertedOptions: Record<string, any> = { ...options };\n Object.keys(optionValuesSCMapping).forEach(key => {\n if (has(options, key)) {\n const updatedValue = optionValuesSCMapping[key][options[key]];\n if (!isUndefined(updatedValue)) {\n convertedOptions[key] = updatedValue;\n }\n }\n });\n return convertedOptions;\n};\n\ninterface y2AxisOptions extends ChartOptions {\n y2Fields?: string | string[];\n}\n\n/**\n * Helper method to process options related to y2Fields\n * @method convertY2AxisOptions\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertY2AxisOptions = ({\n y2Fields,\n ...originalOptions\n}: y2AxisOptions): Record<string, any> => {\n const convertedOptions: Record<string, any> = {\n ...originalOptions,\n };\n if (y2Fields) {\n convertedOptions['axisY2.enabled'] = true;\n convertedOptions['axisY2.fields'] = isArray(y2Fields)\n ? y2Fields.filter(name => name).join(',')\n : y2Fields;\n }\n return convertedOptions;\n};\n\n/**\n * Helper method to format value for overlayFields\n * @method convertOverlayFields\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertOverlayFields = (originalOptions: ChartOptions): ChartOptions => {\n const convertedOptions: ChartOptions = {\n ...originalOptions,\n };\n const { overlayFields } = originalOptions;\n if (overlayFields) {\n convertedOptions.overlayFields = Array.isArray(overlayFields)\n ? overlayFields\n .filter(field => field)\n .map(field => field.trim())\n .join(',')\n : overlayFields;\n }\n return convertedOptions;\n};\n\n/**\n * checks whether data is multi series data\n * @param {array} data array\n * @return {Boolean}\n */\nexport const isMultiSeriesData = (data: string[] | string[][]): boolean =>\n Array.isArray(data) && Array.isArray(data[0]);\n/**\n * checks whether data is multi series data and returns value as array\n * @param {array} data array\n * @param {*} value to return as array\n * @return {array}\n */\nexport const toArrayForSeries = (data, value): any[] => (isMultiSeriesData(data) ? value : [value]);\n\ninterface ConstructFieldsAndColumnsParams {\n x: string[];\n y: string[] | string[][];\n xField: string;\n yFields: string | string[];\n y2?: string[] | string[][];\n y2Fields?: string | string[];\n}\nexport const constructFieldsAndColumns = ({\n x = [],\n y = [],\n xField,\n yFields,\n y2,\n y2Fields,\n}: ConstructFieldsAndColumnsParams): JsonColumnData => {\n const columns = [x.map(String), ...toArrayForSeries(y, y).map(series => series.map(String))];\n const yFieldsArray = toArrayForSeries(y, yFields);\n const fields = [{ name: xField }, ...yFieldsArray.map(field => ({ name: field }))];\n // splunk-charting requires y2 to be part of columns\n // when y & y2 options are configured with different (mutually exclusive) series\n // y2 columns need to be added to columns\n if (y2Fields) {\n const y2FieldsArray = toArrayForSeries(y2, y2Fields);\n const y2AsArray = toArrayForSeries(y2, y2).map(series => series?.map(String));\n y2FieldsArray.forEach((y2Field, index) => {\n if (yFieldsArray.indexOf(y2Field) === -1 && y2AsArray[index]) {\n fields.push({\n name: y2Field,\n });\n columns.push(y2AsArray[index]);\n }\n });\n }\n return {\n columns,\n fields,\n };\n};\n\n// Note: we are making the assumption that attaching a range.select listener means the user wants to enable search zoom\n// This is because we don't know if the time range tokens being updated by the drilldown is used by the current viz.\n// In the future we are considering using a shared context to pass this information from UDF to Viz.\ninterface OptionsProps {\n events?: string[];\n selectedItemId?: string;\n [key: string]: unknown;\n}\ninterface EventHandler {\n type: string;\n options: OptionsProps;\n}\n\nexport const shouldEnableSearchZoom = (eventHandlers: EventHandler[] = [], xField = '') => {\n const rangeSelectEventHandler = eventHandlers.find(eventHandler =>\n eventHandler.options.events?.includes('range.select')\n );\n // Check if xField is _time. This is how splunk-charting distinguishes a time chart from categorical.\n // Note: search zoom will be buggy if the x axis uses timestamp values but is not _time\n const xAxisIsTime = xField === '_time';\n\n return !!rangeSelectEventHandler && xAxisIsTime;\n};\n"],"sourceRoot":""}
@@ -87,18 +87,11 @@ module.exports =
87
87
  /******/
88
88
  /******/
89
89
  /******/ // Load entry module and return exports
90
- /******/ return __webpack_require__(__webpack_require__.s = 99);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 98);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ({
94
94
 
95
- /***/ 100:
96
- /***/ (function(module, exports) {
97
-
98
- module.exports = require("@splunk/visualizations-shared/colorConstants");
99
-
100
- /***/ }),
101
-
102
95
  /***/ 22:
103
96
  /***/ (function(module, exports) {
104
97
 
@@ -120,7 +113,7 @@ module.exports = require("@splunk/ui-utils/i18n");
120
113
 
121
114
  /***/ }),
122
115
 
123
- /***/ 99:
116
+ /***/ 98:
124
117
  /***/ (function(module, exports, __webpack_require__) {
125
118
 
126
119
  "use strict";
@@ -135,7 +128,7 @@ exports.convertToGaugeProperties = exports.mapValueLabelDisplay = exports.mapToO
135
128
 
136
129
  var lodash_1 = __webpack_require__(3);
137
130
 
138
- var colorConstants_1 = __webpack_require__(100);
131
+ var colorConstants_1 = __webpack_require__(99);
139
132
 
140
133
  var i18n_1 = __webpack_require__(5);
141
134
 
@@ -887,6 +880,13 @@ var convertToGaugeProperties = function convertToGaugeProperties(originalOptions
887
880
 
888
881
  exports.convertToGaugeProperties = convertToGaugeProperties;
889
882
 
883
+ /***/ }),
884
+
885
+ /***/ 99:
886
+ /***/ (function(module, exports) {
887
+
888
+ module.exports = require("@splunk/visualizations-shared/colorConstants");
889
+
890
890
  /***/ })
891
891
 
892
892
  /******/ });
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@splunk/visualizations-shared/colorConstants\"","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"lodash\"","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///./src/common/gaugeUtils.ts"],"names":[],"mappings":"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","file":"gaugeUtils.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 = 99);\n","module.exports = require(\"@splunk/visualizations-shared/colorConstants\");","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"lodash\");","module.exports = require(\"@splunk/ui-utils/i18n\");","import { chain, mapKeys, omit, uniqBy } from 'lodash';\nimport {\n SEMANTIC_SUCCESS,\n SEMANTIC_WARNING,\n SEMANTIC_ERROR,\n} from '@splunk/visualizations-shared/colorConstants';\nimport { _ } from '@splunk/ui-utils/i18n';\n\nexport const GAUGE_THICKNESS = 50;\nexport const FILL_THICKNESS = 38;\nconst GRADIENT_STOP_OFFSET_MIN = 0;\nconst GRADIENT_STOP_OFFSET_MAX = 100;\n\n/**\n * get width for the whole gauge viz for horizontal or vertical view\n * @method getGaugeWidth\n * @param {Object} input\n * @param {Number} containerWidth\n * @param {String} orientation\n * @return {Number} width\n */\nexport const getGaugeWidth = ({ containerWidth, orientation }) =>\n orientation === 'vertical' ? GAUGE_THICKNESS : containerWidth * 0.8;\n\n/**\n * get height for the whole gauge viz for horizontal or vertical view\n * @method getGaugeHeight\n * @param {Object} input\n * @param {Number} containerHeight\n * @param {String} orientation\n * @return {Number} height\n */\nexport const getGaugeHeight = ({ containerHeight, orientation }) =>\n orientation === 'vertical' ? containerHeight * 0.8 : GAUGE_THICKNESS;\n\n/**\n * get how long the gauge shoud be.\n * In horizontal view, gauge length equals to gauge width. In vertical view, it equals to gauge height.\n * @method getGaugeLength\n * @param {Object} input\n * @param {Number} input.containerWidth\n * @param {Number} input.containerHeight\n * @param {String} input.orientation\n * @return {Number} gaugeLength\n */\nexport const getGaugeLength = ({ containerWidth, containerHeight, orientation }) =>\n orientation === 'vertical'\n ? getGaugeHeight({ containerHeight, orientation })\n : getGaugeWidth({ containerWidth, orientation });\n\n/**\n * get start x and y for rendering gauge\n * @method getGaugeStartPosition\n * @param {Object} input\n * @param {Number} containerWidth\n * @param {Number} containerHeight\n * @param {Number} gaugeLength\n * @param {String} orientation\n * @return {Object} position\n * @return {Number} position.gaugeStartX\n * @return {Number} position.gaugeStartY\n */\nexport const getGaugeStartPosition = ({ containerWidth, containerHeight, gaugeLength, orientation }) => {\n // for horizontal view\n let gaugeStartX = (containerWidth - gaugeLength) / 2.0;\n let gaugeStartY = (containerHeight - GAUGE_THICKNESS) / 2.0;\n\n if (orientation === 'vertical') {\n gaugeStartX = (containerWidth - GAUGE_THICKNESS) / 2.0;\n gaugeStartY = (containerHeight - gaugeLength) / 2.0;\n }\n\n return { gaugeStartX, gaugeStartY };\n};\n\n/**\n * get dimensions for the whole gauge viz,\n * which can be useful to calculate background bar and major ticks positions.\n * @method getGaugeDimensions\n * @param {Object} input\n * @param {Number} input.containerWidth\n * @param {Number} input.containerHeight\n * @param {String} input.orientation 'horizontal' or 'vertical'\n * @return {Object} gaugeDimensions\n * @return {Number} gaugeDimensions.gaugeLength how long the gauge shoud be in horizontal or vertical orientation.\n * @return {Number} gaugeDimensions.gaugeStartX start x to render gauge\n * @return {Number} gaugeDimensions.gaugeStartY start y to render gauge\n * @return {Number} gaugeDimensions.gaugeWidth natural width of gauge\n * @return {Number} gaugeDimensions.gaugeHeight natural height of gauge\n */\nexport const getGaugeDimensions = ({ containerWidth, containerHeight, orientation }) => {\n const gaugeLength = getGaugeLength({ containerWidth, containerHeight, orientation });\n const { gaugeStartX, gaugeStartY } = getGaugeStartPosition({\n containerWidth,\n containerHeight,\n gaugeLength,\n orientation,\n });\n const gaugeWidth = getGaugeWidth({ containerWidth, orientation });\n const gaugeHeight = getGaugeHeight({ containerHeight, orientation });\n\n return {\n gaugeLength,\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n };\n};\n\n/**\n * if gaugeColor is not specified, auto assign a gauge color to the fill bar\n * based on how much percentage the value is taken between min and max\n * @method assignGaugeColor\n * @params\n * */\nexport const assignGaugeColor = ({ value, min, max }) => {\n const rate = (value - min) / (max - min);\n\n if (rate <= 0.3) {\n return SEMANTIC_SUCCESS;\n }\n if (rate > 0.3 && rate <= 0.6) {\n return SEMANTIC_WARNING;\n }\n\n return SEMANTIC_ERROR;\n};\n\n/**\n * get inner bar length in gauge\n * @method getGaugeBarLength\n * @param {Object} input\n * @param {Number} input.gaugeLength\n * @param {Number} input.value\n * @param {Number} input.min\n * @param {Number} input.max\n * @return {Number} gaugeBarLength\n */\nexport const getGaugeBarLength = ({ gaugeLength, value, min, max }) => {\n if (max < min) {\n return null;\n }\n\n if (value >= max) {\n return gaugeLength;\n }\n\n if (value < min) {\n return 0;\n }\n\n return (gaugeLength * (value - min)) / (max - min);\n};\n\n/**\n * get x and y position for rendering inner bar in gauge\n * @method getGaugeBarStartPositions\n * @param {Object} input\n * @param {Number} input.gaugeStartX\n * @param {Number} input.gaugeStartY\n * @param {Number} input.gaugeWidth\n * @param {Number} input.gaugeHeight\n * @param {Number} input.gaugeBarLength\n * @param {String} input.orientation\n * @return {Object} position\n * @return {Number} position.gaugeBarX\n * @return {Number} position.gaugeBarY\n */\nexport const getGaugeBarStartPositions = ({\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n gaugeBarLength,\n orientation,\n}) => {\n let gaugeBarX = gaugeStartX;\n let gaugeBarY = gaugeStartY;\n\n if (orientation === 'vertical') {\n gaugeBarX += (gaugeWidth - FILL_THICKNESS) / 2;\n gaugeBarY += gaugeHeight - gaugeBarLength;\n } else {\n gaugeBarY += (gaugeHeight - FILL_THICKNESS) / 2;\n }\n\n return {\n gaugeBarX,\n gaugeBarY,\n };\n};\n\n/**\n * get width of inner bar in gauge\n * @method getGaugeBarWidth\n * @param {Object} input\n * @param {Number} input.gaugeBarLength\n * @param {String} orientation\n * @return {Number} gaugeBarWidth\n */\nexport const getGaugeBarWidth = ({ gaugeBarLength, orientation }) =>\n orientation === 'vertical' ? FILL_THICKNESS : gaugeBarLength;\n\n/**\n * get height of inner bar in gauge\n * @method getGaugeBarWidth\n * @param {Object} input\n * @param {Number} input.gaugeBarLength\n * @param {String} orientation\n * @return {Number} gaugeBarHeight\n */\nexport const getGaugeBarHeight = ({ gaugeBarLength, orientation }) =>\n orientation === 'vertical' ? gaugeBarLength : FILL_THICKNESS;\n\n/**\n * get dimensions for the fill bar in the gauge\n * @method getFillBarDimensions\n * @param {Object} input\n * @param {Number} input.gaugeLength\n * @param {Number} input.gaugeStartX\n * @param {Number} input.gaugeStartY\n * @param {Number} input.gaugeWidth,\n * @param {Number} input.gaugeHeight,\n * @param {Number} input.value,\n * @param {Number} input.min,\n * @param {Number} input.max,\n * @param {String} input.orientation\n * @return {Object} fillBarDimensions\n * @return {Number} fillBarDimensions.fillBarLength\n * @return {Number} fillBarDimensions.fillBarX\n * @return {Number} fillBarDimensions.fillBarY\n * @return {Number} fillBarDimensions.fillBarWidth\n * @return {Number} fillBarDimensions.fillBarHeight\n */\nexport const getFillBarDimensions = ({\n gaugeLength,\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n value,\n min,\n max,\n orientation,\n}) => {\n const gaugeBarLength = getGaugeBarLength({ gaugeLength, value, max, min });\n const { gaugeBarX: fillBarX, gaugeBarY: fillBarY } = getGaugeBarStartPositions({\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n gaugeBarLength,\n orientation,\n });\n const fillBarWidth = getGaugeBarWidth({ gaugeBarLength, orientation });\n const fillBarHeight = getGaugeBarHeight({ gaugeBarLength, orientation });\n\n return {\n fillBarLength: gaugeBarLength,\n fillBarX,\n fillBarY,\n fillBarWidth,\n fillBarHeight,\n };\n};\n\n/**\n * get position x and y for value marker in filler gauge\n * @method getFillerGaugeValueMarkerPositions\n * @param {Object} input\n * @param {Number} input.fillBarX\n * @param {Number} input.fillBarY\n * @param {Number} input.fillBarLength\n * @param {String} input.orientation\n * @return {Object} position\n * @return {Number} position.valueMarkerX\n * @return {Number} position.valueMarkerY\n */\nexport const getFillerGaugeValueMarkerPositions = ({ fillBarX, fillBarY, fillBarLength, orientation }) => {\n let valueMarkerX = fillBarX;\n let valueMarkerY = fillBarY;\n\n if (orientation === 'vertical') {\n valueMarkerX -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n } else {\n valueMarkerX += fillBarLength;\n valueMarkerY -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n }\n\n return {\n valueMarkerX,\n valueMarkerY,\n };\n};\n\n/**\n * get dimensions for the marker bar in the gauge\n * @method getMarkerBarDimensions\n * @param {Object} input\n * @param {Number} input.gaugeLength\n * @param {Number} input.gaugeStartX\n * @param {Number} input.gaugeStartY\n * @param {Number} input.gaugeWidth,\n * @param {Number} input.gaugeHeight,\n * @param {String} input.orientation\n * @return {Object} markerBarDimensions\n * @return {Number} markerBarDimensions.markerBarLength\n * @return {Number} markerBarDimensions.markerBarX\n * @return {Number} markerBarDimensions.markerBarY\n * @return {Number} markerBarDimensions.markerBarWidth\n * @return {Number} markerBarDimensions.markerBarHeight\n */\nexport const getMarkerBarDimensions = ({\n gaugeLength,\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n orientation,\n}) => {\n const gaugeBarLength = gaugeLength; // For marker gauge, inner marker bar spans the entire gauge\n const { gaugeBarX: markerBarX, gaugeBarY: markerBarY } = getGaugeBarStartPositions({\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n gaugeBarLength,\n orientation,\n });\n const markerBarWidth = getGaugeBarWidth({ gaugeBarLength, orientation });\n const markerBarHeight = getGaugeBarHeight({ gaugeBarLength, orientation });\n\n return {\n markerBarLength: gaugeBarLength,\n markerBarX,\n markerBarY,\n markerBarWidth,\n markerBarHeight,\n };\n};\n\n/**\n * get position x and y for value marker in marker gauge\n * @method getMarkerGaugeValueMarkerPositions\n * @param {Object} input\n * @param {Number} input.markerBarX\n * @param {Number} input.markerBarY\n * @param {Number} input.markerBarHeight\n * @param {Number} input.markerBarLength\n * @param {Number} input.value\n * @param {Number} input.min\n * @param {Number} input.max\n * @param {String} input.orientation\n * @return {Object} position\n * @return {Number} position.valueMarkerX\n * @return {Number} position.valueMarkerY\n */\nexport const getMarkerGaugeValueMarkerPositions = ({\n markerBarX,\n markerBarY,\n markerBarHeight,\n markerBarLength: gaugeLength,\n orientation,\n value,\n min,\n max,\n}) => {\n let valueMarkerX = markerBarX;\n let valueMarkerY = markerBarY;\n if (orientation === 'vertical') {\n valueMarkerY += markerBarHeight - getGaugeBarLength({ gaugeLength, value, max, min });\n valueMarkerX -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n } else {\n valueMarkerX += getGaugeBarLength({ gaugeLength, value, max, min });\n valueMarkerY -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n }\n\n return {\n valueMarkerX,\n valueMarkerY,\n };\n};\n\n/**\n * sort the ranges in ascending order\n * @method getSortedRanges\n * @param {Array} ranges\n * @return {Array} sortedRanges\n */\nexport const getSortedRanges = ranges => ranges.sort((a, b) => a.from - b.from);\n\n/**\n * validate whether ranges prop is valid - continuous ranges, range.to < range.from, range.from != range.to\n * @method validateRanges\n * @param {Array} ranges\n * @return {String} error\n */\nexport const validateRanges = ranges => {\n if (!ranges.length) {\n return _('Prop \"ranges\" is missing entries');\n }\n\n // check whether a range has \"from\" >= \"to\" eg: 10 - 10, 100 - 10, -20 - -10 are invalid\n if (ranges.some(range => range.from >= range.to)) {\n return _('Prop \"ranges\" has invalid entries: invalid range');\n }\n\n // check whether ranges have duplicate \"from/to\" eg: 0 - 50, 25 - 50\n if (ranges.length !== uniqBy(ranges, 'to').length || ranges.length !== uniqBy(ranges, 'from').length) {\n return _('Prop \"ranges\" has invalid entries: duplicate values');\n }\n\n const sortedRanges = getSortedRanges(ranges);\n\n // check whether ranges are continuous eg: 0 - 10, 10 - 20, 20 - 30\n for (let i = 1; i < sortedRanges.length; i += 1) {\n if (sortedRanges[i].from !== sortedRanges[i - 1].to) {\n return _('Prop \"ranges\" has invalid entries: discontinuous ranges');\n }\n }\n\n return null;\n};\n\n/**\n * calculate min and max value of gauge\n * @method getGaugeRange\n * @param {Array} ranges\n * @return {Object} gaugeRange\n * @return {Number} gaugeRange.min\n * @return {Number} gaugeRange.max\n */\nexport const getGaugeRange = ranges => {\n const min = Math.min(...ranges.map(range => range.from));\n const max = Math.max(...ranges.map(range => range.to));\n return { min, max };\n};\n\n/**\n * calculate stop offsets for linear gradient\n * @method getGradientStopOffsets\n * @param {Array} ranges\n * @param {String} orientation\n * @return {Array} cumulativeOffsets\n */\nexport const getGradientStopOffsets = ({ ranges, orientation }) => {\n const { min, max } = getGaugeRange(ranges);\n const offsetScale = (GRADIENT_STOP_OFFSET_MAX - GRADIENT_STOP_OFFSET_MIN) / (max - min);\n let offsets = ranges.map(range => Math.abs(range.from - range.to) * offsetScale);\n // When orientation is vertical, since the gauge starts from bottom to top, linear gradient should be reversed\n offsets = orientation === 'vertical' ? offsets.reverse() : offsets;\n const cumulativeOffsets = [];\n offsets.reduce((accumulator, currentValue, idx) => {\n cumulativeOffsets[idx] = accumulator + currentValue;\n return cumulativeOffsets[idx];\n }, 0);\n return cumulativeOffsets;\n};\n\n/**\n * calculate stop colors for linear gradient\n * @method getGradientStopColors\n * @param {Array} ranges\n * @param {String} orientation\n * @return {Array} stopColors\n */\nexport const getGradientStopColors = ({ ranges, orientation }) => {\n const stopColors = ranges.map(range => range.value);\n // When orientation is vertical, since the gauge starts from bottom to top, linear gradient should be reversed\n return orientation === 'vertical' ? stopColors.reverse() : stopColors;\n};\n\n/**\n * calculate linear gradient stops from ranges\n * @method getGradientStops\n * @param {Object} input\n * @param {Array} ranges\n * @param {String} orientation\n * @return {Array} stops\n */\nexport const getGradientStops = ({ ranges, orientation }) => {\n const stops = [];\n const offsets = getGradientStopOffsets({ ranges, orientation });\n const stopColors = getGradientStopColors({ ranges, orientation });\n // Initialize stops with the first color stop\n stops.push({ offset: `${offsets[0]}%`, stopColor: stopColors[0] });\n // Add the remaining color stops with gradient change at each stop\n for (let i = 1; i < ranges.length; i += 1) {\n stops.push({ offset: `${offsets[i - 1]}%`, stopColor: stopColors[i] });\n stops.push({ offset: `${offsets[i]}%`, stopColor: stopColors[i] });\n }\n return stops;\n};\n\n/**\n * calculate linear gradient dimensions\n * @method getGradientDimensions\n * @param {String} orientation\n * @return {Object} dimensions\n * @return {String} dimensions.x1\n * @return {String} dimensions.y1\n * @return {String} dimensions.x2\n * @return {String} dimensions.y2\n */\nexport const getGradientDimensions = orientation => {\n const x1 = '0%';\n const y1 = '0%';\n const x2 = orientation === 'horizontal' ? '100%' : '0%';\n const y2 = orientation === 'horizontal' ? '0%' : '100%';\n return { x1, y1, x2, y2 };\n};\n\ninterface GaugeOptions {\n [key: string]: any;\n}\n\n// map for new options names to old option names\nconst gaugeOptionsMapping = {\n majorTickInterval: 'majorUnit',\n gaugeRanges: 'ranges',\n};\n\n/**\n * Helper method to update the option names which can be mapped to pure component options\n * @method mapToOldKey\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToOldKey = (options: GaugeOptions): GaugeOptions =>\n mapKeys(options, (val, key) => (gaugeOptionsMapping[key] ? gaugeOptionsMapping[key] : key));\n\ntype LabelOrValue = 'label' | 'value';\n\n/**\n * Helper method to map labelDisplay and valueDisplay options to pure component option names\n * @method mapToOldKey\n * @param {string} labelOrValue\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapValueLabelDisplay = (labelOrValue: LabelOrValue, options: GaugeOptions): GaugeOptions => {\n const rangeOrValue: string = labelOrValue === 'value' ? 'Value' : 'Range';\n const showKey: string = labelOrValue === 'value' ? 'showValue' : 'showLabels';\n const percentKey = `usePercentage${rangeOrValue}`;\n const optionString = `${labelOrValue}Display`;\n const newOptions = { ...options };\n if (newOptions[optionString]) {\n if (newOptions[optionString] === 'number') {\n newOptions[showKey] = true;\n newOptions[percentKey] = false;\n } else if (newOptions[optionString] === 'percentage') {\n newOptions[showKey] = true;\n newOptions[percentKey] = true;\n } else {\n newOptions[showKey] = false;\n newOptions[percentKey] = false;\n }\n }\n return omit(newOptions, [optionString]);\n};\n\n/**\n * Chained helper for mapping the option properties (and values) we expose in config.ts into property values that pure component accepts\n * This is for options that has new key name and can not directly be mapped with pure component props\n * @method convertToGaugeProperties\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertToGaugeProperties = (originalOptions: GaugeOptions): GaugeOptions =>\n chain(mapToOldKey(originalOptions))\n .thru(options => mapValueLabelDisplay('label', options))\n .thru(options => mapValueLabelDisplay('value', options))\n .value();\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"lodash\"","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///./src/common/gaugeUtils.ts","webpack:///external \"@splunk/visualizations-shared/colorConstants\""],"names":[],"mappings":"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","file":"gaugeUtils.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 = 98);\n","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"lodash\");","module.exports = require(\"@splunk/ui-utils/i18n\");","import { chain, mapKeys, omit, uniqBy } from 'lodash';\nimport {\n SEMANTIC_SUCCESS,\n SEMANTIC_WARNING,\n SEMANTIC_ERROR,\n} from '@splunk/visualizations-shared/colorConstants';\nimport { _ } from '@splunk/ui-utils/i18n';\n\nexport const GAUGE_THICKNESS = 50;\nexport const FILL_THICKNESS = 38;\nconst GRADIENT_STOP_OFFSET_MIN = 0;\nconst GRADIENT_STOP_OFFSET_MAX = 100;\n\n/**\n * get width for the whole gauge viz for horizontal or vertical view\n * @method getGaugeWidth\n * @param {Object} input\n * @param {Number} containerWidth\n * @param {String} orientation\n * @return {Number} width\n */\nexport const getGaugeWidth = ({ containerWidth, orientation }) =>\n orientation === 'vertical' ? GAUGE_THICKNESS : containerWidth * 0.8;\n\n/**\n * get height for the whole gauge viz for horizontal or vertical view\n * @method getGaugeHeight\n * @param {Object} input\n * @param {Number} containerHeight\n * @param {String} orientation\n * @return {Number} height\n */\nexport const getGaugeHeight = ({ containerHeight, orientation }) =>\n orientation === 'vertical' ? containerHeight * 0.8 : GAUGE_THICKNESS;\n\n/**\n * get how long the gauge shoud be.\n * In horizontal view, gauge length equals to gauge width. In vertical view, it equals to gauge height.\n * @method getGaugeLength\n * @param {Object} input\n * @param {Number} input.containerWidth\n * @param {Number} input.containerHeight\n * @param {String} input.orientation\n * @return {Number} gaugeLength\n */\nexport const getGaugeLength = ({ containerWidth, containerHeight, orientation }) =>\n orientation === 'vertical'\n ? getGaugeHeight({ containerHeight, orientation })\n : getGaugeWidth({ containerWidth, orientation });\n\n/**\n * get start x and y for rendering gauge\n * @method getGaugeStartPosition\n * @param {Object} input\n * @param {Number} containerWidth\n * @param {Number} containerHeight\n * @param {Number} gaugeLength\n * @param {String} orientation\n * @return {Object} position\n * @return {Number} position.gaugeStartX\n * @return {Number} position.gaugeStartY\n */\nexport const getGaugeStartPosition = ({ containerWidth, containerHeight, gaugeLength, orientation }) => {\n // for horizontal view\n let gaugeStartX = (containerWidth - gaugeLength) / 2.0;\n let gaugeStartY = (containerHeight - GAUGE_THICKNESS) / 2.0;\n\n if (orientation === 'vertical') {\n gaugeStartX = (containerWidth - GAUGE_THICKNESS) / 2.0;\n gaugeStartY = (containerHeight - gaugeLength) / 2.0;\n }\n\n return { gaugeStartX, gaugeStartY };\n};\n\n/**\n * get dimensions for the whole gauge viz,\n * which can be useful to calculate background bar and major ticks positions.\n * @method getGaugeDimensions\n * @param {Object} input\n * @param {Number} input.containerWidth\n * @param {Number} input.containerHeight\n * @param {String} input.orientation 'horizontal' or 'vertical'\n * @return {Object} gaugeDimensions\n * @return {Number} gaugeDimensions.gaugeLength how long the gauge shoud be in horizontal or vertical orientation.\n * @return {Number} gaugeDimensions.gaugeStartX start x to render gauge\n * @return {Number} gaugeDimensions.gaugeStartY start y to render gauge\n * @return {Number} gaugeDimensions.gaugeWidth natural width of gauge\n * @return {Number} gaugeDimensions.gaugeHeight natural height of gauge\n */\nexport const getGaugeDimensions = ({ containerWidth, containerHeight, orientation }) => {\n const gaugeLength = getGaugeLength({ containerWidth, containerHeight, orientation });\n const { gaugeStartX, gaugeStartY } = getGaugeStartPosition({\n containerWidth,\n containerHeight,\n gaugeLength,\n orientation,\n });\n const gaugeWidth = getGaugeWidth({ containerWidth, orientation });\n const gaugeHeight = getGaugeHeight({ containerHeight, orientation });\n\n return {\n gaugeLength,\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n };\n};\n\n/**\n * if gaugeColor is not specified, auto assign a gauge color to the fill bar\n * based on how much percentage the value is taken between min and max\n * @method assignGaugeColor\n * @params\n * */\nexport const assignGaugeColor = ({ value, min, max }) => {\n const rate = (value - min) / (max - min);\n\n if (rate <= 0.3) {\n return SEMANTIC_SUCCESS;\n }\n if (rate > 0.3 && rate <= 0.6) {\n return SEMANTIC_WARNING;\n }\n\n return SEMANTIC_ERROR;\n};\n\n/**\n * get inner bar length in gauge\n * @method getGaugeBarLength\n * @param {Object} input\n * @param {Number} input.gaugeLength\n * @param {Number} input.value\n * @param {Number} input.min\n * @param {Number} input.max\n * @return {Number} gaugeBarLength\n */\nexport const getGaugeBarLength = ({ gaugeLength, value, min, max }) => {\n if (max < min) {\n return null;\n }\n\n if (value >= max) {\n return gaugeLength;\n }\n\n if (value < min) {\n return 0;\n }\n\n return (gaugeLength * (value - min)) / (max - min);\n};\n\n/**\n * get x and y position for rendering inner bar in gauge\n * @method getGaugeBarStartPositions\n * @param {Object} input\n * @param {Number} input.gaugeStartX\n * @param {Number} input.gaugeStartY\n * @param {Number} input.gaugeWidth\n * @param {Number} input.gaugeHeight\n * @param {Number} input.gaugeBarLength\n * @param {String} input.orientation\n * @return {Object} position\n * @return {Number} position.gaugeBarX\n * @return {Number} position.gaugeBarY\n */\nexport const getGaugeBarStartPositions = ({\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n gaugeBarLength,\n orientation,\n}) => {\n let gaugeBarX = gaugeStartX;\n let gaugeBarY = gaugeStartY;\n\n if (orientation === 'vertical') {\n gaugeBarX += (gaugeWidth - FILL_THICKNESS) / 2;\n gaugeBarY += gaugeHeight - gaugeBarLength;\n } else {\n gaugeBarY += (gaugeHeight - FILL_THICKNESS) / 2;\n }\n\n return {\n gaugeBarX,\n gaugeBarY,\n };\n};\n\n/**\n * get width of inner bar in gauge\n * @method getGaugeBarWidth\n * @param {Object} input\n * @param {Number} input.gaugeBarLength\n * @param {String} orientation\n * @return {Number} gaugeBarWidth\n */\nexport const getGaugeBarWidth = ({ gaugeBarLength, orientation }) =>\n orientation === 'vertical' ? FILL_THICKNESS : gaugeBarLength;\n\n/**\n * get height of inner bar in gauge\n * @method getGaugeBarWidth\n * @param {Object} input\n * @param {Number} input.gaugeBarLength\n * @param {String} orientation\n * @return {Number} gaugeBarHeight\n */\nexport const getGaugeBarHeight = ({ gaugeBarLength, orientation }) =>\n orientation === 'vertical' ? gaugeBarLength : FILL_THICKNESS;\n\n/**\n * get dimensions for the fill bar in the gauge\n * @method getFillBarDimensions\n * @param {Object} input\n * @param {Number} input.gaugeLength\n * @param {Number} input.gaugeStartX\n * @param {Number} input.gaugeStartY\n * @param {Number} input.gaugeWidth,\n * @param {Number} input.gaugeHeight,\n * @param {Number} input.value,\n * @param {Number} input.min,\n * @param {Number} input.max,\n * @param {String} input.orientation\n * @return {Object} fillBarDimensions\n * @return {Number} fillBarDimensions.fillBarLength\n * @return {Number} fillBarDimensions.fillBarX\n * @return {Number} fillBarDimensions.fillBarY\n * @return {Number} fillBarDimensions.fillBarWidth\n * @return {Number} fillBarDimensions.fillBarHeight\n */\nexport const getFillBarDimensions = ({\n gaugeLength,\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n value,\n min,\n max,\n orientation,\n}) => {\n const gaugeBarLength = getGaugeBarLength({ gaugeLength, value, max, min });\n const { gaugeBarX: fillBarX, gaugeBarY: fillBarY } = getGaugeBarStartPositions({\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n gaugeBarLength,\n orientation,\n });\n const fillBarWidth = getGaugeBarWidth({ gaugeBarLength, orientation });\n const fillBarHeight = getGaugeBarHeight({ gaugeBarLength, orientation });\n\n return {\n fillBarLength: gaugeBarLength,\n fillBarX,\n fillBarY,\n fillBarWidth,\n fillBarHeight,\n };\n};\n\n/**\n * get position x and y for value marker in filler gauge\n * @method getFillerGaugeValueMarkerPositions\n * @param {Object} input\n * @param {Number} input.fillBarX\n * @param {Number} input.fillBarY\n * @param {Number} input.fillBarLength\n * @param {String} input.orientation\n * @return {Object} position\n * @return {Number} position.valueMarkerX\n * @return {Number} position.valueMarkerY\n */\nexport const getFillerGaugeValueMarkerPositions = ({ fillBarX, fillBarY, fillBarLength, orientation }) => {\n let valueMarkerX = fillBarX;\n let valueMarkerY = fillBarY;\n\n if (orientation === 'vertical') {\n valueMarkerX -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n } else {\n valueMarkerX += fillBarLength;\n valueMarkerY -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n }\n\n return {\n valueMarkerX,\n valueMarkerY,\n };\n};\n\n/**\n * get dimensions for the marker bar in the gauge\n * @method getMarkerBarDimensions\n * @param {Object} input\n * @param {Number} input.gaugeLength\n * @param {Number} input.gaugeStartX\n * @param {Number} input.gaugeStartY\n * @param {Number} input.gaugeWidth,\n * @param {Number} input.gaugeHeight,\n * @param {String} input.orientation\n * @return {Object} markerBarDimensions\n * @return {Number} markerBarDimensions.markerBarLength\n * @return {Number} markerBarDimensions.markerBarX\n * @return {Number} markerBarDimensions.markerBarY\n * @return {Number} markerBarDimensions.markerBarWidth\n * @return {Number} markerBarDimensions.markerBarHeight\n */\nexport const getMarkerBarDimensions = ({\n gaugeLength,\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n orientation,\n}) => {\n const gaugeBarLength = gaugeLength; // For marker gauge, inner marker bar spans the entire gauge\n const { gaugeBarX: markerBarX, gaugeBarY: markerBarY } = getGaugeBarStartPositions({\n gaugeStartX,\n gaugeStartY,\n gaugeWidth,\n gaugeHeight,\n gaugeBarLength,\n orientation,\n });\n const markerBarWidth = getGaugeBarWidth({ gaugeBarLength, orientation });\n const markerBarHeight = getGaugeBarHeight({ gaugeBarLength, orientation });\n\n return {\n markerBarLength: gaugeBarLength,\n markerBarX,\n markerBarY,\n markerBarWidth,\n markerBarHeight,\n };\n};\n\n/**\n * get position x and y for value marker in marker gauge\n * @method getMarkerGaugeValueMarkerPositions\n * @param {Object} input\n * @param {Number} input.markerBarX\n * @param {Number} input.markerBarY\n * @param {Number} input.markerBarHeight\n * @param {Number} input.markerBarLength\n * @param {Number} input.value\n * @param {Number} input.min\n * @param {Number} input.max\n * @param {String} input.orientation\n * @return {Object} position\n * @return {Number} position.valueMarkerX\n * @return {Number} position.valueMarkerY\n */\nexport const getMarkerGaugeValueMarkerPositions = ({\n markerBarX,\n markerBarY,\n markerBarHeight,\n markerBarLength: gaugeLength,\n orientation,\n value,\n min,\n max,\n}) => {\n let valueMarkerX = markerBarX;\n let valueMarkerY = markerBarY;\n if (orientation === 'vertical') {\n valueMarkerY += markerBarHeight - getGaugeBarLength({ gaugeLength, value, max, min });\n valueMarkerX -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n } else {\n valueMarkerX += getGaugeBarLength({ gaugeLength, value, max, min });\n valueMarkerY -= (GAUGE_THICKNESS - FILL_THICKNESS) / 4;\n }\n\n return {\n valueMarkerX,\n valueMarkerY,\n };\n};\n\n/**\n * sort the ranges in ascending order\n * @method getSortedRanges\n * @param {Array} ranges\n * @return {Array} sortedRanges\n */\nexport const getSortedRanges = ranges => ranges.sort((a, b) => a.from - b.from);\n\n/**\n * validate whether ranges prop is valid - continuous ranges, range.to < range.from, range.from != range.to\n * @method validateRanges\n * @param {Array} ranges\n * @return {String} error\n */\nexport const validateRanges = ranges => {\n if (!ranges.length) {\n return _('Prop \"ranges\" is missing entries');\n }\n\n // check whether a range has \"from\" >= \"to\" eg: 10 - 10, 100 - 10, -20 - -10 are invalid\n if (ranges.some(range => range.from >= range.to)) {\n return _('Prop \"ranges\" has invalid entries: invalid range');\n }\n\n // check whether ranges have duplicate \"from/to\" eg: 0 - 50, 25 - 50\n if (ranges.length !== uniqBy(ranges, 'to').length || ranges.length !== uniqBy(ranges, 'from').length) {\n return _('Prop \"ranges\" has invalid entries: duplicate values');\n }\n\n const sortedRanges = getSortedRanges(ranges);\n\n // check whether ranges are continuous eg: 0 - 10, 10 - 20, 20 - 30\n for (let i = 1; i < sortedRanges.length; i += 1) {\n if (sortedRanges[i].from !== sortedRanges[i - 1].to) {\n return _('Prop \"ranges\" has invalid entries: discontinuous ranges');\n }\n }\n\n return null;\n};\n\n/**\n * calculate min and max value of gauge\n * @method getGaugeRange\n * @param {Array} ranges\n * @return {Object} gaugeRange\n * @return {Number} gaugeRange.min\n * @return {Number} gaugeRange.max\n */\nexport const getGaugeRange = ranges => {\n const min = Math.min(...ranges.map(range => range.from));\n const max = Math.max(...ranges.map(range => range.to));\n return { min, max };\n};\n\n/**\n * calculate stop offsets for linear gradient\n * @method getGradientStopOffsets\n * @param {Array} ranges\n * @param {String} orientation\n * @return {Array} cumulativeOffsets\n */\nexport const getGradientStopOffsets = ({ ranges, orientation }) => {\n const { min, max } = getGaugeRange(ranges);\n const offsetScale = (GRADIENT_STOP_OFFSET_MAX - GRADIENT_STOP_OFFSET_MIN) / (max - min);\n let offsets = ranges.map(range => Math.abs(range.from - range.to) * offsetScale);\n // When orientation is vertical, since the gauge starts from bottom to top, linear gradient should be reversed\n offsets = orientation === 'vertical' ? offsets.reverse() : offsets;\n const cumulativeOffsets = [];\n offsets.reduce((accumulator, currentValue, idx) => {\n cumulativeOffsets[idx] = accumulator + currentValue;\n return cumulativeOffsets[idx];\n }, 0);\n return cumulativeOffsets;\n};\n\n/**\n * calculate stop colors for linear gradient\n * @method getGradientStopColors\n * @param {Array} ranges\n * @param {String} orientation\n * @return {Array} stopColors\n */\nexport const getGradientStopColors = ({ ranges, orientation }) => {\n const stopColors = ranges.map(range => range.value);\n // When orientation is vertical, since the gauge starts from bottom to top, linear gradient should be reversed\n return orientation === 'vertical' ? stopColors.reverse() : stopColors;\n};\n\n/**\n * calculate linear gradient stops from ranges\n * @method getGradientStops\n * @param {Object} input\n * @param {Array} ranges\n * @param {String} orientation\n * @return {Array} stops\n */\nexport const getGradientStops = ({ ranges, orientation }) => {\n const stops = [];\n const offsets = getGradientStopOffsets({ ranges, orientation });\n const stopColors = getGradientStopColors({ ranges, orientation });\n // Initialize stops with the first color stop\n stops.push({ offset: `${offsets[0]}%`, stopColor: stopColors[0] });\n // Add the remaining color stops with gradient change at each stop\n for (let i = 1; i < ranges.length; i += 1) {\n stops.push({ offset: `${offsets[i - 1]}%`, stopColor: stopColors[i] });\n stops.push({ offset: `${offsets[i]}%`, stopColor: stopColors[i] });\n }\n return stops;\n};\n\n/**\n * calculate linear gradient dimensions\n * @method getGradientDimensions\n * @param {String} orientation\n * @return {Object} dimensions\n * @return {String} dimensions.x1\n * @return {String} dimensions.y1\n * @return {String} dimensions.x2\n * @return {String} dimensions.y2\n */\nexport const getGradientDimensions = orientation => {\n const x1 = '0%';\n const y1 = '0%';\n const x2 = orientation === 'horizontal' ? '100%' : '0%';\n const y2 = orientation === 'horizontal' ? '0%' : '100%';\n return { x1, y1, x2, y2 };\n};\n\ninterface GaugeOptions {\n [key: string]: any;\n}\n\n// map for new options names to old option names\nconst gaugeOptionsMapping = {\n majorTickInterval: 'majorUnit',\n gaugeRanges: 'ranges',\n};\n\n/**\n * Helper method to update the option names which can be mapped to pure component options\n * @method mapToOldKey\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToOldKey = (options: GaugeOptions): GaugeOptions =>\n mapKeys(options, (val, key) => (gaugeOptionsMapping[key] ? gaugeOptionsMapping[key] : key));\n\ntype LabelOrValue = 'label' | 'value';\n\n/**\n * Helper method to map labelDisplay and valueDisplay options to pure component option names\n * @method mapToOldKey\n * @param {string} labelOrValue\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapValueLabelDisplay = (labelOrValue: LabelOrValue, options: GaugeOptions): GaugeOptions => {\n const rangeOrValue: string = labelOrValue === 'value' ? 'Value' : 'Range';\n const showKey: string = labelOrValue === 'value' ? 'showValue' : 'showLabels';\n const percentKey = `usePercentage${rangeOrValue}`;\n const optionString = `${labelOrValue}Display`;\n const newOptions = { ...options };\n if (newOptions[optionString]) {\n if (newOptions[optionString] === 'number') {\n newOptions[showKey] = true;\n newOptions[percentKey] = false;\n } else if (newOptions[optionString] === 'percentage') {\n newOptions[showKey] = true;\n newOptions[percentKey] = true;\n } else {\n newOptions[showKey] = false;\n newOptions[percentKey] = false;\n }\n }\n return omit(newOptions, [optionString]);\n};\n\n/**\n * Chained helper for mapping the option properties (and values) we expose in config.ts into property values that pure component accepts\n * This is for options that has new key name and can not directly be mapped with pure component props\n * @method convertToGaugeProperties\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertToGaugeProperties = (originalOptions: GaugeOptions): GaugeOptions =>\n chain(mapToOldKey(originalOptions))\n .thru(options => mapValueLabelDisplay('label', options))\n .thru(options => mapValueLabelDisplay('value', options))\n .value();\n","module.exports = require(\"@splunk/visualizations-shared/colorConstants\");"],"sourceRoot":""}
@@ -87,18 +87,18 @@ module.exports =
87
87
  /******/
88
88
  /******/
89
89
  /******/ // Load entry module and return exports
90
- /******/ return __webpack_require__(__webpack_require__.s = 101);
90
+ /******/ return __webpack_require__(__webpack_require__.s = 100);
91
91
  /******/ })
92
92
  /************************************************************************/
93
93
  /******/ ({
94
94
 
95
- /***/ 101:
95
+ /***/ 100:
96
96
  /***/ (function(module, exports, __webpack_require__) {
97
97
 
98
98
  "use strict";
99
99
 
100
100
 
101
- var _taggedTemplateLiteral = __webpack_require__(57);
101
+ var _taggedTemplateLiteral = __webpack_require__(56);
102
102
 
103
103
  var _templateObject;
104
104
 
@@ -111,11 +111,11 @@ var lodash_1 = __webpack_require__(3);
111
111
 
112
112
  var styled_components_1 = __webpack_require__(2);
113
113
 
114
- var pick_1 = __webpack_require__(102);
114
+ var pick_1 = __webpack_require__(101);
115
115
 
116
- var variables_1 = __webpack_require__(59);
116
+ var variables_1 = __webpack_require__(58);
117
117
 
118
- var propUtils_1 = __webpack_require__(103); // map for new options names to old option names
118
+ var propUtils_1 = __webpack_require__(102); // map for new options names to old option names
119
119
 
120
120
 
121
121
  var shapeOptionsMapping = {
@@ -170,14 +170,14 @@ exports.getStyledShape = getStyledShape;
170
170
 
171
171
  /***/ }),
172
172
 
173
- /***/ 102:
173
+ /***/ 101:
174
174
  /***/ (function(module, exports) {
175
175
 
176
176
  module.exports = require("@splunk/themes/pick");
177
177
 
178
178
  /***/ }),
179
179
 
180
- /***/ 103:
180
+ /***/ 102:
181
181
  /***/ (function(module, exports) {
182
182
 
183
183
  module.exports = require("@splunk/visualizations-shared/propUtils");
@@ -198,14 +198,14 @@ module.exports = require("lodash");
198
198
 
199
199
  /***/ }),
200
200
 
201
- /***/ 57:
201
+ /***/ 56:
202
202
  /***/ (function(module, exports) {
203
203
 
204
204
  module.exports = require("@babel/runtime/helpers/taggedTemplateLiteral");
205
205
 
206
206
  /***/ }),
207
207
 
208
- /***/ 59:
208
+ /***/ 58:
209
209
  /***/ (function(module, exports) {
210
210
 
211
211
  module.exports = require("@splunk/themes/variables");
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/common/shapeUtils.ts","webpack:///external \"@splunk/themes/pick\"","webpack:///external \"@splunk/visualizations-shared/propUtils\"","webpack:///external \"styled-components\"","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/taggedTemplateLiteral\"","webpack:///external \"@splunk/themes/variables\""],"names":[],"mappings":";;;;;;;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;;;;;;;;;AClFA;;AACA;;AACA;;AACA;;AACA,2C,CAMA;;;AACA,IAAM,mBAAmB,GAAG;AACxB,WAAS,EAAE,MADa;AAExB,aAAW,EAAE,QAFW;AAGxB,iBAAe,EAAE,iBAHO;AAIxB,iBAAe,EAAE;AAJO,CAA5B;AAOA;;;;;AAKG;;AACI,IAAM,WAAW,GAAG,SAAd,WAAc,CAAC,OAAD;AAAA,SACvB,sBAAQ,OAAR,EAAiB,UAAC,GAAD,EAAM,GAAN;AAAA,WAAe,mBAAmB,CAAC,GAAD,CAAnB,GAA2B,mBAAmB,CAAC,GAAD,CAA9C,GAAsD,GAArE;AAAA,GAAjB,CADuB;AAAA,CAApB;;AAAM,sBAAW,WAAX;AAKb;;;;AAIG;;AACI,IAAM,cAAc,GAAG,SAAjB,cAAiB,CAAC,KAAD;AAAA,SAAkB,iCAAO,KAAP,CAAlB,+HAClB,eAAK;AAAA,WACR,KAAK,CAAC,IAAN,IAAc,6BAAY,KAAK,CAAC,IAAlB,CAAf,IACA,oBAAK;AACD,gBAAU,EAAE;AACR,aAAK,EAAE,oBAAU,MADT;AAER,YAAI,EAAE,oBAAU;AAFR,OADX;AAKD,YAAM,EAAE,oBAAU;AALjB,KAAL,EAMG,KANH,CAFS;AAAA,GADa,EAUhB,eAAK;AAAA,WACV,KAAK,CAAC,MAAN,IAAgB,6BAAY,KAAK,CAAC,MAAlB,CAAjB,IACA,oBAAK;AACD,gBAAU,EAAE;AACR,YAAI,EAAE,oBAAU,MADR;AAER,aAAK,EAAE,oBAAU;AAFT,OADX;AAKD,YAAM,EAAE,oBAAU;AALjB,KAAL,EAMG,KANH,CAFW;AAAA,GAVW,EAmBhB,eAAK;AAAA,WAAK,KAAK,CAAC,OAAN,GAAgB,SAAhB,GAA4B,SAAjC;AAAA,GAnBW;AAAA,CAAvB;;AAAM,yBAAc,cAAd,C;;;;;;;AClCb,gD;;;;;;;ACAA,oE;;;;;;;ACAA,8C;;;;;;;ACAA,mC;;;;;;;ACAA,yE;;;;;;;ACAA,qD","file":"shapeUtils.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 = 101);\n","import { mapKeys } from 'lodash';\nimport styled from 'styled-components';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { formatColor } from '@splunk/visualizations-shared/propUtils';\n\ninterface ShapeOptions {\n [key: string]: any;\n}\n\n// map for new options names to old option names\nconst shapeOptionsMapping = {\n fillColor: 'fill',\n strokeColor: 'stroke',\n strokeDashStyle: 'strokeDasharray',\n strokeJoinStyle: 'strokeLinejoin',\n};\n\n/**\n * Helper method to update the option names to old option names\n * @method mapToOldKey\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToOldKey = (options: ShapeOptions): ShapeOptions =>\n mapKeys(options, (val, key) => (shapeOptionsMapping[key] ? shapeOptionsMapping[key] : key));\n\ntype Shape = 'ellipse' | 'rect';\n\n/**\n * Helper method to get styled component for ellipse or rectangle\n * @method mapToOldKey\n * @param {Shape} shape\n */\nexport const getStyledShape = (shape: Shape) => styled(shape)`\n fill: ${props =>\n (props.fill && formatColor(props.fill)) ||\n pick({\n enterprise: {\n light: variables.gray80,\n dark: variables.gray25,\n },\n prisma: variables.backgroundColorSidebar,\n })(props)};\n stroke: ${props =>\n (props.stroke && formatColor(props.stroke)) ||\n pick({\n enterprise: {\n dark: variables.gray80,\n light: variables.textColor,\n },\n prisma: variables.neutral500,\n })(props)};\n cursor: ${props => (props.onClick ? 'pointer' : 'inherit')};\n`;\n","module.exports = require(\"@splunk/themes/pick\");","module.exports = require(\"@splunk/visualizations-shared/propUtils\");","module.exports = require(\"styled-components\");","module.exports = require(\"lodash\");","module.exports = require(\"@babel/runtime/helpers/taggedTemplateLiteral\");","module.exports = require(\"@splunk/themes/variables\");"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/common/shapeUtils.ts","webpack:///external \"@splunk/themes/pick\"","webpack:///external \"@splunk/visualizations-shared/propUtils\"","webpack:///external \"styled-components\"","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/taggedTemplateLiteral\"","webpack:///external \"@splunk/themes/variables\""],"names":[],"mappings":";;;;;;;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;;;;;;;;;AClFA;;AACA;;AACA;;AACA;;AACA,2C,CAMA;;;AACA,IAAM,mBAAmB,GAAG;AACxB,WAAS,EAAE,MADa;AAExB,aAAW,EAAE,QAFW;AAGxB,iBAAe,EAAE,iBAHO;AAIxB,iBAAe,EAAE;AAJO,CAA5B;AAOA;;;;;AAKG;;AACI,IAAM,WAAW,GAAG,SAAd,WAAc,CAAC,OAAD;AAAA,SACvB,sBAAQ,OAAR,EAAiB,UAAC,GAAD,EAAM,GAAN;AAAA,WAAe,mBAAmB,CAAC,GAAD,CAAnB,GAA2B,mBAAmB,CAAC,GAAD,CAA9C,GAAsD,GAArE;AAAA,GAAjB,CADuB;AAAA,CAApB;;AAAM,sBAAW,WAAX;AAKb;;;;AAIG;;AACI,IAAM,cAAc,GAAG,SAAjB,cAAiB,CAAC,KAAD;AAAA,SAAkB,iCAAO,KAAP,CAAlB,+HAClB,eAAK;AAAA,WACR,KAAK,CAAC,IAAN,IAAc,6BAAY,KAAK,CAAC,IAAlB,CAAf,IACA,oBAAK;AACD,gBAAU,EAAE;AACR,aAAK,EAAE,oBAAU,MADT;AAER,YAAI,EAAE,oBAAU;AAFR,OADX;AAKD,YAAM,EAAE,oBAAU;AALjB,KAAL,EAMG,KANH,CAFS;AAAA,GADa,EAUhB,eAAK;AAAA,WACV,KAAK,CAAC,MAAN,IAAgB,6BAAY,KAAK,CAAC,MAAlB,CAAjB,IACA,oBAAK;AACD,gBAAU,EAAE;AACR,YAAI,EAAE,oBAAU,MADR;AAER,aAAK,EAAE,oBAAU;AAFT,OADX;AAKD,YAAM,EAAE,oBAAU;AALjB,KAAL,EAMG,KANH,CAFW;AAAA,GAVW,EAmBhB,eAAK;AAAA,WAAK,KAAK,CAAC,OAAN,GAAgB,SAAhB,GAA4B,SAAjC;AAAA,GAnBW;AAAA,CAAvB;;AAAM,yBAAc,cAAd,C;;;;;;;AClCb,gD;;;;;;;ACAA,oE;;;;;;;ACAA,8C;;;;;;;ACAA,mC;;;;;;;ACAA,yE;;;;;;;ACAA,qD","file":"shapeUtils.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 = 100);\n","import { mapKeys } from 'lodash';\nimport styled from 'styled-components';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { formatColor } from '@splunk/visualizations-shared/propUtils';\n\ninterface ShapeOptions {\n [key: string]: any;\n}\n\n// map for new options names to old option names\nconst shapeOptionsMapping = {\n fillColor: 'fill',\n strokeColor: 'stroke',\n strokeDashStyle: 'strokeDasharray',\n strokeJoinStyle: 'strokeLinejoin',\n};\n\n/**\n * Helper method to update the option names to old option names\n * @method mapToOldKey\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToOldKey = (options: ShapeOptions): ShapeOptions =>\n mapKeys(options, (val, key) => (shapeOptionsMapping[key] ? shapeOptionsMapping[key] : key));\n\ntype Shape = 'ellipse' | 'rect';\n\n/**\n * Helper method to get styled component for ellipse or rectangle\n * @method mapToOldKey\n * @param {Shape} shape\n */\nexport const getStyledShape = (shape: Shape) => styled(shape)`\n fill: ${props =>\n (props.fill && formatColor(props.fill)) ||\n pick({\n enterprise: {\n light: variables.gray80,\n dark: variables.gray25,\n },\n prisma: variables.backgroundColorSidebar,\n })(props)};\n stroke: ${props =>\n (props.stroke && formatColor(props.stroke)) ||\n pick({\n enterprise: {\n dark: variables.gray80,\n light: variables.textColor,\n },\n prisma: variables.neutral500,\n })(props)};\n cursor: ${props => (props.onClick ? 'pointer' : 'inherit')};\n`;\n","module.exports = require(\"@splunk/themes/pick\");","module.exports = require(\"@splunk/visualizations-shared/propUtils\");","module.exports = require(\"styled-components\");","module.exports = require(\"lodash\");","module.exports = require(\"@babel/runtime/helpers/taggedTemplateLiteral\");","module.exports = require(\"@splunk/themes/variables\");"],"sourceRoot":""}
@@ -90,173 +90,39 @@ module.exports =
90
90
  /******/ return __webpack_require__(__webpack_require__.s = 14);
91
91
  /******/ })
92
92
  /************************************************************************/
93
- /******/ ([
94
- /* 0 */
95
- /***/ (function(module, exports) {
96
-
97
- module.exports = require("lodash");
93
+ /******/ ({
98
94
 
99
- /***/ }),
100
- /* 1 */
95
+ /***/ 0:
101
96
  /***/ (function(module, exports) {
102
97
 
103
- module.exports = require("@babel/runtime/helpers/defineProperty");
98
+ module.exports = require("lodash");
104
99
 
105
100
  /***/ }),
106
- /* 2 */,
107
- /* 3 */
108
- /***/ (function(module, exports) {
109
101
 
110
- module.exports = require("@babel/runtime/helpers/toConsumableArray");
111
-
112
- /***/ }),
113
- /* 4 */,
114
- /* 5 */,
115
- /* 6 */,
116
- /* 7 */
102
+ /***/ 14:
117
103
  /***/ (function(module, exports, __webpack_require__) {
118
104
 
119
105
  "use strict";
120
106
 
121
107
 
108
+ var _toConsumableArray = __webpack_require__(2);
109
+
122
110
  Object.defineProperty(exports, "__esModule", {
123
111
  value: true
124
112
  });
125
- exports.VizBehavior = void 0;
126
- var VizBehavior;
127
-
128
- (function (VizBehavior) {
129
- /**
130
- * Dynamic Options Behavior.
131
- * This allows visualization options to be powered by data
132
- *
133
- * **Example**
134
- *
135
- * sparklineValues: ">primary|seriesByIndex(0)"
136
- * would configure sparklineValues with an array of data points
137
- * coming from the first series in the primary datasource
138
- *
139
- */
140
- VizBehavior["DYNAMIC_OPTIONS"] = "dynamic-options";
141
- VizBehavior["EVENTS"] = "events";
142
- VizBehavior["DOWNSAMPLING"] = "downsampling";
143
- /**
144
- * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is
145
- * missing.
146
- * @type {string}
147
- */
148
-
149
- VizBehavior["PLACEHOLDER"] = "placeholder";
150
- VizBehavior["PAGE_AND_SORT"] = "page-and-sort";
151
- VizBehavior["TRELLIS"] = "trellis";
152
- })(VizBehavior = exports.VizBehavior || (exports.VizBehavior = {}));
113
+ exports.insertLayout = exports.isDynamicOption = exports.uncollapseEditorConfig = exports.generatePrecisionValues = exports.getInitialPreset = exports.enhanceConfig = exports.enhanceOptionsSchemaWithDynamicOptions = void 0;
153
114
 
154
- /***/ }),
155
- /* 8 */,
156
- /* 9 */,
157
- /* 10 */,
158
- /* 11 */,
159
- /* 12 */,
160
- /* 13 */,
161
- /* 14 */
162
- /***/ (function(module, exports, __webpack_require__) {
115
+ var lodash_1 = __webpack_require__(0); // included for backwards compatibility
163
116
 
164
- "use strict";
165
-
166
-
167
- var _toConsumableArray = __webpack_require__(3);
168
117
 
169
- var _defineProperty = __webpack_require__(1);
170
-
171
- var __rest = this && this.__rest || function (s, e) {
172
- var t = {};
173
-
174
- for (var p in s) {
175
- if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
176
- }
118
+ var visualization_schemas_1 = __webpack_require__(7);
177
119
 
178
- if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
179
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
120
+ Object.defineProperty(exports, "enhanceOptionsSchemaWithDynamicOptions", {
121
+ enumerable: true,
122
+ get: function get() {
123
+ return visualization_schemas_1.enhanceOptionsSchemaWithDynamicOptions;
180
124
  }
181
- return t;
182
- };
183
-
184
- Object.defineProperty(exports, "__esModule", {
185
- value: true
186
125
  });
187
- exports.insertLayout = exports.isDynamicOption = exports.uncollapseEditorConfig = exports.generatePrecisionValues = exports.getInitialPreset = exports.enhanceOptionsSchemaWithDynamicOptions = exports.enhanceConfig = void 0;
188
-
189
- var lodash_1 = __webpack_require__(0);
190
-
191
- var schemaUtils_1 = __webpack_require__(15);
192
-
193
- var VizBehavior_1 = __webpack_require__(7);
194
-
195
- var dynamicOptionsDSLType = {
196
- type: 'string',
197
- pattern: schemaUtils_1.DYNAMIC_OPTIONS_DSL_PATTERN
198
- };
199
- /**
200
- * Helper function to extend an options schema with dynamic options DSL
201
- * @param optionsSchema a visualization's options schema
202
- * @returns an updated options schema that additionally allows strings starting with > for each option
203
- */
204
-
205
- function enhanceOptionsSchemaWithDynamicOptions(optionsSchema) {
206
- var enhancedOptionsSchema = {};
207
- Object.keys(optionsSchema).forEach(function (key) {
208
- var _a = optionsSchema[key],
209
- title = _a.title,
210
- description = _a.description,
211
- readOnly = _a.readOnly,
212
- writeOnly = _a.writeOnly,
213
- examples = _a.examples,
214
- defaultValue = _a.default,
215
- type = _a.type,
216
- properties = _a.properties,
217
- patternProperties = _a.patternProperties,
218
- remainingSchemaEntry = __rest(_a, ["title", "description", "readOnly", "writeOnly", "examples", "default", "type", "properties", "patternProperties"]);
219
-
220
- var annotations = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, title !== undefined && {
221
- title: title
222
- }), description !== undefined && {
223
- description: description
224
- }), readOnly !== undefined && {
225
- readOnly: readOnly
226
- }), writeOnly !== undefined && {
227
- writeOnly: writeOnly
228
- }), examples !== undefined && {
229
- examples: examples
230
- }), defaultValue !== undefined && {
231
- default: defaultValue
232
- });
233
-
234
- if (type === 'object') {
235
- enhancedOptionsSchema[key] = Object.assign(Object.assign(Object.assign(Object.assign({}, remainingSchemaEntry), annotations), {
236
- type: type
237
- }), properties && {
238
- properties: enhanceOptionsSchemaWithDynamicOptions(properties)
239
- });
240
-
241
- if (patternProperties) {
242
- var enhancedPatternProperties = {};
243
- Object.keys(patternProperties).forEach(function (opt) {
244
- enhancedPatternProperties = Object.assign(Object.assign({}, enhancedPatternProperties), enhanceOptionsSchemaWithDynamicOptions(_defineProperty({}, opt, patternProperties[opt])));
245
- });
246
- enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;
247
- }
248
- } else {
249
- enhancedOptionsSchema[key] = Object.assign(Object.assign({}, annotations), {
250
- anyOf: [Object.assign(Object.assign({}, type !== undefined && {
251
- type: type
252
- }), remainingSchemaEntry), dynamicOptionsDSLType]
253
- });
254
- }
255
- });
256
- return enhancedOptionsSchema;
257
- }
258
-
259
- exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamicOptions;
260
126
  /**
261
127
  * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block
262
128
  * this function also collapse all editor panels
@@ -267,11 +133,6 @@ exports.enhanceOptionsSchemaWithDynamicOptions = enhanceOptionsSchemaWithDynamic
267
133
 
268
134
  function enhanceConfig(vizConfig) {
269
135
  var enhancedConfig = Object.assign({}, vizConfig);
270
-
271
- if (vizConfig.supports.indexOf(VizBehavior_1.VizBehavior.DYNAMIC_OPTIONS) !== -1) {
272
- enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);
273
- }
274
-
275
136
  enhancedConfig.editorConfig = vizConfig.editorConfig.map(function (config) {
276
137
  return Object.assign(Object.assign({}, config), {
277
138
  open: config.open || false
@@ -394,11 +255,20 @@ var insertLayout = function insertLayout(layout, index) {
394
255
  exports.insertLayout = insertLayout;
395
256
 
396
257
  /***/ }),
397
- /* 15 */
258
+
259
+ /***/ 2:
398
260
  /***/ (function(module, exports) {
399
261
 
400
- module.exports = require("@splunk/visualizations-shared/schemaUtils");
262
+ module.exports = require("@babel/runtime/helpers/toConsumableArray");
263
+
264
+ /***/ }),
265
+
266
+ /***/ 7:
267
+ /***/ (function(module, exports) {
268
+
269
+ module.exports = require("@splunk/visualization-schemas");
401
270
 
402
271
  /***/ })
403
- /******/ ]);
272
+
273
+ /******/ });
404
274
  //# sourceMappingURL=configUtils.js.map