UNPKG

@adaptabletools/adaptable

Version:

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

101 lines (100 loc) 4.15 kB
import { ApiBase } from './ApiBase'; import * as StyledColumnRedux from '../../Redux/ActionsReducers/StyledColumnRedux'; import { StyledColumnInternalApi } from '../Internal/StyledColumnInternalApi'; import * as ModuleConstants from '../../Utilities/Constants/ModuleConstants'; export class StyledColumnApiImpl extends ApiBase { internalApi; constructor(_adaptable) { super(_adaptable); this.internalApi = new StyledColumnInternalApi(_adaptable); } getStyledColumnState() { return this.getAdaptableState().StyledColumn; } getStyledColumns(config) { return (this.handleLayoutExtensionObjects(this.getStyledColumnState().StyledColumns, 'StyledColumn', config) ?? []); } getStyledColumnById(id, config) { return this.getStyledColumns(config).find((styledcolumn) => styledcolumn.Uuid === id); } getStyledColumnByName(name, config) { return this.getStyledColumns(config).find((styledcolumn) => styledcolumn.Name === name); } getStyledColumnForColumnId(columnId, config) { return this.getStyledColumns(config).find((styledcolumn) => styledcolumn.ColumnId === columnId); } getActiveStyledColumns(config) { return this.getStyledColumns(config).filter((styledcolumn) => !styledcolumn.IsSuspended); } getSuspendedStyledColumns(config) { return this.getStyledColumns(config).filter((styledcolumn) => styledcolumn.IsSuspended); } deleteStyledColumn(styledColumn) { this.dispatchAction(StyledColumnRedux.StyledColumnDelete(styledColumn)); } deleteAllStyledColumns() { this.dispatchAction(StyledColumnRedux.StyledColumnDeleteAll()); } addStyledColumn(styledColumn) { this.dispatchAction(StyledColumnRedux.StyledColumnAdd(styledColumn)); } editStyledColumn(styledColumn) { this.dispatchAction(StyledColumnRedux.StyledColumnEdit(styledColumn)); return this.getStyledColumnById(styledColumn.Uuid); } isSparklineStyleStyledColumn(column) { if (!column) { return false; } return !!this.getStyledColumns().find((styledColumn) => !!styledColumn.SparklineStyle && styledColumn.ColumnId === column.columnId); } getActiveStyledColumnForColumn(column) { const styledColumns = this.getActiveStyledColumns(); return styledColumns.find((sc) => sc.ColumnId == column.columnId); } hasPercentBarStyle(columnId) { if (!columnId) { return false; } return !!this.getStyledColumns().find((styledColumn) => !!styledColumn.PercentBarStyle && styledColumn.ColumnId === columnId); } hasGradientStyle(columnId) { if (!columnId) { return false; } return !!this.getStyledColumns().find((styledColumn) => !!styledColumn.GradientStyle && styledColumn.ColumnId === columnId); } hasBulletChartStyle(columnId) { if (!columnId) { return false; } return !!this.getStyledColumns().find((styledColumn) => !!styledColumn.BulletChartStyle && styledColumn.ColumnId === columnId); } hasRatingStyle(columnId) { if (!columnId) { return false; } return !!this.getStyledColumns().find((styledColumn) => !!styledColumn.RatingStyle && styledColumn.ColumnId === columnId); } canDisplaySparklines() { return this._adaptable.canDisplaySparklines(); } renderSparkline(options) { return this.internalApi.createSparkline(options); } suspendStyledColumn(styledColumn) { this.dispatchAction(StyledColumnRedux.StyledColumnSuspend(styledColumn)); } unSuspendStyledColumn(styledColumn) { this.dispatchAction(StyledColumnRedux.StyledColumnUnSuspend(styledColumn)); } suspendAllStyledColumn() { this.dispatchAction(StyledColumnRedux.StyledColumnSuspendAll()); } unSuspendAllStyledColumn() { this.dispatchAction(StyledColumnRedux.StyledColumnUnSuspendAll()); } openStyledColumnSettingsPanel() { this.showModulePopup(ModuleConstants.StyledColumnModuleId); } }