UNPKG

@geogirafe/lib-geoportal

Version:

GeoGirafe is a flexible application to build online geoportals.

105 lines (104 loc) 4.63 kB
import type { VectorFeatureFileFormat, ColorPalette, ColorVariable, PrintFileFormat } from '../crosssectiontypes.js'; import type { Marker, Measurement } from '../scatterplot.js'; import GirafeHTMLElement from '../../../base/GirafeHTMLElement.js'; import { CrossSectionState } from '../crosssectionstate.js'; import { Style } from 'ol/style.js'; import VectorSource from 'ol/source/Vector.js'; import VectorLayer from 'ol/layer/Vector.js'; import Feature from 'ol/Feature.js'; import { Geometry, LineString, Point, Polygon } from 'ol/geom.js'; import { Draw, Modify } from 'ol/interaction.js'; import OL3Parser from 'jsts/org/locationtech/jts/io/OL3Parser.js'; import IGirafePanel from '../../../tools/state/igirafepanel.js'; declare class CrossSectionSettingsComponent extends GirafeHTMLElement implements IGirafePanel { protected templateUrl: string | null; protected styleUrls: string[] | null; template: () => import("uhtml").Hole; crossSectionState: CrossSectionState; private readonly eventsCallbacks; darkFrontendMode: boolean; isPanelVisible: boolean; panelTitle: string; panelTogglePath: string; private get map(); linestring: Feature<LineString>; linestringSource: VectorSource<Feature<Geometry>>; linesLayer: VectorLayer<VectorSource<Feature<Geometry>>>; domainLinestring: Feature<LineString>; domainLinestringSource: VectorSource<Feature<Geometry>>; domainLineStringLayer: VectorLayer<VectorSource<Feature<Geometry>>>; polygon: Feature<Polygon>; polygonSource: VectorSource<Feature<Geometry>>; polygonLayer: VectorLayer<VectorSource<Feature<Geometry>>>; pointer: Feature<Point>; pointerSource: VectorSource<Feature<Geometry>>; pointerLayer: VectorLayer<VectorSource<Feature<Geometry>>>; points: Feature<Point>[]; pointsSource: VectorSource<Feature<Geometry>>; pointsLayer: VectorLayer<VectorSource<Feature<Geometry>>>; drawInteraction: Draw; modifyInteraction: Modify; linestringLength: number; markersTable: HTMLTableElement | null; measurementsTable: HTMLTableElement | null; parser: OL3Parser; iconStyle: Style; pointStyleFunction: (feature: Feature) => Style; constructor(); private initializeMapElements; private initializeLinestring; private initializeDomainLinestring; private initializePolygon; private initializePointer; private initializePointsLayer; private initializeInteractions; private handleAddFeature; private initializeDrawInteraction; private initializeModifyInteraction; updateMarkers(polygon: Feature<Polygon>): void; drawLinestringBuffer(): void; updateLinestringCoordinates(): void; drawDomainLinestring(): void; getDistanceAtCoord(lineStringGeom: LineString, coord: [number, number]): number; shiftLinestring(shift?: [number, number]): void; drawPointer(coords: [number, number]): void; drawMapMarkers(): void; addInteractions(): void; removeInteractions(): void; toggleMeasureDraw(): void; toggleMarkerDraw(): void; toggleLineDraw(): void; toggleVisibility(id: string): void; setColor(id: string, color: string): void; setColorVariable(id: string, colorby: ColorVariable): void; setLineDrawingMode(val: boolean): void; setSectionWidth(val: number): void; setVerticalExaggeration(val: number): void; setPointSize(val: number): void; setGridVisibility(val: boolean): void; setBackgroundColor(val: string): void; setColorPalette(val: ColorPalette): void; exportFeature(features: Feature[], filename: string, format: VectorFeatureFileFormat): void; renderMeasurementsTable(table: HTMLTableElement, records: Measurement[]): void; renderAnnotationsTable(table: HTMLTableElement, records: Marker[]): void; deleteProfile(): void; deleteMarker(id: string): void; deleteAllMarkers(): void; deleteAllMeasurements(): void; resetZoom(): void; zoomToMarker(id: string): void; setViewSync(val: boolean): void; printPlot(printFileFormat: PrintFileFormat): void; setPrintFileFormat(val: PrintFileFormat): void; setAnnotationsFileFormat(val: VectorFeatureFileFormat): void; setLineFileFormat(val: VectorFeatureFileFormat): void; handleCursorDomainCoordinatesChange(cursorDomainCoordinates: [number, number]): void; render(): void; private renderComponent; private renderEmptyComponent; registerEvents(): void; unregisterEvents(): void; togglePanel(visible: boolean): void; protected connectedCallback(): void; } export default CrossSectionSettingsComponent;