@adaptabletools/adaptable
Version:
Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements
75 lines (74 loc) • 3.08 kB
JavaScript
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.handleLayoutAssociatedObjects(this.getStyledColumnState().StyledColumns, 'StyledColumn', config) ?? []);
}
getStyledColumnById(id) {
return this.getStyledColumns().find((styledcolumn) => styledcolumn.Uuid === id);
}
getStyledColumnForColumnId(columnId) {
return this.getStyledColumns().find((styledcolumn) => styledcolumn.ColumnId === columnId);
}
getActiveStyledColumns() {
return this.getStyledColumns().filter((styledcolumn) => !styledcolumn.IsSuspended);
}
getSuspendedStyledColumns() {
return this.getStyledColumns().filter((styledcolumn) => styledcolumn.IsSuspended);
}
deleteStyledColumn(styledColumn) {
this.dispatchAction(StyledColumnRedux.StyledColumnDelete(styledColumn));
}
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);
}
}