{"version":3,"file":"graphPlugin.0dfd49f78dc93c695e30.js","mappings":"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","sources":["webpack://grafana/./public/app/features/alerting/state/ThresholdMapper.ts","webpack://grafana/./public/app/features/dashboard/utils/loadSnapshotData.ts","webpack://grafana/./public/app/features/panel/panellinks/linkSuppliers.ts","webpack://grafana/./public/app/plugins/panel/graph/jquery.flot.events.ts","webpack://grafana/./public/app/plugins/panel/graph/Legend/LegendSeriesItem.tsx","webpack://grafana/./public/app/plugins/panel/graph/Legend/Legend.tsx","webpack://grafana/./public/app/plugins/panel/graph/align_yaxes.ts","webpack://grafana/./public/app/plugins/panel/graph/event_manager.ts","webpack://grafana/./public/app/plugins/panel/graph/graph_tooltip.ts","webpack://grafana/./public/app/plugins/panel/graph/histogram.ts","webpack://grafana/./public/app/plugins/panel/graph/threshold_manager.ts","webpack://grafana/./public/app/plugins/panel/graph/time_region_manager.ts","webpack://grafana/./public/app/plugins/panel/graph/graph.ts","webpack://grafana/./public/app/plugins/panel/graph/utils.ts","webpack://grafana/./public/app/plugins/panel/graph/series_overrides_ctrl.ts","webpack://grafana/./public/app/plugins/panel/graph/thresholds_form.ts","webpack://grafana/./public/app/plugins/panel/graph/time_regions_form.ts","webpack://grafana/./public/app/plugins/panel/graph/annotation_tooltip.ts","webpack://grafana/./public/app/plugins/panel/graph/event_editor.ts","webpack://grafana/./public/app/plugins/panel/graph/GraphContextMenuCtrl.ts","webpack://grafana/./public/app/plugins/panel/graph/axes_editor.ts","webpack://grafana/./public/app/plugins/panel/graph/module.ts","webpack://grafana/./public/app/plugins/panel/graph/template.ts","webpack://grafana/./public/app/plugins/panel/graph/GraphMigrations.ts"],"sourcesContent":["import { config } from 'app/core/config';\nimport { PanelModel } from 'app/features/dashboard/state';\n\nexport const hiddenReducerTypes = ['percent_diff', 'percent_diff_abs'];\nexport class ThresholdMapper {\n static alertToGraphThresholds(panel: PanelModel) {\n if (!panel.alert || config.unifiedAlertingEnabled) {\n return false; // no update when no alerts\n }\n\n for (let i = 0; i < panel.alert.conditions.length; i++) {\n const condition = panel.alert.conditions[i];\n if (condition.type !== 'query') {\n continue;\n }\n\n const evaluator = condition.evaluator;\n const thresholds: any[] = (panel.thresholds = []);\n const visible = hiddenReducerTypes.indexOf(condition.reducer?.type) === -1;\n\n switch (evaluator.type) {\n case 'gt': {\n const value = evaluator.params[0];\n thresholds.push({ value: value, op: 'gt', visible });\n break;\n }\n case 'lt': {\n const value = evaluator.params[0];\n thresholds.push({ value: value, op: 'lt', visible });\n break;\n }\n case 'outside_range': {\n const value1 = evaluator.params[0];\n const value2 = evaluator.params[1];\n\n if (value1 > value2) {\n thresholds.push({ value: value1, op: 'gt', visible });\n thresholds.push({ value: value2, op: 'lt', visible });\n } else {\n thresholds.push({ value: value1, op: 'lt', visible });\n thresholds.push({ value: value2, op: 'gt', visible });\n }\n\n break;\n }\n case 'within_range': {\n const value1 = evaluator.params[0];\n const value2 = evaluator.params[1];\n\n if (value1 > value2) {\n thresholds.push({ value: value1, op: 'lt', visible });\n thresholds.push({ value: value2, op: 'gt', visible });\n } else {\n thresholds.push({ value: value1, op: 'gt', visible });\n thresholds.push({ value: value2, op: 'lt', visible });\n }\n break;\n }\n }\n break;\n }\n\n for (const t of panel.thresholds) {\n t.fill = panel.options.alertThreshold;\n t.line = panel.options.alertThreshold;\n t.colorMode = 'critical';\n }\n\n const updated = true;\n return updated;\n }\n}\n","import { applyFieldOverrides, ArrayDataFrame, getDefaultTimeRange, LoadingState, PanelData } from '@grafana/data';\nimport { config } from 'app/core/config';\n\nimport { SnapshotWorker } from '../../query/state/DashboardQueryRunner/SnapshotWorker';\nimport { getProcessedDataFrames } from '../../query/state/runRequest';\nimport { getTimeSrv } from '../services/TimeSrv';\nimport { DashboardModel, PanelModel } from '../state';\n\nimport { applyPanelTimeOverrides } from './panel';\n\nexport function loadSnapshotData(panel: PanelModel, dashboard: DashboardModel): PanelData {\n const data = getProcessedDataFrames(panel.snapshotData);\n const worker = new SnapshotWorker();\n const options = { dashboard, range: getDefaultTimeRange() };\n const annotationEvents = worker.canWork(options) ? worker.getAnnotationsInSnapshot(dashboard, panel.id) : [];\n const annotations = [new ArrayDataFrame(annotationEvents)];\n const timeData = applyPanelTimeOverrides(panel, getTimeSrv().timeRange());\n\n return {\n timeRange: timeData.timeRange,\n state: LoadingState.Done,\n series: applyFieldOverrides({\n data,\n fieldConfig: {\n defaults: {},\n overrides: [],\n },\n replaceVariables: panel.replaceVariables,\n fieldConfigRegistry: panel.plugin!.fieldConfigRegistry,\n theme: config.theme2,\n timeZone: dashboard.getTimezone(),\n }),\n annotations,\n };\n}\n","import {\n DataLink,\n DisplayValue,\n FieldDisplay,\n formattedValueToString,\n getFieldDisplayValuesProxy,\n getTimeField,\n InterpolateFunction,\n Labels,\n LinkModelSupplier,\n ScopedVar,\n ScopedVars,\n} from '@grafana/data';\nimport { PanelModel } from 'app/features/dashboard/state/PanelModel';\n\nimport { getLinkSrv } from './link_srv';\n\ninterface SeriesVars {\n name?: string;\n refId?: string;\n}\n\ninterface FieldVars {\n name: string;\n labels?: Labels;\n}\n\ninterface ValueVars {\n raw: any;\n numeric: number;\n text: string;\n time?: number;\n calc?: string;\n}\n\ninterface DataViewVars {\n name?: string;\n refId?: string;\n fields?: Record;\n}\n\ninterface DataLinkScopedVars extends ScopedVars {\n __series: ScopedVar;\n __field: ScopedVar;\n __value: ScopedVar;\n __data: ScopedVar;\n}\n\n/**\n * Link suppliers creates link models based on a link origin\n */\nexport const getFieldLinksSupplier = (value: FieldDisplay): LinkModelSupplier | undefined => {\n const links = value.field.links;\n if (!links || links.length === 0) {\n return undefined;\n }\n\n return {\n getLinks: (replaceVariables: InterpolateFunction) => {\n const scopedVars: Partial = {};\n\n if (value.view) {\n const { dataFrame } = value.view;\n\n scopedVars['__series'] = {\n value: {\n name: dataFrame.name,\n refId: dataFrame.refId,\n },\n text: 'Series',\n };\n\n const field = value.colIndex !== undefined ? dataFrame.fields[value.colIndex] : undefined;\n\n if (field) {\n scopedVars['__field'] = {\n value: {\n name: field.name,\n labels: field.labels,\n },\n text: 'Field',\n };\n\n if (value.rowIndex !== undefined && value.rowIndex >= 0) {\n const { timeField } = getTimeField(dataFrame);\n scopedVars['__value'] = {\n value: {\n raw: field.values.get(value.rowIndex),\n numeric: value.display.numeric,\n text: formattedValueToString(value.display),\n time: timeField ? timeField.values.get(value.rowIndex) : undefined,\n },\n text: 'Value',\n };\n }\n\n // Expose other values on the row\n if (value.view) {\n scopedVars['__data'] = {\n value: {\n name: dataFrame.name,\n refId: dataFrame.refId,\n fields: getFieldDisplayValuesProxy({\n frame: dataFrame,\n rowIndex: value.rowIndex!,\n }),\n },\n text: 'Data',\n };\n }\n } else {\n // calculation\n scopedVars['__value'] = {\n value: {\n raw: value.display.numeric,\n numeric: value.display.numeric,\n text: formattedValueToString(value.display),\n calc: value.name,\n },\n text: 'Value',\n };\n }\n } else {\n console.log('VALUE', value);\n }\n\n const replace: InterpolateFunction = (value: string, vars: ScopedVars | undefined, fmt?: string | Function) => {\n const finalVars: ScopedVars = {\n ...(scopedVars as ScopedVars),\n ...vars,\n };\n return replaceVariables(value, finalVars, fmt);\n };\n\n return links.map((link: DataLink) => {\n return getLinkSrv().getDataLinkUIModel(link, replace, value);\n });\n },\n };\n};\n\nexport const getPanelLinksSupplier = (panel: PanelModel): LinkModelSupplier | undefined => {\n const links = panel.links;\n\n if (!links || links.length === 0) {\n return undefined;\n }\n\n return {\n getLinks: () => {\n return links.map((link) => {\n return getLinkSrv().getDataLinkUIModel(link, panel.replaceVariables, panel);\n });\n },\n };\n};\n","import $ from 'jquery';\nimport { partition, each } from 'lodash';\n//@ts-ignore\nimport Drop from 'tether-drop';\n\nimport { CreatePlotOverlay } from '@grafana/data';\nimport { getLegacyAngularInjector } from '@grafana/runtime';\n\n/** @ngInject */\nconst createAnnotationToolip: CreatePlotOverlay = (element, event, plot) => {\n const injector = getLegacyAngularInjector();\n const content = document.createElement('div');\n content.innerHTML = '';\n\n injector.invoke([\n '$compile',\n '$rootScope',\n ($compile, $rootScope) => {\n const eventManager = plot.getOptions().events.manager;\n const tmpScope = $rootScope.$new(true);\n tmpScope.event = event;\n tmpScope.onEdit = () => {\n eventManager.editEvent(event);\n };\n\n $compile(content)(tmpScope);\n tmpScope.$digest();\n tmpScope.$destroy();\n\n const drop = new Drop({\n target: element[0],\n content: content,\n position: 'bottom center',\n classes: 'drop-popover drop-popover--annotation',\n openOn: 'hover',\n hoverCloseDelay: 200,\n tetherOptions: {\n constraints: [{ to: 'window', pin: true, attachment: 'both' }],\n },\n });\n\n drop.open();\n\n drop.on('close', () => {\n setTimeout(() => {\n drop.destroy();\n });\n });\n },\n ]);\n};\n\nlet markerElementToAttachTo: any = null;\n\n/** @ngInject */\nconst createEditPopover: CreatePlotOverlay = (element, event, plot) => {\n const eventManager = plot.getOptions().events.manager;\n if (eventManager.editorOpen) {\n // update marker element to attach to (needed in case of legend on the right\n // when there is a double render pass and the initial marker element is removed)\n markerElementToAttachTo = element;\n return;\n }\n\n // mark as openend\n eventManager.editorOpened();\n // set marker elment to attache to\n markerElementToAttachTo = element;\n\n // wait for element to be attached and positioned\n setTimeout(() => {\n const injector = getLegacyAngularInjector();\n const content = document.createElement('div');\n content.innerHTML = '';\n\n injector.invoke([\n '$compile',\n '$rootScope',\n ($compile, $rootScope) => {\n const scope = $rootScope.$new(true);\n let drop: any;\n\n scope.event = event;\n scope.panelCtrl = eventManager.panelCtrl;\n scope.close = () => {\n drop.close();\n };\n\n $compile(content)(scope);\n scope.$digest();\n\n drop = new Drop({\n target: markerElementToAttachTo[0],\n content: content,\n position: 'bottom center',\n classes: 'drop-popover drop-popover--form',\n openOn: 'click',\n tetherOptions: {\n constraints: [{ to: 'window', pin: true, attachment: 'both' }],\n },\n });\n\n drop.open();\n eventManager.editorOpened();\n\n drop.on('close', () => {\n // need timeout here in order call drop.destroy\n setTimeout(() => {\n eventManager.editorClosed();\n scope.$destroy();\n drop.destroy();\n });\n });\n },\n ]);\n }, 100);\n};\n\nexport { createEditPopover, createAnnotationToolip };\n\n/*\n * jquery.flot.events\n *\n * description: Flot plugin for adding events/markers to the plot\n * version: 0.2.5\n * authors:\n * Alexander Wunschik \n * Joel Oughton \n * Nicolas Joseph \n *\n * website: https://github.com/mojoaxel/flot-events\n *\n * released under MIT License and GPLv2+\n */\n\n/**\n * A class that allows for the drawing an remove of some object\n */\nexport class DrawableEvent {\n _object: any;\n _drawFunc: any;\n _clearFunc: any;\n _moveFunc: any;\n _position: any;\n _width: any;\n _height: any;\n\n /** @ngInject */\n constructor(\n object: JQuery,\n drawFunc: any,\n clearFunc: any,\n moveFunc: any,\n left: number,\n top: number,\n width: number,\n height: number\n ) {\n this._object = object;\n this._drawFunc = drawFunc;\n this._clearFunc = clearFunc;\n this._moveFunc = moveFunc;\n this._position = { left, top };\n this._width = width;\n this._height = height;\n }\n\n width() {\n return this._width;\n }\n height() {\n return this._height;\n }\n position() {\n return this._position;\n }\n draw() {\n this._drawFunc(this._object);\n }\n clear() {\n this._clearFunc(this._object);\n }\n getObject() {\n return this._object;\n }\n moveTo(position: { left: number; top: number }) {\n this._position = position;\n this._moveFunc(this._object, this._position);\n }\n}\n\n/**\n * Event class that stores options (eventType, min, max, title, description) and the object to draw.\n */\nexport class VisualEvent {\n _parent: any;\n _options: any;\n _drawableEvent: any;\n _hidden: any;\n\n /** @ngInject */\n constructor(options: any, drawableEvent: DrawableEvent) {\n this._options = options;\n this._drawableEvent = drawableEvent;\n this._hidden = false;\n }\n\n visual() {\n return this._drawableEvent;\n }\n getOptions() {\n return this._options;\n }\n getParent() {\n return this._parent;\n }\n isHidden() {\n return this._hidden;\n }\n hide() {\n this._hidden = true;\n }\n unhide() {\n this._hidden = false;\n }\n}\n\n/**\n * A Class that handles the event-markers inside the given plot\n */\nexport class EventMarkers {\n _events: any;\n _types: any;\n _plot: any;\n eventsEnabled: any;\n\n /** @ngInject */\n constructor(plot: any) {\n this._events = [];\n this._types = [];\n this._plot = plot;\n this.eventsEnabled = false;\n }\n\n getEvents() {\n return this._events;\n }\n\n setTypes(types: any) {\n return (this._types = types);\n }\n\n /**\n * create internal objects for the given events\n */\n setupEvents(events: any[]) {\n const parts = partition(events, 'isRegion');\n const regions = parts[0];\n events = parts[1];\n\n $.each(events, (index, event) => {\n const ve = new VisualEvent(event, this._buildDiv(event));\n this._events.push(ve);\n });\n\n $.each(regions, (index, event) => {\n const vre = new VisualEvent(event, this._buildRegDiv(event));\n this._events.push(vre);\n });\n\n this._events.sort((a: any, b: any) => {\n const ao = a.getOptions(),\n bo = b.getOptions();\n if (ao.min > bo.min) {\n return 1;\n }\n if (ao.min < bo.min) {\n return -1;\n }\n return 0;\n });\n }\n\n /**\n * draw the events to the plot\n */\n drawEvents() {\n // var o = this._plot.getPlotOffset();\n\n $.each(this._events, (index, event) => {\n const options = event.getOptions();\n const insidePlot = this._insidePlot(options.min) || this._insidePlot(options.timeEnd);\n const overlapPlot = this._overlapPlot(options.min, options.timeEnd);\n // check event is inside the graph range\n if ((insidePlot || overlapPlot) && !event.isHidden()) {\n event.visual().draw();\n } else {\n event.visual().getObject().hide();\n }\n });\n }\n\n /**\n * update the position of the event-markers (e.g. after scrolling or zooming)\n */\n updateEvents() {\n const o = this._plot.getPlotOffset();\n let left;\n let top;\n const xaxis = this._plot.getXAxes()[this._plot.getOptions().events.xaxis - 1];\n\n $.each(this._events, (index, event) => {\n top = o.top + this._plot.height() - event.visual().height();\n left = xaxis.p2c(event.getOptions().min) + o.left - event.visual().width() / 2;\n event.visual().moveTo({ top: top, left: left });\n });\n }\n\n /**\n * remove all events from the plot\n */\n _clearEvents() {\n $.each(this._events, (index, val) => {\n val.visual().clear();\n });\n this._events = [];\n }\n\n /**\n * create a DOM element for the given event\n */\n _buildDiv(event: { eventType: any; min: any; editModel: any }) {\n const that = this;\n\n const container = this._plot.getPlaceholder();\n const o = this._plot.getPlotOffset();\n const xaxis = this._plot.getXAxes()[this._plot.getOptions().events.xaxis - 1];\n let top, left, color, markerSize, markerShow, lineStyle, lineWidth;\n let markerTooltip;\n\n // map the eventType to a types object\n const eventTypeId = event.eventType;\n\n if (this._types === null || !this._types[eventTypeId] || !this._types[eventTypeId].color) {\n color = '#666';\n } else {\n color = this._types[eventTypeId].color;\n }\n\n if (this._types === null || !this._types[eventTypeId] || !this._types[eventTypeId].markerSize) {\n markerSize = 8; //default marker size\n } else {\n markerSize = this._types[eventTypeId].markerSize;\n }\n\n if (this._types === null || !this._types[eventTypeId] || this._types[eventTypeId].markerShow === undefined) {\n markerShow = true;\n } else {\n markerShow = this._types[eventTypeId].markerShow;\n }\n\n if (this._types === null || !this._types[eventTypeId] || this._types[eventTypeId].markerTooltip === undefined) {\n markerTooltip = true;\n } else {\n markerTooltip = this._types[eventTypeId].markerTooltip;\n }\n\n if (this._types == null || !this._types[eventTypeId] || !this._types[eventTypeId].lineStyle) {\n lineStyle = 'dashed'; //default line style\n } else {\n lineStyle = this._types[eventTypeId].lineStyle.toLowerCase();\n }\n\n if (this._types == null || !this._types[eventTypeId] || this._types[eventTypeId].lineWidth === undefined) {\n lineWidth = 1; //default line width\n } else {\n lineWidth = this._types[eventTypeId].lineWidth;\n }\n\n let topOffset = xaxis.options.eventSectionHeight || 0;\n topOffset = topOffset / 3;\n\n top = o.top + this._plot.height() + topOffset;\n left = xaxis.p2c(event.min) + o.left;\n\n const line = $('
')\n .css({\n position: 'absolute',\n opacity: 0.8,\n left: left + 'px',\n top: 8,\n width: lineWidth + 'px',\n height: this._plot.height() + topOffset * 0.8,\n 'border-left-width': lineWidth + 'px',\n 'border-left-style': lineStyle,\n 'border-left-color': color,\n color: color,\n })\n .appendTo(container);\n\n if (markerShow) {\n const marker = $('
').css({\n position: 'absolute',\n left: -markerSize - Math.round(lineWidth / 2) + 'px',\n 'font-size': 0,\n 'line-height': 0,\n width: 0,\n height: 0,\n 'border-left': markerSize + 'px solid transparent',\n 'border-right': markerSize + 'px solid transparent',\n });\n\n marker.appendTo(line);\n\n if (\n this._types[eventTypeId] &&\n this._types[eventTypeId].position &&\n this._types[eventTypeId].position.toUpperCase() === 'BOTTOM'\n ) {\n marker.css({\n top: top - markerSize - 8 + 'px',\n 'border-top': 'none',\n 'border-bottom': markerSize + 'px solid ' + color,\n });\n } else {\n marker.css({\n top: '0px',\n 'border-top': markerSize + 'px solid ' + color,\n 'border-bottom': 'none',\n });\n }\n\n marker.data({\n event: event,\n });\n\n const mouseenter = function (this: any) {\n createAnnotationToolip(marker, $(this).data('event'), that._plot);\n };\n\n if (event.editModel) {\n createEditPopover(marker, event.editModel, that._plot);\n }\n\n const mouseleave = () => {\n that._plot.clearSelection();\n };\n\n if (markerTooltip) {\n marker.css({ cursor: 'help' });\n marker.hover(mouseenter, mouseleave);\n }\n }\n\n const drawableEvent = new DrawableEvent(\n line,\n function drawFunc(obj: { show: () => void }) {\n obj.show();\n },\n (obj: { remove: () => void }) => {\n obj.remove();\n },\n (obj: any, position: { top: any; left: any }) => {\n obj.css({\n top: position.top,\n left: position.left,\n });\n },\n left,\n top,\n line.width() ?? 1,\n line.height() ?? 1\n );\n\n return drawableEvent;\n }\n\n /**\n * create a DOM element for the given region\n */\n _buildRegDiv(event: { eventType: any; min: number; timeEnd: number; editModel: any }) {\n const that = this;\n\n const container = this._plot.getPlaceholder();\n const o = this._plot.getPlotOffset();\n const xaxis = this._plot.getXAxes()[this._plot.getOptions().events.xaxis - 1];\n let top,\n left,\n lineWidth: number,\n regionWidth,\n lineStyle: string | number | cssPropertySetter,\n color: string,\n markerTooltip;\n\n // map the eventType to a types object\n const eventTypeId = event.eventType;\n\n if (this._types === null || !this._types[eventTypeId] || !this._types[eventTypeId].color) {\n color = '#666';\n } else {\n color = this._types[eventTypeId].color;\n }\n\n if (this._types === null || !this._types[eventTypeId] || this._types[eventTypeId].markerTooltip === undefined) {\n markerTooltip = true;\n } else {\n markerTooltip = this._types[eventTypeId].markerTooltip;\n }\n\n if (this._types == null || !this._types[eventTypeId] || this._types[eventTypeId].lineWidth === undefined) {\n lineWidth = 1; //default line width\n } else {\n lineWidth = this._types[eventTypeId].lineWidth;\n }\n\n if (this._types == null || !this._types[eventTypeId] || !this._types[eventTypeId].lineStyle) {\n lineStyle = 'dashed'; //default line style\n } else {\n lineStyle = this._types[eventTypeId].lineStyle.toLowerCase();\n }\n\n const topOffset = 2;\n top = o.top + this._plot.height() + topOffset;\n\n const timeFrom = Math.min(event.min, event.timeEnd);\n const timeTo = Math.max(event.min, event.timeEnd);\n left = xaxis.p2c(timeFrom) + o.left;\n const right = xaxis.p2c(timeTo) + o.left;\n\n const [xmin, xmax] = [o.left, o.left + this._plot.width()];\n const regionStart = Math.max(left, xmin);\n const regionEnd = Math.min(right, xmax);\n const regionOffset = right > xmax ? 0 : lineWidth; // only include lineWidth when right line is visible\n regionWidth = regionEnd - regionStart + regionOffset;\n\n each([left, right], (position) => {\n // only draw visible region lines\n if (xmin <= position && position < xmax) {\n const line = $('
').css({\n position: 'absolute',\n opacity: 0.8,\n left: position + 'px',\n top: 8,\n width: lineWidth + 'px',\n height: this._plot.height() + topOffset,\n 'border-left-width': lineWidth + 'px',\n 'border-left-style': lineStyle,\n 'border-left-color': color,\n color: color,\n });\n line.appendTo(container);\n }\n });\n\n const region = $('
').css({\n position: 'absolute',\n opacity: 0.5,\n left: regionStart + 'px',\n top: top,\n width: regionWidth + 'px',\n height: '0.5rem',\n 'border-left-color': color,\n color: color,\n 'background-color': color,\n });\n region.appendTo(container);\n\n region.data({\n event: event,\n });\n\n const mouseenter = function (this: any) {\n createAnnotationToolip(region, $(this).data('event'), that._plot);\n };\n\n if (event.editModel) {\n createEditPopover(region, event.editModel, that._plot);\n }\n\n const mouseleave = () => {\n that._plot.clearSelection();\n };\n\n if (markerTooltip) {\n region.css({ cursor: 'help' });\n region.hover(mouseenter, mouseleave);\n }\n\n const drawableEvent = new DrawableEvent(\n region,\n function drawFunc(obj: { show: () => void }) {\n obj.show();\n },\n (obj: { remove: () => void }) => {\n obj.remove();\n },\n (obj: { css: (arg0: { top: any; left: any }) => void }, position: { top: any; left: any }) => {\n obj.css({\n top: position.top,\n left: position.left,\n });\n },\n left,\n top,\n region.width() ?? 1,\n region.height() ?? 1\n );\n\n return drawableEvent;\n }\n\n /**\n * check if the event is inside visible range\n */\n _insidePlot(x: any) {\n const xaxis = this._plot.getXAxes()[this._plot.getOptions().events.xaxis - 1];\n const xc = xaxis.p2c(x);\n return xc > 0 && xc < xaxis.p2c(xaxis.max);\n }\n\n /**\n * check if the event overlaps the visible range\n */\n _overlapPlot(point0: number, point1: number) {\n const xaxis = this._plot.getXAxes()[this._plot.getOptions().events.xaxis - 1];\n const [coord0, coord1] = [xaxis.p2c(point0), xaxis.p2c(point1)];\n const [coordMin, coordMax] = [0, xaxis.p2c(xaxis.max)];\n return coordMin < coord0 && coord1 < coordMax;\n }\n}\n\n/**\n * initialize the plugin for the given plot\n */\n\n/** @ngInject */\nexport function init(this: any, plot: any) {\n const that = this;\n const eventMarkers = new EventMarkers(plot);\n\n plot.getEvents = () => {\n return eventMarkers._events;\n };\n\n plot.hideEvents = () => {\n $.each(eventMarkers._events, (index, event) => {\n event.visual().getObject().hide();\n });\n };\n\n plot.showEvents = () => {\n plot.hideEvents();\n $.each(eventMarkers._events, (index, event) => {\n event.hide();\n });\n\n that.eventMarkers.drawEvents();\n };\n\n // change events on an existing plot\n plot.setEvents = (events: any[]) => {\n if (eventMarkers.eventsEnabled) {\n eventMarkers.setupEvents(events);\n }\n };\n\n plot.hooks.processOptions.push((plot: any, options: any) => {\n // enable the plugin\n if (options.events.data != null) {\n eventMarkers.eventsEnabled = true;\n }\n });\n\n plot.hooks.draw.push((plot: any) => {\n const options = plot.getOptions();\n\n if (eventMarkers.eventsEnabled) {\n // check for first run\n if (eventMarkers.getEvents().length < 1) {\n eventMarkers.setTypes(options.events.types);\n eventMarkers.setupEvents(options.events.data);\n } else {\n eventMarkers.updateEvents();\n }\n }\n\n eventMarkers.drawEvents();\n });\n}\n\nconst defaultOptions: any = {\n events: {\n data: null,\n types: null,\n xaxis: 1,\n position: 'BOTTOM',\n },\n};\n\n$.plot.plugins.push({\n init: init,\n options: defaultOptions,\n name: 'events',\n version: '0.2.5',\n});\n","import classNames from 'classnames';\nimport React, { PureComponent } from 'react';\n\nimport { selectors } from '@grafana/e2e-selectors';\nimport { SeriesColorPicker, SeriesIcon } from '@grafana/ui';\nimport { TimeSeries } from 'app/core/core';\n\nexport const LEGEND_STATS = ['min', 'max', 'avg', 'current', 'total'] as const;\nexport type LegendStat = typeof LEGEND_STATS[number];\n\nexport interface LegendLabelProps {\n series: TimeSeries;\n asTable?: boolean;\n hidden?: boolean;\n onLabelClick: (series: any, event: any) => void;\n onColorChange: (series: any, color: string) => void;\n onToggleAxis: (series: any) => void;\n}\n\nexport interface LegendValuesProps {\n values?: boolean;\n min?: boolean;\n max?: boolean;\n avg?: boolean;\n current?: boolean;\n total?: boolean;\n}\n\ntype LegendItemProps = LegendLabelProps & LegendValuesProps;\n\ninterface LegendItemState {\n yaxis: number;\n}\n\nexport class LegendItem extends PureComponent {\n static defaultProps = {\n asTable: false,\n hidden: false,\n onLabelClick: () => {},\n onColorChange: () => {},\n onToggleAxis: () => {},\n };\n\n constructor(props: LegendItemProps) {\n super(props);\n this.state = {\n yaxis: this.props.series.yaxis,\n };\n }\n\n onLabelClick = (e: any) => this.props.onLabelClick(this.props.series, e);\n\n onToggleAxis = () => {\n const yaxis = this.state.yaxis === 2 ? 1 : 2;\n const info = { alias: this.props.series.alias, yaxis: yaxis };\n this.setState({ yaxis: yaxis });\n this.props.onToggleAxis(info);\n };\n\n onColorChange = (color: string) => {\n this.props.onColorChange(this.props.series, color);\n // Because of PureComponent nature it makes only shallow props comparison and changing of series.color doesn't run\n // component re-render. In this case we can't rely on color, selected by user, because it may be overwritten\n // by series overrides. So we need to use forceUpdate() to make sure we have proper series color.\n this.forceUpdate();\n };\n\n renderLegendValues() {\n const { series, asTable } = this.props;\n const legendValueItems = [];\n for (const valueName of LEGEND_STATS) {\n // @ts-ignore\n if (this.props[valueName]) {\n const valueFormatted = series.formatValue(series.stats[valueName]);\n legendValueItems.push(\n \n );\n }\n }\n return legendValueItems;\n }\n\n render() {\n const { series, values, asTable, hidden } = this.props;\n const seriesOptionClasses = classNames({\n 'graph-legend-series-hidden': hidden,\n 'graph-legend-series--right-y': series.yaxis === 2,\n });\n const valueItems = values ? this.renderLegendValues() : [];\n const seriesLabel = (\n \n );\n\n if (asTable) {\n return (\n \n \n
{seriesLabel}
\n \n {valueItems}\n \n );\n } else {\n return (\n
\n {seriesLabel}\n {valueItems}\n
\n );\n }\n }\n}\n\ninterface LegendSeriesLabelProps {\n label: string;\n color: string;\n yaxis?: number;\n onLabelClick: (event: any) => void;\n}\n\nclass LegendSeriesLabel extends PureComponent {\n static defaultProps: Partial = {\n yaxis: undefined,\n onLabelClick: () => {},\n };\n\n render() {\n const { label, color, yaxis } = this.props;\n const { onColorChange, onToggleAxis } = this.props;\n const onLabelClick = this.props.onLabelClick ? this.props.onLabelClick : () => {};\n\n return [\n ,\n \n {label}\n ,\n ];\n }\n}\n\ninterface LegendSeriesIconProps {\n color: string;\n yaxis?: number;\n onColorChange?: (color: string) => void;\n onToggleAxis?: () => void;\n}\n\ninterface LegendSeriesIconState {\n color: string;\n}\n\nclass LegendSeriesIcon extends PureComponent {\n static defaultProps: Partial = {\n yaxis: undefined,\n onColorChange: () => {},\n onToggleAxis: () => {},\n };\n\n onColorChange = (color: string) => {\n const { onColorChange } = this.props;\n if (onColorChange) {\n onColorChange(color);\n }\n };\n render() {\n return (\n \n {({ ref, showColorPicker, hideColorPicker }) => (\n \n )}\n \n );\n }\n}\n\ninterface LegendValueProps {\n value: string;\n valueName: string;\n asTable?: boolean;\n onValueClick?: (event: any) => void;\n}\n\nfunction LegendValue({ value, valueName, asTable, onValueClick }: LegendValueProps) {\n if (asTable) {\n return (\n \n {value}\n \n );\n }\n return (\n
\n {value}\n
\n );\n}\n","import { sortBy as _sortBy } from 'lodash';\nimport React, { PureComponent } from 'react';\n\nimport { CustomScrollbar, Icon } from '@grafana/ui';\nimport { TimeSeries } from 'app/core/core';\n\nimport { LegendStat, LegendItem, LEGEND_STATS } from './LegendSeriesItem';\n\ninterface LegendProps {\n seriesList: TimeSeries[];\n optionalClass?: string;\n}\n\ninterface LegendEventHandlers {\n onToggleSeries?: (hiddenSeries: any) => void;\n onToggleSort?: (sortBy: any, sortDesc: any) => void;\n onToggleAxis?: (series: TimeSeries) => void;\n onColorChange?: (series: TimeSeries, color: string) => void;\n}\n\ninterface LegendComponentEventHandlers {\n onToggleSeries?: (series: TimeSeries, event: any) => void;\n onToggleSort?: (sortBy: LegendStat | undefined, sortDesc: any) => void;\n onToggleAxis?: (series: TimeSeries) => void;\n onColorChange?: (series: TimeSeries, color: string) => void;\n}\n\ninterface LegendDisplayProps {\n hiddenSeries: any;\n hideEmpty?: boolean;\n hideZero?: boolean;\n alignAsTable?: boolean;\n rightSide?: boolean;\n sideWidth?: number;\n}\n\ninterface LegendValuesProps {\n values?: boolean;\n min?: boolean;\n max?: boolean;\n avg?: boolean;\n current?: boolean;\n total?: boolean;\n}\n\ninterface LegendSortProps {\n sort?: LegendStat;\n sortDesc?: boolean;\n}\n\nexport type GraphLegendProps = LegendProps &\n LegendDisplayProps &\n LegendValuesProps &\n LegendSortProps &\n LegendEventHandlers;\nexport type LegendComponentProps = LegendProps &\n LegendDisplayProps &\n LegendValuesProps &\n LegendSortProps &\n LegendComponentEventHandlers;\n\ninterface LegendState {\n hiddenSeries: { [seriesAlias: string]: boolean };\n}\n\nexport class GraphLegend extends PureComponent {\n static defaultProps: Partial = {\n values: false,\n min: false,\n max: false,\n avg: false,\n current: false,\n total: false,\n alignAsTable: false,\n rightSide: false,\n sort: undefined,\n sortDesc: false,\n optionalClass: '',\n onToggleSeries: () => {},\n onToggleSort: () => {},\n onToggleAxis: () => {},\n onColorChange: () => {},\n };\n\n constructor(props: GraphLegendProps) {\n super(props);\n this.state = {\n hiddenSeries: this.props.hiddenSeries,\n };\n }\n\n sortLegend() {\n let seriesList: TimeSeries[] = [...this.props.seriesList] || [];\n const sortBy = this.props.sort;\n if (sortBy && this.props[sortBy] && this.props.alignAsTable) {\n seriesList = _sortBy(seriesList, (series) => {\n let sort = series.stats[sortBy];\n if (sort === null) {\n sort = -Infinity;\n }\n return sort;\n }) as TimeSeries[];\n if (this.props.sortDesc) {\n seriesList = seriesList.reverse();\n }\n }\n return seriesList;\n }\n\n onToggleSeries = (series: TimeSeries, event: any) => {\n if (!this.props.onToggleSeries) {\n return;\n }\n\n let hiddenSeries = { ...this.state.hiddenSeries };\n if (event.ctrlKey || event.metaKey || event.shiftKey) {\n if (hiddenSeries[series.alias]) {\n delete hiddenSeries[series.alias];\n } else {\n hiddenSeries[series.alias] = true;\n }\n } else {\n hiddenSeries = this.toggleSeriesExclusiveMode(series);\n }\n this.setState({ hiddenSeries: hiddenSeries });\n this.props.onToggleSeries(hiddenSeries);\n };\n\n toggleSeriesExclusiveMode(series: TimeSeries) {\n const hiddenSeries = { ...this.state.hiddenSeries };\n\n if (hiddenSeries[series.alias]) {\n delete hiddenSeries[series.alias];\n }\n\n // check if every other series is hidden\n const alreadyExclusive = this.props.seriesList.every((value) => {\n if (value.alias === series.alias) {\n return true;\n }\n\n return hiddenSeries[value.alias];\n });\n\n if (alreadyExclusive) {\n // remove all hidden series\n this.props.seriesList.forEach((value) => {\n delete hiddenSeries[value.alias];\n });\n } else {\n // hide all but this serie\n this.props.seriesList.forEach((value) => {\n if (value.alias === series.alias) {\n return;\n }\n\n hiddenSeries[value.alias] = true;\n });\n }\n\n return hiddenSeries;\n }\n\n render() {\n const {\n optionalClass,\n rightSide,\n sideWidth,\n sort,\n sortDesc,\n hideEmpty,\n hideZero,\n values,\n min,\n max,\n avg,\n current,\n total,\n } = this.props;\n const seriesValuesProps = { values, min, max, avg, current, total };\n const hiddenSeries = this.state.hiddenSeries;\n const seriesHideProps = { hideEmpty, hideZero };\n const sortProps = { sort, sortDesc };\n const seriesList = this.sortLegend().filter((series) => !series.hideFromLegend(seriesHideProps));\n const legendClass = `${this.props.alignAsTable ? 'graph-legend-table' : ''} ${optionalClass}`;\n\n // Set min-width if side style and there is a value, otherwise remove the CSS property\n // Set width so it works with IE11\n const width: any = rightSide && sideWidth ? sideWidth : undefined;\n const ieWidth: any = rightSide && sideWidth ? sideWidth - 1 : undefined;\n const legendStyle: React.CSSProperties = {\n minWidth: width,\n width: ieWidth,\n };\n\n const legendProps: LegendComponentProps = {\n seriesList: seriesList,\n hiddenSeries: hiddenSeries,\n onToggleSeries: this.onToggleSeries,\n onToggleAxis: this.props.onToggleAxis,\n onToggleSort: this.props.onToggleSort,\n onColorChange: this.props.onColorChange,\n ...seriesValuesProps,\n ...sortProps,\n };\n\n return (\n
\n {this.props.alignAsTable ? : }\n
\n );\n }\n}\n\nclass LegendSeriesList extends PureComponent {\n render() {\n const { seriesList, hiddenSeries, values, min, max, avg, current, total } = this.props;\n const seriesValuesProps = { values, min, max, avg, current, total };\n return seriesList.map((series, i) => (\n