@provoly/dashboard 0.13.0 → 0.13.2

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.
Files changed (133) hide show
  1. package/admin/admin.module.d.ts +12 -11
  2. package/admin/components/admin-classes/admin-classes-view/admin-attributes-select/admin-attributes-select.component.d.ts +3 -1
  3. package/admin/components/association/association.component.d.ts +9 -0
  4. package/admin/i18n/en.translations.d.ts +10 -0
  5. package/admin/i18n/fr.translations.d.ts +10 -0
  6. package/components/sinceDate/sinceDate.pipe.d.ts +1 -1
  7. package/dataset/components/dataset-detail/dataset-detail.component.d.ts +8 -1
  8. package/dataset/i18n/en.translations.d.ts +21 -1
  9. package/dataset/i18n/fr.translations.d.ts +21 -3
  10. package/dataset/style/_o-pry-dataset-detail.scss +21 -19
  11. package/dataset/style/_o-pry-dataset.scss +8 -1
  12. package/esm2022/admin/admin.module.mjs +6 -3
  13. package/esm2022/admin/components/admin-classes/admin-classes-select/admin-classes-select.component.mjs +4 -3
  14. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-select/admin-attributes-select.component.mjs +9 -3
  15. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.mjs +2 -1
  16. package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +5 -4
  17. package/esm2022/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.mjs +4 -3
  18. package/esm2022/admin/components/association/association.component.mjs +18 -0
  19. package/esm2022/admin/i18n/en.translations.mjs +11 -1
  20. package/esm2022/admin/i18n/fr.translations.mjs +11 -1
  21. package/esm2022/admin/store/admin.service.mjs +5 -5
  22. package/esm2022/components/sinceDate/sinceDate.pipe.mjs +7 -9
  23. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +32 -9
  24. package/esm2022/dataset/components/dataset.component.mjs +9 -5
  25. package/esm2022/dataset/i18n/en.translations.mjs +23 -3
  26. package/esm2022/dataset/i18n/fr.translations.mjs +24 -6
  27. package/esm2022/dataset/style/css.component.mjs +2 -2
  28. package/esm2022/filters/date/date-filter.component.mjs +3 -3
  29. package/esm2022/filters/number/number-filter.component.mjs +3 -3
  30. package/esm2022/filters/text/text-filter.component.mjs +3 -3
  31. package/esm2022/import/components/import.component.mjs +5 -16
  32. package/esm2022/import/store/import.actions.mjs +1 -1
  33. package/esm2022/import/store/import.effects.mjs +3 -3
  34. package/esm2022/import/store/import.reducer.mjs +5 -13
  35. package/esm2022/import/store/import.selectors.mjs +5 -7
  36. package/esm2022/import/store/import.service.mjs +1 -1
  37. package/esm2022/lib/core/components/accordion/accordion-item/accordion-item.component.mjs +42 -0
  38. package/esm2022/lib/core/components/accordion/accordion.component.mjs +13 -0
  39. package/esm2022/lib/core/components/modal-status/modal-status.component.mjs +16 -6
  40. package/esm2022/lib/core/components/select/select.component.mjs +3 -3
  41. package/esm2022/lib/core/core.module.mjs +26 -8
  42. package/esm2022/lib/core/i18n/en.translations.mjs +3 -2
  43. package/esm2022/lib/core/i18n/fr.translations.mjs +3 -2
  44. package/esm2022/lib/core/model/dataset.interface.mjs +1 -1
  45. package/esm2022/lib/core/model/widget-map-manifest.interface.mjs +1 -2
  46. package/esm2022/lib/core/public-api.mjs +3 -1
  47. package/esm2022/lib/core/store/data-source/data-source.model.mjs +1 -1
  48. package/esm2022/lib/core/store/field/field.interface.mjs +3 -1
  49. package/esm2022/lib/core/symbol/symbol.service.mjs +53 -15
  50. package/esm2022/lib/core/toolbox/toolbox-manifest.service.mjs +4 -4
  51. package/esm2022/lib/dashboard/components/widgets/base-widget.component.mjs +1 -1
  52. package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +3 -2
  53. package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-instanciator.component.mjs +6 -4
  54. package/esm2022/pipeline/components/pipeline-editor/pipeline-editor.component.mjs +6 -11
  55. package/esm2022/pipeline/style/css.component.mjs +2 -2
  56. package/esm2022/presentation/components/presentation.component.mjs +3 -3
  57. package/esm2022/restitution/components/restitution-list/restitution-list.component.mjs +3 -7
  58. package/esm2022/restitution/style/css.component.mjs +2 -2
  59. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +55 -195
  60. package/esm2022/widgets/widget-map/i18n/en.translations.mjs +2 -2
  61. package/esm2022/widgets/widget-map/i18n/fr.translations.mjs +2 -2
  62. package/esm2022/widgets/widget-map/interaction/interaction-manager.class.mjs +146 -0
  63. package/esm2022/widgets/widget-map/public-api.mjs +3 -1
  64. package/fesm2022/provoly-dashboard-admin.mjs +56 -15
  65. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  66. package/fesm2022/provoly-dashboard-components-sinceDate.mjs +6 -8
  67. package/fesm2022/provoly-dashboard-components-sinceDate.mjs.map +1 -1
  68. package/fesm2022/provoly-dashboard-dataset.mjs +86 -21
  69. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  70. package/fesm2022/provoly-dashboard-filters-date.mjs +2 -2
  71. package/fesm2022/provoly-dashboard-filters-date.mjs.map +1 -1
  72. package/fesm2022/provoly-dashboard-filters-number.mjs +2 -2
  73. package/fesm2022/provoly-dashboard-filters-number.mjs.map +1 -1
  74. package/fesm2022/provoly-dashboard-filters-text.mjs +2 -2
  75. package/fesm2022/provoly-dashboard-filters-text.mjs.map +1 -1
  76. package/fesm2022/provoly-dashboard-import.mjs +14 -35
  77. package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
  78. package/fesm2022/provoly-dashboard-pipeline.mjs +15 -19
  79. package/fesm2022/provoly-dashboard-pipeline.mjs.map +1 -1
  80. package/fesm2022/provoly-dashboard-presentation.mjs +2 -2
  81. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  82. package/fesm2022/provoly-dashboard-restitution.mjs +4 -8
  83. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  84. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +260 -260
  85. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  86. package/fesm2022/provoly-dashboard.mjs +200 -48
  87. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  88. package/import/components/import.component.d.ts +3 -9
  89. package/import/store/import.actions.d.ts +3 -16
  90. package/import/store/import.effects.d.ts +1 -1
  91. package/import/store/import.reducer.d.ts +2 -5
  92. package/import/store/import.selectors.d.ts +2 -7
  93. package/import/store/import.service.d.ts +2 -2
  94. package/lib/core/components/accordion/accordion-item/accordion-item.component.d.ts +17 -0
  95. package/lib/core/components/accordion/accordion.component.d.ts +6 -0
  96. package/lib/core/components/modal-status/modal-status.component.d.ts +10 -1
  97. package/lib/core/core.module.d.ts +15 -11
  98. package/lib/core/i18n/en.translations.d.ts +1 -0
  99. package/lib/core/i18n/fr.translations.d.ts +1 -0
  100. package/lib/core/model/dataset.interface.d.ts +2 -1
  101. package/lib/core/model/widget-map-manifest.interface.d.ts +0 -1
  102. package/lib/core/public-api.d.ts +2 -0
  103. package/lib/core/store/data-source/data-source.model.d.ts +1 -0
  104. package/lib/core/store/field/field.interface.d.ts +3 -1
  105. package/lib/core/symbol/symbol.service.d.ts +18 -2
  106. package/lib/dashboard/components/widgets/base-widget.component.d.ts +1 -1
  107. package/package.json +11 -7
  108. package/pipeline/components/pipeline-editor/pipeline-editor.component.d.ts +1 -3
  109. package/pipeline/style/_o-pipeline.scss +0 -108
  110. package/restitution/components/restitution-list/restitution-list.component.d.ts +0 -2
  111. package/restitution/style/_o-restitution-list.scss +2 -24
  112. package/schematics/migration.json +10 -0
  113. package/schematics/ng-add/index.spec.js +33 -1
  114. package/schematics/ng-add/index.spec.js.map +1 -1
  115. package/schematics/ng-update/utils/complete.function.d.ts +2 -0
  116. package/schematics/ng-update/utils/complete.function.js +10 -0
  117. package/schematics/ng-update/utils/complete.function.js.map +1 -0
  118. package/schematics/ng-update/version-0-13/index.d.ts +2 -0
  119. package/schematics/ng-update/version-0-13/index.js +30 -0
  120. package/schematics/ng-update/version-0-13/index.js.map +1 -0
  121. package/schematics/ng-update/version-0-13/index.spec.d.ts +1 -0
  122. package/schematics/ng-update/version-0-13/index.spec.js +167 -0
  123. package/schematics/ng-update/version-0-13/index.spec.js.map +1 -0
  124. package/styles/abstracts/_mixins.scss +14 -0
  125. package/styles/components/_m-filter.scss +0 -1
  126. package/styles/components/_o-accordion.scss +91 -0
  127. package/styles/components/_o-panel.scss +46 -0
  128. package/styles-theme/components-theme/_o-accordion.theme.scss +30 -0
  129. package/styles-theme/components-theme/_o-pipeline.theme.scss +0 -26
  130. package/styles-theme/main-theme.scss +1 -0
  131. package/widgets/widget-map/component/widget-map.component.d.ts +14 -25
  132. package/widgets/widget-map/interaction/interaction-manager.class.d.ts +27 -0
  133. package/widgets/widget-map/public-api.d.ts +2 -0
@@ -1,7 +1,6 @@
1
1
  import { Store } from '@ngrx/store';
2
- import { Dataset } from '@provoly/dashboard';
2
+ import { Dataset, DatasetVersion } from '@provoly/dashboard';
3
3
  import { Observable } from 'rxjs';
4
- import { ImportError } from '../store/import.actions';
5
4
  import * as i0 from "@angular/core";
6
5
  type FileExtension = 'csv' | 'zip';
7
6
  export declare class PryImportComponent {
@@ -10,12 +9,8 @@ export declare class PryImportComponent {
10
9
  file?: File;
11
10
  datasetSelected?: string;
12
11
  selectedFileType: FileExtension;
13
- uploadShapefile$: Observable<boolean>;
14
- numberOfLine$: Observable<number | undefined>;
15
- errors$: Observable<{
16
- [p: string | number]: ImportError[];
17
- } | null>;
18
- errorCount$: Observable<number | null>;
12
+ loading$: Observable<boolean>;
13
+ uploadedDataset$: Observable<Partial<DatasetVersion> | undefined>;
19
14
  fileTypes: {
20
15
  label: string;
21
16
  value: FileExtension;
@@ -28,7 +23,6 @@ export declare class PryImportComponent {
28
23
  isSubmitDisabled(): boolean;
29
24
  getFileSize(size: number): string;
30
25
  onFileTypeChange(fileType: FileExtension): void;
31
- getDatasetName(selectedId: string | undefined, datasets: Dataset[]): string | undefined;
32
26
  static ɵfac: i0.ɵɵFactoryDeclaration<PryImportComponent, never>;
33
27
  static ɵcmp: i0.ɵɵComponentDeclaration<PryImportComponent, "pry-import", never, {}, {}, never, never, false, never>;
34
28
  }
@@ -1,17 +1,4 @@
1
- export interface ImportError {
2
- code: string;
3
- params?: {
4
- name?: string;
5
- type?: string;
6
- elasticError?: string;
7
- };
8
- }
9
- export interface ImportResponse {
10
- numberOfLines: number;
11
- itemErrors: {
12
- [p: string]: ImportError[];
13
- } | null;
14
- }
1
+ import { DatasetVersion } from '@provoly/dashboard';
15
2
  export declare const ImportActions: {
16
3
  upload: import("@ngrx/store").ActionCreator<"[Import] import data", (props: {
17
4
  file: File;
@@ -23,9 +10,9 @@ export declare const ImportActions: {
23
10
  fileType: string;
24
11
  } & import("@ngrx/store/src/models").TypedAction<"[Import] import data">>;
25
12
  uploadSuccess: import("@ngrx/store").ActionCreator<"[Import] import data successful", (props: {
26
- numberOfLines?: number | undefined;
13
+ uploadedDataset: Partial<DatasetVersion>;
27
14
  }) => {
28
- numberOfLines?: number | undefined;
15
+ uploadedDataset: Partial<DatasetVersion>;
29
16
  } & import("@ngrx/store/src/models").TypedAction<"[Import] import data successful">>;
30
17
  uploadFailure: import("@ngrx/store").ActionCreator<"[Import] import data failure", (props: {
31
18
  errors: any;
@@ -8,7 +8,7 @@ export declare class ImportEffects {
8
8
  private snackbar;
9
9
  private translateService;
10
10
  upload$: import("rxjs").Observable<({
11
- numberOfLines?: number | undefined;
11
+ uploadedDataset: Partial<import("@provoly/dashboard").DatasetVersion>;
12
12
  } & import("@ngrx/store/src/models").TypedAction<"[Import] import data successful">) | ({
13
13
  errors: any;
14
14
  } & import("@ngrx/store/src/models").TypedAction<"[Import] import data failure">)> & import("@ngrx/effects").CreateEffectMetadata;
@@ -1,11 +1,8 @@
1
- import { ImportError } from './import.actions';
1
+ import { DatasetVersion } from '@provoly/dashboard';
2
2
  export declare const importFeatureKey = "@pry/import";
3
3
  export interface ImportState {
4
4
  loading: boolean;
5
- errors: {
6
- [p: string]: ImportError[];
7
- } | null;
8
- numberOfLines: number | undefined;
5
+ uploadedDataset?: Partial<DatasetVersion>;
9
6
  }
10
7
  export declare const initialImportState: ImportState;
11
8
  export declare const importReducer: import("@ngrx/store").ActionReducer<ImportState, import("@ngrx/store").Action>;
@@ -1,10 +1,5 @@
1
1
  import * as fromPipeline from './import.reducer';
2
2
  export declare const ImportSelectors: {
3
- upload: import("@ngrx/store").MemoizedSelector<object, boolean, (s1: fromPipeline.ImportState) => boolean>;
4
- numberOfLines: import("@ngrx/store").MemoizedSelector<object, number | undefined, (s1: fromPipeline.ImportState) => number | undefined>;
5
- errors: import("@ngrx/store").MemoizedSelector<object, {
6
- [p: string]: import("./import.actions").ImportError[];
7
- } | null, (s1: fromPipeline.ImportState) => {
8
- [p: string]: import("./import.actions").ImportError[];
9
- } | null>;
3
+ loading: import("@ngrx/store").MemoizedSelector<object, boolean, (s1: fromPipeline.ImportState) => boolean>;
4
+ uploadedDataset: import("@ngrx/store").MemoizedSelector<object, Partial<import("@provoly/dashboard").DatasetVersion> | undefined, (s1: fromPipeline.ImportState) => Partial<import("@provoly/dashboard").DatasetVersion> | undefined>;
10
5
  };
@@ -1,12 +1,12 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
2
  import { Store } from '@ngrx/store';
3
- import { ImportResponse } from './import.actions';
3
+ import { DatasetVersion } from '@provoly/dashboard';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class ImportService {
6
6
  private httpClient;
7
7
  private store;
8
8
  constructor(httpClient: HttpClient, store: Store<any>);
9
- upload(file: File, datasetId: string, fileType: string): import("rxjs").Observable<ImportResponse>;
9
+ upload(file: File, datasetId: string, fileType: string): import("rxjs").Observable<Partial<DatasetVersion>>;
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<ImportService, never>;
11
11
  static ɵprov: i0.ɵɵInjectableDeclaration<ImportService>;
12
12
  }
@@ -0,0 +1,17 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export declare class AccordionItemComponent {
5
+ item: string;
6
+ borderColor: string;
7
+ index: number;
8
+ translationStringBase: string;
9
+ length?: number;
10
+ showSearchBar: boolean;
11
+ search$: BehaviorSubject<any>;
12
+ search: EventEmitter<string>;
13
+ constructor();
14
+ onSearch(item: string, $event: any): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<AccordionItemComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<AccordionItemComponent, "pry-accordion-item", never, { "item": { "alias": "item"; "required": false; }; "borderColor": { "alias": "borderColor"; "required": false; }; "index": { "alias": "index"; "required": false; }; "translationStringBase": { "alias": "translationStringBase"; "required": false; }; "length": { "alias": "length"; "required": false; }; "showSearchBar": { "alias": "showSearchBar"; "required": false; }; "search$": { "alias": "search$"; "required": false; }; }, { "search": "search"; }, never, ["*"], false, never>;
17
+ }
@@ -0,0 +1,6 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class AccordionComponent {
3
+ constructor();
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<AccordionComponent, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<AccordionComponent, "pry-accordion", never, {}, {}, never, ["*"], false, never>;
6
+ }
@@ -12,13 +12,22 @@ export declare class PryModalStatusComponent {
12
12
  extractErrorCode: string;
13
13
  level: 'ERROR' | 'WARNING';
14
14
  name: string;
15
- recordID: string;
15
+ recordId: string;
16
16
  type: string;
17
17
  }[]>;
18
+ messageCount$?: Observable<number>;
18
19
  _version?: DatasetVersion;
19
20
  set version(version: DatasetVersion | undefined);
20
21
  constructor(store: Store);
21
22
  goBack(): void;
23
+ getModalTitle(): "ERROR" | "WARNING";
24
+ getErrorCodeParam(code: string, name: string, recordId: string): {
25
+ name: string;
26
+ recordId?: undefined;
27
+ } | {
28
+ recordId: string;
29
+ name?: undefined;
30
+ };
22
31
  static ɵfac: i0.ɵɵFactoryDeclaration<PryModalStatusComponent, never>;
23
32
  static ɵcmp: i0.ɵɵComponentDeclaration<PryModalStatusComponent, "pry-modal-status", never, { "version": { "alias": "version"; "required": false; }; }, { "gotoConsult": "gotoConsult"; }, never, never, false, never>;
24
33
  }
@@ -12,16 +12,20 @@ import * as i8 from "./components/nq-color-selector/nq-color-selector.component"
12
12
  import * as i9 from "./access/access.directive";
13
13
  import * as i10 from "./components/upload/upload.component";
14
14
  import * as i11 from "./components/select-image/select-image.component";
15
- import * as i12 from "@angular/common";
16
- import * as i13 from "@angular/router";
17
- import * as i14 from "@angular/common/http";
18
- import * as i15 from "@ngrx/store";
19
- import * as i16 from "@ngrx/effects";
20
- import * as i17 from "./components/icon/icon.module";
21
- import * as i18 from "@angular/cdk/overlay";
22
- import * as i19 from "./components/overlay/overlay.module";
23
- import * as i20 from "./i18n/i18n.module";
24
- import * as i21 from "./components/modal-status/modal-status.module";
15
+ import * as i12 from "./components/accordion/accordion.component";
16
+ import * as i13 from "./components/accordion/accordion-item/accordion-item.component";
17
+ import * as i14 from "@angular/common";
18
+ import * as i15 from "@angular/router";
19
+ import * as i16 from "@angular/common/http";
20
+ import * as i17 from "@ngrx/store";
21
+ import * as i18 from "@ngrx/effects";
22
+ import * as i19 from "./components/icon/icon.module";
23
+ import * as i20 from "@angular/cdk/overlay";
24
+ import * as i21 from "./components/overlay/overlay.module";
25
+ import * as i22 from "./i18n/i18n.module";
26
+ import * as i23 from "./components/modal-status/modal-status.module";
27
+ import * as i24 from "@angular/cdk/accordion";
28
+ import * as i25 from "@angular/forms";
25
29
  export declare class PryCoreModule {
26
30
  private pryTranslateService;
27
31
  constructor(pryTranslateService: PryI18nService);
@@ -30,6 +34,6 @@ export declare class PryCoreModule {
30
34
  guardProvider?: Provider;
31
35
  }): ModuleWithProviders<PryCoreModule>;
32
36
  static ɵfac: i0.ɵɵFactoryDeclaration<PryCoreModule, never>;
33
- static ɵmod: i0.ɵɵNgModuleDeclaration<PryCoreModule, [typeof i1.TranslateIdPipe, typeof i2.TranslateItemToSymbolPipe, typeof i3.GetSecuredImagePipe, typeof i4.BaseLayoutComponent, typeof i5.BaseMenuComponent, typeof i6.BaseToolboxComponent, typeof i7.BaseToolboxActionComponent, typeof i8.PryNqColorSelectorComponent, typeof i9.PryAccessDirective, typeof i10.PryUploadComponent, typeof i11.PrySelectImageComponent], [typeof i12.CommonModule, typeof i13.RouterModule, typeof i14.HttpClientModule, typeof i15.StoreFeatureModule, typeof i15.StoreFeatureModule, typeof i15.StoreFeatureModule, typeof i15.StoreFeatureModule, typeof i15.StoreFeatureModule, typeof i15.StoreFeatureModule, typeof i15.StoreFeatureModule, typeof i15.StoreFeatureModule, typeof i15.StoreFeatureModule, typeof i16.EffectsFeatureModule, typeof i16.EffectsFeatureModule, typeof i16.EffectsFeatureModule, typeof i16.EffectsFeatureModule, typeof i16.EffectsFeatureModule, typeof i16.EffectsFeatureModule, typeof i16.EffectsFeatureModule, typeof i16.EffectsFeatureModule, typeof i16.EffectsFeatureModule, typeof i17.PryIconModule, typeof i18.OverlayModule, typeof i19.PryOverlayModule, typeof i20.PryI18nModule, typeof i21.PryModalStatusModule], [typeof i1.TranslateIdPipe, typeof i2.TranslateItemToSymbolPipe, typeof i3.GetSecuredImagePipe, typeof i4.BaseLayoutComponent, typeof i5.BaseMenuComponent, typeof i6.BaseToolboxComponent, typeof i8.PryNqColorSelectorComponent, typeof i9.PryAccessDirective, typeof i10.PryUploadComponent, typeof i11.PrySelectImageComponent]>;
37
+ static ɵmod: i0.ɵɵNgModuleDeclaration<PryCoreModule, [typeof i1.TranslateIdPipe, typeof i2.TranslateItemToSymbolPipe, typeof i3.GetSecuredImagePipe, typeof i4.BaseLayoutComponent, typeof i5.BaseMenuComponent, typeof i6.BaseToolboxComponent, typeof i7.BaseToolboxActionComponent, typeof i8.PryNqColorSelectorComponent, typeof i9.PryAccessDirective, typeof i10.PryUploadComponent, typeof i11.PrySelectImageComponent, typeof i12.AccordionComponent, typeof i13.AccordionItemComponent], [typeof i14.CommonModule, typeof i15.RouterModule, typeof i16.HttpClientModule, typeof i17.StoreFeatureModule, typeof i17.StoreFeatureModule, typeof i17.StoreFeatureModule, typeof i17.StoreFeatureModule, typeof i17.StoreFeatureModule, typeof i17.StoreFeatureModule, typeof i17.StoreFeatureModule, typeof i17.StoreFeatureModule, typeof i17.StoreFeatureModule, typeof i18.EffectsFeatureModule, typeof i18.EffectsFeatureModule, typeof i18.EffectsFeatureModule, typeof i18.EffectsFeatureModule, typeof i18.EffectsFeatureModule, typeof i18.EffectsFeatureModule, typeof i18.EffectsFeatureModule, typeof i18.EffectsFeatureModule, typeof i18.EffectsFeatureModule, typeof i19.PryIconModule, typeof i20.OverlayModule, typeof i21.PryOverlayModule, typeof i22.PryI18nModule, typeof i23.PryModalStatusModule, typeof i24.CdkAccordionModule, typeof i25.FormsModule], [typeof i1.TranslateIdPipe, typeof i2.TranslateItemToSymbolPipe, typeof i3.GetSecuredImagePipe, typeof i4.BaseLayoutComponent, typeof i5.BaseMenuComponent, typeof i6.BaseToolboxComponent, typeof i8.PryNqColorSelectorComponent, typeof i9.PryAccessDirective, typeof i10.PryUploadComponent, typeof i11.PrySelectImageComponent, typeof i12.AccordionComponent, typeof i13.AccordionItemComponent]>;
34
38
  static ɵinj: i0.ɵɵInjectorDeclaration<PryCoreModule>;
35
39
  }
@@ -293,6 +293,7 @@ export declare const enTranslations: {
293
293
  label: string;
294
294
  noAttributes: string;
295
295
  noFilters: string;
296
+ clear: string;
296
297
  list: {
297
298
  attributes: string;
298
299
  add: string;
@@ -293,6 +293,7 @@ export declare const frTranslations: {
293
293
  label: string;
294
294
  noAttributes: string;
295
295
  noFilters: string;
296
+ clear: string;
296
297
  list: {
297
298
  attributes: string;
298
299
  add: string;
@@ -26,8 +26,9 @@ export interface DatasetMessage {
26
26
  extractErrorCode: string;
27
27
  type: string;
28
28
  name: string;
29
- recordID: string;
29
+ recordId: string;
30
30
  datasetVersionId: string;
31
+ level: 'ERROR' | 'WARNING';
31
32
  }
32
33
  export interface DatasetPreview {
33
34
  level: 'ERROR' | 'WARNING';
@@ -88,7 +88,6 @@ export interface MapGeoServerLayerOptions extends BaseWidgetMapLayerOptions {
88
88
  oClass: string;
89
89
  }
90
90
  export declare enum TooltipMode {
91
- HOVER = "hover",
92
91
  CLICK = "click",
93
92
  NONE = "none"
94
93
  }
@@ -110,3 +110,5 @@ export * from './i18n/deep-merge.function';
110
110
  export * from './errors/http-error-interceptor.service';
111
111
  export * from './components/modal-status/modal-status.component';
112
112
  export * from './components/modal-status/modal-status.module';
113
+ export * from './components/accordion/accordion.component';
114
+ export * from './components/accordion/accordion-item/accordion-item.component';
@@ -29,4 +29,5 @@ export interface DatasetVersion {
29
29
  state: string;
30
30
  withFile: boolean;
31
31
  metadata: any[];
32
+ hasWarnings: boolean;
32
33
  }
@@ -12,7 +12,9 @@ export declare enum FieldType {
12
12
  MULTILINE = "MultiLineString",
13
13
  POLYGON = "Polygon",
14
14
  MULTIPOLYGON = "MultiPolygon",
15
- GEOMETRYCOLLECTION = "GeometryCollection"
15
+ GEOMETRYCOLLECTION = "GeometryCollection",
16
+ OCLASS = "mod\u00E8le de donn\u00E9es",
17
+ DATASET = "test"
16
18
  }
17
19
  export interface Field {
18
20
  id: string;
@@ -3,8 +3,20 @@ import { DomSanitizer, SafeUrl } from '@angular/platform-browser';
3
3
  import { Store } from '@ngrx/store';
4
4
  import { Style } from 'ol/style';
5
5
  import { Item } from '../model/item.interface';
6
+ import { IconOptions } from '../store/config/icon-definitions.interface';
6
7
  import { ImageService } from '../store/image/image.service';
7
8
  import * as i0 from "@angular/core";
9
+ export interface ImageCache {
10
+ [classId: string]: {
11
+ ruleSignature: string;
12
+ images: {
13
+ [rulesMatch: string]: Promise<HTMLCanvasElement>;
14
+ };
15
+ borderedImages: {
16
+ [rulesMatch: string]: Promise<HTMLCanvasElement>;
17
+ };
18
+ };
19
+ }
8
20
  export declare class SymbolService {
9
21
  private httpClient;
10
22
  private store;
@@ -12,11 +24,15 @@ export declare class SymbolService {
12
24
  private imageService;
13
25
  private definitions;
14
26
  private classes;
27
+ private imageCache;
15
28
  constructor(httpClient: HttpClient, store: Store<any>, sanitizer: DomSanitizer, imageService: ImageService);
16
- getSymbol(item: Item, borderColor?: string): Promise<HTMLCanvasElement>;
29
+ private generateAllRulesCombinaisonImages;
30
+ recursiveRuleMatches(definition: IconOptions[]): string[];
31
+ private generateImageForRuleMatch;
32
+ getSymbol(item: Item, bordered?: boolean): Promise<HTMLCanvasElement>;
17
33
  getSymbolOfClass(id: string): Promise<SafeUrl>;
18
34
  downloadAsUrl(url: string): Promise<string>;
19
- getSymbolAsIconStyle(item: Item, borderColor?: string): Promise<Style>;
35
+ getSymbolAsIconStyle(item: Item, bordered?: boolean): Promise<Style>;
20
36
  cache: {
21
37
  [url: string]: Promise<HTMLImageElement>;
22
38
  };
@@ -6,7 +6,7 @@ import { Size } from '../../../core/model/widget-chart-manifest.interface';
6
6
  import { SubscriptionnerDirective } from '../subscriptionner.directive';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare class BaseWidgetComponent extends SubscriptionnerDirective implements OnDestroy, AfterViewChecked {
9
- protected store: Store<any>;
9
+ store: Store<any>;
10
10
  protected el: ElementRef;
11
11
  widgetIndex$: BehaviorSubject<number>;
12
12
  manifest$: Observable<WidgetManifest>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@provoly/dashboard",
3
- "version": "0.13.0",
3
+ "version": "0.13.2",
4
4
  "type": "commonjs",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "15.x || 16.x",
@@ -175,18 +175,18 @@
175
175
  "esm": "./esm2022/pipeline-components/noop/provoly-dashboard-pipeline-components-noop.mjs",
176
176
  "default": "./fesm2022/provoly-dashboard-pipeline-components-noop.mjs"
177
177
  },
178
- "./pipeline-components/output-dataset": {
179
- "types": "./pipeline-components/output-dataset/index.d.ts",
180
- "esm2022": "./esm2022/pipeline-components/output-dataset/provoly-dashboard-pipeline-components-output-dataset.mjs",
181
- "esm": "./esm2022/pipeline-components/output-dataset/provoly-dashboard-pipeline-components-output-dataset.mjs",
182
- "default": "./fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs"
183
- },
184
178
  "./pipeline-components/subgraph": {
185
179
  "types": "./pipeline-components/subgraph/index.d.ts",
186
180
  "esm2022": "./esm2022/pipeline-components/subgraph/provoly-dashboard-pipeline-components-subgraph.mjs",
187
181
  "esm": "./esm2022/pipeline-components/subgraph/provoly-dashboard-pipeline-components-subgraph.mjs",
188
182
  "default": "./fesm2022/provoly-dashboard-pipeline-components-subgraph.mjs"
189
183
  },
184
+ "./pipeline-components/output-dataset": {
185
+ "types": "./pipeline-components/output-dataset/index.d.ts",
186
+ "esm2022": "./esm2022/pipeline-components/output-dataset/provoly-dashboard-pipeline-components-output-dataset.mjs",
187
+ "esm": "./esm2022/pipeline-components/output-dataset/provoly-dashboard-pipeline-components-output-dataset.mjs",
188
+ "default": "./fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs"
189
+ },
190
190
  "./tooltips/attribute": {
191
191
  "types": "./tooltips/attribute/index.d.ts",
192
192
  "esm2022": "./esm2022/tooltips/attribute/provoly-dashboard-tooltips-attribute.mjs",
@@ -264,6 +264,10 @@
264
264
  "ng-add": {
265
265
  "save": true
266
266
  },
267
+ "ng-update": {
268
+ "migrations": "./schematics/migration.json",
269
+ "save": true
270
+ },
267
271
  "module": "fesm2022/provoly-dashboard.mjs",
268
272
  "typings": "index.d.ts",
269
273
  "sideEffects": false
@@ -41,7 +41,6 @@ export declare class PryPipelineEditorComponent extends SubscriptionnerDirective
41
41
  start: HTMLImageElement;
42
42
  after: HTMLImageElement;
43
43
  };
44
- categoryOpened: string;
45
44
  search$: BehaviorSubject<any>;
46
45
  constructor(store: Store, pipelineComponentFactoryService: PipelineComponentFactoryService, translateService: PryI18nService);
47
46
  get currentGraph(): LGraph;
@@ -66,8 +65,7 @@ export declare class PryPipelineEditorComponent extends SubscriptionnerDirective
66
65
  }): void;
67
66
  removeAction(type: string): void;
68
67
  goBack(): void;
69
- toggle(category: string): void;
70
- search(category: string, $event: any): void;
68
+ search($event: any): void;
71
69
  static ɵfac: i0.ɵɵFactoryDeclaration<PryPipelineEditorComponent, never>;
72
70
  static ɵcmp: i0.ɵɵComponentDeclaration<PryPipelineEditorComponent, "pry-pipeline-editor", never, { "pipeline": { "alias": "pipeline"; "required": false; }; }, { "goToConsult": "goToConsult"; }, never, never, false, never>;
73
71
  }
@@ -68,15 +68,6 @@
68
68
  }
69
69
  }
70
70
 
71
- %panelBorderLeftColored {
72
- content: '';
73
- position: absolute;
74
- left: 0;
75
- top: 0;
76
- bottom: 0;
77
- width: 3px;
78
- }
79
-
80
71
  .o-pipeline {
81
72
  display: flex;
82
73
  flex-direction: row;
@@ -88,105 +79,6 @@
88
79
 
89
80
  .o-accordion {
90
81
  min-width: toRem(270);
91
-
92
- &__title {
93
- position: relative;
94
-
95
- // Border left colored
96
- &:before {
97
- @extend %panelBorderLeftColored;
98
- background-color: var(--border-color);
99
- }
100
-
101
- border-bottom-style: solid;
102
- border-bottom-width: toRem(1);
103
-
104
- &__btn {
105
- width: 100%;
106
- height: 70%;
107
- padding: 0;
108
- text-transform: uppercase;
109
- text-align: left;
110
- }
111
-
112
- // On active item, remove border-bottom, replaced by border-bottom on active panel
113
- &.is-active {
114
- border-bottom: none;
115
- }
116
- }
117
-
118
- &__panel {
119
- position: relative;
120
-
121
- // Border-bottom on active panel
122
- &[aria-hidden='false'] {
123
- border-bottom-style: solid;
124
- border-bottom-width: toRem(1);
125
- }
126
-
127
- // Head (input field)
128
- &__head {
129
- position: relative;
130
- padding: toRem(2) toRem(10) toRem(20) toRem(10);
131
-
132
- // Border left colored
133
- &:before {
134
- @extend %panelBorderLeftColored;
135
- background-color: var(--border-color);
136
- }
137
-
138
- pry-icon {
139
- position: absolute;
140
- top: toRem(12);
141
- left: toRem(23);
142
- }
143
-
144
- .a-form-field {
145
- padding-left: toRem(40);
146
- }
147
- }
148
-
149
- // Components list
150
- .o-pipeline__components {
151
- @extend %list-unstyled;
152
- position: relative;
153
- z-index: 1;
154
-
155
- li {
156
- position: relative;
157
- display: flex;
158
- align-items: center;
159
- justify-content: space-between;
160
- min-height: 40px;
161
- padding: 0 toRem(15);
162
- border-top-width: 1px;
163
- border-top-style: solid;
164
- cursor: grab;
165
-
166
- // Border left colored
167
- &:before {
168
- @extend %panelBorderLeftColored;
169
- background-color: var(--border-color);
170
- }
171
-
172
- &:hover {
173
- background-color: white;
174
- }
175
-
176
- &:active {
177
- cursor: grabbing;
178
- }
179
-
180
- .a-p {
181
- margin-bottom: 0;
182
- }
183
-
184
- .a-icon {
185
- transform: scale(2.2);
186
- }
187
- }
188
- }
189
- }
190
82
  }
191
83
  }
192
84
 
@@ -25,13 +25,11 @@ export declare class PryRestitutionListComponent extends SubscriptionnerDirectiv
25
25
  mode: typeof ViewMode;
26
26
  selectedMode: ViewMode;
27
27
  categories: string[];
28
- categoryOpened: string;
29
28
  PryVisibilityType: typeof PryVisibilityType;
30
29
  constructor(toolboxMenuService: ToolboxMenuService, translateService: PryI18nService, toolboxManifestService: ToolboxManifestService, store: Store);
31
30
  selectMode(newMode: ViewMode): void;
32
31
  selectRestitution($event: Widget): void;
33
32
  closeRestitution(): void;
34
- toggle(category: string): void;
35
33
  static ɵfac: i0.ɵɵFactoryDeclaration<PryRestitutionListComponent, never>;
36
34
  static ɵcmp: i0.ɵɵComponentDeclaration<PryRestitutionListComponent, "pry-catalog", never, { "showTabs": { "alias": "showTabs"; "required": false; }; "customModels": { "alias": "customModels"; "required": false; }; }, {}, never, never, false, never>;
37
35
  }
@@ -163,34 +163,12 @@
163
163
  }
164
164
 
165
165
  .o-accordion {
166
- &__title {
167
- position: relative;
168
- border-bottom-style: solid;
169
- border-bottom-width: toRem(1);
170
-
171
- // Border left colored
172
- &:before {
173
- content: '';
174
- position: absolute;
175
- left: 0;
176
- top: 0;
177
- bottom: 0;
178
- width: 3px;
179
- }
180
-
181
- &:first-child {
166
+ pry-accordion-item:first-child {
167
+ .o-accordion__title {
182
168
  border-top-style: solid;
183
169
  border-top-width: toRem(1);
184
170
  margin-top: toRem(10);
185
171
  }
186
-
187
- &__btn {
188
- width: 100%;
189
- height: 70%;
190
- padding: 0;
191
- text-transform: uppercase;
192
- text-align: left;
193
- }
194
172
  }
195
173
  }
196
174
  }
@@ -0,0 +1,10 @@
1
+ {
2
+ "$schema": "../../../../node_modules/@angular-devkit/schematics/collection-schema.json",
3
+ "schematics": {
4
+ "migration-v0.13": {
5
+ "version": "0.13",
6
+ "description": "Update library to version 0.13",
7
+ "factory": "./ng-update/version-0-13/index#updateTo0_13"
8
+ }
9
+ }
10
+ }
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
26
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
27
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -11,12 +34,21 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
34
  Object.defineProperty(exports, "__esModule", { value: true });
12
35
  const schematics_1 = require("@angular-devkit/schematics");
13
36
  const testing_1 = require("@angular-devkit/schematics/testing");
14
- const path = require("path");
37
+ const path = __importStar(require("path"));
15
38
  const file_contents_function_1 = require("../utils/file-contents.function");
16
39
  const schematicName = 'ng-add';
17
40
  describe(schematicName, () => {
18
41
  const runner = new testing_1.SchematicTestRunner('schematics', path.join(__dirname, '../collection.json'));
19
42
  let tree;
43
+ let logFn = () => { };
44
+ beforeAll(() => {
45
+ // Deactivate logs
46
+ logFn = console.log;
47
+ console.log = () => { };
48
+ });
49
+ afterAll(() => {
50
+ console.log = logFn;
51
+ });
20
52
  beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
21
53
  tree = yield runner.runExternalSchematic('@schematics/angular', 'ng-new', { name: 'test-project', version: '0.0.0', directory: '.' }, new testing_1.UnitTestTree(schematics_1.Tree.empty()));
22
54
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../../../../../projects/provoly/dashboard/schematics/ng-add/index.spec.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,2DAAkD;AAClD,gEAAuF;AACvF,6BAA6B;AAC7B,4EAAiE;AAIjE,MAAM,aAAa,GAAG,QAAQ,CAAC;AAC/B,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,MAAM,MAAM,GAAG,IAAI,6BAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC,CAAC;IACjG,IAAI,IAAkB,CAAC;IAEvB,UAAU,CAAC,GAAS,EAAE;QACpB,IAAI,GAAG,MAAM,MAAM,CAAC,oBAAoB,CACtC,qBAAqB,EACrB,QAAQ,EACR,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,EAC1D,IAAI,sBAAY,CAAC,iBAAI,CAAC,KAAK,EAAE,CAAC,CAC/B,CAAC;IACJ,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAS,EAAE;QAC5C,MAAM,MAAM,CAAC,YAAY,CACvB,aAAa,EACb,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,EAAyB,EACpF,IAAI,CACL,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,uCAAc,EAAC,IAAI,EAAE,eAAe,CAAC,CAAgB,CAAC;QAErF,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEvD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/E,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAS,EAAE;QAChD,MAAM,MAAM,CAAC,YAAY,CACvB,aAAa,EACb,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,EAAyB,EAChG,IAAI,CACL,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,uCAAc,EAAC,IAAI,EAAE,eAAe,CAAC,CAAgB,CAAC;QAErF,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEtD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/E,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../../../../../projects/provoly/dashboard/schematics/ng-add/index.spec.ts"],"names":[],"mappings":"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"}