Skip to content

Commit

Permalink
show filtered out and hidden layers as options in polygon filter menu (
Browse files Browse the repository at this point in the history
…#2068)

Signed-off-by: Ihor Dykhta <dikhta.igor@gmail.com>
  • Loading branch information
igorDykhta committed Jan 5, 2023
1 parent b53a6b7 commit f53188b
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 14 deletions.
21 changes: 10 additions & 11 deletions src/components/src/editor/editor.tsx
Expand Up @@ -26,7 +26,13 @@ import get from 'lodash.get';
import {createSelector} from 'reselect';

import FeatureActionPanelFactory, {FeatureActionPanelProps} from './feature-action-panel';
import {EDITOR_AVAILABLE_LAYERS, FILTER_TYPES, EDITOR_MODES, KeyEvent} from '@kepler.gl/constants';
import {
EDITOR_AVAILABLE_LAYERS,
FILTER_TYPES,
EDITOR_MODES,
GEOCODER_LAYER_ID,
KeyEvent
} from '@kepler.gl/constants';
import {Layer, EditorLayerUtils} from '@kepler.gl/layers';
import {Filter, FeatureSelectionContext} from '@kepler.gl/types';
import {Feature} from '@nebula.gl/edit-modes';
Expand All @@ -45,7 +51,6 @@ interface EditorProps {
layers: Layer[];
datasets: Datasets;
editor: {selectedFeature: Feature; mode: string; selectionContext?: FeatureSelectionContext};
layersToRender: Record<string, Layer>;
index: number;
className: string;
style: CSSProperties;
Expand Down Expand Up @@ -74,7 +79,6 @@ export default function EditorFactory(
}

layerSelector = (props: EditorProps) => props.layers;
layersToRenderSelector = (props: EditorProps) => props.layersToRender;
filterSelector = (props: EditorProps) => props.filters;
selectedFeatureIdSelector = (props: EditorProps) =>
get(props, ['editor', 'selectedFeature', 'id']);
Expand All @@ -86,13 +90,8 @@ export default function EditorFactory(
(filters, selectedFeatureId) => filters.find(f => f.value && f.value.id === selectedFeatureId)
);

availableLayersSeletor = createSelector(
this.layerSelector,
this.layersToRenderSelector,
(layers, layersToRender) =>
layers.filter(editorLayerFilter).filter(layer => {
return layersToRender[layer.id];
})
availableLayersSelector = createSelector(this.layerSelector, layers =>
layers.filter(editorLayerFilter).filter(layer => layer.id !== GEOCODER_LAYER_ID)
);

allFeaturesSelector = createSelector(
Expand Down Expand Up @@ -148,7 +147,7 @@ export default function EditorFactory(
const {className, datasets, editor, style, index} = this.props;
const {selectedFeature, selectionContext} = editor;
const currentFilter = this.currentFilterSelector(this.props);
const availableLayers = this.availableLayersSeletor(this.props);
const availableLayers = this.availableLayersSelector(this.props);

const {rightClick, position, mapIndex} = selectionContext || {};

Expand Down
3 changes: 0 additions & 3 deletions src/components/src/map-container.tsx
Expand Up @@ -669,16 +669,13 @@ export default function MapContainerFactory(
const {visState, visStateActions, index} = this.props;
const {layers, datasets, editor} = visState;

const layersToRender = this.layersToRenderSelector(this.props);

return (
<Editor
index={index}
datasets={datasets}
editor={editor}
filters={this.polygonFiltersSelector(this.props)}
layers={layers}
layersToRender={layersToRender}
onDeleteFeature={visStateActions.deleteFeature}
onSelect={visStateActions.setSelectedFeature}
onTogglePolygonFilter={visStateActions.setPolygonFilterLayer}
Expand Down

0 comments on commit f53188b

Please sign in to comment.