@geogirafe/lib-geoportal
Version:
GeoGirafe is a flexible application to build online geoportals.
37 lines (36 loc) • 1.5 kB
TypeScript
import BaseLayer from './baselayer';
import ILayerWithTime from './ilayerwithtime';
import ITimeOptions from '../../tools/time/itimeoptions';
export type GroupLayerOptions = {
isDefaultChecked?: boolean;
disclaimer?: string;
metadataUrl?: string;
isDefaultExpanded?: boolean;
isExclusiveGroup?: boolean;
time?: ITimeOptions;
timeAttribute?: string;
};
declare class GroupLayer extends BaseLayer implements ILayerWithTime {
/**
* This class is a used in the state of the application, which will be accessed behind a javascript proxy.
* This means that each modification made to its properties must come from outside,
* because they have to be made through the proxy, so that the modification can be listen.
* Therefore, this class must not contain any method which is updating a value directly
* For example, any method doing <this.xxx = value> is forbidden here, because the modification be known from the proxy
*/
isExclusiveGroup: boolean;
isExpanded: boolean;
activeState: 'on' | 'off' | 'semi';
timeOptions?: ITimeOptions;
timeAttribute?: string;
timeRestriction?: string;
children: BaseLayer[];
constructor(id: number, name: string, order: number, options?: GroupLayerOptions);
clone(): GroupLayer;
get active(): boolean;
get inactive(): boolean;
get semiActive(): boolean;
get hasTimeRestriction(): boolean;
setDefaultTimeRestriction(): void;
}
export default GroupLayer;