@nebula.gl/layers
Version:
A suite of 3D-enabled data editing layers, suitable for deck.gl
160 lines • 7.45 kB
TypeScript
/// <reference types="deck.gl" />
import { RGBAColor } from '@deck.gl/core';
import { GeoJsonLayer, TextLayer } from '@deck.gl/layers';
import { EditAction, ClickEvent, StartDraggingEvent, StopDraggingEvent, DraggingEvent, PointerMoveEvent, GeoJsonEditModeType, FeatureCollection } from '@nebula.gl/edit-modes';
import EditableLayer, { EditableLayerProps } from './editable-layer';
export interface EditableGeojsonLayerProps<D> extends EditableLayerProps<D> {
mode?: any;
modeConfig?: any;
selectedFeatureIndexes?: number[];
onEdit?: (updatedData?: any, editType?: string, featureIndexes?: number[], editContext?: any) => void;
pickable?: boolean;
pickingRadius?: number;
pickingDepth?: number;
fp64?: boolean;
filled?: boolean;
stroked?: boolean;
lineWidthScale?: number;
lineWidthMinPixels?: number;
lineWidthMaxPixels?: number;
pickingLineWidthExtraPixels?: number;
lineWidthUnits?: string;
lineJointRounded?: boolean;
lineCapRounded?: boolean;
lineMiterLimit?: number;
pointRadiusScale?: number;
pointRadiusMinPixels?: number;
pointRadiusMaxPixels?: number;
getLineColor?: RGBAColor | ((feature: any, isSelected: any, mode: any) => RGBAColor);
getFillColor?: RGBAColor | ((feature: any, isSelected: any, mode: any) => RGBAColor);
getRadius?: number | ((f: any) => number);
getLineWidth?: number | ((f: any) => number);
getTentativeLineColor?: RGBAColor | ((feature: any, isSelected: any, mode: any) => RGBAColor);
getTentativeFillColor?: RGBAColor | ((feature: any, isSelected: any, mode: any) => RGBAColor);
getTentativeLineWidth?: number | ((f: any) => number);
editHandleType?: string;
editHandlePointRadiusScale?: number;
editHandlePointOutline?: boolean;
editHandlePointStrokeWidth?: number;
editHandlePointRadiusUnits?: string;
editHandlePointRadiusMinPixels?: number;
editHandlePointRadiusMaxPixels?: number;
getEditHandlePointColor?: RGBAColor | ((handle: any) => RGBAColor);
getEditHandlePointOutlineColor?: RGBAColor | ((handle: any) => RGBAColor);
getEditHandlePointRadius?: number | ((handle: any) => number);
editHandleIconAtlas?: any;
editHandleIconMapping?: any;
editHandleIconSizeScale?: number;
editHandleIconSizeUnits?: string;
getEditHandleIcon?: (handle: any) => string;
getEditHandleIconSize?: number;
getEditHandleIconColor?: RGBAColor | ((handle: any) => RGBAColor);
getEditHandleIconAngle?: number | ((handle: any) => number);
billboard?: boolean;
}
export default class EditableGeoJsonLayer extends EditableLayer<any, EditableGeojsonLayerProps<any>> {
static layerName: string;
static defaultProps: EditableGeojsonLayerProps<any>;
renderLayers(): any;
initializeState(): void;
shouldUpdateState(opts: any): any;
updateState({ props, oldProps, changeFlags, context, }: {
props: EditableGeojsonLayerProps<any>;
oldProps: EditableGeojsonLayerProps<any>;
changeFlags: any;
context: any;
s: any;
}): void;
getModeProps(props: EditableGeojsonLayerProps<any>): {
modeConfig: any;
data: any;
selectedIndexes: number[];
lastPointerMoveEvent: any;
cursor: any;
onEdit: (editAction: EditAction<FeatureCollection>) => void;
onUpdateCursor: (cursor: string) => void;
};
selectionAwareAccessor(accessor: any): any;
isFeatureSelected(feature: Record<string, any>): boolean;
getPickingInfo({ info, sourceLayer }: Record<string, any>): any;
_updateAutoHighlight(info: any): void;
createGuidesLayers(): GeoJsonLayer<unknown, import("@deck.gl/core/lib/layer").LayerProps<unknown>>[];
createTooltipsLayers(): TextLayer<unknown, {
sizeScale?: number;
sizeUnits?: import("@deck.gl/core/lib/layer").WidthUnits;
sizeMinPixels?: number;
sizeMaxPixels?: number;
billboard?: boolean;
backgroundColor?: RGBAColor;
fontFamily?: string;
characterSet?: string | string[];
fontWeight?: string | number;
lineHeight?: number;
fontSettings?: import("@deck.gl/layers/text-layer/font-atlas-manager").FontSettings;
wordBreak?: "break-all" | "break-word";
maxWidth?: number;
getText?: (x: never) => string;
getPosition?: (x: never) => [number, number];
getSize: number | ((x: never) => number);
getColor?: RGBAColor | ((x: never) => RGBAColor);
getAngle?: number | ((x: never) => number);
getTextAnchor?: "start" | "middle" | "end" | ((x: never) => import("@deck.gl/layers/text-layer/text-layer").TextAnchor);
getAlignmentBaseline?: "top" | "center" | "bottom" | ((x: never) => import("@deck.gl/layers/text-layer/text-layer").AlignmentBaseline);
getPixelOffset?: number[] | ((x: never) => number[]);
outlineColor?: RGBAColor;
outlineWidth?: number;
_subLayerProps?: Object;
id?: string;
data?: string | import("@deck.gl/core/lib/layer").DataSet<never> | Promise<import("@deck.gl/core/lib/layer").DataSet<never>>;
visible?: boolean;
opacity?: number;
extensions?: any[];
pickable?: boolean;
onHover?: import("@deck.gl/core/lib/layer").LayerInputHandler<never>;
onClick?: import("@deck.gl/core/lib/layer").LayerInputHandler<never>;
onDragStart?: import("@deck.gl/core/lib/layer").LayerInputHandler<never>;
onDrag?: import("@deck.gl/core/lib/layer").LayerInputHandler<never>;
onDragEnd?: import("@deck.gl/core/lib/layer").LayerInputHandler<never>;
highlightColor?: RGBAColor | ((pickInfo: import("@deck.gl/core/lib/deck").PickInfo<never>) => RGBAColor);
highlightedObjectIndex?: number;
autoHighlight?: boolean;
coordinateSystem?: number;
coordinateOrigin?: import("@deck.gl/core").Position;
wrapLongitude?: boolean;
modelMatrix?: number[];
dataComparator?: (newData: never, oldData: never) => boolean;
dataTransform?: () => never[] | Iterable<never>;
_dataDiff?: (newData: never, oldData: never) => {
startRow: number;
endRow: number;
};
positionFormat?: "XYZ" | "XY";
colorFormat?: "RGBA" | "RGB";
numInstances?: number;
updateTriggers?: any;
loaders?: any[];
loadOptions?: any;
onDataLoad?: (value: never[] | Iterable<never>, context: {
layer: import("@deck.gl/core").Layer<never, import("@deck.gl/core/lib/layer").LayerProps<never>>;
}) => void;
parameters?: any;
getPolygonOffset?: (uniform: any) => [number, number];
transitions?: {
[attributeGetter: string]: import("@deck.gl/core/lib/layer").TransitionTiming;
};
filterEnabled?: boolean;
filterTransformSize?: boolean;
filterTransformColor?: boolean;
}>[];
onLayerClick(event: ClickEvent): void;
onLayerKeyUp(event: KeyboardEvent): void;
onStartDragging(event: StartDraggingEvent): void;
onDragging(event: DraggingEvent): void;
onStopDragging(event: StopDraggingEvent): void;
onPointerMove(event: PointerMoveEvent): void;
getCursor({ isDragging }: {
isDragging: boolean;
}): any;
getActiveMode(): GeoJsonEditModeType;
}
//# sourceMappingURL=editable-geojson-layer.d.ts.map