@adaptabletools/adaptable
Version:
Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements
52 lines (51 loc) • 2.54 kB
JavaScript
import { ApiBase } from './ApiBase';
import * as ModuleConstants from '../../Utilities/Constants/ModuleConstants';
import * as PlusMinusRedux from '../../Redux/ActionsReducers/PlusMinusRedux';
export class PlusMinusApiImpl extends ApiBase {
getPlusMinusState() {
return this.getAdaptableState().PlusMinus;
}
getAllPlusMinus(config) {
const layoutSpecificPlusMinusNudges = this.handleLayoutExtensionObjects(this.getPlusMinusState().PlusMinusNudges, 'PlusMinus', config) ?? [];
return layoutSpecificPlusMinusNudges.filter((plusMinusNudge) => plusMinusNudge.Rule == undefined || plusMinusNudge.Rule.BooleanExpression != undefined);
}
getPlusMinusById(id, config) {
return this.getAllPlusMinus(config).find((plusMinus) => plusMinus?.Uuid === id);
}
getAllActivePlusMinus(config) {
return this.getAllPlusMinus(config).filter((plusMinusNudge) => !plusMinusNudge.IsSuspended);
}
getAllSuspendedPlusMinus(config) {
return this.getAllPlusMinus(config).filter((plusMinusNudge) => plusMinusNudge.IsSuspended);
}
runPlusMinusNudge(plusMinusNudge, cellsToUpdate, direction) {
let plusMinusModule = (this.getAdaptableInternalApi().getModules().get(ModuleConstants.PlusMinusModuleId));
plusMinusModule.applyPlusMinus([plusMinusNudge], cellsToUpdate, direction);
}
applyPlusMinus(cellUpdateRequests) {
this.dispatchAction(PlusMinusRedux.PlusMinusApply(cellUpdateRequests));
}
openPlusMinusSettingsPanel() {
this.showModulePopup(ModuleConstants.PlusMinusModuleId);
}
editPlusMinusNudge(plusMinusNudge) {
this.dispatchAction(PlusMinusRedux.PlusMinusNudgeEdit(plusMinusNudge));
return this.getPlusMinusById(plusMinusNudge.Uuid);
}
deletePlusMinusNudge(plusMinusNudge) {
this.dispatchAction(PlusMinusRedux.PlusMinusNudgeDelete(plusMinusNudge));
}
suspendPlusMinusNudge(plusMinusNudge) {
this.dispatchAction(PlusMinusRedux.PlusMinusNudgeSuspend(plusMinusNudge));
return this.getPlusMinusById(plusMinusNudge.Uuid);
}
unSuspendPlusMinusNudge(plusMinusNudge) {
this.dispatchAction(PlusMinusRedux.PlusMinusNudgeUnSuspend(plusMinusNudge));
return this.getPlusMinusById(plusMinusNudge.Uuid);
}
addPlusMinusNudge(plusMinusNudge) {
this.addUidToAdaptableObject(plusMinusNudge);
this.dispatchAction(PlusMinusRedux.PlusMinusNudgeAdd(plusMinusNudge));
return this.getPlusMinusById(plusMinusNudge.Uuid);
}
}