UNPKG

@geogirafe/lib-geoportal

Version:

GeoGirafe is a flexible application to build online geoportals.

22 lines (21 loc) 900 B
import GirafeSingleton from '../../base/GirafeSingleton'; import State from './state'; import ConfigManager from '../configuration/configmanager'; export type Callback = (oldValue: any, value: any, parents?: any) => void | Promise<void>; declare class StateManager extends GirafeSingleton { private readonly girafeState; private readonly stateProxy; get state(): State; private readonly callbacks; configManager: ConfigManager; constructor(type: string); private setDefaultValues; private onChange; subscribe(path: string, callback: Callback): Callback; subscribe(path: RegExp, callback: Callback): Callback; /** Unsubscribe one or multiple trackers by their callbacks. */ unsubscribe(callback: Callback): void; unsubscribe(callbacks: Callback[]): void; batchChanges(statechanges: (state: State) => void): void; } export default StateManager;