diff --git a/demo/src/app/geo/edition/edition.component.html b/demo/src/app/geo/edition/edition.component.html index 9195dccc74..d1834d1fbc 100644 --- a/demo/src/app/geo/edition/edition.component.html +++ b/demo/src/app/geo/edition/edition.component.html @@ -10,12 +10,13 @@ { + const layer = { + optionsFromCapabilities: true, + title: 'WMS Geoserver filterable ', + visible: true, + source: dataSource + }; + this.map.addLayer(this.layerService.createLayer(layer)); + }); + + const wfsDataSourceOptions: WFSDataSourceOptions = { type: 'wfs', url: 'https://geoegl.msp.gouv.qc.ca/apis/ws/swtq', params: { @@ -92,9 +132,9 @@ export class AppEditionComponent implements OnInit { }; this.dataSourceService - .createAsyncDataSource(wfsDatasource) + .createAsyncDataSource(wfsDataSourceOptions) .subscribe(dataSource => { - const layer: LayerOptions = { + const layer = { title: 'Simple WFS ', visible: true, source: dataSource diff --git a/packages/common/src/lib/edition/shared/edition.interfaces.ts b/packages/common/src/lib/edition/shared/edition.interfaces.ts index fdb10546a0..e8b1a25345 100644 --- a/packages/common/src/lib/edition/shared/edition.interfaces.ts +++ b/packages/common/src/lib/edition/shared/edition.interfaces.ts @@ -1,7 +1,7 @@ import { ActionStore } from '../../action'; import { EntityStore, EntityTableTemplate } from '../../entity'; -export interface EditorConfig { +export interface EditorOptions { id: string; title: string; tableTemplate?: EntityTableTemplate; diff --git a/packages/common/src/lib/edition/shared/editor.ts b/packages/common/src/lib/edition/shared/editor.ts index d3664ef014..095b63bfec 100644 --- a/packages/common/src/lib/edition/shared/editor.ts +++ b/packages/common/src/lib/edition/shared/editor.ts @@ -5,7 +5,7 @@ import { ActionStore } from '../../action'; import { EntityRecord, EntityStore, EntityTableTemplate } from '../../entity'; import { Widget } from '../../widget'; -import { EditorConfig } from './edition.interfaces'; +import { EditorOptions } from './edition.interfaces'; /** * This class is responsible of managing the relations between @@ -52,27 +52,27 @@ export class Editor { /** * Editor id */ - get id(): string { return this.config.id; } + get id(): string { return this.options.id; } /** * Editor title */ - get title(): string { return this.config.title; } + get title(): string { return this.options.title; } /** * Entity table template */ - get tableTemplate(): EntityTableTemplate { return this.config.tableTemplate; } + get tableTemplate(): EntityTableTemplate { return this.options.tableTemplate; } /** * Entities store */ - get entityStore(): EntityStore { return this.config.entityStore; } + get entityStore(): EntityStore { return this.options.entityStore; } /** * Actions store (some actions activate a widget) */ - get actionStore(): ActionStore { return this.config.actionStore; } + get actionStore(): ActionStore { return this.options.actionStore; } /** * Selected entity @@ -89,7 +89,7 @@ export class Editor { */ get hasWidget(): boolean { return this.widget !== undefined; } - constructor(private config: EditorConfig) {} + constructor(private options: EditorOptions) {} /** * Whether this editor is active @@ -107,17 +107,22 @@ export class Editor { } this.active = true; - this.entity$$ = this.entityStore.stateView + if (this.entityStore !== undefined) { + this.entity$$ = this.entityStore.stateView .firstBy$((record: EntityRecord) => record.state.selected === true) .pipe(distinctUntilChanged()) .subscribe((record: EntityRecord) => { const entity = record ? record.entity : undefined; this.onSelectEntity(entity); }); + } - this.changes$$ = this.changes$ + if (this.actionStore !== undefined) { + this.changes$$ = this.changes$ .pipe(debounceTime(50)) .subscribe(() => this.actionStore.updateActionsAvailability()); + } + this.changes$.next(); } diff --git a/packages/geo/src/lib/datasource/shared/datasources/arcgisrest-datasource.interface.ts b/packages/geo/src/lib/datasource/shared/datasources/arcgisrest-datasource.interface.ts index e3819d359a..bc869bc7f6 100644 --- a/packages/geo/src/lib/datasource/shared/datasources/arcgisrest-datasource.interface.ts +++ b/packages/geo/src/lib/datasource/shared/datasources/arcgisrest-datasource.interface.ts @@ -3,9 +3,7 @@ import olAttribution from 'ol/control/Attribution'; import { DataSourceOptions } from './datasource.interface'; import { FeatureDataSourceOptions } from './feature-datasource.interface'; -export interface ArcGISRestDataSourceOptions - extends DataSourceOptions, - FeatureDataSourceOptions { +export interface ArcGISRestDataSourceOptions extends FeatureDataSourceOptions { // type?: 'arcgisrest' layer: string; params?: ArcGISRestDataSourceOptionsParams; diff --git a/packages/geo/src/lib/datasource/shared/datasources/wfs-datasource.interface.ts b/packages/geo/src/lib/datasource/shared/datasources/wfs-datasource.interface.ts index 177f2692a0..836c3395c9 100644 --- a/packages/geo/src/lib/datasource/shared/datasources/wfs-datasource.interface.ts +++ b/packages/geo/src/lib/datasource/shared/datasources/wfs-datasource.interface.ts @@ -1,9 +1,7 @@ import { DataSourceOptions } from './datasource.interface'; import { FeatureDataSourceOptions } from './feature-datasource.interface'; -export interface WFSDataSourceOptions - extends DataSourceOptions, - FeatureDataSourceOptions { +export interface WFSDataSourceOptions extends FeatureDataSourceOptions { // type?: 'wfs'; params: WFSDataSourceOptionsParams; // Used by user paramsWFS?: WFSDataSourceOptionsParams; // Used by code diff --git a/packages/geo/src/lib/edition/edition.module.ts b/packages/geo/src/lib/edition/edition.module.ts index 1617898396..6b40226eb9 100644 --- a/packages/geo/src/lib/edition/edition.module.ts +++ b/packages/geo/src/lib/edition/edition.module.ts @@ -2,24 +2,25 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { IgoWidgetModule } from '@igo2/common'; -import { provideWfsOgcFilterWidget } from './shared/wfs.widgets'; -import { IgoWfsEditorSelectorModule } from './wfs-editor-selector/wfs-editor-selector.module'; -import { IgoWfsOgcFilterModule } from './wfs-ogc-filter/wfs-ogc-filter.module'; +import { provideOgcFilterWidget } from './shared/widgets'; + +import { IgoEditorSelectorModule } from './editor-selector/editor-selector.module'; +import { IgoOgcFilterModule } from './ogc-filter/ogc-filter.module'; @NgModule({ imports: [ CommonModule, IgoWidgetModule, - IgoWfsEditorSelectorModule, - IgoWfsOgcFilterModule + IgoEditorSelectorModule, + IgoOgcFilterModule ], exports: [ - IgoWfsEditorSelectorModule, - IgoWfsOgcFilterModule + IgoEditorSelectorModule, + IgoOgcFilterModule ], declarations: [], providers: [ - provideWfsOgcFilterWidget() + provideOgcFilterWidget() ] }) export class IgoGeoEditionModule {} diff --git a/packages/geo/src/lib/edition/editor-selector/editor-selector.directive.ts b/packages/geo/src/lib/edition/editor-selector/editor-selector.directive.ts new file mode 100644 index 0000000000..ba7a8f005a --- /dev/null +++ b/packages/geo/src/lib/edition/editor-selector/editor-selector.directive.ts @@ -0,0 +1,89 @@ +import { Directive, Input, OnInit, OnDestroy } from '@angular/core'; + +import { Subscription } from 'rxjs'; + +import { + Editor, + EditorStore, + EditorSelectorComponent +} from '@igo2/common'; + +import { Layer, ImageLayer, VectorLayer } from '../../layer'; +import { IgoMap } from '../../map'; +import { WFSDataSource, WMSDataSource } from '../../datasource'; +import { OgcFilterableDataSourceOptions } from '../../filter'; + +import { WfsEditorService } from '../shared/wfs-editor.service'; +import { WmsEditorService } from '../shared/wms-editor.service'; + +@Directive({ + selector: '[igoEditorSelector]' +}) +export class EditorSelectorDirective implements OnInit, OnDestroy { + + private layers$$: Subscription; + + @Input() map: IgoMap; + + get editorStore(): EditorStore { return this.component.store; } + + constructor( + private component: EditorSelectorComponent, + private wfsEditorService: WfsEditorService, + private wmsEditorService: WmsEditorService + ) {} + + ngOnInit() { + this.layers$$ = this.map.layers$ + .subscribe((layers: Layer[]) => this.onLayersChange(layers)); + } + + ngOnDestroy() { + this.layers$$.unsubscribe(); + } + + private onLayersChange(layers: Layer[]) { + const editableLayers = layers.filter((layer: Layer) => this.layerIsEditable(layer)); + + const editors = editableLayers.map((layer: VectorLayer) => { + return this.getOrCreateEditor(layer); + }); + this.editorStore.updateMany(editors); + } + + private getOrCreateEditor(layer: VectorLayer | ImageLayer): Editor { + const editor = this.editorStore.get(layer.id); + if (editor !== undefined) { + return editor; + } + if (layer.dataSource instanceof WFSDataSource) { + return this.wfsEditorService.createEditor( + layer as VectorLayer, + this.map + ); + } else if (layer.dataSource instanceof WMSDataSource) { + return this.wmsEditorService.createEditor( + layer as ImageLayer, + this.map + ); + } + + return; + } + + private layerIsEditable(layer: Layer): boolean { + const dataSource = layer.dataSource; + if (dataSource instanceof WFSDataSource) { + return true; + } + + if (dataSource instanceof WMSDataSource) { + const dataSourceOptions = (dataSource.options || {}) as OgcFilterableDataSourceOptions; + return dataSourceOptions.ogcFilters && dataSourceOptions.ogcFilters.enabled; + } + + return false; + + } + +} diff --git a/packages/geo/src/lib/edition/editor-selector/editor-selector.module.ts b/packages/geo/src/lib/edition/editor-selector/editor-selector.module.ts new file mode 100644 index 0000000000..1215904f07 --- /dev/null +++ b/packages/geo/src/lib/edition/editor-selector/editor-selector.module.ts @@ -0,0 +1,22 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { IgoOgcFilterModule } from '../ogc-filter/ogc-filter.module'; +import { EditorSelectorDirective } from './editor-selector.directive'; + +/** + * @ignore + */ +@NgModule({ + imports: [ + CommonModule, + IgoOgcFilterModule + ], + exports: [ + EditorSelectorDirective + ], + declarations: [ + EditorSelectorDirective + ] +}) +export class IgoEditorSelectorModule {} diff --git a/packages/geo/src/lib/edition/wfs-ogc-filter/wfs-ogc-filter.component.html b/packages/geo/src/lib/edition/ogc-filter/ogc-filter.component.html similarity index 100% rename from packages/geo/src/lib/edition/wfs-ogc-filter/wfs-ogc-filter.component.html rename to packages/geo/src/lib/edition/ogc-filter/ogc-filter.component.html diff --git a/packages/geo/src/lib/edition/wfs-ogc-filter/wfs-ogc-filter.component.scss b/packages/geo/src/lib/edition/ogc-filter/ogc-filter.component.scss similarity index 100% rename from packages/geo/src/lib/edition/wfs-ogc-filter/wfs-ogc-filter.component.scss rename to packages/geo/src/lib/edition/ogc-filter/ogc-filter.component.scss diff --git a/packages/geo/src/lib/edition/wfs-ogc-filter/wfs-ogc-filter.component.ts b/packages/geo/src/lib/edition/ogc-filter/ogc-filter.component.ts similarity index 80% rename from packages/geo/src/lib/edition/wfs-ogc-filter/wfs-ogc-filter.component.ts rename to packages/geo/src/lib/edition/ogc-filter/ogc-filter.component.ts index f0ce91485c..5510f76cde 100644 --- a/packages/geo/src/lib/edition/wfs-ogc-filter/wfs-ogc-filter.component.ts +++ b/packages/geo/src/lib/edition/ogc-filter/ogc-filter.component.ts @@ -13,12 +13,12 @@ import { Layer } from '../../layer/shared/layers/layer'; import { IgoMap } from '../../map/shared/map'; @Component({ - selector: 'igo-wfs-ogc-filter', - templateUrl: './wfs-ogc-filter.component.html', - styleUrls: ['./wfs-ogc-filter.component.scss'], + selector: 'igo-ogc-filter', + templateUrl: './ogc-filter.component.html', + styleUrls: ['./ogc-filter.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush }) -export class WfsOgcFilterComponent implements OnUpdateInputs, WidgetComponent { +export class OgcFilterComponent implements OnUpdateInputs, WidgetComponent { @Input() layer: Layer; diff --git a/packages/geo/src/lib/edition/wfs-ogc-filter/wfs-ogc-filter.module.ts b/packages/geo/src/lib/edition/ogc-filter/ogc-filter.module.ts similarity index 63% rename from packages/geo/src/lib/edition/wfs-ogc-filter/wfs-ogc-filter.module.ts rename to packages/geo/src/lib/edition/ogc-filter/ogc-filter.module.ts index 1cafb0cf71..d913555351 100644 --- a/packages/geo/src/lib/edition/wfs-ogc-filter/wfs-ogc-filter.module.ts +++ b/packages/geo/src/lib/edition/ogc-filter/ogc-filter.module.ts @@ -4,7 +4,7 @@ import { MatButtonModule } from '@angular/material'; import { IgoLanguageModule } from '@igo2/core'; import { IgoFilterModule } from '../../filter/filter.module'; -import { WfsOgcFilterComponent } from './wfs-ogc-filter.component'; +import { OgcFilterComponent } from './ogc-filter.component'; /** * @ignore @@ -16,8 +16,8 @@ import { WfsOgcFilterComponent } from './wfs-ogc-filter.component'; IgoLanguageModule, IgoFilterModule ], - exports: [WfsOgcFilterComponent], - declarations: [WfsOgcFilterComponent], - entryComponents: [WfsOgcFilterComponent] + exports: [OgcFilterComponent], + declarations: [OgcFilterComponent], + entryComponents: [OgcFilterComponent] }) -export class IgoWfsOgcFilterModule {} +export class IgoOgcFilterModule {} diff --git a/packages/geo/src/lib/edition/shared/index.ts b/packages/geo/src/lib/edition/shared/index.ts index 54f7c2cbbc..361f4b9039 100644 --- a/packages/geo/src/lib/edition/shared/index.ts +++ b/packages/geo/src/lib/edition/shared/index.ts @@ -1,2 +1,3 @@ export * from './wfs-editor.service'; -export * from './wfs.widgets'; +export * from './wms-editor.service'; +export * from './widgets'; diff --git a/packages/geo/src/lib/edition/shared/wfs-editor.service.ts b/packages/geo/src/lib/edition/shared/wfs-editor.service.ts index bf3b4240a9..575af3487d 100644 --- a/packages/geo/src/lib/edition/shared/wfs-editor.service.ts +++ b/packages/geo/src/lib/edition/shared/wfs-editor.service.ts @@ -10,6 +10,7 @@ import { Widget } from '@igo2/common'; +import { DownloadService } from '../../download'; import { FeatureStore, FeatureStoreLoadingLayerStrategy, @@ -19,7 +20,7 @@ import { VectorLayer } from '../../layer'; import { IgoMap } from '../../map'; import { SourceFieldsOptionsParams } from '../../datasource'; -import { WfsOgcFilterWidget } from './wfs.widgets'; +import { OgcFilterWidget } from './widgets'; @Injectable({ providedIn: 'root' @@ -27,7 +28,8 @@ import { WfsOgcFilterWidget } from './wfs.widgets'; export class WfsEditorService { constructor( - @Inject(WfsOgcFilterWidget) private wfsOgcFilterWidget: Widget + @Inject(OgcFilterWidget) private ogcFilterWidget: Widget, + private downloadService: DownloadService ) {} createEditor(layer: VectorLayer, map: IgoMap): Editor { @@ -39,7 +41,7 @@ export class WfsEditorService { entityStore: this.createFeatureStore(layer, map), actionStore }); - actionStore.load(this.buildActions(editor)); + actionStore.load(this.buildActions(editor, layer, map)); return editor; } @@ -78,19 +80,26 @@ export class WfsEditorService { }; } - private buildActions(editor: Editor): Action[] { - const layer = (editor.entityStore as FeatureStore).layer; + private buildActions(editor: Editor, layer: VectorLayer, map: IgoMap): Action[] { return [ { id: 'ogcFilter', icon: 'filter_list', title: 'igo.geo.edition.ogcFilter.title', tooltip: 'igo.geo.edition.ogcFilter.tooltip', - handler: () => editor.activateWidget(this.wfsOgcFilterWidget, { + handler: () => editor.activateWidget(this.ogcFilterWidget, { layer, - map: layer.map, + map, }), conditions: [] + }, + { + id: 'wfsDownload', + icon: 'file_download', + title: 'igo.geo.edition.wfsDownload.title', + tooltip: 'igo.geo.edition.wfsDownload.tooltip', + handler: () => this.downloadService.open(layer), + conditions: [] } ]; } diff --git a/packages/geo/src/lib/edition/shared/wfs.widgets.ts b/packages/geo/src/lib/edition/shared/wfs.widgets.ts deleted file mode 100644 index 871512fd49..0000000000 --- a/packages/geo/src/lib/edition/shared/wfs.widgets.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { InjectionToken } from '@angular/core'; - -import { Widget, WidgetService } from '@igo2/common'; - -import { WfsOgcFilterComponent } from '../wfs-ogc-filter/wfs-ogc-filter.component'; - -export const WfsOgcFilterWidget = new InjectionToken('WfsOgcFilterWidget'); - -export function wfsOgcFilterWidgetFactory(widgetService: WidgetService): Widget { - return widgetService.create(WfsOgcFilterComponent); -} - -export function provideWfsOgcFilterWidget() { - return { - provide: WfsOgcFilterWidget, - useFactory: wfsOgcFilterWidgetFactory, - deps: [WidgetService] - }; -} diff --git a/packages/geo/src/lib/edition/shared/widgets.ts b/packages/geo/src/lib/edition/shared/widgets.ts new file mode 100644 index 0000000000..0721793836 --- /dev/null +++ b/packages/geo/src/lib/edition/shared/widgets.ts @@ -0,0 +1,19 @@ +import { InjectionToken } from '@angular/core'; + +import { Widget, WidgetService } from '@igo2/common'; + +import { OgcFilterComponent } from '../ogc-filter/ogc-filter.component'; + +export const OgcFilterWidget = new InjectionToken('OgcFilterWidget'); + +export function ogcFilterWidgetFactory(widgetService: WidgetService): Widget { + return widgetService.create(OgcFilterComponent); +} + +export function provideOgcFilterWidget() { + return { + provide: OgcFilterWidget, + useFactory: ogcFilterWidgetFactory, + deps: [WidgetService] + }; +} diff --git a/packages/geo/src/lib/edition/shared/wms-editor.service.ts b/packages/geo/src/lib/edition/shared/wms-editor.service.ts new file mode 100644 index 0000000000..f3752dc1b0 --- /dev/null +++ b/packages/geo/src/lib/edition/shared/wms-editor.service.ts @@ -0,0 +1,54 @@ +import { Inject, Injectable } from '@angular/core'; + +import { + Action, + ActionStore, + Editor, + Widget +} from '@igo2/common'; + +import { ImageLayer } from '../../layer'; +import { IgoMap } from '../../map'; + +import { OgcFilterWidget } from './widgets'; + +@Injectable({ + providedIn: 'root' +}) +export class WmsEditorService { + + constructor( + @Inject(OgcFilterWidget) private ogcFilterWidget: Widget + ) {} + + createEditor(layer: ImageLayer, map: IgoMap): Editor { + const actionStore = new ActionStore([]); + const editor = new Editor({ + id: layer.id, + title: layer.title, + tableTemplate: undefined, + entityStore: undefined, + actionStore + }); + actionStore.load(this.buildActions(editor, layer, map)); + + return editor; + } + + private buildActions(editor: Editor, layer: ImageLayer, map: IgoMap): Action[] { + return [ + { + id: 'ogcFilter', + icon: 'filter_list', + title: 'igo.geo.edition.ogcFilter.title', + tooltip: 'igo.geo.edition.ogcFilter.tooltip', + handler: () => editor.activateWidget(this.ogcFilterWidget, { + layer, + map, + }), + conditions: [] + } + ]; + } + +} diff --git a/packages/geo/src/lib/edition/wfs-editor-selector/wfs-editor-selector.directive.ts b/packages/geo/src/lib/edition/wfs-editor-selector/wfs-editor-selector.directive.ts deleted file mode 100644 index 56d7579227..0000000000 --- a/packages/geo/src/lib/edition/wfs-editor-selector/wfs-editor-selector.directive.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { Directive, Input, OnInit, OnDestroy } from '@angular/core'; - -import { Subscription } from 'rxjs'; - -import { - Editor, - EditorStore, - EditorSelectorComponent -} from '@igo2/common'; - -import { Layer, VectorLayer } from '../../layer'; -import { IgoMap } from '../../map'; -import { WFSDataSource } from '../../datasource'; - -import { WfsEditorService } from '../shared/wfs-editor.service'; - -@Directive({ - selector: '[igoWfsEditorSelector]' -}) -export class WfsEditorSelectorDirective implements OnInit, OnDestroy { - - private layers$$: Subscription; - - @Input() map: IgoMap; - - get editorStore(): EditorStore { return this.component.store; } - - constructor( - private component: EditorSelectorComponent, - private wfsEditorService: WfsEditorService - ) {} - - ngOnInit() { - this.layers$$ = this.map.layers$ - .subscribe((layers: Layer[]) => this.onLayersChange(layers)); - } - - ngOnDestroy() { - this.layers$$.unsubscribe(); - } - - private onLayersChange(layers: Layer[]) { - const wfsLayers = layers.filter((layer: Layer) => { - return layer.dataSource instanceof WFSDataSource; - }); - - const editors = wfsLayers.map((layer: VectorLayer) => { - return this.getOrCreateEditor(layer); - }); - this.editorStore.updateMany(editors); - } - - private getOrCreateEditor(layer: VectorLayer): Editor { - const editor = this.editorStore.get(layer.id); - if (editor !== undefined) { - return editor; - } - return this.wfsEditorService.createEditor(layer, this.map); - } - -} diff --git a/packages/geo/src/lib/edition/wfs-editor-selector/wfs-editor-selector.module.ts b/packages/geo/src/lib/edition/wfs-editor-selector/wfs-editor-selector.module.ts deleted file mode 100644 index aaf6c55079..0000000000 --- a/packages/geo/src/lib/edition/wfs-editor-selector/wfs-editor-selector.module.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; - -import { IgoWfsOgcFilterModule } from '../wfs-ogc-filter/wfs-ogc-filter.module'; -import { WfsEditorSelectorDirective } from './wfs-editor-selector.directive'; - -/** - * @ignore - */ -@NgModule({ - imports: [ - CommonModule, - IgoWfsOgcFilterModule - ], - exports: [ - WfsEditorSelectorDirective - ], - declarations: [ - WfsEditorSelectorDirective - ] -}) -export class IgoWfsEditorSelectorModule {} diff --git a/packages/geo/src/locale/en.geo.json b/packages/geo/src/locale/en.geo.json index eb2bf5c373..1e5c6d463b 100644 --- a/packages/geo/src/locale/en.geo.json +++ b/packages/geo/src/locale/en.geo.json @@ -230,7 +230,9 @@ "edition": { "ogcFilter.close": "Close", "ogcFilter.title": "Filters", - "ogcFilter.tooltip": "Apply filters" + "ogcFilter.tooltip": "Apply filters", + "wfsDownload.title": "Download", + "wfsDownload.tooltip": "Download" } } }, diff --git a/packages/geo/src/locale/fr.geo.json b/packages/geo/src/locale/fr.geo.json index df3218feea..a243933fff 100644 --- a/packages/geo/src/locale/fr.geo.json +++ b/packages/geo/src/locale/fr.geo.json @@ -233,7 +233,9 @@ "edition": { "ogcFilter.close": "Fermer", "ogcFilter.title": "Filtres", - "ogcFilter.tooltip": "Appliquer des filtres sur la couche" + "ogcFilter.tooltip": "Appliquer des filtres sur la couche", + "wfsDownload.title": "Télécharger les données associées", + "wfsDownload.tooltip": "Télécharger les données associées" } } }, diff --git a/packages/geo/src/public_api.ts b/packages/geo/src/public_api.ts index 6e4182c344..f010109e13 100644 --- a/packages/geo/src/public_api.ts +++ b/packages/geo/src/public_api.ts @@ -9,8 +9,8 @@ export * from './lib/catalog/catalog-library/catalog-library.module'; export * from './lib/datasource/datasource.module'; export * from './lib/download/download.module'; export * from './lib/edition/edition.module'; -export * from './lib/edition/wfs-editor-selector/wfs-editor-selector.module'; -export * from './lib/edition/wfs-ogc-filter/wfs-ogc-filter.module'; +export * from './lib/edition/editor-selector/editor-selector.module'; +export * from './lib/edition/ogc-filter/ogc-filter.module'; export * from './lib/feature/feature.module'; export * from './lib/feature/feature-form/feature-form.module'; export * from './lib/feature/feature-details/feature-details.module'; diff --git a/packages/integration/src/lib/edition/edition.state.ts b/packages/integration/src/lib/edition/edition.state.ts index 4d75713a52..88d25ecc71 100644 --- a/packages/integration/src/lib/edition/edition.state.ts +++ b/packages/integration/src/lib/edition/edition.state.ts @@ -38,7 +38,7 @@ export class EditionState { /** * ToolComponent an editor and make it available - * @param editor + * @param editor Editor */ register(editor: Editor) { this.store.insert(editor); @@ -46,7 +46,7 @@ export class EditionState { /** * Unregister an editor and make it unavailable - * @param editor + * @param editor Editor */ unregister(editor: Editor) { this.store.delete(editor); @@ -54,7 +54,7 @@ export class EditionState { /** * Set the active editor - * @param editor + * @param editor Editor */ setEditor(editor: Editor | undefined) { if (editor === undefined) {