UNPKG

@adaptabletools/adaptable

Version:

Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements

80 lines (79 loc) 3.33 kB
import { ApiBase } from '../Implementation/ApiBase'; export class ChartingInternalApi extends ApiBase { getContainerElement(chartContainer) { const element = typeof chartContainer?.element === 'string' ? document.querySelector(chartContainer.element) : chartContainer?.element; if (!element && typeof chartContainer?.element === 'string') { this.getAdatableLogger().consoleLogByMessageType(`Chart container element not found: ${chartContainer.element}`, 'Error'); return null; } return element; } getContainerElemetnByName(containerName) { const chartContainers = this.getChartingOptions().chartContainers ?? []; const chartContainer = chartContainers.find((container) => container.name === containerName); return this.getContainerElement(chartContainer); } getUniqueChartName() { const charts = this.getChartingApi().getChartDefinitions(); const externalCharts = this.getChartingApi().getExternalChartDefinitions(); return `Chart ${charts.length + externalCharts.length + 1}`; } // External lib charting service isExternalChartOpened(chartDefinition) { const externalChartingOptions = this.getChartingOptions().externalChartingOptions; if (!externalChartingOptions?.isChartOpened) { return false; } if (!chartDefinition) { return false; } return externalChartingOptions.isChartOpened({ chartDefinition: chartDefinition, ...this.getAdaptableInternalApi().buildBaseContext(), }); } onHideExternalChart(chartDefinition) { const externalChartingOptions = this.getChartingOptions().externalChartingOptions; if (!externalChartingOptions?.onHideChart) { return; } externalChartingOptions.onHideChart({ chartDefinition: chartDefinition, ...this.getAdaptableInternalApi().buildBaseContext(), }); } onShowExternalChart(chartDefinition, container) { const externalChartingOptions = this.getChartingOptions().externalChartingOptions; if (!externalChartingOptions?.onShowChart) { return; } externalChartingOptions.onShowChart({ chartDefinition: chartDefinition, container: container, ...this.getAdaptableInternalApi().buildBaseContext(), }); } onPreviewExternalChart(chartDefinition, container) { const externalChartingOptions = this.getChartingOptions().externalChartingOptions; if (!externalChartingOptions?.onPreviewChart) { return; } return externalChartingOptions.onPreviewChart({ chartDefinition: chartDefinition, container: container, ...this.getAdaptableInternalApi().buildBaseContext(), }); } onDeleteExternalChart(chartDefinition) { const externalChartingOptions = this.getChartingOptions().externalChartingOptions; if (!externalChartingOptions?.onDeleteChart) { return; } externalChartingOptions.onDeleteChart({ chartDefinition: chartDefinition, ...this.getAdaptableInternalApi().buildBaseContext(), }); } }