@jupytergis/base 0.14.1 → 0.16.0-alpha.0
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 +6 -0
- package/lib/commands/BaseCommandIDs.js +6 -0
- package/lib/commands/index.js +245 -55
- package/lib/commands/operationCommands.js +2 -2
- package/lib/constants.js +6 -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/features/layers/forms/layer/geoTiffLayerForm.d.ts +3 -0
- package/lib/{formbuilder/objectform/layer/webGlLayerForm.js → features/layers/forms/layer/geoTiffLayerForm.js} +5 -5
- package/lib/{formbuilder/objectform → features/layers/forms}/layer/heatmapLayerForm.js +4 -4
- package/lib/{formbuilder/objectform → features/layers/forms}/layer/hillshadeLayerForm.js +4 -4
- package/lib/{formbuilder/objectform → features/layers/forms}/layer/index.d.ts +1 -1
- package/lib/{formbuilder/objectform → features/layers/forms}/layer/index.js +1 -1
- 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 +2 -0
- package/lib/{formbuilder/objectform → features/layers/forms}/source/index.js +2 -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/features/layers/forms/source/wmsTileSource.d.ts +4 -0
- package/lib/features/layers/forms/source/wmsTileSource.js +78 -0
- 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 +235 -0
- package/lib/{dialogs/symbology/vector_layer/types → features/layers/symbology}/Heatmap.d.ts +1 -1
- package/lib/{dialogs/symbology/vector_layer/types → features/layers/symbology}/Heatmap.js +30 -10
- package/lib/{dialogs → features/layers}/symbology/classificationModes.d.ts +6 -6
- package/lib/{dialogs → features/layers}/symbology/classificationModes.js +57 -57
- package/lib/features/layers/symbology/colorRampUtils.d.ts +65 -0
- package/lib/features/layers/symbology/colorRampUtils.js +242 -0
- package/lib/features/layers/symbology/components/MappingRow.d.ts +40 -0
- package/lib/features/layers/symbology/components/MappingRow.js +516 -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 +3 -2
- 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 +12 -15
- package/lib/{dialogs → features/layers}/symbology/components/color_ramp/ColorRampSelectorEntry.d.ts +2 -2
- package/lib/{dialogs → features/layers}/symbology/components/color_ramp/ColorRampSelectorEntry.js +3 -11
- package/lib/{dialogs → features/layers}/symbology/components/color_ramp/ModeSelectRow.d.ts +1 -1
- package/lib/features/layers/symbology/components/color_ramp/RgbaColorPicker.d.ts +13 -0
- package/lib/features/layers/symbology/components/color_ramp/RgbaColorPicker.js +128 -0
- package/lib/{dialogs → features/layers}/symbology/components/color_stops/StopContainer.js +3 -1
- package/lib/{dialogs → features/layers}/symbology/components/color_stops/StopRow.d.ts +2 -2
- package/lib/{dialogs → features/layers}/symbology/components/color_stops/StopRow.js +12 -7
- 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 +467 -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 +21 -0
- package/lib/features/layers/symbology/styleBuilder.js +145 -0
- package/lib/{dialogs → features/layers}/symbology/symbologyDialog.d.ts +3 -2
- package/lib/{dialogs → features/layers}/symbology/symbologyDialog.js +12 -12
- package/lib/features/layers/symbology/symbologyUtils.d.ts +41 -0
- package/lib/features/layers/symbology/symbologyUtils.js +114 -0
- 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 +64 -21
- 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.d.ts +1 -1
- package/lib/{stacBrowser → features/stac-browser}/hooks/useStacFilterExtension.js +198 -114
- package/lib/{stacBrowser → features/stac-browser}/hooks/useStacSearch.d.ts +1 -0
- package/lib/{stacBrowser → features/stac-browser}/hooks/useStacSearch.js +19 -11
- 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 +12 -0
- package/lib/features/story/components/ListStoryStageOverlay.js +132 -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/{panelview/story-maps → features/story}/components/SpectaMobileView.d.ts +2 -4
- package/lib/{panelview/story-maps → features/story}/components/SpectaMobileView.js +3 -3
- 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 +15 -0
- package/lib/features/story/context/ListStoryScrollTrackContext.js +142 -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 +20 -44
- 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 +38 -0
- package/lib/features/story/types/types.js +1 -0
- package/lib/features/story/utils/computeListStoryScrollState.d.ts +12 -0
- package/lib/features/story/utils/computeListStoryScrollState.js +70 -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/geoJsonFeaturePatch.d.ts +9 -0
- package/lib/mainview/geoJsonFeaturePatch.js +43 -0
- package/lib/mainview/mainView.d.ts +93 -8
- package/lib/mainview/mainView.js +1286 -529
- 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 +13 -4
- 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/shared/formbuilder/objectform/components/WmsTileSourceUrlInput.d.ts +3 -0
- package/lib/shared/formbuilder/objectform/components/WmsTileSourceUrlInput.js +84 -0
- 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 +2 -2
- 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 +3 -1
- package/lib/tools.js +140 -6
- package/lib/types.d.ts +12 -1
- package/lib/types.js +6 -1
- package/lib/{menus.js → workspace/menus.js} +14 -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 +82 -20
- 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 +19 -4
- package/style/base.css +109 -1
- 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 +28 -0
- 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 +3 -3
- package/style/spectaProgressBar.css +0 -1
- package/style/storyPanel.css +142 -9
- package/style/storySpectaArticleOverlay.css +129 -0
- package/style/symbologyDialog.css +330 -28
- package/lib/dialogs/symbology/colorRampUtils.d.ts +0 -20
- package/lib/dialogs/symbology/colorRampUtils.js +0 -132
- package/lib/dialogs/symbology/symbologyUtils.d.ts +0 -33
- package/lib/dialogs/symbology/symbologyUtils.js +0 -180
- 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 -301
- 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 -65
- package/lib/dialogs/symbology/vector_layer/types/Categorized.d.ts +0 -4
- package/lib/dialogs/symbology/vector_layer/types/Categorized.js +0 -196
- package/lib/dialogs/symbology/vector_layer/types/Graduated.d.ts +0 -4
- package/lib/dialogs/symbology/vector_layer/types/Graduated.js +0 -250
- package/lib/dialogs/symbology/vector_layer/types/SimpleSymbol.d.ts +0 -4
- package/lib/dialogs/symbology/vector_layer/types/SimpleSymbol.js +0 -105
- package/lib/formbuilder/index.d.ts +0 -4
- package/lib/formbuilder/index.js +0 -4
- 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 -200
- 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/heatmapLayerForm.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/ModeSelectRow.js +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}/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/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
|
@@ -8,6 +8,7 @@ export declare const addMarker = "jupytergis:addMarker";
|
|
|
8
8
|
export declare const getGeolocation = "jupytergis:getGeolocation";
|
|
9
9
|
export declare const openLayerBrowser = "jupytergis:openLayerBrowser";
|
|
10
10
|
export declare const openNewRasterDialog = "jupytergis:openNewRasterDialog";
|
|
11
|
+
export declare const openNewWmsDialog = "jupytergis:openNewWmsDialog";
|
|
11
12
|
export declare const openNewVectorTileDialog = "jupytergis:openNewVectorTileDialog";
|
|
12
13
|
export declare const openNewShapefileDialog = "jupytergis:openNewShapefileDialog";
|
|
13
14
|
export declare const openNewGeoJSONDialog = "jupytergis:openNewGeoJSONDialog";
|
|
@@ -16,6 +17,9 @@ export declare const openNewImageDialog = "jupytergis:openNewImageDialog";
|
|
|
16
17
|
export declare const openNewVideoDialog = "jupytergis:openNewVideoDialog";
|
|
17
18
|
export declare const openNewGeoTiffDialog = "jupytergis:openNewGeoTiffDialog";
|
|
18
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";
|
|
19
23
|
export declare const renameSelected = "jupytergis:renameSelected";
|
|
20
24
|
export declare const removeSelected = "jupytergis:removeSelected";
|
|
21
25
|
export declare const duplicateSelected = "jupytergis:duplicateSelected";
|
|
@@ -31,6 +35,7 @@ export declare const zoomToLayer = "jupytergis:zoomToLayer";
|
|
|
31
35
|
export declare const downloadGeoJSON = "jupytergis:downloadGeoJSON";
|
|
32
36
|
export declare const toggleLeftPanel = "jupytergis:toggleLeftPanel";
|
|
33
37
|
export declare const toggleRightPanel = "jupytergis:toggleRightPanel";
|
|
38
|
+
export declare const togglePanel = "jupytergis:togglePanel";
|
|
34
39
|
export declare const showLayersTab = "jupytergis:showLayersTab";
|
|
35
40
|
export declare const showStacBrowserTab = "jupytergis:showStacBrowserTab";
|
|
36
41
|
export declare const showObjectPropertiesTab = "jupytergis:showObjectPropertiesTab";
|
|
@@ -38,5 +43,6 @@ export declare const showAnnotationsTab = "jupytergis:showAnnotationsTab";
|
|
|
38
43
|
export declare const showIdentifyPanelTab = "jupytergis:showIdentifyPanelTab";
|
|
39
44
|
export declare const addStorySegment = "jupytergis:addStorySegment";
|
|
40
45
|
export declare const toggleStoryPresentationMode = "jupytergis:toggleStoryPresentationMode";
|
|
46
|
+
export declare const createStorySegmentFromLayer = "jupytergis:createStorySegmentFromLayer";
|
|
41
47
|
export declare const storyPrev = "jupytergis:storyPrev";
|
|
42
48
|
export declare const storyNext = "jupytergis:storyNext";
|
|
@@ -16,6 +16,7 @@ export const getGeolocation = 'jupytergis:getGeolocation';
|
|
|
16
16
|
export const openLayerBrowser = 'jupytergis:openLayerBrowser';
|
|
17
17
|
// Layer and source
|
|
18
18
|
export const openNewRasterDialog = 'jupytergis:openNewRasterDialog';
|
|
19
|
+
export const openNewWmsDialog = 'jupytergis:openNewWmsDialog';
|
|
19
20
|
export const openNewVectorTileDialog = 'jupytergis:openNewVectorTileDialog';
|
|
20
21
|
export const openNewShapefileDialog = 'jupytergis:openNewShapefileDialog';
|
|
21
22
|
export const openNewGeoJSONDialog = 'jupytergis:openNewGeoJSONDialog';
|
|
@@ -24,6 +25,9 @@ export const openNewImageDialog = 'jupytergis:openNewImageDialog';
|
|
|
24
25
|
export const openNewVideoDialog = 'jupytergis:openNewVideoDialog';
|
|
25
26
|
export const openNewGeoTiffDialog = 'jupytergis:openNewGeoTiffDialog';
|
|
26
27
|
export const openNewGeoParquetDialog = 'jupytergis:openNewGeoParquetDialog';
|
|
28
|
+
export const newGeoPackageRasterEntry = 'jupytergis:newGeoPackageRasterEntry';
|
|
29
|
+
export const newGeoPackageVectorEntry = 'jupytergis:newGeoPackageVectorEntry';
|
|
30
|
+
export const toggleDrawFeatures = 'jupytergis:toggleDrawFeatures';
|
|
27
31
|
// Layer and group actions
|
|
28
32
|
export const renameSelected = 'jupytergis:renameSelected';
|
|
29
33
|
export const removeSelected = 'jupytergis:removeSelected';
|
|
@@ -43,6 +47,7 @@ export const downloadGeoJSON = 'jupytergis:downloadGeoJSON';
|
|
|
43
47
|
// Panel toggles
|
|
44
48
|
export const toggleLeftPanel = 'jupytergis:toggleLeftPanel';
|
|
45
49
|
export const toggleRightPanel = 'jupytergis:toggleRightPanel';
|
|
50
|
+
export const togglePanel = 'jupytergis:togglePanel';
|
|
46
51
|
// Left panel tabs
|
|
47
52
|
export const showLayersTab = 'jupytergis:showLayersTab';
|
|
48
53
|
export const showStacBrowserTab = 'jupytergis:showStacBrowserTab';
|
|
@@ -53,5 +58,6 @@ export const showIdentifyPanelTab = 'jupytergis:showIdentifyPanelTab';
|
|
|
53
58
|
// Story maps
|
|
54
59
|
export const addStorySegment = 'jupytergis:addStorySegment';
|
|
55
60
|
export const toggleStoryPresentationMode = 'jupytergis:toggleStoryPresentationMode';
|
|
61
|
+
export const createStorySegmentFromLayer = 'jupytergis:createStorySegmentFromLayer';
|
|
56
62
|
export const storyPrev = 'jupytergis:storyPrev';
|
|
57
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 => {
|
|
@@ -231,15 +231,9 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
231
231
|
return false;
|
|
232
232
|
}
|
|
233
233
|
// Selection should only be one vector or heatmap layer
|
|
234
|
-
|
|
234
|
+
return (Object.keys(selectedLayers).length === 1 &&
|
|
235
235
|
!model.getSource(layerId) &&
|
|
236
|
-
['VectorLayer', 'HeatmapLayer'].includes(layerType);
|
|
237
|
-
if (!isSelectionValid && model.isTemporalControllerActive) {
|
|
238
|
-
model.toggleTemporalController();
|
|
239
|
-
commands.notifyCommandChanged(CommandIDs.temporalController);
|
|
240
|
-
return false;
|
|
241
|
-
}
|
|
242
|
-
return true;
|
|
236
|
+
['VectorLayer', 'HeatmapLayer'].includes(layerType));
|
|
243
237
|
}, execute: (args) => {
|
|
244
238
|
const filePath = args === null || args === void 0 ? void 0 : args.filePath;
|
|
245
239
|
const current = filePath
|
|
@@ -267,7 +261,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
267
261
|
/**
|
|
268
262
|
* Source and layers
|
|
269
263
|
*/
|
|
270
|
-
commands.addCommand(CommandIDs.openNewRasterDialog, Object.assign({ label: trans.__('
|
|
264
|
+
commands.addCommand(CommandIDs.openNewRasterDialog, Object.assign({ label: trans.__('Raster Tile'), caption: 'Open a dialog to create a new raster tile layer and source in the current JupyterGIS document.', describedBy: {
|
|
271
265
|
args: {
|
|
272
266
|
type: 'object',
|
|
273
267
|
properties: {},
|
|
@@ -286,7 +280,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
286
280
|
sourceType: 'RasterSource',
|
|
287
281
|
layerType: 'RasterLayer',
|
|
288
282
|
}) }, icons.get(CommandIDs.openNewRasterDialog)));
|
|
289
|
-
commands.addCommand(CommandIDs.openNewVectorTileDialog, Object.assign({ label: trans.__('
|
|
283
|
+
commands.addCommand(CommandIDs.openNewVectorTileDialog, Object.assign({ label: trans.__('Vector Tile'), caption: 'Open a dialog to create a new vector tile layer and source in the current JupyterGIS document.', describedBy: {
|
|
290
284
|
args: {
|
|
291
285
|
type: 'object',
|
|
292
286
|
properties: {},
|
|
@@ -305,7 +299,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
305
299
|
sourceType: 'VectorTileSource',
|
|
306
300
|
layerType: 'VectorTileLayer',
|
|
307
301
|
}) }, icons.get(CommandIDs.openNewVectorTileDialog)));
|
|
308
|
-
commands.addCommand(CommandIDs.openNewGeoParquetDialog, Object.assign({ label: trans.__('
|
|
302
|
+
commands.addCommand(CommandIDs.openNewGeoParquetDialog, Object.assign({ label: trans.__('GeoParquet'), caption: 'Open a dialog to create a new GeoParquet layer and source in the current JupyterGIS document.', describedBy: {
|
|
309
303
|
args: {
|
|
310
304
|
type: 'object',
|
|
311
305
|
properties: {},
|
|
@@ -325,7 +319,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
325
319
|
sourceType: 'GeoParquetSource',
|
|
326
320
|
layerType: 'VectorLayer',
|
|
327
321
|
}) }, icons.get(CommandIDs.openNewGeoParquetDialog)));
|
|
328
|
-
commands.addCommand(CommandIDs.openNewGeoJSONDialog, Object.assign({ label: trans.__('
|
|
322
|
+
commands.addCommand(CommandIDs.openNewGeoJSONDialog, Object.assign({ label: trans.__('GeoJSON'), caption: 'Open a dialog to create a new GeoJSON layer and source in the current JupyterGIS document.', describedBy: {
|
|
329
323
|
args: {
|
|
330
324
|
type: 'object',
|
|
331
325
|
properties: {},
|
|
@@ -344,9 +338,28 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
344
338
|
sourceType: 'GeoJSONSource',
|
|
345
339
|
layerType: 'VectorLayer',
|
|
346
340
|
}) }, icons.get(CommandIDs.openNewGeoJSONDialog)));
|
|
341
|
+
commands.addCommand(CommandIDs.openNewWmsDialog, Object.assign({ label: trans.__('WMS Layer'), caption: 'Open a dialog to create a new WMS layer and source in the current JupyterGIS document.', describedBy: {
|
|
342
|
+
args: {
|
|
343
|
+
type: 'object',
|
|
344
|
+
properties: {},
|
|
345
|
+
},
|
|
346
|
+
}, isEnabled: () => {
|
|
347
|
+
return tracker.currentWidget
|
|
348
|
+
? tracker.currentWidget.model.sharedModel.editable
|
|
349
|
+
: false;
|
|
350
|
+
}, execute: Private.createEntry({
|
|
351
|
+
tracker,
|
|
352
|
+
formSchemaRegistry,
|
|
353
|
+
title: 'Create WMS Layer',
|
|
354
|
+
createLayer: true,
|
|
355
|
+
createSource: true,
|
|
356
|
+
layerData: { name: 'Custom WMS Layer' },
|
|
357
|
+
sourceType: 'WmsTileSource',
|
|
358
|
+
layerType: 'GeoTiffLayer',
|
|
359
|
+
}) }, icons.get(CommandIDs.openNewWmsDialog)));
|
|
347
360
|
//Add processing commands
|
|
348
361
|
addProcessingCommands(app, commands, tracker, trans, formSchemaRegistry, Object.fromEntries(formSchemaRegistry.getSchemas()));
|
|
349
|
-
commands.addCommand(CommandIDs.openNewHillshadeDialog, Object.assign({ label: trans.__('
|
|
362
|
+
commands.addCommand(CommandIDs.openNewHillshadeDialog, Object.assign({ label: trans.__('Hillshade'), caption: 'Open a dialog to create a new hillshade layer and source in the current JupyterGIS document.', describedBy: {
|
|
350
363
|
args: {
|
|
351
364
|
type: 'object',
|
|
352
365
|
properties: {},
|
|
@@ -365,7 +378,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
365
378
|
sourceType: 'RasterDemSource',
|
|
366
379
|
layerType: 'HillshadeLayer',
|
|
367
380
|
}) }, icons.get(CommandIDs.openNewHillshadeDialog)));
|
|
368
|
-
commands.addCommand(CommandIDs.openNewImageDialog, Object.assign({ label: trans.__('
|
|
381
|
+
commands.addCommand(CommandIDs.openNewImageDialog, Object.assign({ label: trans.__('Image'), caption: 'Open a dialog to create a new image layer and source in the current JupyterGIS document.', describedBy: {
|
|
369
382
|
args: {
|
|
370
383
|
type: 'object',
|
|
371
384
|
properties: {},
|
|
@@ -394,7 +407,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
394
407
|
sourceType: 'ImageSource',
|
|
395
408
|
layerType: 'ImageLayer',
|
|
396
409
|
}) }, icons.get(CommandIDs.openNewImageDialog)));
|
|
397
|
-
commands.addCommand(CommandIDs.openNewVideoDialog, Object.assign({ label: trans.__('
|
|
410
|
+
commands.addCommand(CommandIDs.openNewVideoDialog, Object.assign({ label: trans.__('Video'), caption: 'Open a dialog to create a new video layer and source in the current JupyterGIS document.', describedBy: {
|
|
398
411
|
args: {
|
|
399
412
|
type: 'object',
|
|
400
413
|
properties: {},
|
|
@@ -426,7 +439,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
426
439
|
sourceType: 'VideoSource',
|
|
427
440
|
layerType: 'RasterLayer',
|
|
428
441
|
}) }, icons.get(CommandIDs.openNewVideoDialog)));
|
|
429
|
-
commands.addCommand(CommandIDs.openNewGeoTiffDialog, Object.assign({ label: trans.__('
|
|
442
|
+
commands.addCommand(CommandIDs.openNewGeoTiffDialog, Object.assign({ label: trans.__('GeoTiff'), caption: 'Open a dialog to create a new GeoTiff layer and source in the current JupyterGIS document.', describedBy: {
|
|
430
443
|
args: {
|
|
431
444
|
type: 'object',
|
|
432
445
|
properties: {},
|
|
@@ -447,9 +460,9 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
447
460
|
},
|
|
448
461
|
layerData: { name: 'Custom GeoTiff Layer' },
|
|
449
462
|
sourceType: 'GeoTiffSource',
|
|
450
|
-
layerType: '
|
|
463
|
+
layerType: 'GeoTiffLayer',
|
|
451
464
|
}) }, icons.get(CommandIDs.openNewGeoTiffDialog)));
|
|
452
|
-
commands.addCommand(CommandIDs.openNewShapefileDialog, Object.assign({ label: trans.__('
|
|
465
|
+
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: {
|
|
453
466
|
args: {
|
|
454
467
|
type: 'object',
|
|
455
468
|
properties: {},
|
|
@@ -469,6 +482,36 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
469
482
|
sourceType: 'ShapefileSource',
|
|
470
483
|
layerType: 'VectorLayer',
|
|
471
484
|
}) }, icons.get(CommandIDs.openNewShapefileDialog)));
|
|
485
|
+
commands.addCommand(CommandIDs.newGeoPackageVectorEntry, Object.assign({ label: trans.__('GeoPackage'), isEnabled: () => {
|
|
486
|
+
return tracker.currentWidget
|
|
487
|
+
? tracker.currentWidget.model.sharedModel.editable
|
|
488
|
+
: false;
|
|
489
|
+
}, execute: Private.createEntry({
|
|
490
|
+
tracker,
|
|
491
|
+
formSchemaRegistry,
|
|
492
|
+
title: 'Create GeoPackage Layer',
|
|
493
|
+
createLayer: true,
|
|
494
|
+
createSource: true,
|
|
495
|
+
sourceData: { name: 'Custom GeoPackage Vector Source' },
|
|
496
|
+
layerData: { name: 'Custom GeoPackage Vector Layer' },
|
|
497
|
+
sourceType: 'GeoPackageVectorSource',
|
|
498
|
+
layerType: 'VectorLayer',
|
|
499
|
+
}) }, icons.get(CommandIDs.newGeoPackageVectorEntry)));
|
|
500
|
+
commands.addCommand(CommandIDs.newGeoPackageRasterEntry, Object.assign({ label: trans.__('GeoPackage'), isEnabled: () => {
|
|
501
|
+
return tracker.currentWidget
|
|
502
|
+
? tracker.currentWidget.model.sharedModel.editable
|
|
503
|
+
: false;
|
|
504
|
+
}, execute: Private.createEntry({
|
|
505
|
+
tracker,
|
|
506
|
+
formSchemaRegistry,
|
|
507
|
+
title: 'Create GeoPackage Layer',
|
|
508
|
+
createLayer: true,
|
|
509
|
+
createSource: true,
|
|
510
|
+
sourceData: { name: 'Custom GeoPackage Raster Source' },
|
|
511
|
+
layerData: { name: 'Custom GeoPackage Raster Layer' },
|
|
512
|
+
sourceType: 'GeoPackageRasterSource',
|
|
513
|
+
layerType: 'RasterLayer',
|
|
514
|
+
}) }, icons.get(CommandIDs.newGeoPackageRasterEntry)));
|
|
472
515
|
/**
|
|
473
516
|
* LAYERS and LAYER GROUP actions.
|
|
474
517
|
*/
|
|
@@ -946,23 +989,21 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
946
989
|
isEnabled: () => Boolean(tracker.currentWidget),
|
|
947
990
|
isToggled: () => {
|
|
948
991
|
const current = tracker.currentWidget;
|
|
949
|
-
|
|
992
|
+
if (!current) {
|
|
993
|
+
return false;
|
|
994
|
+
}
|
|
995
|
+
const open = current.model.getUIState().leftPanelOpen;
|
|
996
|
+
return open !== false;
|
|
950
997
|
},
|
|
951
|
-
execute:
|
|
952
|
-
var _a, _b, _c;
|
|
998
|
+
execute: () => {
|
|
953
999
|
const current = tracker.currentWidget;
|
|
954
1000
|
if (!current) {
|
|
955
1001
|
return;
|
|
956
1002
|
}
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
commands.notifyCommandChanged(CommandIDs.toggleLeftPanel);
|
|
962
|
-
}
|
|
963
|
-
catch (err) {
|
|
964
|
-
console.error('Failed to toggle Left Panel:', err);
|
|
965
|
-
}
|
|
1003
|
+
const open = current.model.getUIState().leftPanelOpen;
|
|
1004
|
+
current.model.setUIState({ leftPanelOpen: open === false });
|
|
1005
|
+
commands.notifyCommandChanged(CommandIDs.toggleLeftPanel);
|
|
1006
|
+
commands.notifyCommandChanged(CommandIDs.togglePanel);
|
|
966
1007
|
},
|
|
967
1008
|
});
|
|
968
1009
|
commands.addCommand(CommandIDs.toggleRightPanel, {
|
|
@@ -977,23 +1018,58 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
977
1018
|
isEnabled: () => Boolean(tracker.currentWidget),
|
|
978
1019
|
isToggled: () => {
|
|
979
1020
|
const current = tracker.currentWidget;
|
|
980
|
-
|
|
1021
|
+
if (!current) {
|
|
1022
|
+
return false;
|
|
1023
|
+
}
|
|
1024
|
+
const open = current.model.getUIState().rightPanelOpen;
|
|
1025
|
+
return open !== false;
|
|
981
1026
|
},
|
|
982
|
-
execute:
|
|
983
|
-
var _a, _b, _c;
|
|
1027
|
+
execute: () => {
|
|
984
1028
|
const current = tracker.currentWidget;
|
|
985
1029
|
if (!current) {
|
|
986
1030
|
return;
|
|
987
1031
|
}
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
1032
|
+
const open = current.model.getUIState().rightPanelOpen;
|
|
1033
|
+
current.model.setUIState({ rightPanelOpen: open === false });
|
|
1034
|
+
commands.notifyCommandChanged(CommandIDs.toggleRightPanel);
|
|
1035
|
+
commands.notifyCommandChanged(CommandIDs.togglePanel);
|
|
1036
|
+
},
|
|
1037
|
+
});
|
|
1038
|
+
commands.addCommand(CommandIDs.togglePanel, {
|
|
1039
|
+
label: trans.__('Toggle Panel'),
|
|
1040
|
+
caption: 'Toggle the panel in the current JupyterGIS document.',
|
|
1041
|
+
iconClass: 'fa fa-layer-group',
|
|
1042
|
+
isEnabled: () => Boolean(tracker.currentWidget),
|
|
1043
|
+
isToggled: () => {
|
|
1044
|
+
const current = tracker.currentWidget;
|
|
1045
|
+
if (!current) {
|
|
1046
|
+
return false;
|
|
1047
|
+
}
|
|
1048
|
+
const { leftPanelDisabled, rightPanelDisabled } = current.model.jgisSettings;
|
|
1049
|
+
const { leftPanelOpen = true, rightPanelOpen = true } = current.model.getUIState();
|
|
1050
|
+
const show = (!leftPanelDisabled && !leftPanelOpen) ||
|
|
1051
|
+
(!rightPanelDisabled && !rightPanelOpen);
|
|
1052
|
+
return !show;
|
|
1053
|
+
},
|
|
1054
|
+
execute: () => {
|
|
1055
|
+
const current = tracker.currentWidget;
|
|
1056
|
+
if (!current) {
|
|
1057
|
+
return;
|
|
1058
|
+
}
|
|
1059
|
+
const { leftPanelDisabled, rightPanelDisabled } = current.model.jgisSettings;
|
|
1060
|
+
const { leftPanelOpen = true, rightPanelOpen = true } = current.model.getUIState();
|
|
1061
|
+
// Show all if any non-disabled panel is hidden; hide all otherwise.
|
|
1062
|
+
const show = (!leftPanelDisabled && !leftPanelOpen) ||
|
|
1063
|
+
(!rightPanelDisabled && !rightPanelOpen);
|
|
1064
|
+
const newState = {};
|
|
1065
|
+
if (!leftPanelDisabled) {
|
|
1066
|
+
newState.leftPanelOpen = show;
|
|
993
1067
|
}
|
|
994
|
-
|
|
995
|
-
|
|
1068
|
+
if (!rightPanelDisabled) {
|
|
1069
|
+
newState.rightPanelOpen = show;
|
|
996
1070
|
}
|
|
1071
|
+
current.model.setUIState(newState);
|
|
1072
|
+
commands.notifyCommandChanged(CommandIDs.togglePanel);
|
|
997
1073
|
},
|
|
998
1074
|
});
|
|
999
1075
|
// Left panel tabs
|
|
@@ -1141,6 +1217,59 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
1141
1217
|
current.model.toggleMode('marking');
|
|
1142
1218
|
commands.notifyCommandChanged(CommandIDs.addMarker);
|
|
1143
1219
|
} }, icons.get(CommandIDs.addMarker)));
|
|
1220
|
+
commands.addCommand(CommandIDs.toggleDrawFeatures, Object.assign({ label: trans.__('Edit Features'), caption: 'Toggle feature editing for the selected draw-compatible layer.', describedBy: {
|
|
1221
|
+
args: {
|
|
1222
|
+
type: 'object',
|
|
1223
|
+
properties: {},
|
|
1224
|
+
},
|
|
1225
|
+
}, isToggled: () => {
|
|
1226
|
+
var _a, _b, _c;
|
|
1227
|
+
if (!(tracker.currentWidget instanceof JupyterGISDocumentWidget)) {
|
|
1228
|
+
return false;
|
|
1229
|
+
}
|
|
1230
|
+
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;
|
|
1231
|
+
if (!model) {
|
|
1232
|
+
return false;
|
|
1233
|
+
}
|
|
1234
|
+
const selectedLayer = getSingleSelectedLayer(tracker);
|
|
1235
|
+
if (!selectedLayer) {
|
|
1236
|
+
return false;
|
|
1237
|
+
}
|
|
1238
|
+
if (!model.checkIfIsADrawVectorLayer(selectedLayer)) {
|
|
1239
|
+
return false;
|
|
1240
|
+
}
|
|
1241
|
+
return model.editingVectorLayer;
|
|
1242
|
+
}, isEnabled: () => {
|
|
1243
|
+
var _a, _b, _c;
|
|
1244
|
+
if (!(tracker.currentWidget instanceof JupyterGISDocumentWidget)) {
|
|
1245
|
+
return false;
|
|
1246
|
+
}
|
|
1247
|
+
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;
|
|
1248
|
+
if (!model) {
|
|
1249
|
+
return false;
|
|
1250
|
+
}
|
|
1251
|
+
const selectedLayer = getSingleSelectedLayer(tracker);
|
|
1252
|
+
if (!selectedLayer) {
|
|
1253
|
+
return false;
|
|
1254
|
+
}
|
|
1255
|
+
return model.checkIfIsADrawVectorLayer(selectedLayer) === true;
|
|
1256
|
+
}, execute: async () => {
|
|
1257
|
+
var _a, _b;
|
|
1258
|
+
if (!(tracker.currentWidget instanceof JupyterGISDocumentWidget)) {
|
|
1259
|
+
return;
|
|
1260
|
+
}
|
|
1261
|
+
const model = (_b = (_a = tracker.currentWidget) === null || _a === void 0 ? void 0 : _a.content.currentViewModel) === null || _b === void 0 ? void 0 : _b.jGISModel;
|
|
1262
|
+
if (!model) {
|
|
1263
|
+
return false;
|
|
1264
|
+
}
|
|
1265
|
+
const selectedLayer = getSingleSelectedLayer(tracker);
|
|
1266
|
+
if (!selectedLayer) {
|
|
1267
|
+
return false;
|
|
1268
|
+
}
|
|
1269
|
+
model.editingVectorLayer = !model.editingVectorLayer;
|
|
1270
|
+
model.updateEditingVectorLayer();
|
|
1271
|
+
commands.notifyCommandChanged(CommandIDs.toggleDrawFeatures);
|
|
1272
|
+
} }, icons.get(CommandIDs.toggleDrawFeatures)));
|
|
1144
1273
|
commands.addCommand(CommandIDs.addStorySegment, Object.assign({ label: trans.__('Add Story Segment'), isEnabled: () => {
|
|
1145
1274
|
const current = tracker.currentWidget;
|
|
1146
1275
|
if (!current) {
|
|
@@ -1181,11 +1310,44 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
1181
1310
|
current.model.setOptions(Object.assign(Object.assign({}, currentOptions), { storyMapPresentationMode: !currentOptions.storyMapPresentationMode }));
|
|
1182
1311
|
commands.notifyCommandChanged(CommandIDs.toggleStoryPresentationMode);
|
|
1183
1312
|
} }, icons.get(CommandIDs.toggleStoryPresentationMode)));
|
|
1313
|
+
commands.addCommand(CommandIDs.createStorySegmentFromLayer, {
|
|
1314
|
+
label: trans.__('Create Story Segment for Layer'),
|
|
1315
|
+
isEnabled: () => {
|
|
1316
|
+
var _a, _b, _c;
|
|
1317
|
+
const model = (_a = tracker.currentWidget) === null || _a === void 0 ? void 0 : _a.model;
|
|
1318
|
+
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;
|
|
1319
|
+
if (!model || !selected) {
|
|
1320
|
+
return false;
|
|
1321
|
+
}
|
|
1322
|
+
if (Object.keys(selected).length !== 1) {
|
|
1323
|
+
return false;
|
|
1324
|
+
}
|
|
1325
|
+
const layerId = Object.keys(selected)[0];
|
|
1326
|
+
return !!model.getLayer(layerId);
|
|
1327
|
+
},
|
|
1328
|
+
execute: () => {
|
|
1329
|
+
var _a, _b;
|
|
1330
|
+
const current = tracker.currentWidget;
|
|
1331
|
+
if (!current) {
|
|
1332
|
+
return;
|
|
1333
|
+
}
|
|
1334
|
+
const model = current.model;
|
|
1335
|
+
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;
|
|
1336
|
+
if (!selected) {
|
|
1337
|
+
return;
|
|
1338
|
+
}
|
|
1339
|
+
const layerId = Object.keys(selected)[0];
|
|
1340
|
+
const result = model.createStorySegmentFromLayer(layerId);
|
|
1341
|
+
if (result) {
|
|
1342
|
+
model.centerOnPosition(layerId);
|
|
1343
|
+
}
|
|
1344
|
+
},
|
|
1345
|
+
});
|
|
1184
1346
|
/* Needs to be enabled in Specta mode, so add without Specta-aware wrapper */
|
|
1185
1347
|
originalAddCommand(CommandIDs.storyPrev, {
|
|
1186
1348
|
label: trans.__('Previous Story Segment'),
|
|
1187
1349
|
isEnabled: () => {
|
|
1188
|
-
var _a, _b;
|
|
1350
|
+
var _a, _b, _c;
|
|
1189
1351
|
const model = (_a = tracker.currentWidget) === null || _a === void 0 ? void 0 : _a.model;
|
|
1190
1352
|
const storySegments = (_b = model === null || model === void 0 ? void 0 : model.getSelectedStory().story) === null || _b === void 0 ? void 0 : _b.storySegments;
|
|
1191
1353
|
if (!model ||
|
|
@@ -1197,6 +1359,9 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
1197
1359
|
if (!model.isSpectaMode()) {
|
|
1198
1360
|
return false;
|
|
1199
1361
|
}
|
|
1362
|
+
if (((_c = model.getSelectedStory().story) === null || _c === void 0 ? void 0 : _c.storyType) === STORY_TYPE.verticalScroll) {
|
|
1363
|
+
return false;
|
|
1364
|
+
}
|
|
1200
1365
|
return model.getCurrentSegmentIndex() > 0;
|
|
1201
1366
|
},
|
|
1202
1367
|
execute: () => {
|
|
@@ -1212,7 +1377,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
1212
1377
|
originalAddCommand(CommandIDs.storyNext, {
|
|
1213
1378
|
label: trans.__('Next Story Segment'),
|
|
1214
1379
|
isEnabled: () => {
|
|
1215
|
-
var _a, _b, _c;
|
|
1380
|
+
var _a, _b, _c, _d;
|
|
1216
1381
|
const model = (_a = tracker.currentWidget) === null || _a === void 0 ? void 0 : _a.model;
|
|
1217
1382
|
const storySegments = (_b = model === null || model === void 0 ? void 0 : model.getSelectedStory().story) === null || _b === void 0 ? void 0 : _b.storySegments;
|
|
1218
1383
|
if (!model ||
|
|
@@ -1225,7 +1390,10 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
1225
1390
|
if (!isSpecta) {
|
|
1226
1391
|
return false;
|
|
1227
1392
|
}
|
|
1228
|
-
|
|
1393
|
+
if (((_c = model.getSelectedStory().story) === null || _c === void 0 ? void 0 : _c.storyType) === STORY_TYPE.verticalScroll) {
|
|
1394
|
+
return false;
|
|
1395
|
+
}
|
|
1396
|
+
const current = (_d = model.getCurrentSegmentIndex()) !== null && _d !== void 0 ? _d : 0;
|
|
1229
1397
|
return current < storySegments.length - 1;
|
|
1230
1398
|
},
|
|
1231
1399
|
execute: () => {
|
|
@@ -1238,6 +1406,28 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
1238
1406
|
model.setCurrentSegmentIndex(current + 1);
|
|
1239
1407
|
},
|
|
1240
1408
|
});
|
|
1409
|
+
const notifyCommandsChanged = () => {
|
|
1410
|
+
for (const command of Object.values(CommandIDs)) {
|
|
1411
|
+
try {
|
|
1412
|
+
commands.notifyCommandChanged(command);
|
|
1413
|
+
}
|
|
1414
|
+
catch (_) {
|
|
1415
|
+
// Do Continue if command is not registered
|
|
1416
|
+
}
|
|
1417
|
+
}
|
|
1418
|
+
};
|
|
1419
|
+
let cleanup = null;
|
|
1420
|
+
tracker.currentChanged.connect(_ => {
|
|
1421
|
+
var _a;
|
|
1422
|
+
cleanup === null || cleanup === void 0 ? void 0 : cleanup();
|
|
1423
|
+
cleanup = null;
|
|
1424
|
+
const model = (_a = tracker.currentWidget) === null || _a === void 0 ? void 0 : _a.model;
|
|
1425
|
+
model === null || model === void 0 ? void 0 : model.selectedChanged.connect(notifyCommandsChanged);
|
|
1426
|
+
cleanup = () => {
|
|
1427
|
+
model === null || model === void 0 ? void 0 : model.selectedChanged.disconnect(notifyCommandsChanged);
|
|
1428
|
+
};
|
|
1429
|
+
notifyCommandsChanged();
|
|
1430
|
+
});
|
|
1241
1431
|
loadKeybindings(commands, keybindings);
|
|
1242
1432
|
}
|
|
1243
1433
|
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,6 +15,7 @@ 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' },
|
|
19
20
|
HillshadeLayer: { icon: moundIcon },
|
|
20
21
|
ImageLayer: { iconClass: 'fa fa-image' },
|
|
@@ -23,11 +24,14 @@ const iconObject = {
|
|
|
23
24
|
[CommandIDs.undo]: { icon: undoIcon },
|
|
24
25
|
[CommandIDs.openLayerBrowser]: { icon: bookOpenIcon },
|
|
25
26
|
[CommandIDs.openNewRasterDialog]: { icon: rasterIcon },
|
|
27
|
+
[CommandIDs.openNewWmsDialog]: { iconClass: 'fa fa-server' },
|
|
26
28
|
[CommandIDs.openNewVectorTileDialog]: { icon: vectorSquareIcon },
|
|
27
29
|
[CommandIDs.openNewGeoJSONDialog]: { icon: geoJSONIcon },
|
|
28
30
|
[CommandIDs.openNewHillshadeDialog]: { icon: moundIcon },
|
|
29
31
|
[CommandIDs.openNewImageDialog]: { iconClass: 'fa fa-image' },
|
|
30
32
|
[CommandIDs.openNewVideoDialog]: { iconClass: 'fa fa-video' },
|
|
33
|
+
[CommandIDs.newGeoPackageVectorEntry]: { icon: geoPackageIcon },
|
|
34
|
+
[CommandIDs.newGeoPackageRasterEntry]: { icon: geoPackageIcon },
|
|
31
35
|
[CommandIDs.openNewShapefileDialog]: { iconClass: 'fa fa-file' },
|
|
32
36
|
[CommandIDs.openNewGeoTiffDialog]: { iconClass: 'fa fa-image' },
|
|
33
37
|
[CommandIDs.openNewGeoParquetDialog]: { iconClass: 'fa fa-file' },
|
|
@@ -35,6 +39,7 @@ const iconObject = {
|
|
|
35
39
|
[CommandIDs.identify]: { icon: infoIcon },
|
|
36
40
|
[CommandIDs.temporalController]: { icon: clockIcon },
|
|
37
41
|
[CommandIDs.addMarker]: { icon: markerIcon },
|
|
42
|
+
[CommandIDs.toggleDrawFeatures]: { icon: pencilSolidIcon },
|
|
38
43
|
[CommandIDs.addStorySegment]: { iconClass: 'fa fa-link' },
|
|
39
44
|
[CommandIDs.toggleStoryPresentationMode]: {
|
|
40
45
|
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' });
|