kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
40 lines (39 loc) • 2 kB
TypeScript
import React, { MouseEventHandler, TouchEventHandler, CSSProperties } from 'react';
import LayerConfiguratorFactory from './layer-configurator';
import LayerPanelHeaderFactory from './layer-panel-header';
import { Layer } from '@kepler.gl/layers';
import { toggleModal, VisStateActions, MapStateActions, ActionHandler } from '@kepler.gl/actions';
import { Datasets } from '@kepler.gl/table';
declare type LayerPanelProps = {
className?: string;
style?: CSSProperties;
onMouseDown?: MouseEventHandler;
onTouchStart?: TouchEventHandler;
layer: Layer;
datasets: Datasets;
layerTypeOptions: {
id: string;
label: string;
icon: any;
requireData: any;
}[];
isDraggable?: boolean;
idx: number;
openModal: ActionHandler<typeof toggleModal>;
layerColorUIChange: ActionHandler<typeof VisStateActions.layerColorUIChange>;
layerConfigChange: ActionHandler<typeof VisStateActions.layerConfigChange>;
layerVisualChannelConfigChange: ActionHandler<typeof VisStateActions.layerVisualChannelConfigChange>;
layerSetIsValid: ActionHandler<typeof VisStateActions.layerSetIsValid>;
layerTypeChange: ActionHandler<typeof VisStateActions.layerTypeChange>;
layerVisConfigChange: ActionHandler<typeof VisStateActions.layerVisConfigChange>;
layerTextLabelChange: ActionHandler<typeof VisStateActions.layerTextLabelChange>;
removeLayer: ActionHandler<typeof VisStateActions.removeLayer>;
zoomToLayer: ActionHandler<typeof MapStateActions.fitBounds>;
duplicateLayer: ActionHandler<typeof VisStateActions.duplicateLayer>;
listeners?: React.ElementType;
};
declare function LayerPanelFactory(LayerConfigurator: ReturnType<typeof LayerConfiguratorFactory>, LayerPanelHeader: ReturnType<typeof LayerPanelHeaderFactory>): React.ComponentType<LayerPanelProps>;
declare namespace LayerPanelFactory {
var deps: (typeof LayerPanelHeaderFactory | typeof LayerConfiguratorFactory)[];
}
export default LayerPanelFactory;