{"version":3,"file":"graphPlugin.f47f722cdfc0ceb85136.js","mappings":"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","sources":["webpack://grafana/./public/app/angular/AngularLocationWrapper.ts","webpack://grafana/./public/app/angular/panel/metrics_panel_ctrl.ts","webpack://grafana/./public/app/angular/panel/panel_ctrl.ts","webpack://grafana/./public/app/features/alerting/state/ThresholdMapper.ts","webpack://grafana/./public/app/features/dashboard/utils/loadSnapshotData.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/utils.ts","webpack://grafana/./public/app/plugins/panel/graph/graph.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/GraphMigrations.ts","webpack://grafana/./public/app/plugins/panel/graph/axes_editor.ts","webpack://grafana/./public/app/plugins/panel/graph/data_processor.ts","webpack://grafana/./public/app/plugins/panel/graph/template.ts","webpack://grafana/./public/app/plugins/panel/graph/module.ts"],"sourcesContent":["import { deprecationWarning, urlUtil } from '@grafana/data';\nimport { locationSearchToObject, locationService, navigationLogger } from '@grafana/runtime';\n\n// Ref: https://github.com/angular/angular.js/blob/ae8e903edf88a83fedd116ae02c0628bf72b150c/src/ng/location.js#L5\nconst DEFAULT_PORTS: Record = { http: 80, https: 443, ftp: 21 };\n\nexport class AngularLocationWrapper {\n constructor() {\n this.absUrl = this.wrapInDeprecationWarning(this.absUrl);\n this.hash = this.wrapInDeprecationWarning(this.hash);\n this.host = this.wrapInDeprecationWarning(this.host);\n this.path = this.wrapInDeprecationWarning(this.path);\n this.port = this.wrapInDeprecationWarning(this.port, 'window.location');\n this.protocol = this.wrapInDeprecationWarning(this.protocol, 'window.location');\n this.replace = this.wrapInDeprecationWarning(this.replace);\n this.search = this.wrapInDeprecationWarning(this.search);\n this.state = this.wrapInDeprecationWarning(this.state);\n this.url = this.wrapInDeprecationWarning(this.url);\n }\n\n wrapInDeprecationWarning(fn: Function, replacement?: string) {\n let self = this;\n\n return function wrapper() {\n deprecationWarning('$location', fn.name, replacement || 'locationService');\n return fn.apply(self, arguments);\n };\n }\n\n absUrl(): string {\n return `${window.location.origin}${this.url()}`;\n }\n\n hash(newHash?: string | null) {\n navigationLogger('AngularLocationWrapper', false, 'Angular compat layer: hash');\n\n if (!newHash) {\n return locationService.getLocation().hash.slice(1);\n } else {\n throw new Error('AngularLocationWrapper method not implemented.');\n }\n }\n\n host(): string {\n return new URL(window.location.href).hostname;\n }\n\n path(pathname?: any) {\n navigationLogger('AngularLocationWrapper', false, 'Angular compat layer: path');\n\n const location = locationService.getLocation();\n\n if (pathname !== undefined && pathname !== null) {\n let parsedPath = String(pathname);\n parsedPath = parsedPath.startsWith('/') ? parsedPath : `/${parsedPath}`;\n const url = new URL(`${window.location.origin}${parsedPath}`);\n\n locationService.push({\n pathname: url.pathname,\n search: url.search.length > 0 ? url.search : location.search,\n hash: url.hash.length > 0 ? url.hash : location.hash,\n });\n return this;\n }\n\n if (pathname === null) {\n locationService.push('/');\n return this;\n }\n\n return location.pathname;\n }\n\n port(): number | null {\n const url = new URL(window.location.href);\n return parseInt(url.port, 10) || DEFAULT_PORTS[url.protocol] || null;\n }\n\n protocol(): string {\n return new URL(window.location.href).protocol.slice(0, -1);\n }\n\n replace() {\n throw new Error('AngularLocationWrapper method not implemented.');\n }\n\n search(search?: any, paramValue?: any) {\n navigationLogger('AngularLocationWrapper', false, 'Angular compat layer: search');\n if (!search) {\n return locationService.getSearchObject();\n }\n\n if (search && arguments.length > 1) {\n locationService.partial({\n [search]: paramValue,\n });\n\n return this;\n }\n\n if (search) {\n let newQuery;\n\n if (typeof search === 'object') {\n newQuery = { ...search };\n } else {\n newQuery = locationSearchToObject(search);\n }\n\n for (const key of Object.keys(newQuery)) {\n // removing params with null | undefined\n if (newQuery[key] === null || newQuery[key] === undefined) {\n delete newQuery[key];\n }\n }\n\n const updatedUrl = urlUtil.renderUrl(locationService.getLocation().pathname, newQuery);\n locationService.push(updatedUrl);\n }\n\n return this;\n }\n\n state(state?: any) {\n navigationLogger('AngularLocationWrapper', false, 'Angular compat layer: state');\n throw new Error('AngularLocationWrapper method not implemented.');\n }\n\n url(newUrl?: any) {\n navigationLogger('AngularLocationWrapper', false, 'Angular compat layer: url');\n\n if (newUrl !== undefined) {\n if (newUrl.startsWith('#')) {\n locationService.push({ ...locationService.getLocation(), hash: newUrl });\n } else if (newUrl.startsWith('?')) {\n locationService.push({ ...locationService.getLocation(), search: newUrl });\n } else if (newUrl.trim().length === 0) {\n locationService.push('/');\n } else {\n locationService.push(newUrl);\n }\n\n return locationService;\n }\n\n const location = locationService.getLocation();\n return `${location.pathname}${location.search}${location.hash}`;\n }\n}\n","import { isArray } from 'lodash';\nimport { Unsubscribable } from 'rxjs';\n\nimport {\n DataFrame,\n DataQueryResponse,\n DataSourceApi,\n LegacyResponseData,\n LoadingState,\n PanelData,\n PanelEvents,\n TimeRange,\n toDataFrameDTO,\n toLegacyResponseData,\n} from '@grafana/data';\nimport { PanelCtrl } from 'app/angular/panel/panel_ctrl';\nimport { ContextSrv } from 'app/core/services/context_srv';\nimport { PanelModel } from 'app/features/dashboard/state';\nimport { applyPanelTimeOverrides } from 'app/features/dashboard/utils/panel';\n\nimport { PanelQueryRunner } from '../../features/query/state/PanelQueryRunner';\n\nclass MetricsPanelCtrl extends PanelCtrl {\n declare datasource: DataSourceApi;\n declare range: TimeRange;\n\n contextSrv: ContextSrv;\n datasourceSrv: any;\n timeSrv: any;\n templateSrv: any;\n interval: any;\n intervalMs: any;\n resolution: any;\n timeInfo?: string;\n skipDataOnInit = false;\n dataList: LegacyResponseData[] = [];\n querySubscription?: Unsubscribable | null;\n useDataFrames = false;\n panelData?: PanelData;\n\n constructor($scope: any, $injector: any) {\n super($scope, $injector);\n\n this.contextSrv = $injector.get('contextSrv');\n this.datasourceSrv = $injector.get('datasourceSrv');\n this.timeSrv = $injector.get('timeSrv');\n this.templateSrv = $injector.get('templateSrv');\n this.panel.datasource = this.panel.datasource || null;\n\n this.events.on(PanelEvents.refresh, this.onMetricsPanelRefresh.bind(this));\n this.events.on(PanelEvents.panelTeardown, this.onPanelTearDown.bind(this));\n this.events.on(PanelEvents.componentDidMount, this.onMetricsPanelMounted.bind(this));\n }\n\n private onMetricsPanelMounted() {\n const queryRunner = this.panel.getQueryRunner() as PanelQueryRunner;\n this.querySubscription = queryRunner\n .getData({ withTransforms: true, withFieldConfig: true })\n .subscribe(this.panelDataObserver);\n }\n\n private onPanelTearDown() {\n if (this.querySubscription) {\n this.querySubscription.unsubscribe();\n this.querySubscription = null;\n }\n }\n\n private onMetricsPanelRefresh() {\n // ignore fetching data if another panel is in fullscreen\n if (this.otherPanelInFullscreenMode()) {\n return;\n }\n\n // if we have snapshot data use that\n if (this.panel.snapshotData) {\n this.updateTimeRange();\n let data = this.panel.snapshotData;\n // backward compatibility\n if (!isArray(data)) {\n data = data.data;\n }\n\n this.panelData = {\n state: LoadingState.Done,\n series: data,\n timeRange: this.range,\n };\n\n // Defer panel rendering till the next digest cycle.\n // For some reason snapshot panels don't init at this time, so this helps to avoid rendering issues.\n return this.$timeout(() => {\n this.events.emit(PanelEvents.dataSnapshotLoad, data);\n });\n }\n\n // clear loading/error state\n delete this.error;\n this.loading = true;\n\n // load datasource service\n return this.datasourceSrv\n .get(this.panel.datasource, this.panel.scopedVars)\n .then(this.issueQueries.bind(this))\n .catch((err: any) => {\n this.processDataError(err);\n });\n }\n\n processDataError(err: any) {\n // if canceled keep loading set to true\n if (err.cancelled) {\n console.log('Panel request cancelled', err);\n return;\n }\n\n this.error = err.message || 'Request Error';\n\n if (err.data) {\n if (err.data.message) {\n this.error = err.data.message;\n } else if (err.data.error) {\n this.error = err.data.error;\n }\n }\n\n this.angularDirtyCheck();\n }\n\n angularDirtyCheck() {\n if (!this.$scope.$root.$$phase) {\n this.$scope.$digest();\n }\n }\n\n // Updates the response with information from the stream\n panelDataObserver = {\n next: (data: PanelData) => {\n this.panelData = data;\n\n if (data.state === LoadingState.Error) {\n this.loading = false;\n this.processDataError(data.error);\n }\n\n // Ignore data in loading state\n if (data.state === LoadingState.Loading) {\n this.loading = true;\n this.angularDirtyCheck();\n return;\n }\n\n if (data.request) {\n const { timeInfo } = data.request;\n if (timeInfo) {\n this.timeInfo = timeInfo;\n }\n }\n\n if (data.timeRange) {\n this.range = data.timeRange;\n }\n\n if (this.useDataFrames) {\n this.handleDataFrames(data.series);\n } else {\n // Make the results look as if they came directly from a <6.2 datasource request\n const legacy = data.series.map((v) => toLegacyResponseData(v));\n this.handleQueryResult({ data: legacy });\n }\n\n this.angularDirtyCheck();\n },\n };\n\n updateTimeRange(datasource?: DataSourceApi) {\n this.datasource = datasource || this.datasource;\n this.range = this.timeSrv.timeRange();\n\n const newTimeData = applyPanelTimeOverrides(this.panel, this.range);\n this.timeInfo = newTimeData.timeInfo;\n this.range = newTimeData.timeRange;\n }\n\n issueQueries(datasource: DataSourceApi) {\n this.updateTimeRange(datasource);\n\n this.datasource = datasource;\n\n const panel = this.panel as PanelModel;\n const queryRunner = panel.getQueryRunner();\n\n return queryRunner.run({\n datasource: panel.datasource,\n queries: panel.targets,\n panelId: panel.id,\n dashboardUID: this.dashboard.uid,\n timezone: this.dashboard.getTimezone(),\n timeInfo: this.timeInfo,\n timeRange: this.range,\n maxDataPoints: panel.maxDataPoints || this.width,\n minInterval: panel.interval,\n scopedVars: panel.scopedVars,\n cacheTimeout: panel.cacheTimeout,\n queryCachingTTL: panel.queryCachingTTL,\n transformations: panel.transformations,\n });\n }\n\n handleDataFrames(data: DataFrame[]) {\n this.loading = false;\n\n if (this.dashboard && this.dashboard.snapshot) {\n this.panel.snapshotData = data.map((frame) => toDataFrameDTO(frame));\n }\n\n try {\n this.events.emit(PanelEvents.dataFramesReceived, data);\n } catch (err) {\n this.processDataError(err);\n }\n }\n\n handleQueryResult(result: DataQueryResponse) {\n this.loading = false;\n\n if (this.dashboard.snapshot) {\n this.panel.snapshotData = result.data;\n }\n\n if (!result || !result.data) {\n console.log('Data source query result invalid, missing data field:', result);\n result = { data: [] };\n }\n\n try {\n this.events.emit(PanelEvents.dataReceived, result.data);\n } catch (err) {\n this.processDataError(err);\n }\n }\n}\n\nexport { MetricsPanelCtrl };\n","import { auto } from 'angular';\nimport { isString } from 'lodash';\n\nimport {\n AppEvent,\n PanelEvents,\n PanelPluginMeta,\n AngularPanelMenuItem,\n EventBusExtended,\n EventBusSrv,\n} from '@grafana/data';\nimport { AngularLocationWrapper } from 'app/angular/AngularLocationWrapper';\nimport config from 'app/core/config';\nimport { profiler } from 'app/core/core';\n\nimport { DashboardModel } from '../../features/dashboard/state';\n\nexport class PanelCtrl {\n panel: any;\n error: any;\n declare dashboard: DashboardModel;\n pluginName = '';\n pluginId = '';\n editorTabs: any;\n $scope: any;\n $injector: auto.IInjectorService;\n $timeout: any;\n editModeInitiated = false;\n declare height: number;\n declare width: number;\n containerHeight: any;\n events: EventBusExtended;\n loading = false;\n timing: any;\n $location: AngularLocationWrapper;\n\n constructor($scope: any, $injector: auto.IInjectorService) {\n this.panel = this.panel ?? $scope.$parent.panel;\n this.dashboard = this.dashboard ?? $scope.$parent.dashboard;\n this.$injector = $injector;\n this.$scope = $scope;\n this.$timeout = $injector.get('$timeout');\n this.editorTabs = [];\n this.$location = new AngularLocationWrapper();\n this.events = new EventBusSrv();\n this.timing = {}; // not used but here to not break plugins\n\n const plugin = config.panels[this.panel.type];\n if (plugin) {\n this.pluginId = plugin.id;\n this.pluginName = plugin.name;\n }\n\n $scope.$on(PanelEvents.componentDidMount.name, () => this.panelDidMount());\n }\n\n panelDidMount() {\n this.events.emit(PanelEvents.componentDidMount);\n this.events.emit(PanelEvents.initialized);\n this.dashboard.panelInitialized(this.panel);\n }\n\n renderingCompleted() {\n profiler.renderingCompleted();\n }\n\n refresh() {\n this.panel.refresh();\n }\n\n publishAppEvent(event: AppEvent, payload?: T) {\n this.$scope.$root.appEvent(event, payload);\n }\n\n initEditMode() {\n if (!this.editModeInitiated) {\n this.editModeInitiated = true;\n this.events.emit(PanelEvents.editModeInitialized);\n }\n }\n\n addEditorTab(title: string, directiveFn: any, index?: number, icon?: any) {\n const editorTab = { title, directiveFn, icon };\n\n if (isString(directiveFn)) {\n editorTab.directiveFn = () => {\n return { templateUrl: directiveFn };\n };\n }\n\n if (index) {\n this.editorTabs.splice(index, 0, editorTab);\n } else {\n this.editorTabs.push(editorTab);\n }\n }\n\n getExtendedMenu() {\n const menu: AngularPanelMenuItem[] = [];\n this.events.emit(PanelEvents.initPanelActions, menu);\n return menu;\n }\n\n // Override in sub-class to add items before extended menu\n async getAdditionalMenuItems(): Promise {\n return [];\n }\n\n otherPanelInFullscreenMode() {\n return this.dashboard.otherPanelInFullscreen(this.panel);\n }\n\n render(payload?: any) {\n this.events.emit(PanelEvents.render, payload);\n }\n\n // overriden from react\n onPluginTypeChange = (plugin: PanelPluginMeta) => {};\n}\n","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 {\n applyFieldOverrides,\n arrayToDataFrame,\n getDefaultTimeRange,\n getProcessedDataFrames,\n LoadingState,\n PanelData,\n} from '@grafana/data';\nimport { config } from 'app/core/config';\n\nimport { SnapshotWorker } from '../../query/state/DashboardQueryRunner/SnapshotWorker';\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 = [arrayToDataFrame(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 structureRev: 1,\n annotations,\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\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\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 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 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 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 */\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
{value}
;\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 renderCallback?: () => void;\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 renderCallback,\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