ui-framework-jps
Version:
A simple UI framework for state management and UI components
55 lines (54 loc) • 3.21 kB
TypeScript
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;
}