UNPKG

@geogirafe/lib-geoportal

Version:

GeoGirafe is a flexible application to build online geoportals.

41 lines (40 loc) 1.52 kB
import GirafeResizableElement from '../../base/GirafeResizableElement.js'; import IGirafePanel from '../../tools/state/igirafepanel.js'; /** * A panel component that extends GirafeResizableElement. * Used as main Left and Right panels on the app. * It has a state toggle manager that can activate or deactivate * toggle paths based on changes in its state. * It also has methods to shows/hide itself based on the state toggle paths and state. * * To have the toggle on the state working, the component must implement the IGirafePanel interface * and be added to the lr-panel: * <girafe-lr-panel> * <any slot="main"></any> * <any slot="main"></any> * </girafe-lr-panel> */ declare class LRPanelComponent extends GirafeResizableElement { protected templateUrl: string | null; protected styleUrls: string[] | null; template: () => import("uhtml").Hole; private stateToggleManager?; panelTitle: string; get hasMultipleChilds(): boolean; constructor(); protected connectedCallback(): void; /** * Closes the panel by deactivating all state toggles and hiding itself. */ closePanel(): void; /** * Retrieve the (valid boolean) toggle paths from child elements of the main slot. */ private retrieveTogglePanels; /** * Subscribes to changes in togglePaths and shows or hides the component based on the changes. */ private registerOnChildChange; renderPanel(panel: IGirafePanel): void; } export default LRPanelComponent;