@jupytergis/base 0.15.0 → 0.16.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commands/BaseCommandIDs.d.ts +5 -0
- package/lib/commands/BaseCommandIDs.js +5 -0
- package/lib/commands/index.js +218 -48
- package/lib/commands/operationCommands.js +2 -2
- package/lib/constants.js +9 -1
- package/lib/{panelview/annotationPanel.js → features/annotations/AnnotationsPanel.js} +1 -1
- package/lib/{annotations → features/annotations}/index.d.ts +1 -0
- package/lib/{annotations → features/annotations}/index.js +1 -0
- package/lib/{console → features/console}/consoleview.js +1 -1
- package/lib/{panelview/filter-panel → features/filter}/Filter.js +4 -4
- package/lib/{panelview/filter-panel → features/filter}/FilterRow.d.ts +3 -2
- package/lib/{panelview/filter-panel → features/filter}/FilterRow.js +2 -1
- package/lib/{panelview/identify-panel → features/identify}/IdentifyPanel.d.ts +2 -0
- package/lib/features/identify/IdentifyPanel.js +102 -0
- package/lib/features/identify/components/FeatureCard.d.ts +17 -0
- package/lib/features/identify/components/FeatureCard.js +26 -0
- package/lib/features/identify/components/FeatureCardHeader.d.ts +11 -0
- package/lib/features/identify/components/FeatureCardHeader.js +30 -0
- package/lib/features/identify/components/FeatureFloater.d.ts +7 -0
- package/lib/features/identify/components/FeatureFloater.js +19 -0
- package/lib/features/identify/components/FeaturePropertyList.d.ts +11 -0
- package/lib/features/identify/components/FeaturePropertyList.js +18 -0
- package/lib/features/identify/components/FeatureRow.d.ts +13 -0
- package/lib/features/identify/components/FeatureRow.js +25 -0
- package/lib/features/identify/components/PropertyEditors.d.ts +44 -0
- package/lib/features/identify/components/PropertyEditors.js +56 -0
- package/lib/features/identify/hooks/useIdentifyPropertyEditor.d.ts +11 -0
- package/lib/features/identify/hooks/useIdentifyPropertyEditor.js +132 -0
- package/lib/features/identify/types/editorTypes.d.ts +21 -0
- package/lib/features/identify/utils/getFeatureIdentifier.d.ts +5 -0
- package/lib/features/identify/utils/getFeatureIdentifier.js +14 -0
- package/lib/features/identify/utils/highlightLayer.d.ts +11 -0
- package/lib/features/identify/utils/highlightLayer.js +57 -0
- package/lib/features/identify/utils/highlightStyle.d.ts +7 -0
- package/lib/features/identify/utils/highlightStyle.js +40 -0
- package/lib/{dialogs/layerBrowserDialog.js → features/layer-browser/index.js} +2 -2
- package/lib/{formbuilder/objectform/layer/heatmapLayerForm.d.ts → features/layers/forms/layer/geoTiffLayerForm.d.ts} +1 -1
- package/lib/{formbuilder/objectform/layer/webGlLayerForm.js → features/layers/forms/layer/geoTiffLayerForm.js} +5 -5
- package/lib/{formbuilder/objectform → features/layers/forms}/layer/hillshadeLayerForm.js +4 -4
- package/lib/{formbuilder/objectform → features/layers/forms}/layer/index.d.ts +1 -2
- package/lib/{formbuilder/objectform → features/layers/forms}/layer/index.js +1 -2
- package/lib/{formbuilder/objectform → features/layers/forms}/layer/layerform.d.ts +1 -1
- package/lib/{formbuilder/objectform → features/layers/forms}/layer/layerform.js +4 -4
- package/lib/features/layers/forms/layer/storySegmentLayerForm.js +150 -0
- package/lib/{formbuilder/objectform → features/layers/forms}/layer/vectorlayerform.js +4 -4
- package/lib/{formbuilder/objectform → features/layers/forms}/source/geojsonsource.js +5 -5
- package/lib/features/layers/forms/source/geopackagesource.d.ts +3 -0
- package/lib/features/layers/forms/source/geopackagesource.js +93 -0
- package/lib/{formbuilder/objectform → features/layers/forms}/source/geotiffsource.js +5 -5
- package/lib/{formbuilder/objectform → features/layers/forms}/source/index.d.ts +1 -0
- package/lib/{formbuilder/objectform → features/layers/forms}/source/index.js +1 -0
- package/lib/{formbuilder/objectform → features/layers/forms}/source/pathbasedsource.js +5 -5
- package/lib/{formbuilder/objectform → features/layers/forms}/source/sourceform.d.ts +1 -1
- package/lib/{formbuilder/objectform → features/layers/forms}/source/sourceform.js +4 -4
- package/lib/{formbuilder/objectform → features/layers/forms}/source/tilesourceform.js +4 -4
- package/lib/{formbuilder/objectform → features/layers/forms}/source/wmsTileSource.d.ts +1 -1
- package/lib/{formbuilder/objectform → features/layers/forms}/source/wmsTileSource.js +6 -6
- package/lib/{dialogs → features/layers}/layerCreationFormDialog.d.ts +1 -1
- package/lib/{dialogs → features/layers}/layerCreationFormDialog.js +1 -1
- package/lib/features/layers/symbology/Grammar.d.ts +11 -0
- package/lib/features/layers/symbology/Grammar.js +316 -0
- package/lib/{dialogs → features/layers}/symbology/classificationModes.d.ts +6 -6
- package/lib/{dialogs → features/layers}/symbology/classificationModes.js +48 -44
- package/lib/{dialogs → features/layers}/symbology/colorRampUtils.d.ts +1 -0
- package/lib/{dialogs → features/layers}/symbology/colorRampUtils.js +12 -1
- package/lib/features/layers/symbology/components/MappingRow.d.ts +40 -0
- package/lib/features/layers/symbology/components/MappingRow.js +520 -0
- package/lib/features/layers/symbology/components/NumericInput.d.ts +20 -0
- package/lib/features/layers/symbology/components/NumericInput.js +44 -0
- package/lib/features/layers/symbology/components/ScaleEditor.d.ts +33 -0
- package/lib/features/layers/symbology/components/ScaleEditor.js +221 -0
- package/lib/{dialogs → features/layers}/symbology/components/color_ramp/ColorRampControls.d.ts +1 -1
- package/lib/{dialogs → features/layers}/symbology/components/color_ramp/ColorRampControls.js +4 -3
- package/lib/{dialogs → features/layers}/symbology/components/color_ramp/ColorRampSelector.d.ts +2 -1
- package/lib/{dialogs → features/layers}/symbology/components/color_ramp/ColorRampSelector.js +6 -1
- package/lib/{dialogs → features/layers}/symbology/components/color_ramp/ModeSelectRow.d.ts +1 -1
- package/lib/{dialogs → features/layers}/symbology/components/color_ramp/RgbaColorPicker.js +39 -9
- package/lib/{dialogs → features/layers}/symbology/components/color_stops/StopContainer.js +1 -1
- package/lib/{dialogs → features/layers}/symbology/components/color_stops/StopRow.d.ts +1 -1
- package/lib/{dialogs → features/layers}/symbology/components/color_stops/StopRow.js +14 -2
- package/lib/features/layers/symbology/grammarToOLLayer.d.ts +27 -0
- package/lib/features/layers/symbology/grammarToOLLayer.js +145 -0
- package/lib/features/layers/symbology/grammarToOLStyle.d.ts +32 -0
- package/lib/features/layers/symbology/grammarToOLStyle.js +487 -0
- package/lib/{dialogs → features/layers}/symbology/hooks/useGetBandInfo.d.ts +1 -1
- package/lib/{dialogs → features/layers}/symbology/hooks/useGetBandInfo.js +1 -1
- package/lib/{dialogs → features/layers}/symbology/hooks/useGetProperties.js +1 -1
- package/lib/{dialogs → features/layers}/symbology/hooks/useGetSymbology.js +4 -2
- package/lib/features/layers/symbology/styleBuilder.d.ts +24 -0
- package/lib/features/layers/symbology/styleBuilder.js +158 -0
- package/lib/{dialogs → features/layers}/symbology/symbologyDialog.d.ts +1 -1
- package/lib/{dialogs → features/layers}/symbology/symbologyDialog.js +11 -13
- package/lib/{dialogs → features/layers}/symbology/symbologyUtils.d.ts +18 -10
- package/lib/{dialogs → features/layers}/symbology/symbologyUtils.js +0 -84
- package/lib/{panelview/objectproperties.d.ts → features/objectproperties/index.d.ts} +1 -1
- package/lib/{panelview/objectproperties.js → features/objectproperties/index.js} +5 -10
- package/lib/{dialogs → features/processing}/ProcessingFormDialog.d.ts +1 -1
- package/lib/{dialogs → features/processing}/ProcessingFormDialog.js +28 -14
- package/lib/features/processing/forms/MapExtentToggle.d.ts +13 -0
- package/lib/features/processing/forms/MapExtentToggle.js +20 -0
- package/lib/features/processing/forms/clipRasterByExtentForm.d.ts +10 -0
- package/lib/features/processing/forms/clipRasterByExtentForm.js +99 -0
- package/lib/{formbuilder/objectform/process → features/processing/forms}/dissolveProcessForm.js +5 -5
- package/lib/{formbuilder/objectform → features/processing/forms}/processingForm.d.ts +1 -1
- package/lib/{formbuilder/objectform → features/processing/forms}/processingForm.js +6 -6
- package/lib/features/processing/forms/rasterizeForm.d.ts +10 -0
- package/lib/features/processing/forms/rasterizeForm.js +75 -0
- package/lib/features/processing/forms/useMapExtent.d.ts +22 -0
- package/lib/features/processing/forms/useMapExtent.js +57 -0
- package/lib/{processing → features/processing}/index.d.ts +19 -2
- package/lib/features/processing/index.js +1246 -0
- package/lib/{processing → features/processing}/processingCommands.d.ts +1 -1
- package/lib/features/processing/processingCommands.js +168 -0
- package/lib/features/processing/serverProcessing.d.ts +51 -0
- package/lib/features/processing/serverProcessing.js +99 -0
- package/lib/{stacBrowser → features/stac-browser}/components/StacPanel.js +2 -2
- package/lib/{stacBrowser → features/stac-browser}/components/filter-extension/QueryableComboBox.js +5 -5
- package/lib/{stacBrowser → features/stac-browser}/components/filter-extension/QueryableRow.js +1 -1
- package/lib/{stacBrowser → features/stac-browser}/components/filter-extension/StacFilterExtensionPanel.js +2 -2
- package/lib/{stacBrowser → features/stac-browser}/components/filter-extension/StacQueryableFilters.js +1 -1
- package/lib/{stacBrowser → features/stac-browser}/components/geodes/StacFilterSection.js +3 -3
- package/lib/{stacBrowser → features/stac-browser}/components/shared/StacPanelResults.js +3 -3
- package/lib/{stacBrowser → features/stac-browser}/components/shared/StacSpatialExtent.js +1 -1
- package/lib/{stacBrowser → features/stac-browser}/components/shared/StacTemporalExtent.js +1 -1
- package/lib/{stacBrowser → features/stac-browser}/context/StacResultsContext.js +2 -2
- package/lib/{stacBrowser → features/stac-browser}/hooks/useGeodesSearch.js +2 -2
- package/lib/{stacBrowser → features/stac-browser}/hooks/useStacFilterExtension.js +3 -3
- package/lib/{stacBrowser → features/stac-browser}/hooks/useStacSearch.js +1 -1
- package/lib/features/stac-browser/types/types.js +1 -0
- package/lib/{panelview/story-maps → features/story}/SpectaPanel.d.ts +4 -1
- package/lib/{panelview/story-maps → features/story}/SpectaPanel.js +3 -4
- package/lib/{panelview/story-maps → features/story}/StoryEditorPanel.js +1 -1
- package/lib/{panelview/story-maps → features/story}/StoryViewerPanel.d.ts +12 -11
- package/lib/features/story/StoryViewerPanel.js +64 -0
- package/lib/features/story/__tests__/fixtures/listStoryTestItems.d.ts +9 -0
- package/lib/features/story/__tests__/fixtures/listStoryTestItems.js +21 -0
- package/lib/features/story/components/ListStoryMapOverlayPanel.d.ts +10 -0
- package/lib/features/story/components/ListStoryMapOverlayPanel.js +11 -0
- package/lib/features/story/components/ListStoryMarkdownMeasurePane.d.ts +11 -0
- package/lib/features/story/components/ListStoryMarkdownMeasurePane.js +55 -0
- package/lib/features/story/components/ListStoryOverlayMarkdown.d.ts +15 -0
- package/lib/features/story/components/ListStoryOverlayMarkdown.js +93 -0
- package/lib/features/story/components/ListStoryStageOverlay.d.ts +11 -0
- package/lib/features/story/components/ListStoryStageOverlay.js +150 -0
- package/lib/features/story/components/ListStoryTitleBar.d.ts +7 -0
- package/lib/features/story/components/ListStoryTitleBar.js +20 -0
- package/lib/features/story/components/ListStoryTitleBarDesktop.d.ts +2 -0
- package/lib/features/story/components/ListStoryTitleBarDesktop.js +55 -0
- package/lib/features/story/components/ListStoryTitleBarMobile.d.ts +2 -0
- package/lib/features/story/components/ListStoryTitleBarMobile.js +41 -0
- package/lib/features/story/components/ListStoryVirtualScrollTrack.d.ts +6 -0
- package/lib/features/story/components/ListStoryVirtualScrollTrack.js +7 -0
- package/lib/{panelview/story-maps → features/story}/components/SpectaDesktopView.d.ts +4 -2
- package/lib/features/story/components/SpectaDesktopView.js +67 -0
- package/lib/features/story/components/SpectaMobileListModeContent.d.ts +13 -0
- package/lib/features/story/components/SpectaMobileListModeContent.js +36 -0
- package/lib/features/story/components/SpectaMobileSingleModeContent.d.ts +14 -0
- package/lib/{panelview/story-maps/components/SpectaMobileView.js → features/story/components/SpectaMobileSingleModeContent.js} +4 -6
- package/lib/{panelview/story-maps → features/story}/components/SpectaMobileView.d.ts +5 -3
- package/lib/features/story/components/SpectaMobileView.js +12 -0
- package/lib/features/story/components/SpectaSingleModeContent.d.ts +18 -0
- package/lib/features/story/components/SpectaSingleModeContent.js +8 -0
- package/lib/features/story/context/ListStoryScrollTrackContext.d.ts +19 -0
- package/lib/features/story/context/ListStoryScrollTrackContext.js +186 -0
- package/lib/features/story/hooks/useCurrentSegmentIndex.d.ts +3 -0
- package/lib/features/story/hooks/useCurrentSegmentIndex.js +17 -0
- package/lib/features/story/hooks/useListStoryScroll.d.ts +15 -0
- package/lib/features/story/hooks/useListStoryScroll.js +107 -0
- package/lib/features/story/hooks/useQueuedMarkdownHeightMeasure.d.ts +19 -0
- package/lib/features/story/hooks/useQueuedMarkdownHeightMeasure.js +56 -0
- package/lib/features/story/hooks/useStoryImagePreload.d.ts +1 -0
- package/lib/features/story/hooks/useStoryImagePreload.js +24 -0
- package/lib/{panelview/story-maps → features/story}/hooks/useStoryMap.d.ts +2 -7
- package/lib/{panelview/story-maps → features/story}/hooks/useStoryMap.js +21 -60
- package/lib/features/story/hooks/useStoryScrollState.d.ts +21 -0
- package/lib/features/story/hooks/useStoryScrollState.js +39 -0
- package/lib/features/story/hooks/useStorySegmentSync.d.ts +8 -0
- package/lib/features/story/hooks/useStorySegmentSync.js +51 -0
- package/lib/features/story/types/types.d.ts +43 -0
- package/lib/features/story/types/types.js +1 -0
- package/lib/features/story/utils/computeListStoryScrollState.d.ts +14 -0
- package/lib/features/story/utils/computeListStoryScrollState.js +79 -0
- package/lib/features/story/utils/listStoryMeasureQueue.d.ts +11 -0
- package/lib/features/story/utils/listStoryMeasureQueue.js +14 -0
- package/lib/features/story/utils/listStoryScrollTrack.d.ts +17 -0
- package/lib/features/story/utils/listStoryScrollTrack.js +72 -0
- package/lib/features/story/utils/spectaPresentation.d.ts +9 -0
- package/lib/features/story/utils/spectaPresentation.js +37 -0
- package/lib/features/story/utils/storySegmentViewItems.d.ts +5 -0
- package/lib/features/story/utils/storySegmentViewItems.js +30 -0
- package/lib/index.d.ts +11 -9
- package/lib/index.js +11 -9
- package/lib/keybindings.json +5 -0
- package/lib/mainview/OpenEOTileLayer.d.ts +49 -0
- package/lib/mainview/OpenEOTileLayer.js +179 -0
- package/lib/mainview/TemporalSlider.js +11 -9
- package/lib/mainview/components/MainViewMapSurface.d.ts +15 -0
- package/lib/mainview/components/MainViewMapSurface.js +13 -0
- package/lib/mainview/components/MainViewOverlayLayer.d.ts +9 -0
- package/lib/mainview/components/MainViewOverlayLayer.js +11 -0
- package/lib/mainview/components/MainViewSidePanels.d.ts +17 -0
- package/lib/mainview/components/MainViewSidePanels.js +10 -0
- package/lib/mainview/components/MainViewSpectaPanel.d.ts +17 -0
- package/lib/mainview/components/MainViewSpectaPanel.js +8 -0
- package/lib/mainview/components/MainViewStoryStage.d.ts +13 -0
- package/lib/mainview/components/MainViewStoryStage.js +17 -0
- package/lib/mainview/components/PositionedFloater.d.ts +10 -0
- package/lib/mainview/components/PositionedFloater.js +7 -0
- package/lib/mainview/geoJsonFeaturePatch.d.ts +9 -0
- package/lib/mainview/geoJsonFeaturePatch.js +43 -0
- package/lib/mainview/mainView.d.ts +93 -14
- package/lib/mainview/mainView.js +1216 -686
- package/lib/mainview/mainviewwidget.d.ts +5 -1
- package/lib/mainview/mainviewwidget.js +4 -2
- package/lib/shared/components/Button.d.ts +1 -1
- package/lib/shared/components/DropdownMenu.d.ts +1 -0
- package/lib/shared/components/DropdownMenu.js +3 -2
- package/lib/shared/components/NativeSelect.d.ts +8 -0
- package/lib/shared/components/NativeSelect.js +29 -0
- package/lib/shared/components/Tabs.d.ts +3 -3
- package/lib/shared/components/Tabs.js +5 -5
- package/lib/{formbuilder → shared/formbuilder}/creationform.js +71 -4
- package/lib/{formbuilder → shared/formbuilder}/editform.js +1 -1
- package/lib/{formbuilder → shared/formbuilder}/formselectors.d.ts +2 -2
- package/lib/{formbuilder → shared/formbuilder}/formselectors.js +10 -7
- package/lib/shared/formbuilder/index.d.ts +4 -0
- package/lib/shared/formbuilder/index.js +4 -0
- package/lib/{formbuilder → shared/formbuilder}/objectform/SchemaForm.d.ts +1 -1
- package/lib/{formbuilder → shared/formbuilder}/objectform/StoryEditorForm.d.ts +1 -1
- package/lib/{formbuilder → shared/formbuilder}/objectform/StoryEditorForm.js +1 -1
- package/lib/{formbuilder → shared/formbuilder}/objectform/components/LayerSelect.js +1 -1
- package/lib/{formbuilder → shared/formbuilder}/objectform/components/SegmentFormSymbology.js +4 -4
- package/lib/{formbuilder → shared/formbuilder}/objectform/components/SourcePropertiesField.js +1 -1
- package/lib/{formbuilder → shared/formbuilder}/objectform/components/StorySegmentReset.js +1 -1
- package/lib/{formbuilder → shared/formbuilder}/objectform/components/WmsTileSourceUrlInput.js +4 -4
- package/lib/{formbuilder → shared/formbuilder}/objectform/fileselectorwidget.js +8 -1
- package/lib/{formbuilder → shared/formbuilder}/objectform/schemaUtils.d.ts +3 -1
- package/lib/{formbuilder → shared/formbuilder}/objectform/schemaUtils.js +11 -0
- package/lib/{formbuilder → shared/formbuilder}/objectform/useSchemaFormState.d.ts +1 -1
- package/lib/{formbuilder → shared/formbuilder}/objectform/useSchemaFormState.js +1 -1
- package/lib/{icons.d.ts → shared/icons.d.ts} +2 -0
- package/lib/{icons.js → shared/icons.js} +28 -18
- package/lib/tools.d.ts +2 -0
- package/lib/tools.js +138 -4
- package/lib/types.d.ts +6 -1
- package/lib/types.js +6 -2
- package/lib/{menus.js → workspace/menus.js} +10 -2
- package/lib/workspace/panels/components/TabbedPanel.d.ts +17 -0
- package/lib/workspace/panels/components/TabbedPanel.js +19 -0
- package/lib/{panelview → workspace/panels}/components/layers.js +63 -18
- package/lib/workspace/panels/components/legendItem.js +680 -0
- package/lib/workspace/panels/hooks/useLayerTree.d.ts +19 -0
- package/lib/workspace/panels/hooks/useLayerTree.js +103 -0
- package/lib/workspace/panels/hooks/useRightPanelOptions.d.ts +27 -0
- package/lib/workspace/panels/hooks/useRightPanelOptions.js +72 -0
- package/lib/workspace/panels/hooks/useUIState.d.ts +2 -0
- package/lib/workspace/panels/hooks/useUIState.js +25 -0
- package/lib/{panelview → workspace/panels}/index.d.ts +1 -1
- package/lib/{panelview → workspace/panels}/index.js +1 -1
- package/lib/{panelview → workspace/panels}/leftpanel.d.ts +1 -1
- package/lib/workspace/panels/leftpanel.js +70 -0
- package/lib/{panelview/rightpanel.d.ts → workspace/panels/mergedpanel.d.ts} +6 -5
- package/lib/workspace/panels/mergedpanel.js +166 -0
- package/lib/workspace/panels/rightpanel.d.ts +25 -0
- package/lib/{panelview → workspace/panels}/rightpanel.js +53 -63
- package/lib/{statusbar → workspace/statusbar}/StatusBar.js +5 -4
- package/lib/{toolbar → workspace/toolbar}/widget.d.ts +2 -0
- package/lib/{toolbar → workspace/toolbar}/widget.js +33 -5
- package/lib/{widget.d.ts → workspace/widget.d.ts} +7 -5
- package/lib/{widget.js → workspace/widget.js} +16 -7
- package/package.json +16 -4
- package/style/base.css +124 -2
- package/style/icons/geopackage.svg +95 -0
- package/style/icons/pencil_solid.svg +7 -0
- package/style/identify.css +95 -0
- package/style/layerBrowser.css +29 -1
- package/style/leftPanel.css +25 -0
- package/style/shared/button.css +12 -0
- package/style/shared/dropdownMenu.css +9 -0
- package/style/shared/nativeSelect.css +75 -0
- package/style/shared/tabs.css +1 -1
- package/style/spectaProgressBar.css +0 -1
- package/style/storyPanel.css +330 -9
- package/style/storySpectaArticleOverlay.css +129 -0
- package/style/symbologyDialog.css +522 -27
- package/lib/dialogs/symbology/tiff_layer/TiffRendering.d.ts +0 -4
- package/lib/dialogs/symbology/tiff_layer/TiffRendering.js +0 -42
- package/lib/dialogs/symbology/tiff_layer/components/BandRow.d.ts +0 -23
- package/lib/dialogs/symbology/tiff_layer/components/BandRow.js +0 -59
- package/lib/dialogs/symbology/tiff_layer/types/MultibandColor.d.ts +0 -4
- package/lib/dialogs/symbology/tiff_layer/types/MultibandColor.js +0 -92
- package/lib/dialogs/symbology/tiff_layer/types/SingleBandPseudoColor.d.ts +0 -5
- package/lib/dialogs/symbology/tiff_layer/types/SingleBandPseudoColor.js +0 -313
- package/lib/dialogs/symbology/vector_layer/VectorRendering.d.ts +0 -4
- package/lib/dialogs/symbology/vector_layer/VectorRendering.js +0 -112
- package/lib/dialogs/symbology/vector_layer/components/ValueSelect.d.ts +0 -8
- package/lib/dialogs/symbology/vector_layer/components/ValueSelect.js +0 -9
- package/lib/dialogs/symbology/vector_layer/types/Canonical.d.ts +0 -4
- package/lib/dialogs/symbology/vector_layer/types/Canonical.js +0 -130
- package/lib/dialogs/symbology/vector_layer/types/Categorized.d.ts +0 -4
- package/lib/dialogs/symbology/vector_layer/types/Categorized.js +0 -243
- package/lib/dialogs/symbology/vector_layer/types/Graduated.d.ts +0 -4
- package/lib/dialogs/symbology/vector_layer/types/Graduated.js +0 -362
- package/lib/dialogs/symbology/vector_layer/types/Heatmap.d.ts +0 -4
- package/lib/dialogs/symbology/vector_layer/types/Heatmap.js +0 -89
- package/lib/dialogs/symbology/vector_layer/types/SimpleSymbol.d.ts +0 -4
- package/lib/dialogs/symbology/vector_layer/types/SimpleSymbol.js +0 -120
- package/lib/formbuilder/index.d.ts +0 -4
- package/lib/formbuilder/index.js +0 -4
- package/lib/formbuilder/objectform/layer/heatmapLayerForm.js +0 -96
- package/lib/formbuilder/objectform/layer/storySegmentLayerForm.js +0 -95
- package/lib/formbuilder/objectform/layer/webGlLayerForm.d.ts +0 -3
- package/lib/formbuilder/objectform/process/index.d.ts +0 -1
- package/lib/formbuilder/objectform/process/index.js +0 -1
- package/lib/panelview/components/legendItem.js +0 -210
- package/lib/panelview/identify-panel/IdentifyPanel.js +0 -102
- package/lib/panelview/leftpanel.js +0 -139
- package/lib/panelview/story-maps/StoryViewerPanel.js +0 -116
- package/lib/panelview/story-maps/components/SpectaDesktopView.js +0 -49
- package/lib/processing/index.js +0 -200
- package/lib/processing/processingCommands.js +0 -67
- /package/lib/{panelview/annotationPanel.d.ts → features/annotations/AnnotationsPanel.d.ts} +0 -0
- /package/lib/{annotations → features/annotations}/components/Annotation.d.ts +0 -0
- /package/lib/{annotations → features/annotations}/components/Annotation.js +0 -0
- /package/lib/{annotations → features/annotations}/components/AnnotationFloater.d.ts +0 -0
- /package/lib/{annotations → features/annotations}/components/AnnotationFloater.js +0 -0
- /package/lib/{annotations → features/annotations}/components/Message.d.ts +0 -0
- /package/lib/{annotations → features/annotations}/components/Message.js +0 -0
- /package/lib/{annotations → features/annotations}/model.d.ts +0 -0
- /package/lib/{annotations → features/annotations}/model.js +0 -0
- /package/lib/{console → features/console}/consoleview.d.ts +0 -0
- /package/lib/{console → features/console}/index.d.ts +0 -0
- /package/lib/{console → features/console}/index.js +0 -0
- /package/lib/{panelview/filter-panel → features/filter}/Filter.d.ts +0 -0
- /package/lib/{stacBrowser/types/types.js → features/identify/types/editorTypes.js} +0 -0
- /package/lib/{dialogs/layerBrowserDialog.d.ts → features/layer-browser/index.d.ts} +0 -0
- /package/lib/{formbuilder/objectform → features/layers/forms}/layer/hillshadeLayerForm.d.ts +0 -0
- /package/lib/{formbuilder/objectform → features/layers/forms}/layer/storySegmentLayerForm.d.ts +0 -0
- /package/lib/{formbuilder/objectform → features/layers/forms}/layer/vectorlayerform.d.ts +0 -0
- /package/lib/{formbuilder/objectform → features/layers/forms}/source/geojsonsource.d.ts +0 -0
- /package/lib/{formbuilder/objectform → features/layers/forms}/source/geotiffsource.d.ts +0 -0
- /package/lib/{formbuilder/objectform → features/layers/forms}/source/pathbasedsource.d.ts +0 -0
- /package/lib/{formbuilder/objectform → features/layers/forms}/source/tilesourceform.d.ts +0 -0
- /package/lib/{dialogs → features/layers}/symbology/components/color_ramp/ColorRampSelectorEntry.d.ts +0 -0
- /package/lib/{dialogs → features/layers}/symbology/components/color_ramp/ColorRampSelectorEntry.js +0 -0
- /package/lib/{dialogs → features/layers}/symbology/components/color_ramp/ModeSelectRow.js +0 -0
- /package/lib/{dialogs → features/layers}/symbology/components/color_ramp/RgbaColorPicker.d.ts +0 -0
- /package/lib/{dialogs → features/layers}/symbology/components/color_ramp/cmocean.json +0 -0
- /package/lib/{dialogs → features/layers}/symbology/components/color_stops/StopContainer.d.ts +0 -0
- /package/lib/{dialogs → features/layers}/symbology/hooks/useEffectiveSymbologyParams.d.ts +0 -0
- /package/lib/{dialogs → features/layers}/symbology/hooks/useEffectiveSymbologyParams.js +0 -0
- /package/lib/{dialogs → features/layers}/symbology/hooks/useGetProperties.d.ts +0 -0
- /package/lib/{dialogs → features/layers}/symbology/hooks/useGetSymbology.d.ts +0 -0
- /package/lib/{dialogs → features/layers}/symbology/hooks/useOkSignal.d.ts +0 -0
- /package/lib/{dialogs → features/layers}/symbology/hooks/useOkSignal.js +0 -0
- /package/lib/{formbuilder/objectform/process → features/processing/forms}/dissolveProcessForm.d.ts +0 -0
- /package/lib/{processing → features/processing}/processingFormToParam.d.ts +0 -0
- /package/lib/{processing → features/processing}/processingFormToParam.js +0 -0
- /package/lib/{stacBrowser → features/stac-browser}/components/StacPanel.d.ts +0 -0
- /package/lib/{stacBrowser → features/stac-browser}/components/filter-extension/QueryableComboBox.d.ts +0 -0
- /package/lib/{stacBrowser → features/stac-browser}/components/filter-extension/QueryableRow.d.ts +0 -0
- /package/lib/{stacBrowser → features/stac-browser}/components/filter-extension/StacFilterExtensionPanel.d.ts +0 -0
- /package/lib/{stacBrowser → features/stac-browser}/components/filter-extension/StacQueryableFilters.d.ts +0 -0
- /package/lib/{stacBrowser → features/stac-browser}/components/geodes/StacFilterSection.d.ts +0 -0
- /package/lib/{stacBrowser → features/stac-browser}/components/geodes/StacGeodesFilterPanel.d.ts +0 -0
- /package/lib/{stacBrowser → features/stac-browser}/components/geodes/StacGeodesFilterPanel.js +0 -0
- /package/lib/{stacBrowser → features/stac-browser}/components/shared/StacPanelResults.d.ts +0 -0
- /package/lib/{stacBrowser → features/stac-browser}/components/shared/StacSpatialExtent.d.ts +0 -0
- /package/lib/{stacBrowser → features/stac-browser}/components/shared/StacTemporalExtent.d.ts +0 -0
- /package/lib/{stacBrowser → features/stac-browser}/constants.d.ts +0 -0
- /package/lib/{stacBrowser → features/stac-browser}/constants.js +0 -0
- /package/lib/{stacBrowser → features/stac-browser}/context/StacResultsContext.d.ts +0 -0
- /package/lib/{stacBrowser → features/stac-browser}/hooks/useGeodesSearch.d.ts +0 -0
- /package/lib/{stacBrowser → features/stac-browser}/hooks/useStacFilterExtension.d.ts +0 -0
- /package/lib/{stacBrowser → features/stac-browser}/hooks/useStacSearch.d.ts +0 -0
- /package/lib/{stacBrowser → features/stac-browser}/index.d.ts +0 -0
- /package/lib/{stacBrowser → features/stac-browser}/index.js +0 -0
- /package/lib/{stacBrowser → features/stac-browser}/types/types.d.ts +0 -0
- /package/lib/{panelview/story-maps → features/story}/StoryEditorPanel.d.ts +0 -0
- /package/lib/{panelview/story-maps → features/story}/components/PreviewModeSwitch.d.ts +0 -0
- /package/lib/{panelview/story-maps → features/story}/components/PreviewModeSwitch.js +0 -0
- /package/lib/{panelview/story-maps → features/story}/components/StoryContentSection.d.ts +0 -0
- /package/lib/{panelview/story-maps → features/story}/components/StoryContentSection.js +0 -0
- /package/lib/{panelview/story-maps → features/story}/components/StoryImageSection.d.ts +0 -0
- /package/lib/{panelview/story-maps → features/story}/components/StoryImageSection.js +0 -0
- /package/lib/{panelview/story-maps → features/story}/components/StoryNavBar.d.ts +0 -0
- /package/lib/{panelview/story-maps → features/story}/components/StoryNavBar.js +0 -0
- /package/lib/{panelview/story-maps → features/story}/components/StorySubtitleSection.d.ts +0 -0
- /package/lib/{panelview/story-maps → features/story}/components/StorySubtitleSection.js +0 -0
- /package/lib/{panelview/story-maps → features/story}/components/StoryTitleSection.d.ts +0 -0
- /package/lib/{panelview/story-maps → features/story}/components/StoryTitleSection.js +0 -0
- /package/lib/{formbuilder → shared/formbuilder}/creationform.d.ts +0 -0
- /package/lib/{formbuilder → shared/formbuilder}/editform.d.ts +0 -0
- /package/lib/{formbuilder → shared/formbuilder}/objectform/SchemaForm.js +0 -0
- /package/lib/{formbuilder → shared/formbuilder}/objectform/components/LayerSelect.d.ts +0 -0
- /package/lib/{formbuilder → shared/formbuilder}/objectform/components/OpacitySlider.d.ts +0 -0
- /package/lib/{formbuilder → shared/formbuilder}/objectform/components/OpacitySlider.js +0 -0
- /package/lib/{formbuilder → shared/formbuilder}/objectform/components/SegmentFormSymbology.d.ts +0 -0
- /package/lib/{formbuilder → shared/formbuilder}/objectform/components/SourcePropertiesField.d.ts +0 -0
- /package/lib/{formbuilder → shared/formbuilder}/objectform/components/StorySegmentReset.d.ts +0 -0
- /package/lib/{formbuilder → shared/formbuilder}/objectform/components/WmsTileSourceUrlInput.d.ts +0 -0
- /package/lib/{formbuilder → shared/formbuilder}/objectform/fileselectorwidget.d.ts +0 -0
- /package/lib/{store.d.ts → shared/store.d.ts} +0 -0
- /package/lib/{store.js → shared/store.js} +0 -0
- /package/lib/{menus.d.ts → workspace/menus.d.ts} +0 -0
- /package/lib/{panelview → workspace/panels}/components/layers.d.ts +0 -0
- /package/lib/{panelview → workspace/panels}/components/legendItem.d.ts +0 -0
- /package/lib/{panelview → workspace/panels}/header.d.ts +0 -0
- /package/lib/{panelview → workspace/panels}/header.js +0 -0
- /package/lib/{statusbar → workspace/statusbar}/SpectaPresentationProgressBar.d.ts +0 -0
- /package/lib/{statusbar → workspace/statusbar}/SpectaPresentationProgressBar.js +0 -0
- /package/lib/{statusbar → workspace/statusbar}/StatusBar.d.ts +0 -0
- /package/lib/{toolbar → workspace/toolbar}/index.d.ts +0 -0
- /package/lib/{toolbar → workspace/toolbar}/index.js +0 -0
|
@@ -17,6 +17,9 @@ export declare const openNewImageDialog = "jupytergis:openNewImageDialog";
|
|
|
17
17
|
export declare const openNewVideoDialog = "jupytergis:openNewVideoDialog";
|
|
18
18
|
export declare const openNewGeoTiffDialog = "jupytergis:openNewGeoTiffDialog";
|
|
19
19
|
export declare const openNewGeoParquetDialog = "jupytergis:openNewGeoParquetDialog";
|
|
20
|
+
export declare const newGeoPackageRasterEntry = "jupytergis:newGeoPackageRasterEntry";
|
|
21
|
+
export declare const newGeoPackageVectorEntry = "jupytergis:newGeoPackageVectorEntry";
|
|
22
|
+
export declare const toggleDrawFeatures = "jupytergis:toggleDrawFeatures";
|
|
20
23
|
export declare const renameSelected = "jupytergis:renameSelected";
|
|
21
24
|
export declare const removeSelected = "jupytergis:removeSelected";
|
|
22
25
|
export declare const duplicateSelected = "jupytergis:duplicateSelected";
|
|
@@ -32,6 +35,7 @@ export declare const zoomToLayer = "jupytergis:zoomToLayer";
|
|
|
32
35
|
export declare const downloadGeoJSON = "jupytergis:downloadGeoJSON";
|
|
33
36
|
export declare const toggleLeftPanel = "jupytergis:toggleLeftPanel";
|
|
34
37
|
export declare const toggleRightPanel = "jupytergis:toggleRightPanel";
|
|
38
|
+
export declare const togglePanel = "jupytergis:togglePanel";
|
|
35
39
|
export declare const showLayersTab = "jupytergis:showLayersTab";
|
|
36
40
|
export declare const showStacBrowserTab = "jupytergis:showStacBrowserTab";
|
|
37
41
|
export declare const showObjectPropertiesTab = "jupytergis:showObjectPropertiesTab";
|
|
@@ -39,5 +43,6 @@ export declare const showAnnotationsTab = "jupytergis:showAnnotationsTab";
|
|
|
39
43
|
export declare const showIdentifyPanelTab = "jupytergis:showIdentifyPanelTab";
|
|
40
44
|
export declare const addStorySegment = "jupytergis:addStorySegment";
|
|
41
45
|
export declare const toggleStoryPresentationMode = "jupytergis:toggleStoryPresentationMode";
|
|
46
|
+
export declare const createStorySegmentFromLayer = "jupytergis:createStorySegmentFromLayer";
|
|
42
47
|
export declare const storyPrev = "jupytergis:storyPrev";
|
|
43
48
|
export declare const storyNext = "jupytergis:storyNext";
|
|
@@ -25,6 +25,9 @@ export const openNewImageDialog = 'jupytergis:openNewImageDialog';
|
|
|
25
25
|
export const openNewVideoDialog = 'jupytergis:openNewVideoDialog';
|
|
26
26
|
export const openNewGeoTiffDialog = 'jupytergis:openNewGeoTiffDialog';
|
|
27
27
|
export const openNewGeoParquetDialog = 'jupytergis:openNewGeoParquetDialog';
|
|
28
|
+
export const newGeoPackageRasterEntry = 'jupytergis:newGeoPackageRasterEntry';
|
|
29
|
+
export const newGeoPackageVectorEntry = 'jupytergis:newGeoPackageVectorEntry';
|
|
30
|
+
export const toggleDrawFeatures = 'jupytergis:toggleDrawFeatures';
|
|
28
31
|
// Layer and group actions
|
|
29
32
|
export const renameSelected = 'jupytergis:renameSelected';
|
|
30
33
|
export const removeSelected = 'jupytergis:removeSelected';
|
|
@@ -44,6 +47,7 @@ export const downloadGeoJSON = 'jupytergis:downloadGeoJSON';
|
|
|
44
47
|
// Panel toggles
|
|
45
48
|
export const toggleLeftPanel = 'jupytergis:toggleLeftPanel';
|
|
46
49
|
export const toggleRightPanel = 'jupytergis:toggleRightPanel';
|
|
50
|
+
export const togglePanel = 'jupytergis:togglePanel';
|
|
47
51
|
// Left panel tabs
|
|
48
52
|
export const showLayersTab = 'jupytergis:showLayersTab';
|
|
49
53
|
export const showStacBrowserTab = 'jupytergis:showStacBrowserTab';
|
|
@@ -54,5 +58,6 @@ export const showIdentifyPanelTab = 'jupytergis:showIdentifyPanelTab';
|
|
|
54
58
|
// Story maps
|
|
55
59
|
export const addStorySegment = 'jupytergis:addStorySegment';
|
|
56
60
|
export const toggleStoryPresentationMode = 'jupytergis:toggleStoryPresentationMode';
|
|
61
|
+
export const createStorySegmentFromLayer = 'jupytergis:createStorySegmentFromLayer';
|
|
57
62
|
export const storyPrev = 'jupytergis:storyPrev';
|
|
58
63
|
export const storyNext = 'jupytergis:storyNext';
|
package/lib/commands/index.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { UUID } from '@lumino/coreutils';
|
|
2
2
|
import { fromLonLat } from 'ol/proj';
|
|
3
|
+
import { targetWithCenterIcon } from "../shared/icons";
|
|
4
|
+
import { addLayerCreationCommands } from './operationCommands';
|
|
3
5
|
import { CommandIDs, icons } from '../constants';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
6
|
+
import { LayerBrowserWidget } from '../features/layer-browser';
|
|
7
|
+
import { LayerCreationFormDialog } from '../features/layers/layerCreationFormDialog';
|
|
8
|
+
import { SymbologyWidget } from '../features/layers/symbology/symbologyDialog';
|
|
9
|
+
import { ProcessingFormDialog } from '../features/processing/ProcessingFormDialog';
|
|
10
|
+
import { getSingleSelectedLayer } from '../features/processing/index';
|
|
11
|
+
import { addProcessingCommands } from '../features/processing/processingCommands';
|
|
9
12
|
import keybindings from '../keybindings.json';
|
|
10
|
-
import { getSingleSelectedLayer } from '../processing/index';
|
|
11
|
-
import { addProcessingCommands } from '../processing/processingCommands';
|
|
12
13
|
import { getGeoJSONDataFromLayerSource, downloadFile } from '../tools';
|
|
13
|
-
import { SYMBOLOGY_VALID_LAYER_TYPES } from '../types';
|
|
14
|
-
import { JupyterGISDocumentWidget } from '../widget';
|
|
15
|
-
import { addLayerCreationCommands } from './operationCommands';
|
|
14
|
+
import { STORY_TYPE, SYMBOLOGY_VALID_LAYER_TYPES, } from '../types';
|
|
15
|
+
import { JupyterGISDocumentWidget } from '../workspace/widget';
|
|
16
16
|
const POINT_SELECTION_TOOL_CLASS = 'jGIS-point-selection-tool';
|
|
17
17
|
function loadKeybindings(commands, keybindings) {
|
|
18
18
|
keybindings.forEach(binding => {
|
|
@@ -156,7 +156,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
156
156
|
const canIdentify = [
|
|
157
157
|
'VectorLayer',
|
|
158
158
|
'ShapefileLayer',
|
|
159
|
-
'
|
|
159
|
+
'GeoTiffLayer',
|
|
160
160
|
'VectorTileLayer',
|
|
161
161
|
].includes(selectedLayer.type);
|
|
162
162
|
if (current.model.currentMode === 'identifying' && !canIdentify) {
|
|
@@ -177,7 +177,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
177
177
|
return [
|
|
178
178
|
'VectorLayer',
|
|
179
179
|
'ShapefileLayer',
|
|
180
|
-
'
|
|
180
|
+
'GeoTiffLayer',
|
|
181
181
|
'VectorTileLayer',
|
|
182
182
|
].includes(selectedLayer.type);
|
|
183
183
|
}, execute: args => {
|
|
@@ -230,16 +230,9 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
230
230
|
if (!layerType) {
|
|
231
231
|
return false;
|
|
232
232
|
}
|
|
233
|
-
|
|
234
|
-
const isSelectionValid = Object.keys(selectedLayers).length === 1 &&
|
|
233
|
+
return (Object.keys(selectedLayers).length === 1 &&
|
|
235
234
|
!model.getSource(layerId) &&
|
|
236
|
-
|
|
237
|
-
if (!isSelectionValid && model.isTemporalControllerActive) {
|
|
238
|
-
model.toggleTemporalController();
|
|
239
|
-
commands.notifyCommandChanged(CommandIDs.temporalController);
|
|
240
|
-
return false;
|
|
241
|
-
}
|
|
242
|
-
return true;
|
|
235
|
+
layerType === 'VectorLayer');
|
|
243
236
|
}, execute: (args) => {
|
|
244
237
|
const filePath = args === null || args === void 0 ? void 0 : args.filePath;
|
|
245
238
|
const current = filePath
|
|
@@ -361,7 +354,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
361
354
|
createSource: true,
|
|
362
355
|
layerData: { name: 'Custom WMS Layer' },
|
|
363
356
|
sourceType: 'WmsTileSource',
|
|
364
|
-
layerType: '
|
|
357
|
+
layerType: 'GeoTiffLayer',
|
|
365
358
|
}) }, icons.get(CommandIDs.openNewWmsDialog)));
|
|
366
359
|
//Add processing commands
|
|
367
360
|
addProcessingCommands(app, commands, tracker, trans, formSchemaRegistry, Object.fromEntries(formSchemaRegistry.getSchemas()));
|
|
@@ -466,7 +459,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
466
459
|
},
|
|
467
460
|
layerData: { name: 'Custom GeoTiff Layer' },
|
|
468
461
|
sourceType: 'GeoTiffSource',
|
|
469
|
-
layerType: '
|
|
462
|
+
layerType: 'GeoTiffLayer',
|
|
470
463
|
}) }, icons.get(CommandIDs.openNewGeoTiffDialog)));
|
|
471
464
|
commands.addCommand(CommandIDs.openNewShapefileDialog, Object.assign({ label: trans.__('Shapefile'), caption: 'Open a dialog to create a new shapefile layer and source in the current JupyterGIS document.', describedBy: {
|
|
472
465
|
args: {
|
|
@@ -488,6 +481,36 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
488
481
|
sourceType: 'ShapefileSource',
|
|
489
482
|
layerType: 'VectorLayer',
|
|
490
483
|
}) }, icons.get(CommandIDs.openNewShapefileDialog)));
|
|
484
|
+
commands.addCommand(CommandIDs.newGeoPackageVectorEntry, Object.assign({ label: trans.__('GeoPackage'), isEnabled: () => {
|
|
485
|
+
return tracker.currentWidget
|
|
486
|
+
? tracker.currentWidget.model.sharedModel.editable
|
|
487
|
+
: false;
|
|
488
|
+
}, execute: Private.createEntry({
|
|
489
|
+
tracker,
|
|
490
|
+
formSchemaRegistry,
|
|
491
|
+
title: 'Create GeoPackage Layer',
|
|
492
|
+
createLayer: true,
|
|
493
|
+
createSource: true,
|
|
494
|
+
sourceData: { name: 'Custom GeoPackage Vector Source' },
|
|
495
|
+
layerData: { name: 'Custom GeoPackage Vector Layer' },
|
|
496
|
+
sourceType: 'GeoPackageVectorSource',
|
|
497
|
+
layerType: 'VectorLayer',
|
|
498
|
+
}) }, icons.get(CommandIDs.newGeoPackageVectorEntry)));
|
|
499
|
+
commands.addCommand(CommandIDs.newGeoPackageRasterEntry, Object.assign({ label: trans.__('GeoPackage'), isEnabled: () => {
|
|
500
|
+
return tracker.currentWidget
|
|
501
|
+
? tracker.currentWidget.model.sharedModel.editable
|
|
502
|
+
: false;
|
|
503
|
+
}, execute: Private.createEntry({
|
|
504
|
+
tracker,
|
|
505
|
+
formSchemaRegistry,
|
|
506
|
+
title: 'Create GeoPackage Layer',
|
|
507
|
+
createLayer: true,
|
|
508
|
+
createSource: true,
|
|
509
|
+
sourceData: { name: 'Custom GeoPackage Raster Source' },
|
|
510
|
+
layerData: { name: 'Custom GeoPackage Raster Layer' },
|
|
511
|
+
sourceType: 'GeoPackageRasterSource',
|
|
512
|
+
layerType: 'RasterLayer',
|
|
513
|
+
}) }, icons.get(CommandIDs.newGeoPackageRasterEntry)));
|
|
491
514
|
/**
|
|
492
515
|
* LAYERS and LAYER GROUP actions.
|
|
493
516
|
*/
|
|
@@ -965,23 +988,21 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
965
988
|
isEnabled: () => Boolean(tracker.currentWidget),
|
|
966
989
|
isToggled: () => {
|
|
967
990
|
const current = tracker.currentWidget;
|
|
968
|
-
|
|
991
|
+
if (!current) {
|
|
992
|
+
return false;
|
|
993
|
+
}
|
|
994
|
+
const open = current.model.getUIState().leftPanelOpen;
|
|
995
|
+
return open !== false;
|
|
969
996
|
},
|
|
970
|
-
execute:
|
|
971
|
-
var _a, _b, _c;
|
|
997
|
+
execute: () => {
|
|
972
998
|
const current = tracker.currentWidget;
|
|
973
999
|
if (!current) {
|
|
974
1000
|
return;
|
|
975
1001
|
}
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
commands.notifyCommandChanged(CommandIDs.toggleLeftPanel);
|
|
981
|
-
}
|
|
982
|
-
catch (err) {
|
|
983
|
-
console.error('Failed to toggle Left Panel:', err);
|
|
984
|
-
}
|
|
1002
|
+
const open = current.model.getUIState().leftPanelOpen;
|
|
1003
|
+
current.model.setUIState({ leftPanelOpen: open === false });
|
|
1004
|
+
commands.notifyCommandChanged(CommandIDs.toggleLeftPanel);
|
|
1005
|
+
commands.notifyCommandChanged(CommandIDs.togglePanel);
|
|
985
1006
|
},
|
|
986
1007
|
});
|
|
987
1008
|
commands.addCommand(CommandIDs.toggleRightPanel, {
|
|
@@ -996,23 +1017,58 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
996
1017
|
isEnabled: () => Boolean(tracker.currentWidget),
|
|
997
1018
|
isToggled: () => {
|
|
998
1019
|
const current = tracker.currentWidget;
|
|
999
|
-
|
|
1020
|
+
if (!current) {
|
|
1021
|
+
return false;
|
|
1022
|
+
}
|
|
1023
|
+
const open = current.model.getUIState().rightPanelOpen;
|
|
1024
|
+
return open !== false;
|
|
1025
|
+
},
|
|
1026
|
+
execute: () => {
|
|
1027
|
+
const current = tracker.currentWidget;
|
|
1028
|
+
if (!current) {
|
|
1029
|
+
return;
|
|
1030
|
+
}
|
|
1031
|
+
const open = current.model.getUIState().rightPanelOpen;
|
|
1032
|
+
current.model.setUIState({ rightPanelOpen: open === false });
|
|
1033
|
+
commands.notifyCommandChanged(CommandIDs.toggleRightPanel);
|
|
1034
|
+
commands.notifyCommandChanged(CommandIDs.togglePanel);
|
|
1035
|
+
},
|
|
1036
|
+
});
|
|
1037
|
+
commands.addCommand(CommandIDs.togglePanel, {
|
|
1038
|
+
label: trans.__('Toggle Panel'),
|
|
1039
|
+
caption: 'Toggle the panel in the current JupyterGIS document.',
|
|
1040
|
+
iconClass: 'fa fa-layer-group',
|
|
1041
|
+
isEnabled: () => Boolean(tracker.currentWidget),
|
|
1042
|
+
isToggled: () => {
|
|
1043
|
+
const current = tracker.currentWidget;
|
|
1044
|
+
if (!current) {
|
|
1045
|
+
return false;
|
|
1046
|
+
}
|
|
1047
|
+
const { leftPanelDisabled, rightPanelDisabled } = current.model.jgisSettings;
|
|
1048
|
+
const { leftPanelOpen = true, rightPanelOpen = true } = current.model.getUIState();
|
|
1049
|
+
const show = (!leftPanelDisabled && !leftPanelOpen) ||
|
|
1050
|
+
(!rightPanelDisabled && !rightPanelOpen);
|
|
1051
|
+
return !show;
|
|
1000
1052
|
},
|
|
1001
|
-
execute:
|
|
1002
|
-
var _a, _b, _c;
|
|
1053
|
+
execute: () => {
|
|
1003
1054
|
const current = tracker.currentWidget;
|
|
1004
1055
|
if (!current) {
|
|
1005
1056
|
return;
|
|
1006
1057
|
}
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1058
|
+
const { leftPanelDisabled, rightPanelDisabled } = current.model.jgisSettings;
|
|
1059
|
+
const { leftPanelOpen = true, rightPanelOpen = true } = current.model.getUIState();
|
|
1060
|
+
// Show all if any non-disabled panel is hidden; hide all otherwise.
|
|
1061
|
+
const show = (!leftPanelDisabled && !leftPanelOpen) ||
|
|
1062
|
+
(!rightPanelDisabled && !rightPanelOpen);
|
|
1063
|
+
const newState = {};
|
|
1064
|
+
if (!leftPanelDisabled) {
|
|
1065
|
+
newState.leftPanelOpen = show;
|
|
1012
1066
|
}
|
|
1013
|
-
|
|
1014
|
-
|
|
1067
|
+
if (!rightPanelDisabled) {
|
|
1068
|
+
newState.rightPanelOpen = show;
|
|
1015
1069
|
}
|
|
1070
|
+
current.model.setUIState(newState);
|
|
1071
|
+
commands.notifyCommandChanged(CommandIDs.togglePanel);
|
|
1016
1072
|
},
|
|
1017
1073
|
});
|
|
1018
1074
|
// Left panel tabs
|
|
@@ -1160,6 +1216,59 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
1160
1216
|
current.model.toggleMode('marking');
|
|
1161
1217
|
commands.notifyCommandChanged(CommandIDs.addMarker);
|
|
1162
1218
|
} }, icons.get(CommandIDs.addMarker)));
|
|
1219
|
+
commands.addCommand(CommandIDs.toggleDrawFeatures, Object.assign({ label: trans.__('Edit Features'), caption: 'Toggle feature editing for the selected draw-compatible layer.', describedBy: {
|
|
1220
|
+
args: {
|
|
1221
|
+
type: 'object',
|
|
1222
|
+
properties: {},
|
|
1223
|
+
},
|
|
1224
|
+
}, isToggled: () => {
|
|
1225
|
+
var _a, _b, _c;
|
|
1226
|
+
if (!(tracker.currentWidget instanceof JupyterGISDocumentWidget)) {
|
|
1227
|
+
return false;
|
|
1228
|
+
}
|
|
1229
|
+
const model = (_c = (_b = (_a = tracker.currentWidget) === null || _a === void 0 ? void 0 : _a.content) === null || _b === void 0 ? void 0 : _b.currentViewModel) === null || _c === void 0 ? void 0 : _c.jGISModel;
|
|
1230
|
+
if (!model) {
|
|
1231
|
+
return false;
|
|
1232
|
+
}
|
|
1233
|
+
const selectedLayer = getSingleSelectedLayer(tracker);
|
|
1234
|
+
if (!selectedLayer) {
|
|
1235
|
+
return false;
|
|
1236
|
+
}
|
|
1237
|
+
if (!model.checkIfIsADrawVectorLayer(selectedLayer)) {
|
|
1238
|
+
return false;
|
|
1239
|
+
}
|
|
1240
|
+
return model.editingVectorLayer;
|
|
1241
|
+
}, isEnabled: () => {
|
|
1242
|
+
var _a, _b, _c;
|
|
1243
|
+
if (!(tracker.currentWidget instanceof JupyterGISDocumentWidget)) {
|
|
1244
|
+
return false;
|
|
1245
|
+
}
|
|
1246
|
+
const model = (_c = (_b = (_a = tracker.currentWidget) === null || _a === void 0 ? void 0 : _a.content) === null || _b === void 0 ? void 0 : _b.currentViewModel) === null || _c === void 0 ? void 0 : _c.jGISModel;
|
|
1247
|
+
if (!model) {
|
|
1248
|
+
return false;
|
|
1249
|
+
}
|
|
1250
|
+
const selectedLayer = getSingleSelectedLayer(tracker);
|
|
1251
|
+
if (!selectedLayer) {
|
|
1252
|
+
return false;
|
|
1253
|
+
}
|
|
1254
|
+
return model.checkIfIsADrawVectorLayer(selectedLayer) === true;
|
|
1255
|
+
}, execute: async () => {
|
|
1256
|
+
var _a, _b;
|
|
1257
|
+
if (!(tracker.currentWidget instanceof JupyterGISDocumentWidget)) {
|
|
1258
|
+
return;
|
|
1259
|
+
}
|
|
1260
|
+
const model = (_b = (_a = tracker.currentWidget) === null || _a === void 0 ? void 0 : _a.content.currentViewModel) === null || _b === void 0 ? void 0 : _b.jGISModel;
|
|
1261
|
+
if (!model) {
|
|
1262
|
+
return false;
|
|
1263
|
+
}
|
|
1264
|
+
const selectedLayer = getSingleSelectedLayer(tracker);
|
|
1265
|
+
if (!selectedLayer) {
|
|
1266
|
+
return false;
|
|
1267
|
+
}
|
|
1268
|
+
model.editingVectorLayer = !model.editingVectorLayer;
|
|
1269
|
+
model.updateEditingVectorLayer();
|
|
1270
|
+
commands.notifyCommandChanged(CommandIDs.toggleDrawFeatures);
|
|
1271
|
+
} }, icons.get(CommandIDs.toggleDrawFeatures)));
|
|
1163
1272
|
commands.addCommand(CommandIDs.addStorySegment, Object.assign({ label: trans.__('Add Story Segment'), isEnabled: () => {
|
|
1164
1273
|
const current = tracker.currentWidget;
|
|
1165
1274
|
if (!current) {
|
|
@@ -1200,11 +1309,44 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
1200
1309
|
current.model.setOptions(Object.assign(Object.assign({}, currentOptions), { storyMapPresentationMode: !currentOptions.storyMapPresentationMode }));
|
|
1201
1310
|
commands.notifyCommandChanged(CommandIDs.toggleStoryPresentationMode);
|
|
1202
1311
|
} }, icons.get(CommandIDs.toggleStoryPresentationMode)));
|
|
1312
|
+
commands.addCommand(CommandIDs.createStorySegmentFromLayer, {
|
|
1313
|
+
label: trans.__('Create Story Segment for Layer'),
|
|
1314
|
+
isEnabled: () => {
|
|
1315
|
+
var _a, _b, _c;
|
|
1316
|
+
const model = (_a = tracker.currentWidget) === null || _a === void 0 ? void 0 : _a.model;
|
|
1317
|
+
const selected = (_c = (_b = model === null || model === void 0 ? void 0 : model.localState) === null || _b === void 0 ? void 0 : _b.selected) === null || _c === void 0 ? void 0 : _c.value;
|
|
1318
|
+
if (!model || !selected) {
|
|
1319
|
+
return false;
|
|
1320
|
+
}
|
|
1321
|
+
if (Object.keys(selected).length !== 1) {
|
|
1322
|
+
return false;
|
|
1323
|
+
}
|
|
1324
|
+
const layerId = Object.keys(selected)[0];
|
|
1325
|
+
return !!model.getLayer(layerId);
|
|
1326
|
+
},
|
|
1327
|
+
execute: () => {
|
|
1328
|
+
var _a, _b;
|
|
1329
|
+
const current = tracker.currentWidget;
|
|
1330
|
+
if (!current) {
|
|
1331
|
+
return;
|
|
1332
|
+
}
|
|
1333
|
+
const model = current.model;
|
|
1334
|
+
const selected = (_b = (_a = model === null || model === void 0 ? void 0 : model.localState) === null || _a === void 0 ? void 0 : _a.selected) === null || _b === void 0 ? void 0 : _b.value;
|
|
1335
|
+
if (!selected) {
|
|
1336
|
+
return;
|
|
1337
|
+
}
|
|
1338
|
+
const layerId = Object.keys(selected)[0];
|
|
1339
|
+
const result = model.createStorySegmentFromLayer(layerId);
|
|
1340
|
+
if (result) {
|
|
1341
|
+
model.centerOnPosition(layerId);
|
|
1342
|
+
}
|
|
1343
|
+
},
|
|
1344
|
+
});
|
|
1203
1345
|
/* Needs to be enabled in Specta mode, so add without Specta-aware wrapper */
|
|
1204
1346
|
originalAddCommand(CommandIDs.storyPrev, {
|
|
1205
1347
|
label: trans.__('Previous Story Segment'),
|
|
1206
1348
|
isEnabled: () => {
|
|
1207
|
-
var _a, _b;
|
|
1349
|
+
var _a, _b, _c;
|
|
1208
1350
|
const model = (_a = tracker.currentWidget) === null || _a === void 0 ? void 0 : _a.model;
|
|
1209
1351
|
const storySegments = (_b = model === null || model === void 0 ? void 0 : model.getSelectedStory().story) === null || _b === void 0 ? void 0 : _b.storySegments;
|
|
1210
1352
|
if (!model ||
|
|
@@ -1216,6 +1358,9 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
1216
1358
|
if (!model.isSpectaMode()) {
|
|
1217
1359
|
return false;
|
|
1218
1360
|
}
|
|
1361
|
+
if (((_c = model.getSelectedStory().story) === null || _c === void 0 ? void 0 : _c.storyType) === STORY_TYPE.verticalScroll) {
|
|
1362
|
+
return false;
|
|
1363
|
+
}
|
|
1219
1364
|
return model.getCurrentSegmentIndex() > 0;
|
|
1220
1365
|
},
|
|
1221
1366
|
execute: () => {
|
|
@@ -1231,7 +1376,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
1231
1376
|
originalAddCommand(CommandIDs.storyNext, {
|
|
1232
1377
|
label: trans.__('Next Story Segment'),
|
|
1233
1378
|
isEnabled: () => {
|
|
1234
|
-
var _a, _b, _c;
|
|
1379
|
+
var _a, _b, _c, _d;
|
|
1235
1380
|
const model = (_a = tracker.currentWidget) === null || _a === void 0 ? void 0 : _a.model;
|
|
1236
1381
|
const storySegments = (_b = model === null || model === void 0 ? void 0 : model.getSelectedStory().story) === null || _b === void 0 ? void 0 : _b.storySegments;
|
|
1237
1382
|
if (!model ||
|
|
@@ -1244,7 +1389,10 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
1244
1389
|
if (!isSpecta) {
|
|
1245
1390
|
return false;
|
|
1246
1391
|
}
|
|
1247
|
-
|
|
1392
|
+
if (((_c = model.getSelectedStory().story) === null || _c === void 0 ? void 0 : _c.storyType) === STORY_TYPE.verticalScroll) {
|
|
1393
|
+
return false;
|
|
1394
|
+
}
|
|
1395
|
+
const current = (_d = model.getCurrentSegmentIndex()) !== null && _d !== void 0 ? _d : 0;
|
|
1248
1396
|
return current < storySegments.length - 1;
|
|
1249
1397
|
},
|
|
1250
1398
|
execute: () => {
|
|
@@ -1257,6 +1405,28 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
1257
1405
|
model.setCurrentSegmentIndex(current + 1);
|
|
1258
1406
|
},
|
|
1259
1407
|
});
|
|
1408
|
+
const notifyCommandsChanged = () => {
|
|
1409
|
+
for (const command of Object.values(CommandIDs)) {
|
|
1410
|
+
try {
|
|
1411
|
+
commands.notifyCommandChanged(command);
|
|
1412
|
+
}
|
|
1413
|
+
catch (_) {
|
|
1414
|
+
// Do Continue if command is not registered
|
|
1415
|
+
}
|
|
1416
|
+
}
|
|
1417
|
+
};
|
|
1418
|
+
let cleanup = null;
|
|
1419
|
+
tracker.currentChanged.connect(_ => {
|
|
1420
|
+
var _a;
|
|
1421
|
+
cleanup === null || cleanup === void 0 ? void 0 : cleanup();
|
|
1422
|
+
cleanup = null;
|
|
1423
|
+
const model = (_a = tracker.currentWidget) === null || _a === void 0 ? void 0 : _a.model;
|
|
1424
|
+
model === null || model === void 0 ? void 0 : model.selectedChanged.connect(notifyCommandsChanged);
|
|
1425
|
+
cleanup = () => {
|
|
1426
|
+
model === null || model === void 0 ? void 0 : model.selectedChanged.disconnect(notifyCommandsChanged);
|
|
1427
|
+
};
|
|
1428
|
+
notifyCommandsChanged();
|
|
1429
|
+
});
|
|
1260
1430
|
loadKeybindings(commands, keybindings);
|
|
1261
1431
|
}
|
|
1262
1432
|
var Private;
|
|
@@ -241,7 +241,7 @@ export function addLayerCreationCommands(options) {
|
|
|
241
241
|
label: 'New GeoTIFF Layer From Parameters',
|
|
242
242
|
caption: 'Add a new GeoTIFF layer (by file path or URL) and add it to the given JupyterGIS file',
|
|
243
243
|
sourceType: 'GeoTiffSource',
|
|
244
|
-
layerType: '
|
|
244
|
+
layerType: 'GeoTiffLayer',
|
|
245
245
|
sourceSchema: {
|
|
246
246
|
type: 'object',
|
|
247
247
|
required: ['urls'],
|
|
@@ -296,7 +296,7 @@ export function addLayerCreationCommands(options) {
|
|
|
296
296
|
source: id,
|
|
297
297
|
color: (_a = p.color) !== null && _a !== void 0 ? _a : {},
|
|
298
298
|
opacity: (_b = p.opacity) !== null && _b !== void 0 ? _b : 1,
|
|
299
|
-
symbologyState: (_c = p.symbologyState) !== null && _c !== void 0 ? _c : {
|
|
299
|
+
symbologyState: (_c = p.symbologyState) !== null && _c !== void 0 ? _c : { layers: [] },
|
|
300
300
|
});
|
|
301
301
|
},
|
|
302
302
|
},
|
package/lib/constants.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ProcessingCommandIDs } from '@jupytergis/schema';
|
|
2
2
|
import { redoIcon, undoIcon } from '@jupyterlab/ui-components';
|
|
3
3
|
import * as BaseCommandIDs from './commands/BaseCommandIDs';
|
|
4
|
-
import { bookOpenIcon, clockIcon, geoJSONIcon, infoIcon, moundIcon, rasterIcon, vectorSquareIcon, markerIcon, } from './icons';
|
|
4
|
+
import { bookOpenIcon, clockIcon, geoJSONIcon, geoPackageIcon, infoIcon, moundIcon, rasterIcon, vectorSquareIcon, markerIcon, pencilSolidIcon, } from './shared/icons';
|
|
5
5
|
/**
|
|
6
6
|
* The command IDs.
|
|
7
7
|
*/
|
|
@@ -15,10 +15,15 @@ const iconObject = {
|
|
|
15
15
|
VideoSource: { iconClass: 'fa fa-video' },
|
|
16
16
|
ShapefileSource: { iconClass: 'fa fa-file' },
|
|
17
17
|
RasterLayer: { icon: rasterIcon },
|
|
18
|
+
OpenEOTileLayer: { icon: rasterIcon },
|
|
18
19
|
VectorLayer: { iconClass: 'fa fa-vector-square' },
|
|
20
|
+
VectorTileLayer: { iconClass: 'fa fa-vector-square' },
|
|
19
21
|
HillshadeLayer: { icon: moundIcon },
|
|
22
|
+
GeoTiffLayer: { iconClass: 'fa fa-image' },
|
|
23
|
+
StacLayer: { icon: rasterIcon },
|
|
20
24
|
ImageLayer: { iconClass: 'fa fa-image' },
|
|
21
25
|
VideoLayer: { iconClass: 'fa fa-video' },
|
|
26
|
+
StorySegmentLayer: { iconClass: 'fa fa-link' },
|
|
22
27
|
[CommandIDs.redo]: { icon: redoIcon },
|
|
23
28
|
[CommandIDs.undo]: { icon: undoIcon },
|
|
24
29
|
[CommandIDs.openLayerBrowser]: { icon: bookOpenIcon },
|
|
@@ -29,6 +34,8 @@ const iconObject = {
|
|
|
29
34
|
[CommandIDs.openNewHillshadeDialog]: { icon: moundIcon },
|
|
30
35
|
[CommandIDs.openNewImageDialog]: { iconClass: 'fa fa-image' },
|
|
31
36
|
[CommandIDs.openNewVideoDialog]: { iconClass: 'fa fa-video' },
|
|
37
|
+
[CommandIDs.newGeoPackageVectorEntry]: { icon: geoPackageIcon },
|
|
38
|
+
[CommandIDs.newGeoPackageRasterEntry]: { icon: geoPackageIcon },
|
|
32
39
|
[CommandIDs.openNewShapefileDialog]: { iconClass: 'fa fa-file' },
|
|
33
40
|
[CommandIDs.openNewGeoTiffDialog]: { iconClass: 'fa fa-image' },
|
|
34
41
|
[CommandIDs.openNewGeoParquetDialog]: { iconClass: 'fa fa-file' },
|
|
@@ -36,6 +43,7 @@ const iconObject = {
|
|
|
36
43
|
[CommandIDs.identify]: { icon: infoIcon },
|
|
37
44
|
[CommandIDs.temporalController]: { icon: clockIcon },
|
|
38
45
|
[CommandIDs.addMarker]: { icon: markerIcon },
|
|
46
|
+
[CommandIDs.toggleDrawFeatures]: { icon: pencilSolidIcon },
|
|
39
47
|
[CommandIDs.addStorySegment]: { iconClass: 'fa fa-link' },
|
|
40
48
|
[CommandIDs.toggleStoryPresentationMode]: {
|
|
41
49
|
iconClass: 'fa fa-book jgis-icon-adjust',
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ConsolePanel } from '@jupyterlab/console';
|
|
2
2
|
import { closeIcon, CommandToolbarButton, expandIcon, Toolbar, } from '@jupyterlab/ui-components';
|
|
3
3
|
import { BoxPanel } from '@lumino/widgets';
|
|
4
|
-
import { debounce } from "
|
|
4
|
+
import { debounce } from "../../tools";
|
|
5
5
|
export class ConsoleView extends BoxPanel {
|
|
6
6
|
constructor(options) {
|
|
7
7
|
super({ direction: 'top-to-bottom' });
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Button } from '@jupyterlab/ui-components';
|
|
2
2
|
import { cloneDeep } from 'lodash';
|
|
3
3
|
import React, { useEffect, useRef, useState } from 'react';
|
|
4
|
-
import { useOkSignal } from "
|
|
4
|
+
import { useOkSignal } from "../layers/symbology/hooks/useOkSignal";
|
|
5
5
|
import { debounce, loadFile } from "../../tools";
|
|
6
6
|
import FilterRow from './FilterRow';
|
|
7
7
|
const FilterComponent = ({ model, okSignalPromise, }) => {
|
|
@@ -19,7 +19,7 @@ const FilterComponent = ({ model, okSignalPromise, }) => {
|
|
|
19
19
|
}
|
|
20
20
|
}, []);
|
|
21
21
|
useEffect(() => {
|
|
22
|
-
const
|
|
22
|
+
const handleSelectedChanged = () => {
|
|
23
23
|
var _a, _b, _c, _d;
|
|
24
24
|
if (!((_b = (_a = model === null || model === void 0 ? void 0 : model.localState) === null || _a === void 0 ? void 0 : _a.selected) === null || _b === void 0 ? void 0 : _b.value)) {
|
|
25
25
|
return;
|
|
@@ -40,12 +40,12 @@ const FilterComponent = ({ model, okSignalPromise, }) => {
|
|
|
40
40
|
buildFilterDebounce(currentLayer);
|
|
41
41
|
}
|
|
42
42
|
};
|
|
43
|
-
model === null || model === void 0 ? void 0 : model.
|
|
43
|
+
model === null || model === void 0 ? void 0 : model.selectedChanged.connect(handleSelectedChanged);
|
|
44
44
|
// Want to rebuild filter object when zoom changes to get values for that zoom level
|
|
45
45
|
// This is because the filtering inputs may depend on the currently visible features
|
|
46
46
|
model === null || model === void 0 ? void 0 : model.sharedOptionsChanged.connect(handleSharedOptionsChanged);
|
|
47
47
|
return () => {
|
|
48
|
-
model === null || model === void 0 ? void 0 : model.
|
|
48
|
+
model === null || model === void 0 ? void 0 : model.selectedChanged.disconnect(handleSelectedChanged);
|
|
49
49
|
model === null || model === void 0 ? void 0 : model.sharedOptionsChanged.disconnect(handleSharedOptionsChanged);
|
|
50
50
|
};
|
|
51
51
|
}, [model]);
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { IJGISFilterItem } from '@jupytergis/schema';
|
|
1
2
|
import React from 'react';
|
|
2
3
|
declare const FilterRow: React.FC<{
|
|
3
4
|
index: number;
|
|
4
5
|
features: Record<string, Set<string | number>>;
|
|
5
|
-
filterRows:
|
|
6
|
-
setFilterRows:
|
|
6
|
+
filterRows: IJGISFilterItem[];
|
|
7
|
+
setFilterRows: React.Dispatch<React.SetStateAction<IJGISFilterItem[]>>;
|
|
7
8
|
deleteRow: () => void;
|
|
8
9
|
}>;
|
|
9
10
|
export default FilterRow;
|
|
@@ -44,7 +44,8 @@ const FilterRow = ({ index, features, filterRows, setFilterRows, deleteRow }) =>
|
|
|
44
44
|
};
|
|
45
45
|
const handleOperatorChange = (event) => {
|
|
46
46
|
const newFilters = [...filterRows];
|
|
47
|
-
newFilters[index].operator = event.target
|
|
47
|
+
newFilters[index].operator = event.target
|
|
48
|
+
.value;
|
|
48
49
|
setFilterRows(newFilters);
|
|
49
50
|
};
|
|
50
51
|
const handleValueChange = (event) => {
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { IJupyterGISModel } from '@jupytergis/schema';
|
|
2
2
|
import React from 'react';
|
|
3
|
+
import { PatchGeoJSONFeatureProperties } from './types/editorTypes';
|
|
3
4
|
interface IIdentifyComponentProps {
|
|
4
5
|
model: IJupyterGISModel;
|
|
6
|
+
patchGeoJSONFeatureProperties?: PatchGeoJSONFeatureProperties;
|
|
5
7
|
}
|
|
6
8
|
export declare const IdentifyPanelComponent: React.FC<IIdentifyComponentProps>;
|
|
7
9
|
export {};
|