UNPKG

@adaptabletools/adaptable

Version:

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

84 lines (83 loc) 3.39 kB
import { ApiBase } from '../Implementation/ApiBase'; import { isChartNameTaken } from '../../Utilities/Helpers/ChartHelper'; 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() { let index = 1; let candidate = `Chart ${index}`; while (isChartNameTaken(this.getAdaptableApi(), candidate)) { index += 1; candidate = `Chart ${index}`; } return candidate; } 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(), }); } }