@geogirafe/lib-geoportal
Version:
GeoGirafe is a flexible application to build online geoportals.
33 lines (32 loc) • 1.06 kB
TypeScript
import StateManager from '../state/statemanager.js';
import IGirafePanel from './igirafepanel.js';
/**
* Manages the toggling of state properties based on specified paths.
* Every paths leading to boolean value will be initially set to false,
* then activities one will deactivate the others.
*/
export default class StateToggleManager {
private readonly eventsCallbacks;
private readonly stateManager;
readonly panels: IGirafePanel[];
constructor(elements: IGirafePanel[], stateManager: StateManager);
private get state();
/**
* To call to destroy properly the component.
*/
destroy(): void;
/**
* Set to false every state leaded by toggle paths except the specified one.
* Use the given value on the specified one.
*/
private toggle;
/**
* Set to false every state leaded by toggle paths.
*/
deactivateAll(): void;
/**
* Watches for changes in togglePaths and invokes the toggle method when a change is detected.
* @private
**/
private watchToggle;
}