UNPKG

ui-framework-jps

Version:

A simple UI framework for state management and UI components

55 lines (54 loc) 3.21 kB
import { StateChangeListener } from '../interface/StateChangeListener'; import { StateEventType, StateManager, StateManagerType, StateValue } from "../interface/StateManager"; import { StateChangeInformer } from "../interface/StateChangeInformer"; import { equalityFunction, FilterItem } from "../../CommonTypes"; import { StateContextDelegate } from "../delegate/StateContextDelegate"; import { StateContextSupplier } from '../interface/StateContextSupplier'; export declare type EqualityFnForName = { name: string; equality: equalityFunction; }; export declare abstract class AbstractStateManager implements StateManager { protected forceSaves: boolean; protected managerName: string; protected delegate: StateChangeInformer; protected defaultEquality: equalityFunction; protected equalityFns: EqualityFnForName[] | null; protected contextDelegate: StateContextDelegate | null; protected constructor(managerName: string, defaultEquality: equalityFunction, fnPerState?: EqualityFnForName[] | null); abstract getAvailableStateNames(): string[]; setContextSupplier(name: string, supplier: StateContextSupplier): void; stateContextChanged(newContext: any): void; receivedFilterResults(name: string, filterResults: any): void; receivedFoundItem(name: string, foundItem: any): void; suppressEvents(): void; emitEvents(): void; dontForceSavesOnAddRemoveUpdate(): void; forceSavesOnAddRemoveUpdate(): void; informChangeListenersForStateWithName(name: string, stateObjValue: any, eventType?: StateEventType, previousObjValue?: any | null): void; addChangeListenerForName(name: string, listener: StateChangeListener): void; abstract _ensureStatePresent(name: string): void; abstract _addNewNamedStateToStorage(state: StateValue): void; abstract _replaceNamedStateInStorage(state: StateValue): void; abstract _getState(name: string): StateValue; abstract _saveState(name: string, stateObj: any): void; abstract _addItemToState(name: string, stateObj: any, isPersisted: boolean): void; abstract _removeItemFromState(name: string, stateObj: any, isPersisted: boolean): void; abstract _updateItemInState(name: string, stateObj: any, isPersisted: boolean): void; _findItemInState(name: string, item: any): any; _findItemsInState(name: string, filters: FilterItem[]): any[]; addStateByName(name: string, stateObjForName: any): any; getStateByName(name: string): any; setStateByName(name: string, stateObjectForName: any, informListeners?: boolean): void; addNewItemToState(name: string, item: any, isPersisted?: boolean): void; findItemInState(name: string, item: any): any; isItemInState(name: string, item: any): boolean; removeItemFromState(name: string, item: any, isPersisted: boolean): boolean; updateItemInState(name: string, item: any, isPersisted: boolean): boolean; findItemsInState(name: string, filters: FilterItem[]): any[]; getType(): StateManagerType; fireStateChanged(name: string): void; abstract fireStateChangedForAllStates(): void; isEmittingEvents(): boolean; protected getEqualityFnForName(name: string): equalityFunction; }