UNPKG

@adaptabletools/adaptable

Version:

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

78 lines (77 loc) 3.25 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 { 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); } 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)); } 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); } canDisplaySparklines() { return this._adaptable.canDisplaySparklines(); } 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); } }