@splunk/visualizations 25.13.1 → 26.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Area.config.js +318 -234
- package/Area.config.js.map +1 -1
- package/Area.js +1131 -766
- package/Area.js.map +1 -1
- package/Bar.config.js +317 -233
- package/Bar.config.js.map +1 -1
- package/Bar.js +1007 -594
- package/Bar.js.map +1 -1
- package/Bubble.config.js +234 -160
- package/Bubble.config.js.map +1 -1
- package/Bubble.js +912 -509
- package/Bubble.js.map +1 -1
- package/ChoroplethSvg.config.js +80 -29
- package/ChoroplethSvg.config.js.map +1 -1
- package/ChoroplethSvg.js +691 -319
- package/ChoroplethSvg.js.map +1 -1
- package/Column.config.js +308 -223
- package/Column.config.js.map +1 -1
- package/Column.js +1011 -587
- package/Column.js.map +1 -1
- package/Ellipse.config.js +127 -62
- package/Ellipse.config.js.map +1 -1
- package/Ellipse.js +576 -286
- package/Ellipse.js.map +1 -1
- package/Events.config.js +111 -29
- package/Events.config.js.map +1 -1
- package/Events.js +998 -527
- package/Events.js.map +1 -1
- package/FillerGauge.config.js +142 -73
- package/FillerGauge.config.js.map +1 -1
- package/FillerGauge.js +962 -572
- package/FillerGauge.js.map +1 -1
- package/Image.config.js +70 -26
- package/Image.config.js.map +1 -1
- package/Image.js +524 -253
- package/Image.js.map +1 -1
- package/Line.config.js +326 -242
- package/Line.config.js.map +1 -1
- package/Line.js +1022 -606
- package/Line.js.map +1 -1
- package/LinkGraph.config.js +99 -49
- package/LinkGraph.config.js.map +1 -1
- package/LinkGraph.js +1184 -762
- package/LinkGraph.js.map +1 -1
- package/MIGRATION.md +1082 -0
- package/Map.config.js +311 -167
- package/Map.config.js.map +1 -1
- package/Map.js +1479 -873
- package/Map.js.map +1 -1
- package/Markdown.config.js +93 -43
- package/Markdown.config.js.map +1 -1
- package/Markdown.js +603 -332
- package/Markdown.js.map +1 -1
- package/MarkerGauge.config.js +163 -105
- package/MarkerGauge.config.js.map +1 -1
- package/MarkerGauge.js +1025 -628
- package/MarkerGauge.js.map +1 -1
- package/ParallelCoordinates.config.js +95 -41
- package/ParallelCoordinates.config.js.map +1 -1
- package/ParallelCoordinates.js +993 -622
- package/ParallelCoordinates.js.map +1 -1
- package/Pie.config.js +99 -46
- package/Pie.config.js.map +1 -1
- package/Pie.js +847 -442
- package/Pie.js.map +1 -1
- package/Punchcard.config.js +114 -62
- package/Punchcard.config.js.map +1 -1
- package/Punchcard.js +1097 -633
- package/Punchcard.js.map +1 -1
- package/Rectangle.config.js +131 -65
- package/Rectangle.config.js.map +1 -1
- package/Rectangle.js +580 -288
- package/Rectangle.js.map +1 -1
- package/Sankey.config.js +103 -41
- package/Sankey.config.js.map +1 -1
- package/Sankey.js +1128 -586
- package/Sankey.js.map +1 -1
- package/Scatter.config.js +231 -157
- package/Scatter.config.js.map +1 -1
- package/Scatter.js +904 -504
- package/Scatter.js.map +1 -1
- package/SingleValue.config.js +212 -142
- package/SingleValue.config.js.map +1 -1
- package/SingleValue.js +1506 -956
- package/SingleValue.js.map +1 -1
- package/SingleValueBasic.js +294 -233
- package/SingleValueBasic.js.map +1 -1
- package/SingleValueIcon.config.js +208 -138
- package/SingleValueIcon.config.js.map +1 -1
- package/SingleValueIcon.js +1375 -914
- package/SingleValueIcon.js.map +1 -1
- package/SingleValueRadial.config.js +252 -137
- package/SingleValueRadial.config.js.map +1 -1
- package/SingleValueRadial.js +2194 -1069
- package/SingleValueRadial.js.map +1 -1
- package/SparkLine.js +172 -83
- package/SparkLine.js.map +1 -1
- package/Table.config.js +123 -70
- package/Table.config.js.map +1 -1
- package/Table.js +1094 -590
- package/Table.js.map +1 -1
- package/common/Charting.js +147 -75
- package/common/Charting.js.map +1 -1
- package/common/ChartingApi.js +18 -7
- package/common/ChartingApi.js.map +1 -1
- package/common/EventsDoc.js +91 -36
- package/common/EventsDoc.js.map +1 -1
- package/common/GaugeMajorTicks.js +70 -60
- package/common/GaugeMajorTicks.js.map +1 -1
- package/common/GaugeValueMarker.js +45 -36
- package/common/GaugeValueMarker.js.map +1 -1
- package/common/OptionsDoc.js +177 -86
- package/common/OptionsDoc.js.map +1 -1
- package/common/OverviewDoc.js +65 -32
- package/common/OverviewDoc.js.map +1 -1
- package/common/SplunkVisualization.js +34 -7
- package/common/SplunkVisualization.js.map +1 -1
- package/common/SplunkVisualizationApi.js +10 -4
- package/common/SplunkVisualizationApi.js.map +1 -1
- package/common/ThemesDoc.js +41 -28
- package/common/ThemesDoc.js.map +1 -1
- package/common/chartingUtils.js +56 -24
- package/common/chartingUtils.js.map +1 -1
- package/common/docUtils.js +15 -5
- package/common/docUtils.js.map +1 -1
- package/common/gaugeUtils.js +238 -155
- package/common/gaugeUtils.js.map +1 -1
- package/common/shapeUtils.js +34 -16
- package/common/shapeUtils.js.map +1 -1
- package/common/utils/configUtils.js +59 -23
- package/common/utils/configUtils.js.map +1 -1
- package/common/utils/dataUtils.js +9 -4
- package/common/utils/dataUtils.js.map +1 -1
- package/common/utils/hocUtils.js +5 -3
- package/common/utils/hocUtils.js.map +1 -1
- package/common/utils/layoutUtils.js +3 -2
- package/common/utils/layoutUtils.js.map +1 -1
- package/common/utils/mapUtils.js +370 -206
- package/common/utils/mapUtils.js.map +1 -1
- package/common/utils/singleValueUtils.js +243 -198
- package/common/utils/singleValueUtils.js.map +1 -1
- package/common/utils/testHelper.js +36 -9
- package/common/utils/testHelper.js.map +1 -1
- package/common/utils/trellisUtils.js +87 -26
- package/common/utils/trellisUtils.js.map +1 -1
- package/common/utils/urlUtils.js +4 -2
- package/common/utils/urlUtils.js.map +1 -1
- package/common/withDashboardViz.js +375 -193
- package/common/withDashboardViz.js.map +1 -1
- package/package.json +25 -27
package/common/Charting.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"prop-types\"","webpack:///external \"styled-components\"","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"@babel/runtime/helpers/createClass\"","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@splunk/visualizations-shared/Message\"","webpack:///external \"@splunk/visualization-context/TimezoneContext\"","webpack:///external \"@splunk/visualizations-shared/style\"","webpack:///./src/common/ChartingApi.ts","webpack:///./src/common/Charting.tsx","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///external \"react-event-listener\"","webpack:///external \"@splunk/visualizations-shared/i18n\"","webpack:///external \"@splunk/charting-bundle\"","webpack:///external \"@splunk/themes/useSplunkTheme\"","webpack:///external \"@splunk/visualizations-shared/themeUtils\""],"names":["ChartingApiFunctional","chartRef","_classCallCheck","_createClass","key","value","highlight","_ref","arguments","length","undefined","xValue","seriesName","getChart","unHighlight","_a","current","exports","lodash_1","require","i18n_1","visualization_color_palettes_1","react_1","React","T","react_event_listener_1","charting_bundle_1","TimezoneContext_1","style_1","styled_components_1","Message_1","useSplunkTheme_1","themeUtils_1","ChartingApi_1","NO_INPLACE_PROPS","changedOptions","curOptions","nextOptions","Object","keys","filter","concat","default","enableScaledEvents","usePrevious","ref","useRef","useEffect","canUpdateInPlace","some","p","toLowerCase","endsWith","updateRowPayload","chartEventRowContext","payload","forEach","VizChartEventType","ChartingContainer","div","attrs","props","width","height","withConfig","displayName","componentId","toDimension","pick","propTypes","oneOfType","string","number","options","object","chartData","onEventTrigger","func","onClick","onSelect","onPointMouseOver","onPointMouseOut","style","colorPalette","array","visualizationApiRef","themeKey","Charting","container","needsInit","chart","needsRedraw","api","timezone","useContext","computeChartingSize","rect","getBoundingClientRect","splunkTheme","getChartingThemeKey","splunkThemeV1","prevOptions","prevTimezone","handleClick","chartEvent","type","name","name2","POINT_CLICK","value2","rowContext","originalEvent","destroyChart","destroy","handleSelect","handlePointMouseOut","handlePointMouseOver","drawChart","updatedOptions","assign","shouldColorizeTooltipData","computedChartSize","computedWidth","computedHeight","serializedTimezone","ianaTimezone","utcOffset","setTheme","setColorPalette","createChart","drilldown","on","e","POINT_MOUSE_OVER","POINT_MOUSE_OUT","LEGEND_CLICK","prepareAndDraw","Math","round","resize","window","console","error","debouncedDrawChart","debounce","onContainerMount","chartingContainer","prevTheme","prevOnClick","JSON","stringify","toJSON","annotations","createElement","target","onResize","defaultProps","noop","VIZ_CATEGORICAL","withEmptyChartMessage","Chart","Wrapper","message","_","level"],"mappings":"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","file":"Charting.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 41);\n","module.exports = require(\"react\");","module.exports = require(\"prop-types\");","module.exports = require(\"styled-components\");","module.exports = require(\"lodash\");","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","module.exports = require(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@splunk/visualizations-shared/Message\");","module.exports = require(\"@splunk/visualization-context/TimezoneContext\");","module.exports = require(\"@splunk/visualizations-shared/style\");","import jsCharting from '@splunk/charting-bundle';\n\ninterface Point {\n /**\n * Valid xValue of the chart\n *\n * @type {string|number}\n * @memberof Point\n */\n xValue?: string | number;\n\n /**\n * Valid seriesName for a chart\n *\n * @type {string}\n * @memberof Point\n */\n seriesName?: string;\n}\n\nexport class ChartingApiFunctional {\n // eslint-disable-next-line no-useless-constructor\n constructor(private chartRef: any) {}\n\n /**\n * Allows users to programmatically highlight a point on the chart\n *\n * @memberof ChartingApiFunctional\n */\n highlight({ xValue, seriesName }: Point = { xValue: '', seriesName: '' }): void {\n this.getChart().highlight(xValue, seriesName);\n }\n\n /**\n * Allows users to programmatically unhighlight all points on the chart\n *\n * @memberof ChartingApiFunctional\n */\n unHighlight(): void {\n this.getChart().unHighlight();\n }\n\n // returns chart object\n getChart(): jsCharting {\n return this.chartRef?.current;\n }\n}\n","/* eslint-disable react/no-unused-prop-types */\nimport { pick, debounce, noop } from 'lodash';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { useEffect, useRef, useContext } from 'react';\nimport * as React from 'react';\nimport * as T from 'prop-types';\nimport EventListener from 'react-event-listener';\nimport '@splunk/visualizations-shared/i18n'; // fixme, @splunk/charting should be refactor to use locale & timezone instead of i18n functions\nimport jsCharting from '@splunk/charting-bundle';\nimport TimezoneContext, { TimezoneContextInterface } from '@splunk/visualization-context/TimezoneContext';\nimport { toDimension } from '@splunk/visualizations-shared/style';\nimport styled from 'styled-components';\nimport Message from '@splunk/visualizations-shared/Message';\nimport useSplunkTheme from '@splunk/themes/useSplunkTheme';\nimport { getChartingThemeKey } from '@splunk/visualizations-shared/themeUtils';\nimport { ChartingApiFunctional } from './ChartingApi';\n\nexport const NO_INPLACE_PROPS = [\n 'chart',\n 'chart.orientation',\n 'layout.splitSeries',\n 'chart.style',\n 'legend.placement',\n];\n\nexport const changedOptions = (curOptions: Record<string, any>, nextOptions: Record<string, any>): string[] =>\n Object.keys(curOptions)\n .filter(key => !(key in nextOptions))\n .concat(\n Object.keys(nextOptions).filter(\n key => !(key in curOptions) || curOptions[key] !== nextOptions[key]\n )\n );\n\njsCharting.enableScaledEvents();\n\nfunction usePrevious(value): Record<string, any> {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n}\n\nexport const canUpdateInPlace = (\n curOptions: Record<string, any>,\n nextOptions: Record<string, any>\n): boolean => {\n // if either of the options are undefined\n // it cannot update in place.\n if (!curOptions || !nextOptions) {\n return false;\n }\n return (\n !NO_INPLACE_PROPS.some(p => curOptions[p] !== nextOptions[p]) &&\n !changedOptions(curOptions, nextOptions).some(p => p.toLowerCase().endsWith('color'))\n );\n};\n\n// create 'row' payloads from 'rowContext' in the flattened format:\n// row.<fieldname>.value\nexport const updateRowPayload = (\n chartEventRowContext: Record<string, any>,\n payload: Record<string, any>\n): Record<string, any> => {\n Object.keys(chartEventRowContext || {}).forEach(key => {\n // eslint-disable-next-line no-param-reassign\n payload[`${key}.value`] = chartEventRowContext[key];\n });\n\n return payload;\n};\n\nexport interface ContainerProps {\n width: string | number;\n height: string | number;\n}\n\ntype ChartEventType = 'pointClick' | 'pointMouseOver' | 'pointMouseOut' | 'chartRangeSelect' | 'legendClick';\nenum VizChartEventType {\n POINT_CLICK = 'point.click',\n POINT_MOUSE_OUT = 'point.mouseout',\n POINT_MOUSE_OVER = 'point.mouseover',\n LEGEND_CLICK = 'legend.click',\n}\n\ninterface ChartEvent<T extends ChartEventType> extends Event {\n name: string;\n name2: string;\n value?: unknown;\n value2?: unknown;\n rowContext?: Record<string, any>;\n span?: number;\n type: T;\n}\n\n// @TODO(pwied): remove after HC upgrade to 8+\n// .highcharts-a11y-proxy-container rule addresses a HighCharts < 8 bug\n// caused by the accessibility plugin\n// https://github.com/highcharts/highcharts/issues/12883\nconst ChartingContainer = styled.div.attrs((props: ContainerProps) => ({\n 'data-test': 'charting-container',\n width: props.width,\n height: props.height,\n}))`\n & .highcharts-a11y-proxy-container {\n pointer-events: none;\n }\n overflow: hidden;\n position: relative;\n ${props => toDimension(pick(props, ['width', 'height']))};\n`;\n\nexport interface ChartingProps {\n // width in pixel or string, defaults to 100%\n width: string | number;\n // height in pixel or string\n height: string | number;\n // visualization formatting options\n options?: Record<string, any>;\n // charting dataset from jsCharting.extractChartReadyData\n chartData: Record<string, any>;\n // callbacks to trigger event\n onEventTrigger?: (...args: any[]) => void;\n onSelect?: (...args: any[]) => void;\n onClick?: (...args: any[]) => void;\n onPointMouseOver?: (...args: any[]) => void;\n onPointMouseOut?: (...args: any[]) => void;\n // Custom style on visualization\n style?: Record<string, any>;\n colorPalette?: Array<string>;\n visualizationApiRef?: (...args: any[]) => void;\n themeKey?: string;\n}\n\nconst propTypes: Record<keyof ChartingProps, T.Validator<any>> = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n options: T.object,\n chartData: T.object,\n onEventTrigger: T.func,\n onClick: T.func,\n onSelect: T.func,\n onPointMouseOver: T.func,\n onPointMouseOut: T.func,\n style: T.object,\n colorPalette: T.array,\n visualizationApiRef: T.func,\n themeKey: T.string,\n};\n\nconst Charting = (props: ChartingProps): React.ReactElement => {\n const container = useRef<HTMLDivElement>(null);\n const needsInit = useRef<boolean>(true);\n const chart = useRef<jsCharting>();\n const needsRedraw = useRef<boolean>(true);\n const api = useRef(new ChartingApiFunctional(chart));\n const timezone = useContext<TimezoneContextInterface>(TimezoneContext);\n\n const computeChartingSize = () => {\n if (container.current) {\n const rect = container.current.getBoundingClientRect();\n return {\n height: rect.height,\n width: rect.width,\n };\n }\n return {};\n };\n const splunkTheme = useSplunkTheme();\n const themeKey = props.themeKey ? props.themeKey : getChartingThemeKey({ splunkThemeV1: splunkTheme });\n const {\n width,\n height,\n style,\n chartData,\n options,\n colorPalette,\n onClick,\n onSelect,\n onPointMouseOut,\n onPointMouseOver,\n onEventTrigger,\n } = props;\n const prevOptions = usePrevious(options);\n const prevTimezone = usePrevious(timezone);\n\n const handleClick = (\n chartEvent: ChartEvent<'pointClick' | 'legendClick'>,\n type: VizChartEventType\n ): void => {\n let payload: Partial<ChartEvent<'pointClick' | 'legendClick'>> = pick(\n chartEvent,\n 'name2',\n 'value2',\n '_span',\n 'modifierKey'\n );\n\n payload.name = payload.name2;\n delete payload.name2;\n\n if (type === VizChartEventType.POINT_CLICK) {\n payload.value = payload.value2;\n delete payload.value2;\n\n payload = updateRowPayload(chartEvent.rowContext, payload);\n }\n\n onClick({\n type,\n originalEvent: chartEvent,\n payload,\n });\n };\n\n const destroyChart = (): void => {\n if (chart.current) {\n chart.current.destroy();\n chart.current = null;\n }\n needsRedraw.current = true;\n needsInit.current = true;\n };\n\n const handleSelect = (chartEvent: ChartEvent<'chartRangeSelect'>): void => {\n // todo: need change this after breaking all visualizations\n if (onSelect && typeof onSelect === 'function') {\n onSelect({\n type: 'range.select',\n originalEvent: chartEvent,\n payload: pick(chartEvent, 'startXIndex', 'endXIndex', 'startXValue', 'endXValue'),\n });\n\n return;\n }\n\n // the chartEvent here is a jQuery event\n onEventTrigger({\n type: 'range.select',\n originalEvent: chartEvent,\n payload: pick(chartEvent, 'startXIndex', 'endXIndex', 'startXValue', 'endXValue'),\n });\n };\n\n const handlePointMouseOut = (chartEvent: ChartEvent<'pointMouseOut'>, type: VizChartEventType): void => {\n let payload: Partial<ChartEvent<'pointMouseOut'>> = pick(\n chartEvent,\n 'name2',\n 'value2',\n '_span',\n 'modifierKey',\n 'tooltipContext'\n );\n\n payload.name = payload.name2;\n delete payload.name2;\n payload.value = payload.value2;\n delete payload.value2;\n\n payload = updateRowPayload(chartEvent.rowContext, payload);\n\n onPointMouseOut({\n type,\n originalEvent: chartEvent,\n payload,\n });\n };\n\n const handlePointMouseOver = (\n chartEvent: ChartEvent<'pointMouseOver'>,\n type: VizChartEventType\n ): void => {\n let payload: Partial<ChartEvent<'pointMouseOver'>> = pick(\n chartEvent,\n 'name2',\n 'value2',\n '_span',\n 'modifierKey',\n 'tooltipContext'\n );\n\n payload.name = payload.name2;\n delete payload.name2;\n payload.value = payload.value2;\n delete payload.value2;\n\n payload = updateRowPayload(chartEvent.rowContext, payload);\n\n onPointMouseOver({\n type,\n originalEvent: chartEvent,\n payload,\n });\n };\n\n const drawChart = (): void => {\n const updatedOptions = { ...options, shouldColorizeTooltipData: false };\n const computedChartSize = computeChartingSize();\n const computedWidth = computedChartSize.width;\n const computedHeight = computedChartSize.height;\n const serializedTimezone = timezone?.serializedTimezone;\n const ianaTimezone = timezone?.ianaTimezone;\n const utcOffset = timezone?.utcOffset;\n if (!computedWidth || !computedHeight) {\n return;\n }\n if (!chartData || !Object.keys(chartData).length) {\n return;\n }\n\n // splunk-charting layers configuration option updates.\n // when an option is removed it needs to be set to an empty string\n // to override the previous configuration\n if (prevOptions) {\n Object.keys(prevOptions).forEach(key => {\n if (updatedOptions[key] === undefined) {\n updatedOptions[key] = '';\n }\n });\n }\n\n try {\n if (needsInit.current) {\n destroyChart();\n jsCharting.setTheme(themeKey);\n if (colorPalette.length > 0) {\n jsCharting.setColorPalette(colorPalette);\n }\n chart.current = jsCharting.createChart(container.current, {\n ...updatedOptions,\n drilldown: 'all',\n ...(typeof serializedTimezone === 'string' && {\n 'time.serializedTz': serializedTimezone,\n }),\n ...(typeof ianaTimezone === 'string' && {\n 'time.ianaTimezone': ianaTimezone,\n }),\n ...(typeof utcOffset === 'number' && {\n 'time.timezoneOffset': utcOffset,\n }),\n });\n // bind event handlers\n chart.current.on('pointClick', e => {\n handleClick(e, VizChartEventType.POINT_CLICK);\n });\n chart.current.on('pointMouseOver', e => {\n handlePointMouseOver(e, VizChartEventType.POINT_MOUSE_OVER);\n });\n chart.current.on('pointMouseOut', e => {\n handlePointMouseOut(e, VizChartEventType.POINT_MOUSE_OUT);\n });\n chart.current.on('legendClick', e => {\n handleClick(e, VizChartEventType.LEGEND_CLICK);\n });\n chart.current.on('chartRangeSelect', handleSelect);\n }\n if (needsRedraw.current) {\n jsCharting.setTheme(themeKey);\n if (colorPalette.length > 0) {\n jsCharting.setColorPalette(colorPalette);\n }\n chart.current.prepareAndDraw(chartData, updatedOptions, () => {});\n }\n if (chart.current) {\n if (\n Math.round(chart.current.height) !== Math.round(computedHeight) ||\n Math.round(chart.current.width) !== Math.round(computedWidth)\n ) {\n chart.current.resize(computedWidth, computedHeight);\n }\n }\n needsInit.current = false;\n needsRedraw.current = false;\n } catch (e) {\n window.console.error('Caught error rendering chart:', e);\n }\n };\n\n const debouncedDrawChart = debounce(drawChart, 5);\n\n const onContainerMount = chartingContainer => {\n container.current = chartingContainer;\n debouncedDrawChart();\n };\n\n const prevTheme = usePrevious(themeKey);\n const prevOnClick = usePrevious(onClick);\n\n useEffect(() => {\n debouncedDrawChart();\n props.visualizationApiRef(api.current);\n return () => {\n props.visualizationApiRef(null);\n destroyChart();\n };\n }, []);\n\n useEffect(() => {\n // TODO: figure out why re-init is needed for functional components (i.e. PlatformViz) when changing theme\n // seems like redraw doesn't suffice to update the background colors\n if (\n !chart.current ||\n !canUpdateInPlace(prevOptions, options) ||\n // timezone is a simple object so this comparison should be fast\n JSON.stringify(prevTimezone) !== JSON.stringify(timezone) ||\n (!props.themeKey && prevTheme !== themeKey) ||\n prevOnClick !== onClick\n ) {\n needsInit.current = true;\n }\n needsRedraw.current = true;\n // need to immediately call drawChart upon an option or chartData change\n // otherwise a noop would occur if the onContainerMount drawChart is re-invoked when dimensions change\n drawChart();\n }, [\n JSON.stringify(options),\n JSON.stringify(chartData.toJSON()),\n JSON.stringify(chartData.annotations),\n timezone?.ianaTimezone,\n timezone?.utcOffset,\n timezone?.serializedTimezone,\n themeKey,\n onClick,\n ]);\n return (\n <ChartingContainer style={style} ref={onContainerMount} width={width} height={height}>\n <EventListener target={window} onResize={debouncedDrawChart} />\n </ChartingContainer>\n );\n};\n\nconst defaultProps: Record<keyof ChartingProps, any> = {\n width: '100%',\n height: 250,\n options: {},\n style: {},\n // todo: need remove it\n onEventTrigger: noop,\n onClick: noop,\n onSelect: noop,\n onPointMouseOver: noop,\n onPointMouseOut: noop,\n colorPalette: VIZ_CATEGORICAL,\n visualizationApiRef: noop,\n chartData: null,\n themeKey: null,\n};\n\nCharting.propTypes = propTypes;\nCharting.defaultProps = defaultProps;\n\n// allow for early return in case of empty chartData while still following hook rules\nconst withEmptyChartMessage = (Chart): React.FunctionComponent<ChartingProps> => {\n const Wrapper = (props: ChartingProps): React.ReactElement => {\n const { chartData } = props;\n\n if (!chartData) {\n return <Message message={_('No DataSource')} level=\"warning\" />;\n }\n\n if (chartData && !Object.keys(chartData).length) {\n return <Message message={_('No Result')} level=\"info\" />;\n }\n\n return <Chart {...props} />;\n };\n\n Wrapper.displayName = 'ChartingWrapper';\n Wrapper.propTypes = propTypes;\n Wrapper.defaultProps = defaultProps;\n return Wrapper;\n};\n\n// export default Charting;\nexport default withEmptyChartMessage(Charting as any);\n","module.exports = require(\"@splunk/visualization-color-palettes\");","module.exports = require(\"react-event-listener\");","module.exports = require(\"@splunk/visualizations-shared/i18n\");","module.exports = require(\"@splunk/charting-bundle\");","module.exports = require(\"@splunk/themes/useSplunkTheme\");","module.exports = require(\"@splunk/visualizations-shared/themeUtils\");"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"prop-types\"","webpack:///external \"styled-components\"","webpack:///external \"lodash\"","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"@babel/runtime/helpers/createClass\"","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@splunk/visualizations-shared/Message\"","webpack:///external \"@splunk/visualization-context/TimezoneContext\"","webpack:///external \"@splunk/visualizations-shared/style\"","webpack:///./src/common/ChartingApi.ts","webpack:///./src/common/Charting.tsx","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///external \"react-event-listener\"","webpack:///external \"@splunk/visualizations-shared/i18n\"","webpack:///external \"@splunk/charting-bundle\"","webpack:///external \"@splunk/themes/useSplunkTheme\"","webpack:///external \"@splunk/visualizations-shared/themeUtils\""],"names":[],"mappings":"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","file":"Charting.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 42);\n","module.exports = require(\"react\");","module.exports = require(\"prop-types\");","module.exports = require(\"styled-components\");","module.exports = require(\"lodash\");","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","module.exports = require(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@splunk/visualizations-shared/Message\");","module.exports = require(\"@splunk/visualization-context/TimezoneContext\");","module.exports = require(\"@splunk/visualizations-shared/style\");","import jsCharting from '@splunk/charting-bundle';\n\ninterface Point {\n /**\n * Valid xValue of the chart\n *\n * @type {string|number}\n * @memberof Point\n */\n xValue?: string | number;\n\n /**\n * Valid seriesName for a chart\n *\n * @type {string}\n * @memberof Point\n */\n seriesName?: string;\n}\n\nexport class ChartingApiFunctional {\n // eslint-disable-next-line no-useless-constructor\n constructor(private chartRef: any) {}\n\n /**\n * Allows users to programmatically highlight a point on the chart\n *\n * @memberof ChartingApiFunctional\n */\n highlight({ xValue, seriesName }: Point = { xValue: '', seriesName: '' }): void {\n this.getChart().highlight(xValue, seriesName);\n }\n\n /**\n * Allows users to programmatically unhighlight all points on the chart\n *\n * @memberof ChartingApiFunctional\n */\n unHighlight(): void {\n this.getChart().unHighlight();\n }\n\n // returns chart object\n getChart(): jsCharting {\n return this.chartRef?.current;\n }\n}\n","/* eslint-disable react/no-unused-prop-types */\nimport { pick, debounce, noop } from 'lodash';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { useEffect, useRef, useContext } from 'react';\nimport * as React from 'react';\nimport * as T from 'prop-types';\nimport EventListener from 'react-event-listener';\nimport '@splunk/visualizations-shared/i18n'; // fixme, @splunk/charting should be refactor to use locale & timezone instead of i18n functions\nimport jsCharting from '@splunk/charting-bundle';\nimport TimezoneContext, { TimezoneContextInterface } from '@splunk/visualization-context/TimezoneContext';\nimport { toDimension } from '@splunk/visualizations-shared/style';\nimport styled from 'styled-components';\nimport Message from '@splunk/visualizations-shared/Message';\nimport useSplunkTheme from '@splunk/themes/useSplunkTheme';\nimport { getChartingThemeKey } from '@splunk/visualizations-shared/themeUtils';\nimport { ChartingApiFunctional } from './ChartingApi';\n\nexport const NO_INPLACE_PROPS = [\n 'chart',\n 'chart.orientation',\n 'layout.splitSeries',\n 'chart.style',\n 'legend.placement',\n];\n\nexport const changedOptions = (curOptions: Record<string, any>, nextOptions: Record<string, any>): string[] =>\n Object.keys(curOptions)\n .filter(key => !(key in nextOptions))\n .concat(\n Object.keys(nextOptions).filter(\n key => !(key in curOptions) || curOptions[key] !== nextOptions[key]\n )\n );\n\nfunction usePrevious(value): Record<string, any> {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n}\n\nexport const canUpdateInPlace = (\n curOptions: Record<string, any>,\n nextOptions: Record<string, any>\n): boolean => {\n // if either of the options are undefined\n // it cannot update in place.\n if (!curOptions || !nextOptions) {\n return false;\n }\n return (\n !NO_INPLACE_PROPS.some(p => curOptions[p] !== nextOptions[p]) &&\n !changedOptions(curOptions, nextOptions).some(p => p.toLowerCase().endsWith('color'))\n );\n};\n\n// create 'row' payloads from 'rowContext' in the flattened format:\n// row.<fieldname>.value\nexport const updateRowPayload = (\n chartEventRowContext: Record<string, any>,\n payload: Record<string, any>\n): Record<string, any> => {\n Object.keys(chartEventRowContext || {}).forEach(key => {\n // eslint-disable-next-line no-param-reassign\n payload[`${key}.value`] = chartEventRowContext[key];\n });\n\n return payload;\n};\n\nexport interface ContainerProps {\n width: string | number;\n height: string | number;\n}\n\ntype ChartEventType = 'pointClick' | 'pointMouseOver' | 'pointMouseOut' | 'chartRangeSelect' | 'legendClick';\nenum VizChartEventType {\n POINT_CLICK = 'point.click',\n POINT_MOUSE_OUT = 'point.mouseout',\n POINT_MOUSE_OVER = 'point.mouseover',\n LEGEND_CLICK = 'legend.click',\n}\n\ninterface ChartEvent<T extends ChartEventType> extends Event {\n name: string;\n name2: string;\n value?: unknown;\n value2?: unknown;\n rowContext?: Record<string, any>;\n span?: number;\n type: T;\n}\n\n// @TODO(pwied): remove after HC upgrade to 8+\n// .highcharts-a11y-proxy-container rule addresses a HighCharts < 8 bug\n// caused by the accessibility plugin\n// https://github.com/highcharts/highcharts/issues/12883\nconst ChartingContainer = styled.div.attrs((props: ContainerProps) => ({\n 'data-test': 'charting-container',\n width: props.width,\n height: props.height,\n}))`\n & .highcharts-a11y-proxy-container {\n pointer-events: none;\n }\n overflow: hidden;\n position: relative;\n ${props => toDimension(pick(props, ['width', 'height']))};\n`;\n\nexport interface ChartingProps {\n // width in pixel or string, defaults to 100%\n width: string | number;\n // height in pixel or string\n height: string | number;\n // visualization formatting options\n options?: Record<string, any>;\n // charting dataset from jsCharting.extractChartReadyData\n chartData: Record<string, any>;\n // callbacks to trigger event\n onEventTrigger?: (...args: any[]) => void;\n onSelect?: (...args: any[]) => void;\n onClick?: (...args: any[]) => void;\n onPointMouseOver?: (...args: any[]) => void;\n onPointMouseOut?: (...args: any[]) => void;\n // Custom style on visualization\n style?: Record<string, any>;\n colorPalette?: Array<string>;\n visualizationApiRef?: (...args: any[]) => void;\n themeKey?: string;\n}\n\nconst propTypes: Record<keyof ChartingProps, T.Validator<any>> = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n options: T.object,\n chartData: T.object,\n onEventTrigger: T.func,\n onClick: T.func,\n onSelect: T.func,\n onPointMouseOver: T.func,\n onPointMouseOut: T.func,\n style: T.object,\n colorPalette: T.array,\n visualizationApiRef: T.func,\n themeKey: T.string,\n};\n\nconst Charting = (props: ChartingProps): React.ReactElement => {\n const container = useRef<HTMLDivElement>(null);\n const needsInit = useRef<boolean>(true);\n const chart = useRef<jsCharting>();\n const needsRedraw = useRef<boolean>(true);\n const api = useRef(new ChartingApiFunctional(chart));\n const timezone = useContext<TimezoneContextInterface>(TimezoneContext);\n\n const computeChartingSize = () => {\n if (container.current) {\n const rect = container.current.getBoundingClientRect();\n return {\n height: rect.height,\n width: rect.width,\n };\n }\n return {};\n };\n const splunkTheme = useSplunkTheme();\n const themeKey = props.themeKey ? props.themeKey : getChartingThemeKey({ splunkThemeV1: splunkTheme });\n const {\n width,\n height,\n style,\n chartData,\n options,\n colorPalette,\n onClick,\n onSelect,\n onPointMouseOut,\n onPointMouseOver,\n onEventTrigger,\n } = props;\n const prevOptions = usePrevious(options);\n const prevTimezone = usePrevious(timezone);\n\n const handleClick = (\n chartEvent: ChartEvent<'pointClick' | 'legendClick'>,\n type: VizChartEventType\n ): void => {\n let payload: Partial<ChartEvent<'pointClick' | 'legendClick'>> = pick(\n chartEvent,\n 'name2',\n 'value2',\n '_span',\n 'modifierKey'\n );\n\n payload.name = payload.name2;\n delete payload.name2;\n\n if (type === VizChartEventType.POINT_CLICK) {\n payload.value = payload.value2;\n delete payload.value2;\n\n payload = updateRowPayload(chartEvent.rowContext, payload);\n }\n\n onClick({\n type,\n originalEvent: chartEvent,\n payload,\n });\n };\n\n const destroyChart = (): void => {\n if (chart.current) {\n chart.current.destroy();\n chart.current = null;\n }\n needsRedraw.current = true;\n needsInit.current = true;\n };\n\n const handleSelect = (chartEvent: ChartEvent<'chartRangeSelect'>): void => {\n // todo: need change this after breaking all visualizations\n if (onSelect && typeof onSelect === 'function') {\n onSelect({\n type: 'range.select',\n originalEvent: chartEvent,\n payload: pick(chartEvent, 'startXIndex', 'endXIndex', 'startXValue', 'endXValue'),\n });\n\n return;\n }\n\n // the chartEvent here is a jQuery event\n onEventTrigger({\n type: 'range.select',\n originalEvent: chartEvent,\n payload: pick(chartEvent, 'startXIndex', 'endXIndex', 'startXValue', 'endXValue'),\n });\n };\n\n const handlePointMouseOut = (chartEvent: ChartEvent<'pointMouseOut'>, type: VizChartEventType): void => {\n let payload: Partial<ChartEvent<'pointMouseOut'>> = pick(\n chartEvent,\n 'name2',\n 'value2',\n '_span',\n 'modifierKey',\n 'tooltipContext'\n );\n\n payload.name = payload.name2;\n delete payload.name2;\n payload.value = payload.value2;\n delete payload.value2;\n\n payload = updateRowPayload(chartEvent.rowContext, payload);\n\n onPointMouseOut({\n type,\n originalEvent: chartEvent,\n payload,\n });\n };\n\n const handlePointMouseOver = (\n chartEvent: ChartEvent<'pointMouseOver'>,\n type: VizChartEventType\n ): void => {\n let payload: Partial<ChartEvent<'pointMouseOver'>> = pick(\n chartEvent,\n 'name2',\n 'value2',\n '_span',\n 'modifierKey',\n 'tooltipContext'\n );\n\n payload.name = payload.name2;\n delete payload.name2;\n payload.value = payload.value2;\n delete payload.value2;\n\n payload = updateRowPayload(chartEvent.rowContext, payload);\n\n onPointMouseOver({\n type,\n originalEvent: chartEvent,\n payload,\n });\n };\n\n const drawChart = (): void => {\n const updatedOptions = { ...options, shouldColorizeTooltipData: false };\n const computedChartSize = computeChartingSize();\n const computedWidth = computedChartSize.width;\n const computedHeight = computedChartSize.height;\n const serializedTimezone = timezone?.serializedTimezone;\n const ianaTimezone = timezone?.ianaTimezone;\n const utcOffset = timezone?.utcOffset;\n if (!computedWidth || !computedHeight) {\n return;\n }\n if (!chartData || !Object.keys(chartData).length) {\n return;\n }\n\n // splunk-charting layers configuration option updates.\n // when an option is removed it needs to be set to an empty string\n // to override the previous configuration\n if (prevOptions) {\n Object.keys(prevOptions).forEach(key => {\n if (updatedOptions[key] === undefined) {\n updatedOptions[key] = '';\n }\n });\n }\n\n try {\n if (needsInit.current) {\n destroyChart();\n jsCharting.setTheme(themeKey);\n if (colorPalette.length > 0) {\n jsCharting.setColorPalette(colorPalette);\n }\n chart.current = jsCharting.createChart(container.current, {\n ...updatedOptions,\n drilldown: 'all',\n ...(typeof serializedTimezone === 'string' && {\n 'time.serializedTz': serializedTimezone,\n }),\n ...(typeof ianaTimezone === 'string' && {\n 'time.ianaTimezone': ianaTimezone,\n }),\n ...(typeof utcOffset === 'number' && {\n 'time.timezoneOffset': utcOffset,\n }),\n });\n // bind event handlers\n chart.current.on('pointClick', e => {\n handleClick(e, VizChartEventType.POINT_CLICK);\n });\n chart.current.on('pointMouseOver', e => {\n handlePointMouseOver(e, VizChartEventType.POINT_MOUSE_OVER);\n });\n chart.current.on('pointMouseOut', e => {\n handlePointMouseOut(e, VizChartEventType.POINT_MOUSE_OUT);\n });\n chart.current.on('legendClick', e => {\n handleClick(e, VizChartEventType.LEGEND_CLICK);\n });\n chart.current.on('chartRangeSelect', handleSelect);\n }\n if (needsRedraw.current) {\n jsCharting.setTheme(themeKey);\n if (colorPalette.length > 0) {\n jsCharting.setColorPalette(colorPalette);\n }\n chart.current.prepareAndDraw(chartData, updatedOptions, () => {});\n }\n if (chart.current) {\n if (\n Math.round(chart.current.height) !== Math.round(computedHeight) ||\n Math.round(chart.current.width) !== Math.round(computedWidth)\n ) {\n chart.current.resize(computedWidth, computedHeight);\n }\n }\n needsInit.current = false;\n needsRedraw.current = false;\n } catch (e) {\n window.console.error('Caught error rendering chart:', e);\n }\n };\n\n const debouncedDrawChart = debounce(drawChart, 5);\n\n const onContainerMount = chartingContainer => {\n container.current = chartingContainer;\n debouncedDrawChart();\n };\n\n const prevTheme = usePrevious(themeKey);\n const prevOnClick = usePrevious(onClick);\n\n useEffect(() => {\n debouncedDrawChart();\n props.visualizationApiRef(api.current);\n return () => {\n props.visualizationApiRef(null);\n destroyChart();\n };\n }, []);\n\n useEffect(() => {\n // TODO: figure out why re-init is needed for functional components (i.e. PlatformViz) when changing theme\n // seems like redraw doesn't suffice to update the background colors\n if (\n !chart.current ||\n !canUpdateInPlace(prevOptions, options) ||\n // timezone is a simple object so this comparison should be fast\n JSON.stringify(prevTimezone) !== JSON.stringify(timezone) ||\n (!props.themeKey && prevTheme !== themeKey) ||\n prevOnClick !== onClick\n ) {\n needsInit.current = true;\n }\n needsRedraw.current = true;\n // need to immediately call drawChart upon an option or chartData change\n // otherwise a noop would occur if the onContainerMount drawChart is re-invoked when dimensions change\n drawChart();\n }, [\n JSON.stringify(options),\n JSON.stringify(chartData.toJSON()),\n JSON.stringify(chartData.annotations),\n timezone?.ianaTimezone,\n timezone?.utcOffset,\n timezone?.serializedTimezone,\n themeKey,\n onClick,\n ]);\n return (\n <ChartingContainer style={style} ref={onContainerMount} width={width} height={height}>\n <EventListener target={window} onResize={debouncedDrawChart} />\n </ChartingContainer>\n );\n};\n\nconst defaultProps: Record<keyof ChartingProps, any> = {\n width: '100%',\n height: 250,\n options: {},\n style: {},\n // todo: need remove it\n onEventTrigger: noop,\n onClick: noop,\n onSelect: noop,\n onPointMouseOver: noop,\n onPointMouseOut: noop,\n colorPalette: VIZ_CATEGORICAL,\n visualizationApiRef: noop,\n chartData: null,\n themeKey: null,\n};\n\nCharting.propTypes = propTypes;\nCharting.defaultProps = defaultProps;\n\n// allow for early return in case of empty chartData while still following hook rules\nconst withEmptyChartMessage = (Chart): React.FunctionComponent<ChartingProps> => {\n const Wrapper = (props: ChartingProps): React.ReactElement => {\n const { chartData } = props;\n\n if (!chartData) {\n return <Message message={_('No DataSource')} level=\"warning\" />;\n }\n\n if (chartData && !Object.keys(chartData).length) {\n return <Message message={_('No Result')} level=\"info\" />;\n }\n\n return <Chart {...props} />;\n };\n\n Wrapper.displayName = 'ChartingWrapper';\n Wrapper.propTypes = propTypes;\n Wrapper.defaultProps = defaultProps;\n return Wrapper;\n};\n\n// export default Charting;\nexport default withEmptyChartMessage(Charting as any);\n","module.exports = require(\"@splunk/visualization-color-palettes\");","module.exports = require(\"react-event-listener\");","module.exports = require(\"@splunk/visualizations-shared/i18n\");","module.exports = require(\"@splunk/charting-bundle\");","module.exports = require(\"@splunk/themes/useSplunkTheme\");","module.exports = require(\"@splunk/visualizations-shared/themeUtils\");"],"sourceRoot":""}
|
package/common/ChartingApi.js
CHANGED
|
@@ -99,15 +99,19 @@ module.exports =
|
|
|
99
99
|
|
|
100
100
|
|
|
101
101
|
var _classCallCheck = __webpack_require__(4);
|
|
102
|
+
|
|
102
103
|
var _createClass = __webpack_require__(6);
|
|
104
|
+
|
|
103
105
|
Object.defineProperty(exports, "__esModule", {
|
|
104
106
|
value: true
|
|
105
107
|
});
|
|
106
108
|
exports.ChartingApiFunctional = void 0;
|
|
109
|
+
|
|
107
110
|
var ChartingApiFunctional = /*#__PURE__*/function () {
|
|
108
111
|
// eslint-disable-next-line no-useless-constructor
|
|
109
112
|
function ChartingApiFunctional(chartRef) {
|
|
110
113
|
_classCallCheck(this, ChartingApiFunctional);
|
|
114
|
+
|
|
111
115
|
this.chartRef = chartRef;
|
|
112
116
|
}
|
|
113
117
|
/**
|
|
@@ -115,15 +119,18 @@ var ChartingApiFunctional = /*#__PURE__*/function () {
|
|
|
115
119
|
*
|
|
116
120
|
* @memberof ChartingApiFunctional
|
|
117
121
|
*/
|
|
122
|
+
|
|
123
|
+
|
|
118
124
|
_createClass(ChartingApiFunctional, [{
|
|
119
125
|
key: "highlight",
|
|
120
126
|
value: function highlight() {
|
|
121
127
|
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
128
|
+
xValue: '',
|
|
129
|
+
seriesName: ''
|
|
130
|
+
},
|
|
131
|
+
xValue = _ref.xValue,
|
|
132
|
+
seriesName = _ref.seriesName;
|
|
133
|
+
|
|
127
134
|
this.getChart().highlight(xValue, seriesName);
|
|
128
135
|
}
|
|
129
136
|
/**
|
|
@@ -131,21 +138,25 @@ var ChartingApiFunctional = /*#__PURE__*/function () {
|
|
|
131
138
|
*
|
|
132
139
|
* @memberof ChartingApiFunctional
|
|
133
140
|
*/
|
|
141
|
+
|
|
134
142
|
}, {
|
|
135
143
|
key: "unHighlight",
|
|
136
144
|
value: function unHighlight() {
|
|
137
145
|
this.getChart().unHighlight();
|
|
138
|
-
}
|
|
139
|
-
|
|
146
|
+
} // returns chart object
|
|
147
|
+
|
|
140
148
|
}, {
|
|
141
149
|
key: "getChart",
|
|
142
150
|
value: function getChart() {
|
|
143
151
|
var _a;
|
|
152
|
+
|
|
144
153
|
return (_a = this.chartRef) === null || _a === void 0 ? void 0 : _a.current;
|
|
145
154
|
}
|
|
146
155
|
}]);
|
|
156
|
+
|
|
147
157
|
return ChartingApiFunctional;
|
|
148
158
|
}();
|
|
159
|
+
|
|
149
160
|
exports.ChartingApiFunctional = ChartingApiFunctional;
|
|
150
161
|
|
|
151
162
|
/***/ }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/common/ChartingApi.ts","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"@babel/runtime/helpers/createClass\""],"names":[
|
|
1
|
+
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/common/ChartingApi.ts","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"@babel/runtime/helpers/createClass\""],"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;;;;;;;;;;;;;;;;;;;;IC9Da,qB;AACT;AACA,iCAAoB,QAApB,EAAiC;AAAA;;AAAb;AAAiB;AAErC;;;;AAIG;;;;;WACH,qBAAwE;AAAA,qFAA9B;AAAE,cAAM,EAAE,EAAV;AAAc,kBAAU,EAAE;AAA1B,OAA8B;AAAA,UAA5D,MAA4D,QAA5D,MAA4D;AAAA,UAApD,UAAoD,QAApD,UAAoD;;AACpE,WAAK,QAAL,GAAgB,SAAhB,CAA0B,MAA1B,EAAkC,UAAlC;AACH;AAED;;;;AAIG;;;;WACH,uBAAW;AACP,WAAK,QAAL,GAAgB,WAAhB;AACH,K,CAED;;;;WACA,oBAAQ;;;AACJ,aAAO,WAAK,QAAL,MAAa,IAAb,IAAa,aAAb,GAAa,MAAb,GAAa,GAAE,OAAtB;AACH;;;;;;AAzBL,sD;;;;;;;ACpBA,kE;;;;;;;ACAA,+D","file":"ChartingApi.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 = 22);\n","import jsCharting from '@splunk/charting-bundle';\n\ninterface Point {\n /**\n * Valid xValue of the chart\n *\n * @type {string|number}\n * @memberof Point\n */\n xValue?: string | number;\n\n /**\n * Valid seriesName for a chart\n *\n * @type {string}\n * @memberof Point\n */\n seriesName?: string;\n}\n\nexport class ChartingApiFunctional {\n // eslint-disable-next-line no-useless-constructor\n constructor(private chartRef: any) {}\n\n /**\n * Allows users to programmatically highlight a point on the chart\n *\n * @memberof ChartingApiFunctional\n */\n highlight({ xValue, seriesName }: Point = { xValue: '', seriesName: '' }): void {\n this.getChart().highlight(xValue, seriesName);\n }\n\n /**\n * Allows users to programmatically unhighlight all points on the chart\n *\n * @memberof ChartingApiFunctional\n */\n unHighlight(): void {\n this.getChart().unHighlight();\n }\n\n // returns chart object\n getChart(): jsCharting {\n return this.chartRef?.current;\n }\n}\n","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","module.exports = require(\"@babel/runtime/helpers/createClass\");"],"sourceRoot":""}
|