@igo2/geo 19.0.0-next.5 → 19.0.0-next.7

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.
@@ -1,16 +1,16 @@
1
1
  import { OnDestroy, OnInit } from '@angular/core';
2
- import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
3
2
  import { MatDialogRef } from '@angular/material/dialog';
4
3
  import { EntityStore } from '@igo2/common/entity';
4
+ import { Form, FormService } from '@igo2/common/form';
5
5
  import { ConfigService } from '@igo2/core/config';
6
6
  import { LanguageService } from '@igo2/core/language';
7
7
  import { BehaviorSubject } from 'rxjs';
8
8
  import { Catalog } from '../shared/catalog.abstract';
9
9
  import * as i0 from "@angular/core";
10
10
  export declare class AddCatalogDialogComponent implements OnInit, OnDestroy {
11
- private formBuilder;
12
11
  languageService: LanguageService;
13
12
  private configService;
13
+ private formService;
14
14
  dialogRef: MatDialogRef<AddCatalogDialogComponent>;
15
15
  data: {
16
16
  predefinedCatalogs: Catalog[];
@@ -18,29 +18,23 @@ export declare class AddCatalogDialogComponent implements OnInit, OnDestroy {
18
18
  error: boolean;
19
19
  addedCatalog: Catalog;
20
20
  };
21
- form: UntypedFormGroup;
22
- private defaultAddedCatalogType;
23
- private addedCatalogType$$;
24
- predefinedCatalogsList$: BehaviorSubject<Catalog[]>;
25
- typeCapabilities: string[];
26
- predefinedCatalogs: Catalog[];
27
- store: EntityStore<Catalog>;
28
- error: boolean;
29
- addedCatalog: Catalog;
21
+ predefinedForm$: BehaviorSubject<Form>;
22
+ customForm$: BehaviorSubject<Form>;
23
+ data$: BehaviorSubject<Catalog>;
24
+ customData$: BehaviorSubject<Catalog>;
30
25
  emailAddress: string;
31
26
  private storeViewAll$$;
32
- constructor(formBuilder: UntypedFormBuilder, languageService: LanguageService, configService: ConfigService, dialogRef: MatDialogRef<AddCatalogDialogComponent>, data: {
27
+ constructor(languageService: LanguageService, configService: ConfigService, formService: FormService, dialogRef: MatDialogRef<AddCatalogDialogComponent>, data: {
33
28
  predefinedCatalogs: Catalog[];
34
29
  store: EntityStore<Catalog>;
35
30
  error: boolean;
36
31
  addedCatalog: Catalog;
37
32
  });
38
33
  ngOnInit(): void;
34
+ onPredefinedSubmit(data: Catalog): void;
35
+ onCustomSubmit(catalog: Catalog): void;
39
36
  ngOnDestroy(): void;
40
- changeUrlOrTitle(catalog: Catalog): void;
41
- computePredefinedCatalogList(): void;
42
- addCatalog(addedCatalog: Catalog): void;
43
- cancel(): void;
37
+ checkFieldsValidity(form$: BehaviorSubject<Form>): boolean;
44
38
  static ɵfac: i0.ɵɵFactoryDeclaration<AddCatalogDialogComponent, [null, null, null, null, { optional: true; }]>;
45
39
  static ɵcmp: i0.ɵɵComponentDeclaration<AddCatalogDialogComponent, "igo-add-catalog-dialog", never, {}, {}, never, never, true, never>;
46
40
  }
@@ -60,6 +60,7 @@ export declare class CatalogLibaryComponent implements OnInit, OnDestroy {
60
60
  private unsubscribeAddingCatalog;
61
61
  addCatalog(addedCatalog: Catalog): void;
62
62
  ngOnDestroy(): void;
63
+ private handleAddCatalogToStore;
63
64
  onCatalogRemove(catalog: any): void;
64
65
  addCatalogDialog(error?: any, addedCatalog?: Catalog): void;
65
66
  static ɵfac: i0.ɵɵFactoryDeclaration<CatalogLibaryComponent, never>;
@@ -1,5 +1,6 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
2
  import { Observable } from 'rxjs';
3
+ import { TimeFilterOptions } from '../../filter/shared/time-filter.interface';
3
4
  import type { LegendOptions } from '../../layer/shared/layers/legend.interface';
4
5
  import { MapService } from '../../map/shared/map.service';
5
6
  import { TypeCapabilitiesStrings } from './capabilities.interface';
@@ -28,7 +29,7 @@ export declare class CapabilitiesService {
28
29
  private parseArcgisOptions;
29
30
  private parseTileOrImageArcgisOptions;
30
31
  private findDataSourceInCapabilities;
31
- getTimeFilter(layer: any): any;
32
+ getTimeFilter(layer: any): TimeFilterOptions;
32
33
  getStyle(Style: any): LegendOptions;
33
34
  static ɵfac: i0.ɵɵFactoryDeclaration<CapabilitiesService, never>;
34
35
  static ɵprov: i0.ɵɵInjectableDeclaration<CapabilitiesService>;
@@ -19,6 +19,7 @@ export declare class WMSDataSource extends DataSource {
19
19
  protected wfsService: WFSService;
20
20
  ol: olSourceImageWMS;
21
21
  get params(): any;
22
+ set stylesParams(value: string);
22
23
  get queryTitle(): string;
23
24
  get mapLabel(): string;
24
25
  get queryHtmlTarget(): string;
@@ -29,6 +30,7 @@ export declare class WMSDataSource extends DataSource {
29
30
  readonly timeFilter$: BehaviorSubject<TimeFilterOptions>;
30
31
  get saveableOptions(): Partial<WMSDataSourceOptions>;
31
32
  constructor(options: WMSDataSourceOptions, wfsService: WFSService);
33
+ private dateFormat;
32
34
  refresh(): void;
33
35
  private buildDynamicDownloadUrlFromParamsWFS;
34
36
  protected createOlSource(): olSourceImageWMS;
@@ -29,6 +29,7 @@ export interface WMSDataSourceOptionsParams {
29
29
  DPI?: number;
30
30
  MAP_RESOLUTION?: number;
31
31
  FORMAT_OPTIONS?: string;
32
+ STYLES?: string;
32
33
  }
33
34
  export interface TimeFilterableDataSourceOptions extends WMSDataSourceOptions {
34
35
  timeFilterable?: boolean;
@@ -1,6 +1,6 @@
1
1
  import { Extent } from 'ol/extent';
2
2
  import olProjection from 'ol/proj/Projection';
3
- import { OgcFiltersOptions } from '../../../filter/shared/ogc-filter.interface';
3
+ import { IOgcFiltersOption, OgcFiltersOptions } from '../../../filter/shared/ogc-filter.interface';
4
4
  import { WFSDataSourceOptions } from './wfs-datasource.interface';
5
5
  import { WMSDataSourceOptions } from './wms-datasource.interface';
6
6
  export declare const defaultEpsg = "EPSG:3857";
@@ -40,3 +40,4 @@ export declare function formatWFSQueryString(dataSourceOptions: WFSDataSourceOpt
40
40
  */
41
41
  export declare function checkWfsParams(wfsDataSourceOptions: any, srcType?: string): any;
42
42
  export declare function getFormatFromOptions(options: WFSDataSourceOptions | WMSDataSourceOptions): any;
43
+ export declare function getSaveableOgcParams(options: OgcFiltersOptions): IOgcFiltersOption;
@@ -82,6 +82,7 @@ export declare class OgcFilterTimeComponent implements OnInit {
82
82
  getDateFromStringWithoutTime(stringDate: string): Date;
83
83
  resetFilter(): void;
84
84
  toggleFilterState(): void;
85
+ private isValidDate;
85
86
  static ɵfac: i0.ɵɵFactoryDeclaration<OgcFilterTimeComponent, never>;
86
87
  static ɵcmp: i0.ɵɵComponentDeclaration<OgcFilterTimeComponent, "igo-ogc-filter-time", never, { "datasource": { "alias": "datasource"; "required": false; }; "currentFilter": { "alias": "currentFilter"; "required": false; }; }, { "changeProperty": "changeProperty"; }, never, never, true, never>;
87
88
  }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @param date: string
3
+ * @example date = <[2014-08-25, 2018-08-25]>
4
+ * @example date = 2014-08-25, 2018-08-25
5
+ * @example date = 2014-08-25/ 2018-08-25
6
+ * @example date = 2014-08-25
7
+ */
8
+ export declare function parseDateString(date: string | [min: string, max: string]): Date | [min: Date, max: Date] | undefined;
9
+ export declare function isDateOrRangeInRange(dateOrRange: Date | [min: Date, max: Date], [min, max]: [min: Date, max: Date]): boolean;
@@ -0,0 +1,26 @@
1
+ import { AnyBaseOgcFilterOptions, IgoLogicalArrayOptions, OgcFilterConditionsArrayOptions, OgcFilterSpatialOptions } from './ogc-filter.interface';
2
+ export declare const TimeFrame: readonly ["now", "today"];
3
+ export type TimeFrame = (typeof TimeFrame)[number];
4
+ export declare const TimeUnit: readonly ["years", "months", "weeks", "days", "hours", "seconds"];
5
+ export type TimeUnit = (typeof TimeUnit)[number];
6
+ export declare const ArithmeticSymbol: readonly ["+", "-"];
7
+ export type ArithmeticSymbol = (typeof ArithmeticSymbol)[number];
8
+ /**
9
+ * this function to parse date with specific format
10
+ * exemple 'today' or 'today + 1 days' or 'now + 1 years'
11
+ * @param value string date
12
+ * @returns date
13
+ */
14
+ export declare function parseDateOperation(dateOperation: string): string;
15
+ export declare function isIgoLogicalArray(filters: IgoLogicalArrayOptions | AnyBaseOgcFilterOptions): filters is IgoLogicalArrayOptions;
16
+ export declare function isFilterAttributeOptions(filters: AnyBaseOgcFilterOptions): filters is Exclude<AnyBaseOgcFilterOptions & {
17
+ filterid?: string;
18
+ }, OgcFilterConditionsArrayOptions | OgcFilterSpatialOptions>;
19
+ /**
20
+ * Recursive
21
+ * Search inside filters of OgcFiltersOptions
22
+ */
23
+ export declare function searchFilter(filters: IgoLogicalArrayOptions | AnyBaseOgcFilterOptions, key: 'propertyName' | 'filterid', value: string): ((IgoLogicalArrayOptions | AnyBaseOgcFilterOptions) & {
24
+ filterid?: string;
25
+ }) | undefined;
26
+ export declare function isTimeFrame(value: string): boolean;
@@ -27,11 +27,4 @@ export declare class OgcFilterWriter {
27
27
  formatGroupAndFilter(ogcFilters: OgcFiltersOptions, selectors: any): any[];
28
28
  formatProcessedOgcFilter(processedFilter: string, layersOrTypenames: string): string;
29
29
  parseFilterOptionDate(value: string, defaultValue?: string): string;
30
- /**
31
- * this function to parse date with specific format
32
- * exemple 'today + 1 days' or 'now + 1 years'
33
- * @param value string date
34
- * @returns date
35
- */
36
- private parseDateOperation;
37
30
  }
@@ -28,7 +28,9 @@ export type IgoOgcFilterObject = IgoLogicalArrayOptions | AnyBaseOgcFilterOption
28
28
  export interface OgcFiltersOptions {
29
29
  enabled?: boolean;
30
30
  editable?: boolean;
31
- filters?: IgoLogicalArrayOptions | AnyBaseOgcFilterOptions;
31
+ filters?: (IgoLogicalArrayOptions | AnyBaseOgcFilterOptions) & {
32
+ filterid?: string;
33
+ };
32
34
  pushButtons?: IgoOgcSelector;
33
35
  checkboxes?: IgoOgcSelector;
34
36
  radioButtons?: IgoOgcSelector;
@@ -46,6 +48,7 @@ export interface IgoOgcSelector {
46
48
  selectorType: 'pushButton' | 'checkbox' | 'radioButton' | 'select' | 'autocomplete';
47
49
  order?: number;
48
50
  }
51
+ export declare const OgcSelectorFields: readonly ["pushButtons", "checkboxes", "radioButtons", "select", "autocomplete"];
49
52
  export interface SelectorGroup {
50
53
  enabled?: boolean;
51
54
  title?: string;
@@ -168,7 +171,7 @@ export interface OgcInterfaceFilterOptions {
168
171
  end?: string;
169
172
  step?: string;
170
173
  restrictToStep?: boolean;
171
- sliderOptions: SliderOptionsInterface;
174
+ sliderOptions?: SliderOptionsInterface;
172
175
  displayFormat?: string;
173
176
  escapeChar?: string;
174
177
  expression?: string | number;
@@ -196,3 +199,7 @@ export interface SliderOptionsInterface extends OgcFilterDuringOptions {
196
199
  displayFormat?: string;
197
200
  enabled?: boolean;
198
201
  }
202
+ export interface IOgcFiltersOption extends Omit<OgcFiltersOptions, 'interfaceOgcFilters'> {
203
+ interfaceOgcFilters: IOgcInterfaceFilterOptions[];
204
+ }
205
+ export type IOgcInterfaceFilterOptions = Pick<OgcInterfaceFilterOptions, 'propertyName' | 'begin' | 'end' | 'active' | 'operator' | 'expression'>;
@@ -5,6 +5,7 @@ export declare class OGCFilterService {
5
5
  filterByOgc(wmsDatasource: WMSDataSource, filterString: string): void;
6
6
  setOgcWFSFiltersOptions(wfsDatasource: OgcFilterableDataSource): void;
7
7
  setOgcWMSFiltersOptions(wmsDatasource: OgcFilterableDataSource): void;
8
+ private mergeInterfaceFilters;
8
9
  static ɵfac: i0.ɵɵFactoryDeclaration<OGCFilterService, never>;
9
10
  static ɵprov: i0.ɵɵInjectableDeclaration<OGCFilterService>;
10
11
  }
@@ -3,8 +3,8 @@ export interface TimeFilterOptions {
3
3
  min?: string;
4
4
  max?: string;
5
5
  range?: boolean;
6
- value?: string;
7
- values?: [string, string];
6
+ value?: string | [string, string];
7
+ default?: string | [string, string];
8
8
  type?: TimeFilterType;
9
9
  format?: string;
10
10
  style?: TimeFilterStyle;
@@ -24,7 +24,7 @@ export declare class TimeFilterFormComponent implements OnInit {
24
24
  layer: Layer;
25
25
  options: TimeFilterOptions;
26
26
  set currentValue(value: string);
27
- change: EventEmitter<Date | [Date, Date]>;
27
+ dateChange: EventEmitter<Date | [Date, Date]>;
28
28
  yearChange: EventEmitter<string | [string, string]>;
29
29
  mySlider: any;
30
30
  get type(): TimeFilterType;
@@ -35,14 +35,19 @@ export declare class TimeFilterFormComponent implements OnInit {
35
35
  get min(): Date;
36
36
  get max(): Date;
37
37
  get is(): boolean;
38
+ get allYearsInterval(): string[];
38
39
  constructor(dateAdapter: DateAdapter<Date>);
39
40
  ngOnInit(): void;
40
41
  storeCurrentFilterValue(): void;
41
- checkFilterValue(): void;
42
+ private processSliderValue;
43
+ private processCalendarYearType;
44
+ private processCalendarDateType;
45
+ private getDateValue;
46
+ private checkCalendarValue;
47
+ private checkFilterValue;
42
48
  handleDateChange(): void;
43
49
  handleYearChange(): void;
44
- handleListYearChange(): void;
45
- handleListYearStartChange(): void;
50
+ private setUpYearsInterval;
46
51
  dateToNumber(date: Date): number;
47
52
  setSliderThumbLabel(label: string): void;
48
53
  findThumbLabel(test: any[]): any;
@@ -73,5 +78,5 @@ export declare class TimeFilterFormComponent implements OnInit {
73
78
  */
74
79
  getStepDefinition(step: any): number;
75
80
  static ɵfac: i0.ɵɵFactoryDeclaration<TimeFilterFormComponent, never>;
76
- static ɵcmp: i0.ɵɵComponentDeclaration<TimeFilterFormComponent, "igo-time-filter-form", never, { "layer": { "alias": "layer"; "required": false; }; "options": { "alias": "options"; "required": false; }; "currentValue": { "alias": "currentValue"; "required": false; }; }, { "change": "change"; "yearChange": "yearChange"; }, never, never, true, never>;
81
+ static ɵcmp: i0.ɵɵComponentDeclaration<TimeFilterFormComponent, "igo-time-filter-form", never, { "layer": { "alias": "layer"; "required": false; }; "options": { "alias": "options"; "required": false; }; "currentValue": { "alias": "currentValue"; "required": false; }; }, { "dateChange": "dateChange"; "yearChange": "yearChange"; }, never, never, true, never>;
77
82
  }
@@ -19,6 +19,7 @@ export declare class TimeFilterItemComponent implements OnInit, OnDestroy {
19
19
  ngOnDestroy(): void;
20
20
  handleYearChange(year: string | [string, string]): void;
21
21
  handleDateChange(date: Date | [Date, Date]): void;
22
+ private reformDate;
22
23
  private toggleLegend;
23
24
  toggleLegendOnClick(): void;
24
25
  setVisible(): void;
@@ -1,9 +1,9 @@
1
- import { AfterViewInit, ApplicationRef, OnDestroy } from '@angular/core';
1
+ import { AfterViewInit, ApplicationRef } from '@angular/core';
2
2
  import { Layer } from '../../layer/shared';
3
3
  import { LayerService } from '../../layer/shared/layer.service';
4
4
  import { IgoMap } from '../shared/map';
5
5
  import * as i0 from "@angular/core";
6
- export declare class MiniBaseMapComponent implements AfterViewInit, OnDestroy {
6
+ export declare class MiniBaseMapComponent implements AfterViewInit {
7
7
  private layerService;
8
8
  private appRef;
9
9
  map: IgoMap;
@@ -18,9 +18,7 @@ export declare class MiniBaseMapComponent implements AfterViewInit, OnDestroy {
18
18
  basemap: IgoMap;
19
19
  constructor(layerService: LayerService, appRef: ApplicationRef);
20
20
  ngAfterViewInit(): void;
21
- ngOnDestroy(): void;
22
21
  changeBaseLayer(baseLayer: Layer): void;
23
- private handleMainMapViewChange;
24
22
  private handleBaseLayerChanged;
25
23
  private handleLinkedBaseLayer;
26
24
  static ɵfac: i0.ɵɵFactoryDeclaration<MiniBaseMapComponent, never>;
@@ -19,14 +19,16 @@
19
19
  "layer": "This layer comes from an external organization.",
20
20
  "unavailableWithEmail": "The catalog '{{value}}' is unavailable at the moment. To add an external service to the predefined list, please contact us at {{emailAddress}}. Delays can apply if problems occurs with the provider."
21
21
  },
22
+ "library.predefined.select": "Select a catalog",
23
+ "library.custom.title": "Title",
22
24
  "library.add": "Add this catalog to the list",
23
- "library.cancel": "Cancel",
25
+ "library.predefined": "Predefined list",
26
+ "library.custom": "Advanced configuration",
24
27
  "library.remove": "Remove this catalog from the list",
25
28
  "library.inlist": {
26
29
  "title": "Catalog already contained",
27
30
  "message": "The catalog is already contained in the list."
28
31
  },
29
- "library.addTitle": "Adding a catalog",
30
32
  "library.addBtn": "Add a catalog"
31
33
  },
32
34
  "clickOnMap": {
@@ -19,14 +19,16 @@
19
19
  "layer": "Cette couche provient d'une organisation externe.",
20
20
  "unavailableWithEmail": "Le catalogue '{{value}}' est indisponible pour le moment. Pour ajouter un service externe à la liste prédéfinie, veuillez contacter {{email}}. Des délais peuvent s'appliquer si problème il y a avec le fournisseur externe."
21
21
  },
22
+ "library.predefined.select": "Sélectionner un catalogue",
23
+ "library.custom.title": "Titre",
22
24
  "library.add": "Ajouter ce catalogue",
23
- "library.cancel": "Annuler",
25
+ "library.predefined": "Liste prédéfinie",
26
+ "library.custom": "Configuration avancées",
24
27
  "library.remove": "Retirer ce catalogue de la liste",
25
28
  "library.inlist": {
26
29
  "title": "Catalogue déjà contenu",
27
30
  "message": "Le catalogue à ajouter est déjà dans la liste"
28
31
  },
29
- "library.addTitle": "Ajout d'un catalogue",
30
32
  "library.addBtn": "Ajouter un catalogue"
31
33
  },
32
34
  "clickOnMap": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@igo2/geo",
3
- "version": "19.0.0-next.5",
3
+ "version": "19.0.0-next.7",
4
4
  "description": "IGO Library",
5
5
  "author": "IGO Community",
6
6
  "keywords": [
@@ -48,10 +48,10 @@
48
48
  "@angular/material": "^19.0.0",
49
49
  "@angular/material-moment-adapter": "^19.0.0",
50
50
  "@angular/platform-browser": "^19.0.0",
51
- "@igo2/auth": "^19.0.0-next.5",
52
- "@igo2/common": "^19.0.0-next.5",
53
- "@igo2/core": "^19.0.0-next.5",
54
- "@igo2/utils": "^19.0.0-next.5",
51
+ "@igo2/auth": "^19.0.0-next.7",
52
+ "@igo2/common": "^19.0.0-next.7",
53
+ "@igo2/core": "^19.0.0-next.7",
54
+ "@igo2/utils": "^19.0.0-next.7",
55
55
  "@mat-datetimepicker/core": "^15.0.1",
56
56
  "file-saver": "^2.0.2",
57
57
  "flexsearch": "0.7.21",