@jupytergis/base 0.4.5 → 0.6.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/annotations/components/Annotation.d.ts +2 -2
- package/lib/annotations/components/Annotation.js +3 -3
- package/lib/annotations/components/AnnotationFloater.d.ts +1 -1
- package/lib/annotations/components/AnnotationFloater.js +2 -2
- package/lib/annotations/components/Message.d.ts +2 -1
- package/lib/annotations/components/Message.js +3 -3
- package/lib/annotations/model.js +5 -5
- package/lib/commands/BaseCommandIDs.d.ts +32 -0
- package/lib/commands/BaseCommandIDs.js +43 -0
- package/lib/{commands.d.ts → commands/index.d.ts} +1 -1
- package/lib/{commands.js → commands/index.js} +76 -319
- package/lib/console/consoleview.d.ts +3 -3
- package/lib/console/consoleview.js +5 -5
- package/lib/constants.d.ts +2 -51
- package/lib/constants.js +6 -65
- package/lib/dialogs/ProcessingFormDialog.d.ts +4 -4
- package/lib/dialogs/ProcessingFormDialog.js +9 -11
- package/lib/dialogs/layerBrowserDialog.d.ts +1 -1
- package/lib/dialogs/layerBrowserDialog.js +7 -7
- package/lib/dialogs/layerCreationFormDialog.d.ts +4 -4
- package/lib/dialogs/layerCreationFormDialog.js +6 -6
- package/lib/dialogs/symbology/components/color_ramp/CanvasSelectComponent.d.ts +1 -1
- package/lib/dialogs/symbology/components/color_ramp/CanvasSelectComponent.js +3 -3
- package/lib/dialogs/symbology/components/color_ramp/ColorRamp.d.ts +3 -2
- package/lib/dialogs/symbology/components/color_ramp/ColorRamp.js +6 -7
- package/lib/dialogs/symbology/components/color_ramp/ColorRampEntry.d.ts +1 -1
- package/lib/dialogs/symbology/components/color_ramp/ColorRampEntry.js +1 -1
- package/lib/dialogs/symbology/components/color_ramp/ModeSelectRow.d.ts +1 -1
- package/lib/dialogs/symbology/components/color_ramp/ModeSelectRow.js +1 -1
- package/lib/dialogs/symbology/components/color_stops/StopContainer.d.ts +2 -2
- package/lib/dialogs/symbology/components/color_stops/StopContainer.js +4 -4
- package/lib/dialogs/symbology/components/color_stops/StopRow.d.ts +3 -3
- package/lib/dialogs/symbology/components/color_stops/StopRow.js +2 -2
- package/lib/dialogs/symbology/hooks/useGetBandInfo.js +5 -5
- package/lib/dialogs/symbology/hooks/useGetProperties.d.ts +1 -1
- package/lib/dialogs/symbology/hooks/useGetProperties.js +4 -4
- package/lib/dialogs/symbology/symbologyDialog.d.ts +8 -0
- package/lib/dialogs/symbology/symbologyDialog.js +1 -1
- package/lib/dialogs/symbology/symbologyUtils.js +38 -31
- package/lib/dialogs/symbology/tiff_layer/TiffRendering.d.ts +2 -2
- package/lib/dialogs/symbology/tiff_layer/TiffRendering.js +2 -2
- package/lib/dialogs/symbology/tiff_layer/components/BandRow.d.ts +2 -2
- package/lib/dialogs/symbology/tiff_layer/components/BandRow.js +4 -4
- package/lib/dialogs/symbology/tiff_layer/types/MultibandColor.d.ts +2 -2
- package/lib/dialogs/symbology/tiff_layer/types/MultibandColor.js +30 -20
- package/lib/dialogs/symbology/tiff_layer/types/SingleBandPseudoColor.d.ts +2 -2
- package/lib/dialogs/symbology/tiff_layer/types/SingleBandPseudoColor.js +23 -21
- package/lib/dialogs/symbology/vector_layer/VectorRendering.d.ts +2 -2
- package/lib/dialogs/symbology/vector_layer/VectorRendering.js +81 -39
- package/lib/dialogs/symbology/vector_layer/components/ValueSelect.d.ts +1 -1
- package/lib/dialogs/symbology/vector_layer/components/ValueSelect.js +1 -1
- package/lib/dialogs/symbology/vector_layer/types/Canonical.d.ts +4 -0
- package/lib/dialogs/symbology/vector_layer/types/Canonical.js +66 -0
- package/lib/dialogs/symbology/vector_layer/types/Categorized.d.ts +2 -2
- package/lib/dialogs/symbology/vector_layer/types/Categorized.js +142 -47
- package/lib/dialogs/symbology/vector_layer/types/Graduated.d.ts +2 -2
- package/lib/dialogs/symbology/vector_layer/types/Graduated.js +193 -99
- package/lib/dialogs/symbology/vector_layer/types/Heatmap.d.ts +2 -2
- package/lib/dialogs/symbology/vector_layer/types/Heatmap.js +7 -6
- package/lib/dialogs/symbology/vector_layer/types/SimpleSymbol.d.ts +2 -2
- package/lib/dialogs/symbology/vector_layer/types/SimpleSymbol.js +33 -30
- package/lib/formbuilder/creationform.js +3 -3
- package/lib/formbuilder/editform.js +3 -3
- package/lib/formbuilder/formselectors.d.ts +1 -1
- package/lib/formbuilder/formselectors.js +2 -2
- package/lib/formbuilder/objectform/baseform.d.ts +5 -4
- package/lib/formbuilder/objectform/baseform.js +16 -14
- package/lib/formbuilder/objectform/fileselectorwidget.d.ts +1 -1
- package/lib/formbuilder/objectform/fileselectorwidget.js +5 -5
- package/lib/formbuilder/objectform/layer/heatmapLayerForm.js +2 -2
- package/lib/formbuilder/objectform/layer/hillshadeLayerForm.js +1 -1
- package/lib/formbuilder/objectform/layer/layerform.d.ts +1 -1
- package/lib/formbuilder/objectform/layer/layerform.js +3 -2
- package/lib/formbuilder/objectform/process/dissolveProcessForm.d.ts +1 -1
- package/lib/formbuilder/objectform/process/dissolveProcessForm.js +5 -5
- package/lib/formbuilder/objectform/source/geojsonsource.js +4 -4
- package/lib/formbuilder/objectform/source/geotiffsource.js +4 -4
- package/lib/formbuilder/objectform/source/pathbasedsource.js +6 -6
- package/lib/formbuilder/objectform/source/sourceform.d.ts +1 -1
- package/lib/formbuilder/objectform/source/sourceform.js +1 -1
- package/lib/formbuilder/objectform/source/tilesourceform.js +3 -3
- package/lib/gdal.js +2 -2
- package/lib/icons.js +29 -29
- package/lib/index.d.ts +4 -2
- package/lib/index.js +4 -2
- package/lib/mainview/CollaboratorPointers.d.ts +1 -1
- package/lib/mainview/CollaboratorPointers.js +5 -5
- package/lib/mainview/FollowIndicator.d.ts +2 -2
- package/lib/mainview/FollowIndicator.js +3 -3
- package/lib/mainview/TemporalSlider.d.ts +1 -1
- package/lib/mainview/TemporalSlider.js +7 -7
- package/lib/mainview/mainView.d.ts +4 -2
- package/lib/mainview/mainView.js +232 -137
- package/lib/menus.d.ts +4 -0
- package/lib/menus.js +45 -0
- package/lib/panelview/annotationPanel.d.ts +2 -2
- package/lib/panelview/annotationPanel.js +1 -1
- package/lib/panelview/components/filter-panel/Filter.d.ts +2 -2
- package/lib/panelview/components/filter-panel/Filter.js +5 -5
- package/lib/panelview/components/filter-panel/FilterRow.d.ts +2 -2
- package/lib/panelview/components/identify-panel/IdentifyPanel.d.ts +1 -1
- package/lib/panelview/components/identify-panel/IdentifyPanel.js +5 -5
- package/lib/panelview/components/layers.d.ts +1 -1
- package/lib/panelview/components/layers.js +12 -12
- package/lib/panelview/leftpanel.d.ts +4 -2
- package/lib/panelview/leftpanel.js +24 -14
- package/lib/panelview/model.d.ts +1 -1
- package/lib/panelview/objectproperties.d.ts +1 -1
- package/lib/panelview/objectproperties.js +3 -3
- package/lib/panelview/rightpanel.d.ts +2 -1
- package/lib/panelview/rightpanel.js +13 -5
- package/lib/{processing.d.ts → processing/index.d.ts} +4 -4
- package/lib/{processing.js → processing/index.js} +19 -24
- package/lib/processing/processingCommands.d.ts +6 -0
- package/lib/processing/processingCommands.js +47 -0
- package/lib/processing/processingFormToParam.d.ts +2 -0
- package/lib/processing/processingFormToParam.js +15 -0
- package/lib/shared/components/Badge.d.ts +7 -0
- package/lib/shared/components/Badge.js +19 -0
- package/lib/shared/components/Button.d.ts +9 -0
- package/lib/shared/components/Button.js +20 -0
- package/lib/shared/components/Calendar.d.ts +47 -0
- package/lib/shared/components/Calendar.js +184 -0
- package/lib/shared/components/Checkbox.d.ts +4 -0
- package/lib/shared/components/Checkbox.js +25 -0
- package/lib/shared/components/DropdownMenu.d.ts +27 -0
- package/lib/shared/components/DropdownMenu.js +92 -0
- package/lib/shared/components/Pagination.d.ts +25 -0
- package/lib/shared/components/Pagination.js +68 -0
- package/lib/shared/components/Popover.d.ts +7 -0
- package/lib/shared/components/Popover.js +32 -0
- package/lib/shared/components/Tabs.d.ts +7 -0
- package/lib/shared/components/Tabs.js +31 -0
- package/lib/shared/components/ToggleGroup.d.ts +12 -0
- package/lib/shared/components/ToggleGroup.js +52 -0
- package/lib/shared/components/loading.d.ts +12 -0
- package/lib/shared/components/loading.js +6 -0
- package/lib/shared/components/utils.d.ts +2 -0
- package/lib/shared/components/utils.js +4 -0
- package/lib/shared/hooks/useIsFirstRender.d.ts +2 -0
- package/lib/shared/hooks/useIsFirstRender.js +10 -0
- package/lib/stacBrowser/StacBrowser.d.ts +7 -0
- package/lib/stacBrowser/StacBrowser.js +16 -0
- package/lib/stacBrowser/StacPanel.d.ts +14 -0
- package/lib/stacBrowser/StacPanel.js +16 -0
- package/lib/stacBrowser/components/StacFilterSection.d.ts +23 -0
- package/lib/stacBrowser/components/StacFilterSection.js +49 -0
- package/lib/stacBrowser/components/StacPanelFilters.d.ts +14 -0
- package/lib/stacBrowser/components/StacPanelFilters.js +65 -0
- package/lib/stacBrowser/components/StacPanelResults.d.ts +13 -0
- package/lib/stacBrowser/components/StacPanelResults.js +48 -0
- package/lib/stacBrowser/components/StacPanelView.d.ts +7 -0
- package/lib/stacBrowser/components/StacPanelView.js +20 -0
- package/lib/stacBrowser/constants.d.ts +25 -0
- package/lib/stacBrowser/constants.js +197 -0
- package/lib/stacBrowser/hooks/useStacSearch.d.ts +30 -0
- package/lib/stacBrowser/hooks/useStacSearch.js +221 -0
- package/lib/stacBrowser/index.d.ts +1 -0
- package/lib/stacBrowser/index.js +1 -0
- package/lib/stacBrowser/types/types.d.ts +124 -0
- package/lib/stacBrowser/types/types.js +1 -0
- package/lib/statusbar/StatusBar.d.ts +1 -1
- package/lib/statusbar/StatusBar.js +3 -3
- package/lib/toolbar/index.d.ts +0 -1
- package/lib/toolbar/index.js +0 -1
- package/lib/toolbar/widget.js +28 -64
- package/lib/tools.d.ts +30 -5
- package/lib/tools.js +82 -69
- package/lib/types.d.ts +2 -0
- package/lib/widget.d.ts +2 -1
- package/lib/widget.js +8 -5
- package/package.json +22 -8
- package/style/base.css +26 -0
- package/style/layerBrowser.css +10 -0
- package/style/leftPanel.css +0 -1
- package/style/shared/badge.css +61 -0
- package/style/shared/button.css +164 -0
- package/style/shared/calendar.css +274 -0
- package/style/shared/checkbox.css +28 -0
- package/style/shared/dropdownMenu.css +240 -0
- package/style/shared/pagination.css +167 -0
- package/style/shared/popover.css +53 -0
- package/style/shared/tabs.css +57 -0
- package/style/shared/toggle.css +85 -0
- package/style/stacBrowser.css +74 -0
- package/style/symbologyDialog.css +0 -7
- package/lib/mainview/spinner.d.ts +0 -6
- package/lib/mainview/spinner.js +0 -5
- package/lib/panelview/components/sources.d.ts +0 -10
- package/lib/panelview/components/sources.js +0 -147
- package/lib/toolbar/usertoolbaritem.d.ts +0 -19
- package/lib/toolbar/usertoolbaritem.js +0 -59
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
import { showErrorMessage } from '@jupyterlab/apputils';
|
|
2
|
-
import { CommandIDs, icons } from './constants';
|
|
3
|
-
import { LayerCreationFormDialog } from './dialogs/layerCreationFormDialog';
|
|
4
|
-
import { LayerBrowserWidget } from './dialogs/layerBrowserDialog';
|
|
5
|
-
import { SymbologyWidget } from './dialogs/symbology/symbologyDialog';
|
|
6
|
-
import keybindings from './keybindings.json';
|
|
7
|
-
import { JupyterGISDocumentWidget } from './widget';
|
|
8
|
-
import { getGeoJSONDataFromLayerSource, downloadFile } from './tools';
|
|
9
|
-
import { ProcessingFormDialog } from './dialogs/ProcessingFormDialog';
|
|
10
|
-
import { getSingleSelectedLayer, selectedLayerIsOfType, processSelectedLayer } from './processing';
|
|
11
2
|
import { fromLonLat } from 'ol/proj';
|
|
12
|
-
import {
|
|
3
|
+
import { CommandIDs, icons } from '../constants';
|
|
4
|
+
import { ProcessingFormDialog } from '../dialogs/ProcessingFormDialog';
|
|
5
|
+
import { LayerBrowserWidget } from '../dialogs/layerBrowserDialog';
|
|
6
|
+
import { LayerCreationFormDialog } from '../dialogs/layerCreationFormDialog';
|
|
7
|
+
import { SymbologyWidget } from '../dialogs/symbology/symbologyDialog';
|
|
8
|
+
import { targetWithCenterIcon } from '../icons';
|
|
9
|
+
import keybindings from '../keybindings.json';
|
|
10
|
+
import { getSingleSelectedLayer } from '../processing/index';
|
|
11
|
+
import { addProcessingCommands } from '../processing/processingCommands';
|
|
12
|
+
import { getGeoJSONDataFromLayerSource, downloadFile } from '../tools';
|
|
13
|
+
import { JupyterGISDocumentWidget } from '../widget';
|
|
13
14
|
function loadKeybindings(commands, keybindings) {
|
|
14
15
|
keybindings.forEach(binding => {
|
|
15
16
|
commands.addKeyBinding({
|
|
16
17
|
command: binding.command,
|
|
17
18
|
keys: binding.keys,
|
|
18
|
-
selector: binding.selector
|
|
19
|
+
selector: binding.selector,
|
|
19
20
|
});
|
|
20
21
|
});
|
|
21
22
|
}
|
|
@@ -47,7 +48,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
47
48
|
'VectorLayer',
|
|
48
49
|
'VectorTileLayer',
|
|
49
50
|
'WebGlLayer',
|
|
50
|
-
'HeatmapLayer'
|
|
51
|
+
'HeatmapLayer',
|
|
51
52
|
].includes(layer.type);
|
|
52
53
|
return isValidLayer;
|
|
53
54
|
}, execute: Private.createSymbologyDialog(tracker, state) }, icons.get(CommandIDs.symbology)));
|
|
@@ -83,7 +84,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
83
84
|
const canIdentify = [
|
|
84
85
|
'VectorLayer',
|
|
85
86
|
'ShapefileLayer',
|
|
86
|
-
'WebGlLayer'
|
|
87
|
+
'WebGlLayer',
|
|
87
88
|
].includes(selectedLayer.type);
|
|
88
89
|
const isIdentifying = current.model.isIdentifying;
|
|
89
90
|
if (isIdentifying && !canIdentify) {
|
|
@@ -164,23 +165,23 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
164
165
|
/**
|
|
165
166
|
* Source and layers
|
|
166
167
|
*/
|
|
167
|
-
commands.addCommand(CommandIDs.newRasterEntry, Object.assign({ label: trans.__('New Raster Layer'), isEnabled: () => {
|
|
168
|
+
commands.addCommand(CommandIDs.newRasterEntry, Object.assign({ label: trans.__('New Raster Tile Layer'), isEnabled: () => {
|
|
168
169
|
return tracker.currentWidget
|
|
169
170
|
? tracker.currentWidget.model.sharedModel.editable
|
|
170
171
|
: false;
|
|
171
172
|
}, execute: Private.createEntry({
|
|
172
173
|
tracker,
|
|
173
174
|
formSchemaRegistry,
|
|
174
|
-
title: 'Create Raster Layer',
|
|
175
|
+
title: 'Create Raster Tile Layer',
|
|
175
176
|
createLayer: true,
|
|
176
177
|
createSource: true,
|
|
177
178
|
sourceData: {
|
|
178
179
|
minZoom: 0,
|
|
179
|
-
maxZoom: 24
|
|
180
|
+
maxZoom: 24,
|
|
180
181
|
},
|
|
181
|
-
layerData: { name: 'Custom Raster Layer' },
|
|
182
|
+
layerData: { name: 'Custom Raster Tile Layer' },
|
|
182
183
|
sourceType: 'RasterSource',
|
|
183
|
-
layerType: 'RasterLayer'
|
|
184
|
+
layerType: 'RasterLayer',
|
|
184
185
|
}) }, icons.get(CommandIDs.newRasterEntry)));
|
|
185
186
|
commands.addCommand(CommandIDs.newVectorTileEntry, Object.assign({ label: trans.__('New Vector Tile Layer'), isEnabled: () => {
|
|
186
187
|
return tracker.currentWidget
|
|
@@ -195,53 +196,8 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
195
196
|
sourceData: { minZoom: 0, maxZoom: 24 },
|
|
196
197
|
layerData: { name: 'Custom Vector Tile Layer' },
|
|
197
198
|
sourceType: 'VectorTileSource',
|
|
198
|
-
layerType: 'VectorTileLayer'
|
|
199
|
+
layerType: 'VectorTileLayer',
|
|
199
200
|
}) }, icons.get(CommandIDs.newVectorTileEntry)));
|
|
200
|
-
commands.addCommand(CommandIDs.buffer, {
|
|
201
|
-
label: trans.__('Buffer'),
|
|
202
|
-
isEnabled: () => selectedLayerIsOfType(['VectorLayer'], tracker),
|
|
203
|
-
execute: async () => {
|
|
204
|
-
await processSelectedLayer(tracker, formSchemaRegistry, 'Buffer', {
|
|
205
|
-
sqlQueryFn: (layerName, bufferDistance) => `
|
|
206
|
-
SELECT ST_Union(ST_Buffer(geometry, ${bufferDistance})) AS geometry, *
|
|
207
|
-
FROM "${layerName}"
|
|
208
|
-
`,
|
|
209
|
-
gdalFunction: 'ogr2ogr',
|
|
210
|
-
options: (sqlQuery) => [
|
|
211
|
-
'-f',
|
|
212
|
-
'GeoJSON',
|
|
213
|
-
'-dialect',
|
|
214
|
-
'SQLITE',
|
|
215
|
-
'-sql',
|
|
216
|
-
sqlQuery,
|
|
217
|
-
'output.geojson'
|
|
218
|
-
]
|
|
219
|
-
}, app);
|
|
220
|
-
}
|
|
221
|
-
});
|
|
222
|
-
commands.addCommand(CommandIDs.dissolve, {
|
|
223
|
-
label: trans.__('Dissolve'),
|
|
224
|
-
isEnabled: () => selectedLayerIsOfType(['VectorLayer'], tracker),
|
|
225
|
-
execute: async () => {
|
|
226
|
-
await processSelectedLayer(tracker, formSchemaRegistry, 'Dissolve', {
|
|
227
|
-
sqlQueryFn: (layerName, dissolveField) => `
|
|
228
|
-
SELECT ST_Union(geometry) AS geometry, ${dissolveField}
|
|
229
|
-
FROM "${layerName}"
|
|
230
|
-
GROUP BY ${dissolveField}
|
|
231
|
-
`,
|
|
232
|
-
gdalFunction: 'ogr2ogr',
|
|
233
|
-
options: (sqlQuery) => [
|
|
234
|
-
'-f',
|
|
235
|
-
'GeoJSON',
|
|
236
|
-
'-dialect',
|
|
237
|
-
'SQLITE',
|
|
238
|
-
'-sql',
|
|
239
|
-
sqlQuery,
|
|
240
|
-
'output.geojson'
|
|
241
|
-
]
|
|
242
|
-
}, app);
|
|
243
|
-
}
|
|
244
|
-
});
|
|
245
201
|
commands.addCommand(CommandIDs.newGeoJSONEntry, Object.assign({ label: trans.__('New GeoJSON layer'), isEnabled: () => {
|
|
246
202
|
return tracker.currentWidget
|
|
247
203
|
? tracker.currentWidget.model.sharedModel.editable
|
|
@@ -254,8 +210,10 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
254
210
|
createSource: true,
|
|
255
211
|
layerData: { name: 'Custom GeoJSON Layer' },
|
|
256
212
|
sourceType: 'GeoJSONSource',
|
|
257
|
-
layerType: 'VectorLayer'
|
|
213
|
+
layerType: 'VectorLayer',
|
|
258
214
|
}) }, icons.get(CommandIDs.newGeoJSONEntry)));
|
|
215
|
+
//Add processing commands
|
|
216
|
+
addProcessingCommands(app, commands, tracker, trans, formSchemaRegistry);
|
|
259
217
|
commands.addCommand(CommandIDs.newHillshadeEntry, Object.assign({ label: trans.__('New Hillshade layer'), isEnabled: () => {
|
|
260
218
|
return tracker.currentWidget
|
|
261
219
|
? tracker.currentWidget.model.sharedModel.editable
|
|
@@ -268,7 +226,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
268
226
|
createSource: true,
|
|
269
227
|
layerData: { name: 'Custom Hillshade Layer' },
|
|
270
228
|
sourceType: 'RasterDemSource',
|
|
271
|
-
layerType: 'HillshadeLayer'
|
|
229
|
+
layerType: 'HillshadeLayer',
|
|
272
230
|
}) }, icons.get(CommandIDs.newHillshadeEntry)));
|
|
273
231
|
commands.addCommand(CommandIDs.newImageEntry, Object.assign({ label: trans.__('New Image layer'), isEnabled: () => {
|
|
274
232
|
return tracker.currentWidget
|
|
@@ -287,12 +245,12 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
287
245
|
[-80.425, 46.437],
|
|
288
246
|
[-71.516, 46.437],
|
|
289
247
|
[-71.516, 37.936],
|
|
290
|
-
[-80.425, 37.936]
|
|
291
|
-
]
|
|
248
|
+
[-80.425, 37.936],
|
|
249
|
+
],
|
|
292
250
|
},
|
|
293
251
|
layerData: { name: 'Custom Image Layer' },
|
|
294
252
|
sourceType: 'ImageSource',
|
|
295
|
-
layerType: 'ImageLayer'
|
|
253
|
+
layerType: 'ImageLayer',
|
|
296
254
|
}) }, icons.get(CommandIDs.newImageEntry)));
|
|
297
255
|
commands.addCommand(CommandIDs.newVideoEntry, Object.assign({ label: trans.__('New Video layer'), isEnabled: () => {
|
|
298
256
|
return tracker.currentWidget
|
|
@@ -308,34 +266,19 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
308
266
|
name: 'Custom Video Source',
|
|
309
267
|
urls: [
|
|
310
268
|
'https://static-assets.mapbox.com/mapbox-gl-js/drone.mp4',
|
|
311
|
-
'https://static-assets.mapbox.com/mapbox-gl-js/drone.webm'
|
|
269
|
+
'https://static-assets.mapbox.com/mapbox-gl-js/drone.webm',
|
|
312
270
|
],
|
|
313
271
|
coordinates: [
|
|
314
272
|
[-122.51596391201019, 37.56238816766053],
|
|
315
273
|
[-122.51467645168304, 37.56410183312965],
|
|
316
274
|
[-122.51309394836426, 37.563391708549425],
|
|
317
|
-
[-122.51423120498657, 37.56161849366671]
|
|
318
|
-
]
|
|
275
|
+
[-122.51423120498657, 37.56161849366671],
|
|
276
|
+
],
|
|
319
277
|
},
|
|
320
278
|
layerData: { name: 'Custom Video Layer' },
|
|
321
279
|
sourceType: 'VideoSource',
|
|
322
|
-
layerType: 'RasterLayer'
|
|
280
|
+
layerType: 'RasterLayer',
|
|
323
281
|
}) }, icons.get(CommandIDs.newVideoEntry)));
|
|
324
|
-
commands.addCommand(CommandIDs.newShapefileSource, Object.assign({ label: args => args.from === 'contextMenu'
|
|
325
|
-
? trans.__('Shapefile')
|
|
326
|
-
: trans.__('Add Shapefile Source'), isEnabled: () => {
|
|
327
|
-
return tracker.currentWidget
|
|
328
|
-
? tracker.currentWidget.model.sharedModel.editable
|
|
329
|
-
: false;
|
|
330
|
-
}, execute: Private.createEntry({
|
|
331
|
-
tracker,
|
|
332
|
-
formSchemaRegistry,
|
|
333
|
-
title: 'Create Shapefile Source',
|
|
334
|
-
createLayer: false,
|
|
335
|
-
createSource: true,
|
|
336
|
-
sourceData: { name: 'Custom Shapefile Source' },
|
|
337
|
-
sourceType: 'ShapefileSource'
|
|
338
|
-
}) }, icons.get(CommandIDs.newShapefileSource)));
|
|
339
282
|
commands.addCommand(CommandIDs.newGeoTiffEntry, Object.assign({ label: trans.__('New GeoTiff layer'), isEnabled: () => {
|
|
340
283
|
return tracker.currentWidget
|
|
341
284
|
? tracker.currentWidget.model.sharedModel.editable
|
|
@@ -348,197 +291,13 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
348
291
|
createSource: true,
|
|
349
292
|
sourceData: {
|
|
350
293
|
name: 'Custom GeoTiff Source',
|
|
351
|
-
urls: [{}]
|
|
294
|
+
urls: [{}],
|
|
352
295
|
},
|
|
353
296
|
layerData: { name: 'Custom GeoTiff Layer' },
|
|
354
297
|
sourceType: 'GeoTiffSource',
|
|
355
|
-
layerType: 'WebGlLayer'
|
|
298
|
+
layerType: 'WebGlLayer',
|
|
356
299
|
}) }, icons.get(CommandIDs.newGeoTiffEntry)));
|
|
357
|
-
|
|
358
|
-
* SOURCES only commands.
|
|
359
|
-
*/
|
|
360
|
-
commands.addCommand(CommandIDs.newRasterSource, Object.assign({ label: args => args.from === 'contextMenu'
|
|
361
|
-
? trans.__('Raster')
|
|
362
|
-
: trans.__('New Raster Source'), isEnabled: () => {
|
|
363
|
-
return tracker.currentWidget
|
|
364
|
-
? tracker.currentWidget.model.sharedModel.editable
|
|
365
|
-
: false;
|
|
366
|
-
}, execute: Private.createEntry({
|
|
367
|
-
tracker,
|
|
368
|
-
formSchemaRegistry,
|
|
369
|
-
title: 'Create Raster Source',
|
|
370
|
-
createLayer: false,
|
|
371
|
-
createSource: true,
|
|
372
|
-
sourceData: { name: 'Custom Raster Source', minZoom: 0, maxZoom: 24 },
|
|
373
|
-
sourceType: 'RasterSource'
|
|
374
|
-
}) }, icons.get(CommandIDs.newRasterSource)));
|
|
375
|
-
commands.addCommand(CommandIDs.newRasterDemSource, Object.assign({ label: args => args.from === 'contextMenu'
|
|
376
|
-
? trans.__('Raster DEM')
|
|
377
|
-
: trans.__('New Raster DEM Source'), isEnabled: () => {
|
|
378
|
-
return tracker.currentWidget
|
|
379
|
-
? tracker.currentWidget.model.sharedModel.editable
|
|
380
|
-
: false;
|
|
381
|
-
}, execute: Private.createEntry({
|
|
382
|
-
tracker,
|
|
383
|
-
formSchemaRegistry,
|
|
384
|
-
title: 'Create Raster Dem Source',
|
|
385
|
-
createLayer: false,
|
|
386
|
-
createSource: true,
|
|
387
|
-
sourceData: { name: 'Custom Raster DEM Source' },
|
|
388
|
-
sourceType: 'RasterDemSource'
|
|
389
|
-
}) }, icons.get(CommandIDs.newRasterDemSource)));
|
|
390
|
-
commands.addCommand(CommandIDs.newVectorSource, Object.assign({ label: args => args.from === 'contextMenu'
|
|
391
|
-
? trans.__('Vector')
|
|
392
|
-
: trans.__('New Vector Source'), isEnabled: () => {
|
|
393
|
-
return tracker.currentWidget
|
|
394
|
-
? tracker.currentWidget.model.sharedModel.editable
|
|
395
|
-
: false;
|
|
396
|
-
}, execute: Private.createEntry({
|
|
397
|
-
tracker,
|
|
398
|
-
formSchemaRegistry,
|
|
399
|
-
title: 'Create Vector Source',
|
|
400
|
-
createLayer: false,
|
|
401
|
-
createSource: true,
|
|
402
|
-
sourceData: { name: 'Custom Vector Source', minZoom: 0, maxZoom: 24 },
|
|
403
|
-
sourceType: 'VectorTileSource'
|
|
404
|
-
}) }, icons.get(CommandIDs.newVectorSource)));
|
|
405
|
-
commands.addCommand(CommandIDs.newGeoJSONSource, Object.assign({ label: args => args.from === 'contextMenu'
|
|
406
|
-
? trans.__('GeoJSON')
|
|
407
|
-
: trans.__('Add GeoJSON data from file'), isEnabled: () => {
|
|
408
|
-
return tracker.currentWidget
|
|
409
|
-
? tracker.currentWidget.model.sharedModel.editable
|
|
410
|
-
: false;
|
|
411
|
-
}, execute: Private.createEntry({
|
|
412
|
-
tracker,
|
|
413
|
-
formSchemaRegistry,
|
|
414
|
-
title: 'Create GeoJson Source',
|
|
415
|
-
createLayer: false,
|
|
416
|
-
createSource: true,
|
|
417
|
-
sourceData: { name: 'Custom GeoJSON Source' },
|
|
418
|
-
sourceType: 'GeoJSONSource'
|
|
419
|
-
}) }, icons.get(CommandIDs.newGeoJSONSource)));
|
|
420
|
-
commands.addCommand(CommandIDs.newImageSource, Object.assign({ label: args => args.from === 'contextMenu'
|
|
421
|
-
? trans.__('Image')
|
|
422
|
-
: trans.__('Add Image Source'), isEnabled: () => {
|
|
423
|
-
return tracker.currentWidget
|
|
424
|
-
? tracker.currentWidget.model.sharedModel.editable
|
|
425
|
-
: false;
|
|
426
|
-
}, execute: Private.createEntry({
|
|
427
|
-
tracker,
|
|
428
|
-
formSchemaRegistry,
|
|
429
|
-
title: 'Create Image Source',
|
|
430
|
-
createLayer: false,
|
|
431
|
-
createSource: true,
|
|
432
|
-
sourceData: { name: 'Custom Image Source' },
|
|
433
|
-
sourceType: 'ImageSource'
|
|
434
|
-
}) }, icons.get(CommandIDs.newImageSource)));
|
|
435
|
-
commands.addCommand(CommandIDs.newVideoSource, Object.assign({ label: args => args.from === 'contextMenu'
|
|
436
|
-
? trans.__('Video')
|
|
437
|
-
: trans.__('Add Video Source'), isEnabled: () => {
|
|
438
|
-
return tracker.currentWidget
|
|
439
|
-
? tracker.currentWidget.model.sharedModel.editable
|
|
440
|
-
: false;
|
|
441
|
-
}, execute: Private.createEntry({
|
|
442
|
-
tracker,
|
|
443
|
-
formSchemaRegistry,
|
|
444
|
-
title: 'Create Video Source',
|
|
445
|
-
createLayer: false,
|
|
446
|
-
createSource: true,
|
|
447
|
-
sourceData: { name: 'Custom Video Source' },
|
|
448
|
-
sourceType: 'VideoSource'
|
|
449
|
-
}) }, icons.get(CommandIDs.newVideoSource)));
|
|
450
|
-
// Layers only
|
|
451
|
-
commands.addCommand(CommandIDs.newRasterLayer, Object.assign({ label: args => args.from === 'contextMenu'
|
|
452
|
-
? trans.__('Raster')
|
|
453
|
-
: trans.__('Add Raster layer'), isEnabled: () => {
|
|
454
|
-
return tracker.currentWidget
|
|
455
|
-
? tracker.currentWidget.model.sharedModel.editable
|
|
456
|
-
: false;
|
|
457
|
-
}, execute: Private.createEntry({
|
|
458
|
-
tracker,
|
|
459
|
-
formSchemaRegistry,
|
|
460
|
-
title: 'Create Raster Layer',
|
|
461
|
-
createLayer: true,
|
|
462
|
-
createSource: false,
|
|
463
|
-
layerData: {
|
|
464
|
-
name: 'Custom Raster Layer'
|
|
465
|
-
},
|
|
466
|
-
sourceType: 'RasterSource',
|
|
467
|
-
layerType: 'RasterLayer'
|
|
468
|
-
}) }, icons.get(CommandIDs.newVectorLayer)));
|
|
469
|
-
commands.addCommand(CommandIDs.newVectorLayer, Object.assign({ label: args => args.from === 'contextMenu'
|
|
470
|
-
? trans.__('Vector')
|
|
471
|
-
: trans.__('Add New Vector layer'), isEnabled: () => {
|
|
472
|
-
return tracker.currentWidget
|
|
473
|
-
? tracker.currentWidget.model.sharedModel.editable
|
|
474
|
-
: false;
|
|
475
|
-
}, execute: Private.createEntry({
|
|
476
|
-
tracker,
|
|
477
|
-
formSchemaRegistry,
|
|
478
|
-
title: 'Create Vector Layer',
|
|
479
|
-
createLayer: true,
|
|
480
|
-
createSource: false,
|
|
481
|
-
layerData: {
|
|
482
|
-
name: 'Custom Vector Layer'
|
|
483
|
-
},
|
|
484
|
-
sourceType: 'VectorTileSource',
|
|
485
|
-
layerType: 'VectorTileLayer'
|
|
486
|
-
}) }, icons.get(CommandIDs.newVectorLayer)));
|
|
487
|
-
commands.addCommand(CommandIDs.newHillshadeLayer, Object.assign({ label: args => args.from === 'contextMenu'
|
|
488
|
-
? trans.__('Hillshade')
|
|
489
|
-
: trans.__('Add Hillshade layer'), isEnabled: () => {
|
|
490
|
-
return tracker.currentWidget
|
|
491
|
-
? tracker.currentWidget.model.sharedModel.editable
|
|
492
|
-
: false;
|
|
493
|
-
}, execute: Private.createEntry({
|
|
494
|
-
tracker,
|
|
495
|
-
formSchemaRegistry,
|
|
496
|
-
title: 'Create Hillshade Layer',
|
|
497
|
-
createLayer: true,
|
|
498
|
-
createSource: false,
|
|
499
|
-
layerData: {
|
|
500
|
-
name: 'Custom Hillshade Layer'
|
|
501
|
-
},
|
|
502
|
-
sourceType: 'RasterDemSource',
|
|
503
|
-
layerType: 'HillshadeLayer'
|
|
504
|
-
}) }, icons.get(CommandIDs.newHillshadeLayer)));
|
|
505
|
-
commands.addCommand(CommandIDs.newImageLayer, Object.assign({ label: args => args.from === 'contextMenu'
|
|
506
|
-
? trans.__('Image')
|
|
507
|
-
: trans.__('Add Image layer'), isEnabled: () => {
|
|
508
|
-
return tracker.currentWidget
|
|
509
|
-
? tracker.currentWidget.model.sharedModel.editable
|
|
510
|
-
: false;
|
|
511
|
-
}, execute: Private.createEntry({
|
|
512
|
-
tracker,
|
|
513
|
-
formSchemaRegistry,
|
|
514
|
-
title: 'Create Image Layer',
|
|
515
|
-
createLayer: true,
|
|
516
|
-
createSource: false,
|
|
517
|
-
layerData: {
|
|
518
|
-
name: 'Custom Image Layer'
|
|
519
|
-
},
|
|
520
|
-
sourceType: 'ImageSource',
|
|
521
|
-
layerType: 'RasterLayer'
|
|
522
|
-
}) }, icons.get(CommandIDs.newImageLayer)));
|
|
523
|
-
commands.addCommand(CommandIDs.newVideoLayer, Object.assign({ label: args => args.from === 'contextMenu'
|
|
524
|
-
? trans.__('Video')
|
|
525
|
-
: trans.__('Add Video layer'), isEnabled: () => {
|
|
526
|
-
return tracker.currentWidget
|
|
527
|
-
? tracker.currentWidget.model.sharedModel.editable
|
|
528
|
-
: false;
|
|
529
|
-
}, execute: Private.createEntry({
|
|
530
|
-
tracker,
|
|
531
|
-
formSchemaRegistry,
|
|
532
|
-
title: 'Create Video Layer',
|
|
533
|
-
createLayer: true,
|
|
534
|
-
createSource: false,
|
|
535
|
-
layerData: {
|
|
536
|
-
name: 'Custom Video Layer'
|
|
537
|
-
},
|
|
538
|
-
sourceType: 'VideoSource',
|
|
539
|
-
layerType: 'RasterLayer'
|
|
540
|
-
}) }, icons.get(CommandIDs.newVideoLayer)));
|
|
541
|
-
commands.addCommand(CommandIDs.newShapefileLayer, Object.assign({ label: trans.__('New Shapefile Layer'), isEnabled: () => {
|
|
300
|
+
commands.addCommand(CommandIDs.newShapefileEntry, Object.assign({ label: trans.__('New Shapefile Layer'), isEnabled: () => {
|
|
542
301
|
return tracker.currentWidget
|
|
543
302
|
? tracker.currentWidget.model.sharedModel.editable
|
|
544
303
|
: false;
|
|
@@ -551,24 +310,8 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
551
310
|
sourceData: { name: 'Custom Shapefile Source' },
|
|
552
311
|
layerData: { name: 'Custom Shapefile Layer' },
|
|
553
312
|
sourceType: 'ShapefileSource',
|
|
554
|
-
layerType: 'VectorLayer'
|
|
555
|
-
}) }, icons.get(CommandIDs.
|
|
556
|
-
commands.addCommand(CommandIDs.newHeatmapLayer, Object.assign({ label: args => args.from === 'contextMenu'
|
|
557
|
-
? trans.__('Heatmap')
|
|
558
|
-
: trans.__('Add HeatmapLayer'), isEnabled: () => {
|
|
559
|
-
return tracker.currentWidget
|
|
560
|
-
? tracker.currentWidget.model.sharedModel.editable
|
|
561
|
-
: false;
|
|
562
|
-
}, execute: Private.createEntry({
|
|
563
|
-
tracker,
|
|
564
|
-
formSchemaRegistry,
|
|
565
|
-
title: 'Create Heatmap Layer',
|
|
566
|
-
createLayer: true,
|
|
567
|
-
createSource: false,
|
|
568
|
-
layerData: { name: 'Custom Heatmap Layer' },
|
|
569
|
-
sourceType: 'GeoJSONSource',
|
|
570
|
-
layerType: 'HeatmapLayer'
|
|
571
|
-
}) }, icons.get(CommandIDs.newHeatmapLayer)));
|
|
313
|
+
layerType: 'VectorLayer',
|
|
314
|
+
}) }, icons.get(CommandIDs.newShapefileEntry)));
|
|
572
315
|
/**
|
|
573
316
|
* LAYERS and LAYER GROUP actions.
|
|
574
317
|
*/
|
|
@@ -584,7 +327,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
584
327
|
model === null || model === void 0 ? void 0 : model.sharedModel.updateLayer(layerId, layer);
|
|
585
328
|
}
|
|
586
329
|
});
|
|
587
|
-
}
|
|
330
|
+
},
|
|
588
331
|
});
|
|
589
332
|
commands.addCommand(CommandIDs.removeLayer, {
|
|
590
333
|
label: trans.__('Remove Layer'),
|
|
@@ -594,7 +337,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
594
337
|
Private.removeSelectedItems(model, 'layer', selection => {
|
|
595
338
|
model === null || model === void 0 ? void 0 : model.removeLayer(selection);
|
|
596
339
|
});
|
|
597
|
-
}
|
|
340
|
+
},
|
|
598
341
|
});
|
|
599
342
|
commands.addCommand(CommandIDs.renameGroup, {
|
|
600
343
|
label: trans.__('Rename Group'),
|
|
@@ -604,7 +347,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
604
347
|
await Private.renameSelectedItem(model, 'group', (groupName, newName) => {
|
|
605
348
|
model === null || model === void 0 ? void 0 : model.renameLayerGroup(groupName, newName);
|
|
606
349
|
});
|
|
607
|
-
}
|
|
350
|
+
},
|
|
608
351
|
});
|
|
609
352
|
commands.addCommand(CommandIDs.removeGroup, {
|
|
610
353
|
label: trans.__('Remove Group'),
|
|
@@ -614,7 +357,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
614
357
|
Private.removeSelectedItems(model, 'group', selection => {
|
|
615
358
|
model === null || model === void 0 ? void 0 : model.removeLayerGroup(selection);
|
|
616
359
|
});
|
|
617
|
-
}
|
|
360
|
+
},
|
|
618
361
|
});
|
|
619
362
|
commands.addCommand(CommandIDs.moveLayersToGroup, {
|
|
620
363
|
label: args => args['label'] ? args['label'] : trans.__('Move to Root'),
|
|
@@ -627,7 +370,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
627
370
|
return;
|
|
628
371
|
}
|
|
629
372
|
model.moveItemsToGroup(Object.keys(selectedLayers), groupName);
|
|
630
|
-
}
|
|
373
|
+
},
|
|
631
374
|
});
|
|
632
375
|
commands.addCommand(CommandIDs.moveLayerToNewGroup, {
|
|
633
376
|
label: trans.__('Move Selected Layers to New Group'),
|
|
@@ -678,10 +421,10 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
678
421
|
});
|
|
679
422
|
const newLayerGroup = {
|
|
680
423
|
name: newName,
|
|
681
|
-
layers: layers
|
|
424
|
+
layers: layers,
|
|
682
425
|
};
|
|
683
426
|
model.addNewLayerGroup(selectedLayers, newLayerGroup);
|
|
684
|
-
}
|
|
427
|
+
},
|
|
685
428
|
});
|
|
686
429
|
/**
|
|
687
430
|
* Source actions
|
|
@@ -698,7 +441,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
698
441
|
model === null || model === void 0 ? void 0 : model.sharedModel.updateSource(sourceId, source);
|
|
699
442
|
}
|
|
700
443
|
});
|
|
701
|
-
}
|
|
444
|
+
},
|
|
702
445
|
});
|
|
703
446
|
commands.addCommand(CommandIDs.removeSource, {
|
|
704
447
|
label: trans.__('Remove Source'),
|
|
@@ -714,7 +457,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
714
457
|
showErrorMessage('Remove source error', 'The source is used by a layer.');
|
|
715
458
|
}
|
|
716
459
|
});
|
|
717
|
-
}
|
|
460
|
+
},
|
|
718
461
|
});
|
|
719
462
|
// Console commands
|
|
720
463
|
commands.addCommand(CommandIDs.toggleConsole, {
|
|
@@ -725,7 +468,19 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
725
468
|
? tracker.currentWidget.model.sharedModel.editable
|
|
726
469
|
: false;
|
|
727
470
|
},
|
|
728
|
-
|
|
471
|
+
isToggled: () => {
|
|
472
|
+
var _a;
|
|
473
|
+
if (tracker.currentWidget instanceof JupyterGISDocumentWidget) {
|
|
474
|
+
return ((_a = tracker.currentWidget) === null || _a === void 0 ? void 0 : _a.content.consoleOpened) === true;
|
|
475
|
+
}
|
|
476
|
+
else {
|
|
477
|
+
return false;
|
|
478
|
+
}
|
|
479
|
+
},
|
|
480
|
+
execute: async () => {
|
|
481
|
+
await Private.toggleConsole(tracker);
|
|
482
|
+
commands.notifyCommandChanged(CommandIDs.toggleConsole);
|
|
483
|
+
},
|
|
729
484
|
});
|
|
730
485
|
commands.addCommand(CommandIDs.executeConsole, {
|
|
731
486
|
label: trans.__('Execute console'),
|
|
@@ -735,7 +490,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
735
490
|
? tracker.currentWidget.model.sharedModel.editable
|
|
736
491
|
: false;
|
|
737
492
|
},
|
|
738
|
-
execute: () => Private.executeConsole(tracker)
|
|
493
|
+
execute: () => Private.executeConsole(tracker),
|
|
739
494
|
});
|
|
740
495
|
commands.addCommand(CommandIDs.removeConsole, {
|
|
741
496
|
label: trans.__('Remove console'),
|
|
@@ -745,7 +500,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
745
500
|
? tracker.currentWidget.model.sharedModel.editable
|
|
746
501
|
: false;
|
|
747
502
|
},
|
|
748
|
-
execute: () => Private.removeConsole(tracker)
|
|
503
|
+
execute: () => Private.removeConsole(tracker),
|
|
749
504
|
});
|
|
750
505
|
commands.addCommand(CommandIDs.invokeCompleter, {
|
|
751
506
|
label: trans.__('Display the completion helper.'),
|
|
@@ -762,7 +517,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
762
517
|
if (id) {
|
|
763
518
|
return completionProviderManager.invoke(id);
|
|
764
519
|
}
|
|
765
|
-
}
|
|
520
|
+
},
|
|
766
521
|
});
|
|
767
522
|
commands.addCommand(CommandIDs.selectCompleter, {
|
|
768
523
|
label: trans.__('Select the completion suggestion.'),
|
|
@@ -779,7 +534,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
779
534
|
if (id) {
|
|
780
535
|
return completionProviderManager.select(id);
|
|
781
536
|
}
|
|
782
|
-
}
|
|
537
|
+
},
|
|
783
538
|
});
|
|
784
539
|
commands.addCommand(CommandIDs.zoomToLayer, {
|
|
785
540
|
label: trans.__('Zoom to Layer'),
|
|
@@ -797,7 +552,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
797
552
|
}
|
|
798
553
|
const layerId = Object.keys(selectedItems)[0];
|
|
799
554
|
model.centerOnPosition(layerId);
|
|
800
|
-
}
|
|
555
|
+
},
|
|
801
556
|
});
|
|
802
557
|
commands.addCommand(CommandIDs.downloadGeoJSON, {
|
|
803
558
|
label: trans.__('Download as GeoJSON'),
|
|
@@ -815,7 +570,9 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
815
570
|
}
|
|
816
571
|
const model = (_a = tracker.currentWidget) === null || _a === void 0 ? void 0 : _a.model;
|
|
817
572
|
const sources = (_b = model.sharedModel.sources) !== null && _b !== void 0 ? _b : {};
|
|
818
|
-
const exportSchema = Object.assign({}, formSchemaRegistry
|
|
573
|
+
const exportSchema = Object.assign({}, formSchemaRegistry
|
|
574
|
+
.getSchemas()
|
|
575
|
+
.get('ExportGeoJSONSchema'));
|
|
819
576
|
const formValues = await new Promise(resolve => {
|
|
820
577
|
const dialog = new ProcessingFormDialog({
|
|
821
578
|
title: 'Download GeoJSON',
|
|
@@ -827,7 +584,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
827
584
|
syncData: (props) => {
|
|
828
585
|
resolve(props);
|
|
829
586
|
dialog.dispose();
|
|
830
|
-
}
|
|
587
|
+
},
|
|
831
588
|
});
|
|
832
589
|
dialog.launch();
|
|
833
590
|
});
|
|
@@ -842,7 +599,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
842
599
|
return;
|
|
843
600
|
}
|
|
844
601
|
downloadFile(geojsonString, `${exportFileName}.geojson`, 'application/geo+json');
|
|
845
|
-
}
|
|
602
|
+
},
|
|
846
603
|
});
|
|
847
604
|
commands.addCommand(CommandIDs.getGeolocation, {
|
|
848
605
|
label: trans.__('Center on Geolocation'),
|
|
@@ -852,16 +609,16 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
852
609
|
const options = {
|
|
853
610
|
enableHighAccuracy: true,
|
|
854
611
|
timeout: 5000,
|
|
855
|
-
maximumAge: 0
|
|
612
|
+
maximumAge: 0,
|
|
856
613
|
};
|
|
857
614
|
const success = (pos) => {
|
|
858
615
|
const location = fromLonLat([
|
|
859
616
|
pos.coords.longitude,
|
|
860
|
-
pos.coords.latitude
|
|
617
|
+
pos.coords.latitude,
|
|
861
618
|
]);
|
|
862
619
|
const Jgislocation = {
|
|
863
620
|
x: location[0],
|
|
864
|
-
y: location[1]
|
|
621
|
+
y: location[1],
|
|
865
622
|
};
|
|
866
623
|
if (viewModel) {
|
|
867
624
|
viewModel.geolocationChanged.emit(Jgislocation);
|
|
@@ -872,7 +629,7 @@ export function addCommands(app, tracker, translator, formSchemaRegistry, layerB
|
|
|
872
629
|
};
|
|
873
630
|
navigator.geolocation.getCurrentPosition(success, error, options);
|
|
874
631
|
},
|
|
875
|
-
icon: targetWithCenterIcon
|
|
632
|
+
icon: targetWithCenterIcon,
|
|
876
633
|
});
|
|
877
634
|
loadKeybindings(commands, keybindings);
|
|
878
635
|
}
|
|
@@ -887,7 +644,7 @@ var Private;
|
|
|
887
644
|
const dialog = new LayerBrowserWidget({
|
|
888
645
|
model: current.model,
|
|
889
646
|
registry: layerBrowserRegistry.getRegistryLayers(),
|
|
890
|
-
formSchemaRegistry
|
|
647
|
+
formSchemaRegistry,
|
|
891
648
|
});
|
|
892
649
|
await dialog.launch();
|
|
893
650
|
};
|
|
@@ -901,13 +658,13 @@ var Private;
|
|
|
901
658
|
}
|
|
902
659
|
const dialog = new SymbologyWidget({
|
|
903
660
|
model: current.model,
|
|
904
|
-
state
|
|
661
|
+
state,
|
|
905
662
|
});
|
|
906
663
|
await dialog.launch();
|
|
907
664
|
};
|
|
908
665
|
}
|
|
909
666
|
Private.createSymbologyDialog = createSymbologyDialog;
|
|
910
|
-
function createEntry({ tracker, formSchemaRegistry, title, createLayer, createSource, sourceData, layerData, sourceType, layerType }) {
|
|
667
|
+
function createEntry({ tracker, formSchemaRegistry, title, createLayer, createSource, sourceData, layerData, sourceType, layerType, }) {
|
|
911
668
|
return async () => {
|
|
912
669
|
const current = tracker.currentWidget;
|
|
913
670
|
if (!current) {
|
|
@@ -922,7 +679,7 @@ var Private;
|
|
|
922
679
|
sourceType,
|
|
923
680
|
layerData,
|
|
924
681
|
layerType,
|
|
925
|
-
formSchemaRegistry
|
|
682
|
+
formSchemaRegistry,
|
|
926
683
|
});
|
|
927
684
|
await dialog.launch();
|
|
928
685
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { IEditorMimeTypeService } from '@jupyterlab/codeeditor';
|
|
1
2
|
import { ConsolePanel } from '@jupyterlab/console';
|
|
2
|
-
import { ServiceManager } from '@jupyterlab/services';
|
|
3
|
-
import { BoxPanel, Widget } from '@lumino/widgets';
|
|
4
3
|
import { IRenderMimeRegistry } from '@jupyterlab/rendermime';
|
|
5
|
-
import {
|
|
4
|
+
import { ServiceManager } from '@jupyterlab/services';
|
|
6
5
|
import { CommandRegistry } from '@lumino/commands';
|
|
6
|
+
import { BoxPanel, Widget } from '@lumino/widgets';
|
|
7
7
|
export declare class ConsoleView extends BoxPanel {
|
|
8
8
|
constructor(options: ConsoleView.IOptions);
|
|
9
9
|
get consolePanel(): ConsolePanel;
|