@provoly/dashboard 1.2.5 → 1.2.6

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 (109) hide show
  1. package/components/color-picker/color-picker.component.d.ts +1 -1
  2. package/dataset/components/dataset-detail/dataset-detail.component.d.ts +1 -1
  3. package/dataset/style/_o-pry-dataset-card.scss +7 -3
  4. package/esm2022/components/color-picker/color-picker.component.mjs +2 -2
  5. package/esm2022/components/scheme-picker/scheme-picker.component.mjs +2 -5
  6. package/esm2022/dataset/components/dataset-card/dataset-card.component.mjs +3 -3
  7. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +8 -6
  8. package/esm2022/dataset/style/css.component.mjs +2 -2
  9. package/esm2022/lib/core/components/share/access-rights-share-modal/access-rights-share-modal.component.mjs +9 -5
  10. package/esm2022/lib/core/i18n/en.translations.mjs +4 -2
  11. package/esm2022/lib/core/i18n/fr.translations.mjs +4 -2
  12. package/esm2022/lib/core/model/display-options.interface.mjs +7 -4
  13. package/esm2022/lib/dashboard/filter/components/filter-group/filter-group.component.mjs +3 -3
  14. package/esm2022/lib/dashboard/filter/style/css.component.mjs +2 -2
  15. package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +3 -1
  16. package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +25 -57
  17. package/esm2022/presentation/components/presentation.component.mjs +12 -13
  18. package/esm2022/presentation/components/title-presentation/title-presentation.component.mjs +4 -7
  19. package/esm2022/presentation/presentation.module.mjs +10 -14
  20. package/esm2022/presentation/style/css.component.mjs +2 -2
  21. package/esm2022/restitution/style/css.component.mjs +2 -2
  22. package/esm2022/toolbox/components/automate-refresh/automate-refresh.component.mjs +2 -2
  23. package/esm2022/toolbox/components/clear-view/clear-view.component.mjs +2 -2
  24. package/esm2022/toolbox/components/dashboard-details/dashboard-details.component.mjs +4 -4
  25. package/esm2022/toolbox/components/delete/delete.component.mjs +2 -2
  26. package/esm2022/toolbox/components/drag-widgets/drag-widgets.component.mjs +2 -2
  27. package/esm2022/toolbox/components/edit-mode-action/edit-mode-action.component.mjs +2 -2
  28. package/esm2022/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.mjs +2 -2
  29. package/esm2022/toolbox/components/edit-presentation/edit-presentation.component.mjs +64 -0
  30. package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +2 -2
  31. package/esm2022/toolbox/components/launch-tab/launch-tab.component.mjs +2 -2
  32. package/esm2022/toolbox/components/refresh-datasets/refresh-datasets.component.mjs +2 -2
  33. package/esm2022/toolbox/components/save-view/save-view.component.mjs +7 -15
  34. package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +2 -2
  35. package/esm2022/toolbox/components/share/share.component.mjs +2 -2
  36. package/esm2022/toolbox/components/switch-to-edit-content/switch-to-edit-content.component.mjs +2 -2
  37. package/esm2022/toolbox/components/toolbox.component.mjs +16 -9
  38. package/esm2022/toolbox/public-api.mjs +5 -3
  39. package/esm2022/toolbox/shared/presentation-form/presentation-form.component.mjs +97 -0
  40. package/esm2022/toolbox/shared/toolbox-action/toolbox-action.component.mjs +44 -0
  41. package/esm2022/toolbox/shared/toolbox-action-instanciator/toolbox-action-instanciator.component.mjs +58 -0
  42. package/esm2022/toolbox/style/css.component.mjs +2 -2
  43. package/esm2022/toolbox/toolbox.model.mjs +13 -5
  44. package/esm2022/toolbox/toolbox.module.mjs +21 -10
  45. package/esm2022/widgets/widget-analytic/component/widget-analytic.component.mjs +2 -2
  46. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +19 -14
  47. package/fesm2022/provoly-dashboard-components-color-picker.mjs +1 -1
  48. package/fesm2022/provoly-dashboard-components-color-picker.mjs.map +1 -1
  49. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs +1 -4
  50. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs.map +1 -1
  51. package/fesm2022/provoly-dashboard-dataset.mjs +11 -9
  52. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  53. package/fesm2022/provoly-dashboard-presentation.mjs +50 -87
  54. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  55. package/fesm2022/provoly-dashboard-restitution.mjs +2 -2
  56. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  57. package/fesm2022/provoly-dashboard-toolbox.mjs +205 -55
  58. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  59. package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs +1 -1
  60. package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs.map +1 -1
  61. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +18 -13
  62. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  63. package/fesm2022/provoly-dashboard.mjs +24 -12
  64. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  65. package/lib/core/i18n/en.translations.d.ts +2 -0
  66. package/lib/core/i18n/fr.translations.d.ts +2 -0
  67. package/lib/core/model/display-options.interface.d.ts +1 -0
  68. package/lib/dashboard/filter/style/_o-pry-filter-group.scss +0 -4
  69. package/lib/dashboard/store/dashboard.selectors.d.ts +1 -0
  70. package/package.json +13 -13
  71. package/presentation/components/add-edit-presentation/add-edit-presentation.component.d.ts +14 -21
  72. package/presentation/components/presentation.component.d.ts +7 -8
  73. package/presentation/style/_o-pry-new-presentation.scss +9 -10
  74. package/presentation/style/_o-pry-presentation.scss +1 -3
  75. package/styles/base/_utils.scss +3 -0
  76. package/styles/components/_a-btn.scss +4 -0
  77. package/styles/components/_m-actions-list.scss +5 -1
  78. package/styles/components/_m-presentation-title.scss +1 -5
  79. package/styles/components/_o-widget.scss +1 -0
  80. package/styles/layout/_o-workspace.scss +4 -21
  81. package/styles-theme/components-theme/_a-btn.theme.scss +16 -0
  82. package/styles-theme/main-theme.scss +0 -2
  83. package/toolbox/components/automate-refresh/automate-refresh.component.d.ts +1 -1
  84. package/toolbox/components/clear-view/clear-view.component.d.ts +1 -1
  85. package/toolbox/components/dashboard-details/dashboard-details.component.d.ts +1 -1
  86. package/toolbox/components/delete/delete.component.d.ts +1 -1
  87. package/toolbox/components/drag-widgets/drag-widgets.component.d.ts +1 -1
  88. package/toolbox/components/edit-mode-action/edit-mode-action.component.d.ts +1 -1
  89. package/toolbox/components/edit-mode-toggle/edit-mode-toggle.component.d.ts +1 -1
  90. package/toolbox/components/edit-presentation/edit-presentation.component.d.ts +22 -0
  91. package/toolbox/components/filter-settings/filter-settings.component.d.ts +1 -1
  92. package/toolbox/components/launch-tab/launch-tab.component.d.ts +1 -1
  93. package/toolbox/components/refresh-datasets/refresh-datasets.component.d.ts +1 -1
  94. package/toolbox/components/save-view/save-view.component.d.ts +5 -6
  95. package/toolbox/components/select-grid-layout/select-grid-layout.component.d.ts +1 -1
  96. package/toolbox/components/share/share.component.d.ts +1 -1
  97. package/toolbox/components/switch-to-edit-content/switch-to-edit-content.component.d.ts +1 -1
  98. package/toolbox/components/toolbox.component.d.ts +3 -2
  99. package/toolbox/public-api.d.ts +4 -2
  100. package/toolbox/shared/presentation-form/presentation-form.component.d.ts +42 -0
  101. package/toolbox/style/_o-dashboard-details.component.scss +0 -13
  102. package/toolbox/toolbox.model.d.ts +1 -1
  103. package/toolbox/toolbox.module.d.ts +14 -12
  104. package/widgets/widget-map/component/widget-map.component.d.ts +1 -3
  105. package/esm2022/toolbox/components/toolbox-action/toolbox-action.component.mjs +0 -46
  106. package/esm2022/toolbox/components/toolbox-action-instanciator/toolbox-action-instanciator.component.mjs +0 -58
  107. package/styles-theme/layout-theme/_o-workspace.theme.scss +0 -18
  108. /package/toolbox/{components → shared}/toolbox-action/toolbox-action.component.d.ts +0 -0
  109. /package/toolbox/{components → shared}/toolbox-action-instanciator/toolbox-action-instanciator.component.d.ts +0 -0
@@ -99,8 +99,10 @@ export declare const enTranslations: {
99
99
  };
100
100
  };
101
101
  about: string;
102
+ apply: string;
102
103
  edit: string;
103
104
  editOff: string;
105
+ editPresentation: string;
104
106
  launch: string;
105
107
  launchIndication: string;
106
108
  chooseGrid: string;
@@ -99,8 +99,10 @@ export declare const frTranslations: {
99
99
  saved: string;
100
100
  };
101
101
  about: string;
102
+ apply: string;
102
103
  edit: string;
103
104
  editOff: string;
105
+ editPresentation: string;
104
106
  launch: string;
105
107
  launchIndication: string;
106
108
  chooseGrid: string;
@@ -22,6 +22,7 @@ export interface ToolboxDisplayOptions {
22
22
  share: boolean;
23
23
  delete: boolean;
24
24
  dashboard_details: boolean;
25
+ edit_presentation: boolean;
25
26
  }
26
27
  export interface WidgetContextMenuDisplayOptions {
27
28
  datasourceSelection: boolean;
@@ -5,8 +5,6 @@
5
5
 
6
6
  &__filters {
7
7
  display: flex;
8
- padding: toRem(8) toRem(10);
9
- max-height: 50px; // needed for ng-select
10
8
  gap: toRem(10);
11
9
  }
12
10
 
@@ -14,10 +12,8 @@
14
12
  display: flex;
15
13
  justify-content: flex-start;
16
14
  margin-bottom: toRem(-5);
17
- max-height: 50px; // needed for ng-select
18
15
  padding: toRem(4) 0;
19
16
  overflow-x: auto;
20
- overflow-y: hidden;
21
17
  }
22
18
 
23
19
  &__filter-actions {
@@ -311,6 +311,7 @@ export declare const DashboardSelectors: {
311
311
  viewMode?: import("./dashboard.actions").ViewMode | undefined;
312
312
  initial: GlobalManifest | undefined;
313
313
  }>;
314
+ currentManifest: MemoizedSelector<object, import("../../core/model/manifest.interface").ManifestDescription | undefined, (s1: DashboardState) => import("../../core/model/manifest.interface").ManifestDescription | undefined>;
314
315
  filters: MemoizedSelector<object, Filter[], (s1: DashboardState) => Filter[]>;
315
316
  isCurrentPresentationModified: MemoizedSelector<object, boolean, (s1: {
316
317
  current: import("../../core/model/manifest.interface").ManifestDescription | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@provoly/dashboard",
3
- "version": "1.2.5",
3
+ "version": "1.2.6",
4
4
  "type": "commonjs",
5
5
  "peerDependencies": {
6
6
  "@angular/cdk": "16.x || 17.x",
@@ -84,18 +84,18 @@
84
84
  "esm": "./esm2022/admin/provoly-dashboard-admin.mjs",
85
85
  "default": "./fesm2022/provoly-dashboard-admin.mjs"
86
86
  },
87
- "./dataset": {
88
- "types": "./dataset/index.d.ts",
89
- "esm2022": "./esm2022/dataset/provoly-dashboard-dataset.mjs",
90
- "esm": "./esm2022/dataset/provoly-dashboard-dataset.mjs",
91
- "default": "./fesm2022/provoly-dashboard-dataset.mjs"
92
- },
93
87
  "./import": {
94
88
  "types": "./import/index.d.ts",
95
89
  "esm2022": "./esm2022/import/provoly-dashboard-import.mjs",
96
90
  "esm": "./esm2022/import/provoly-dashboard-import.mjs",
97
91
  "default": "./fesm2022/provoly-dashboard-import.mjs"
98
92
  },
93
+ "./dataset": {
94
+ "types": "./dataset/index.d.ts",
95
+ "esm2022": "./esm2022/dataset/provoly-dashboard-dataset.mjs",
96
+ "esm": "./esm2022/dataset/provoly-dashboard-dataset.mjs",
97
+ "default": "./fesm2022/provoly-dashboard-dataset.mjs"
98
+ },
99
99
  "./notification": {
100
100
  "types": "./notification/index.d.ts",
101
101
  "esm2022": "./esm2022/notification/provoly-dashboard-notification.mjs",
@@ -318,18 +318,18 @@
318
318
  "esm": "./esm2022/widgets/widget-image/provoly-dashboard-widgets-widget-image.mjs",
319
319
  "default": "./fesm2022/provoly-dashboard-widgets-widget-image.mjs"
320
320
  },
321
- "./widgets/widget-table": {
322
- "types": "./widgets/widget-table/index.d.ts",
323
- "esm2022": "./esm2022/widgets/widget-table/provoly-dashboard-widgets-widget-table.mjs",
324
- "esm": "./esm2022/widgets/widget-table/provoly-dashboard-widgets-widget-table.mjs",
325
- "default": "./fesm2022/provoly-dashboard-widgets-widget-table.mjs"
326
- },
327
321
  "./widgets/widget-map": {
328
322
  "types": "./widgets/widget-map/index.d.ts",
329
323
  "esm2022": "./esm2022/widgets/widget-map/provoly-dashboard-widgets-widget-map.mjs",
330
324
  "esm": "./esm2022/widgets/widget-map/provoly-dashboard-widgets-widget-map.mjs",
331
325
  "default": "./fesm2022/provoly-dashboard-widgets-widget-map.mjs"
332
326
  },
327
+ "./widgets/widget-table": {
328
+ "types": "./widgets/widget-table/index.d.ts",
329
+ "esm2022": "./esm2022/widgets/widget-table/provoly-dashboard-widgets-widget-table.mjs",
330
+ "esm": "./esm2022/widgets/widget-table/provoly-dashboard-widgets-widget-table.mjs",
331
+ "default": "./fesm2022/provoly-dashboard-widgets-widget-table.mjs"
332
+ },
333
333
  "./widgets/widget-template": {
334
334
  "types": "./widgets/widget-template/index.d.ts",
335
335
  "esm2022": "./esm2022/widgets/widget-template/provoly-dashboard-widgets-widget-template.mjs",
@@ -1,42 +1,35 @@
1
- import { AfterViewInit, EventEmitter, OnInit } from '@angular/core';
2
- import { FormGroup } from '@angular/forms';
1
+ import { EventEmitter } from '@angular/core';
3
2
  import { Router } from '@angular/router';
4
3
  import { Store } from '@ngrx/store';
5
- import { GlobalManifest, IMetadata, LibraryTypes, ManifestDescription, SubscriptionnerDirective } from '@provoly/dashboard';
4
+ import { GlobalManifest, IMetadata, ManifestDescription, MetadataValue, SubscriptionnerDirective } from '@provoly/dashboard';
6
5
  import { BehaviorSubject, Observable } from 'rxjs';
7
6
  import { MetaEventType } from '@provoly/dashboard/components/metadata-editor';
7
+ import { PresentationFormValue } from '@provoly/dashboard/toolbox';
8
8
  import * as i0 from "@angular/core";
9
- export declare class PryAddEditPresentationComponent extends SubscriptionnerDirective implements OnInit, AfterViewInit {
9
+ export declare class PryAddEditPresentationComponent extends SubscriptionnerDirective {
10
10
  protected store: Store;
11
11
  protected router: Router;
12
12
  staticManifest$: Observable<GlobalManifest>;
13
- selectedPresentation$: BehaviorSubject<ManifestDescription | null>;
14
- edition: boolean;
15
- themePrefix: string | null;
16
- editionStartUrl: string;
17
- form: FormGroup;
18
- image: string;
19
- goBack: EventEmitter<void>;
20
- type: LibraryTypes;
13
+ selectedPresentation$: BehaviorSubject<ManifestDescription | undefined>;
21
14
  chosenLayout: string;
22
- possibleThemes: string[];
23
15
  metadataDefs: IMetadata[] | undefined;
24
16
  metadataThemeId: string;
25
- set selectedPresentation(presentation: ManifestDescription | null);
17
+ formValue?: Partial<PresentationFormValue>;
18
+ isFormValid: boolean;
19
+ set selectedPresentation(presentation: ManifestDescription | undefined);
20
+ edition: boolean;
21
+ themePrefix: string | null;
22
+ editionStartUrl: string;
26
23
  mode: 'theme' | 'meta';
24
+ goBack: EventEmitter<void>;
27
25
  constructor(store: Store, router: Router);
28
- ngOnInit(): void;
29
- ngAfterViewInit(): void;
30
26
  save(): void;
31
27
  dispatchSave(): ManifestDescription;
32
28
  configureDashboard(selectedPresentation: ManifestDescription): void;
33
29
  addMetadata(metadata: MetaEventType): void;
34
30
  removeMetadata(metadata: MetaEventType): void;
35
31
  close(): void;
36
- metadata(): {
37
- metadataDef: IMetadata;
38
- value: any;
39
- }[];
32
+ metadata(): MetadataValue[];
40
33
  static ɵfac: i0.ɵɵFactoryDeclaration<PryAddEditPresentationComponent, [null, { optional: true; }]>;
41
- static ɵcmp: i0.ɵɵComponentDeclaration<PryAddEditPresentationComponent, "pry-add-edit-presentation", never, { "edition": { "alias": "edition"; "required": false; }; "themePrefix": { "alias": "themePrefix"; "required": false; }; "editionStartUrl": { "alias": "editionStartUrl"; "required": false; }; "selectedPresentation": { "alias": "selectedPresentation"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; }, { "goBack": "goBack"; }, never, never, false, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<PryAddEditPresentationComponent, "pry-add-edit-presentation", never, { "selectedPresentation": { "alias": "selectedPresentation"; "required": false; }; "edition": { "alias": "edition"; "required": false; }; "themePrefix": { "alias": "themePrefix"; "required": false; }; "editionStartUrl": { "alias": "editionStartUrl"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; }, { "goBack": "goBack"; }, never, never, false, never>;
42
35
  }
@@ -16,27 +16,26 @@ export declare class PryPresentationComponent extends SubscriptionnerDirective {
16
16
  private access;
17
17
  private dialog;
18
18
  manifests$: Observable<ManifestDescription[]>;
19
- selectedPresentation$: BehaviorSubject<ManifestDescription | null>;
19
+ selectedPresentation$: BehaviorSubject<ManifestDescription | undefined>;
20
20
  staticManifest$?: Observable<DashboardManifest>;
21
21
  selectedMode: ViewMode;
22
- modalOpened: boolean;
23
22
  templateModalActions: TemplateRef<any>;
24
23
  openModal: ElementRef<HTMLButtonElement>;
25
24
  overlayRef?: OverlayRef;
26
25
  accessRightsByGroup: {
27
26
  [key: string]: string[];
28
27
  };
28
+ ViewMode: typeof ViewMode;
29
+ search$: BehaviorSubject<string>;
30
+ filteredPresentations$: Observable<ManifestDescription[]>;
29
31
  editionStartUrl: string;
30
32
  consultStartUrl: string;
31
33
  meAsOwner?: string;
32
34
  themePrefix: string | null;
33
- ViewMode: typeof ViewMode;
34
- search$: BehaviorSubject<string>;
35
- filteredPresentations$: Observable<ManifestDescription[]>;
36
- listOfManifests$: BehaviorSubject<ManifestDescription[] | null>;
37
35
  mode: 'theme' | 'meta';
38
- set listOfManifests(manifests: ManifestDescription[] | null);
39
36
  hideToolbox: boolean;
37
+ listOfManifests$: BehaviorSubject<ManifestDescription[] | null>;
38
+ set listOfManifests(manifests: ManifestDescription[] | null);
40
39
  inputSearch$: BehaviorSubject<string>;
41
40
  set search(query: string);
42
41
  constructor(store: Store<any>, overlay: Overlay, viewContainerRef: ViewContainerRef, router: Router, titleService: PryTitleService, activatedRoute: ActivatedRoute, ngZone: NgZone, access: PryBaseAccess, dialog: PryDialogService);
@@ -51,5 +50,5 @@ export declare class PryPresentationComponent extends SubscriptionnerDirective {
51
50
  isPrivate(presentation: ManifestDescription): boolean;
52
51
  canModify$(presentation: ManifestDescription): Observable<boolean>;
53
52
  static ɵfac: i0.ɵɵFactoryDeclaration<PryPresentationComponent, [null, null, null, null, null, null, null, { optional: true; }, null]>;
54
- static ɵcmp: i0.ɵɵComponentDeclaration<PryPresentationComponent, "pry-presentation", never, { "editionStartUrl": { "alias": "editionStartUrl"; "required": false; }; "consultStartUrl": { "alias": "consultStartUrl"; "required": false; }; "meAsOwner": { "alias": "meAsOwner"; "required": false; }; "themePrefix": { "alias": "themePrefix"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "listOfManifests": { "alias": "listOfManifests"; "required": false; }; "hideToolbox": { "alias": "hideToolbox"; "required": false; }; "search": { "alias": "search"; "required": false; }; }, {}, never, never, false, never>;
53
+ static ɵcmp: i0.ɵɵComponentDeclaration<PryPresentationComponent, "pry-presentation", never, { "editionStartUrl": { "alias": "editionStartUrl"; "required": false; }; "consultStartUrl": { "alias": "consultStartUrl"; "required": false; }; "meAsOwner": { "alias": "meAsOwner"; "required": false; }; "themePrefix": { "alias": "themePrefix"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "hideToolbox": { "alias": "hideToolbox"; "required": false; }; "listOfManifests": { "alias": "listOfManifests"; "required": false; }; "search": { "alias": "search"; "required": false; }; }, {}, never, never, false, never>;
55
54
  }
@@ -24,10 +24,6 @@ pry-add-edit-presentation {
24
24
  }
25
25
 
26
26
  .o-manifest-layout__toolbox {
27
- display: flex;
28
- flex-direction: row;
29
- justify-content: space-between;
30
- align-items: center;
31
27
  gap: toRem(15);
32
28
  }
33
29
 
@@ -35,17 +31,24 @@ pry-add-edit-presentation {
35
31
  display: flex;
36
32
  padding-bottom: toRem(5);
37
33
  gap: 3rem;
34
+
35
+ > :first-child {
36
+ flex: 2 auto;
37
+ }
38
+
39
+ > :only-child {
40
+ max-width: toRem(700);
41
+ }
38
42
  }
39
43
 
40
44
  .o-presentation__metadata-editor {
41
- flex: 1 50%;
45
+ flex-basis: 50%;
42
46
  }
43
47
 
44
48
  .o-presentation-form {
45
49
  display: flex;
46
50
  flex-direction: column;
47
51
  align-items: center;
48
- flex: 1 50%;
49
52
 
50
53
  .a-presentation-form-input {
51
54
  padding: 0.25rem 0.75rem;
@@ -78,7 +81,3 @@ pry-add-edit-presentation {
78
81
  }
79
82
  }
80
83
  }
81
-
82
- .a-presentation-title {
83
- padding: 10px;
84
- }
@@ -5,9 +5,7 @@
5
5
 
6
6
  .o-manifest-layout {
7
7
  &__toolbox {
8
- div:first-child {
9
- margin-left: auto;
10
- }
8
+ justify-content: space-between;
11
9
 
12
10
  &.-u-hidden {
13
11
  display: none;
@@ -72,6 +72,9 @@
72
72
  &.-no-gap {
73
73
  gap: 0;
74
74
  }
75
+ &.-gap-10 {
76
+ gap: toRem(10);
77
+ }
75
78
  }
76
79
 
77
80
  .u-self-center {
@@ -181,4 +181,8 @@
181
181
  &.-width-full {
182
182
  width: 100%;
183
183
  }
184
+
185
+ &.-pad-5 {
186
+ padding: 0 toRem(5);
187
+ }
184
188
  }
@@ -6,7 +6,11 @@
6
6
  @extend %list-unstyled;
7
7
  display: flex;
8
8
  align-items: center;
9
- gap: toRem(15);
9
+ gap: toRem(30);
10
+
11
+ &__item:has(pry-toolbox-action:empty) {
12
+ display: none;
13
+ }
10
14
 
11
15
  /* MODFIFIERS */
12
16
  &.-vertical {
@@ -3,13 +3,9 @@
3
3
  /* Molecule - presentation title */
4
4
 
5
5
  .m-presentation-title {
6
- display: flex;
7
- gap: toRem(10);
8
-
9
6
  &__text {
10
- display: flex;
7
+ font-size: toRem(24);
11
8
  padding-top: 0;
12
9
  padding-bottom: 0;
13
10
  }
14
11
  }
15
-
@@ -157,6 +157,7 @@
157
157
 
158
158
  .a-btn {
159
159
  @include outlineOnFocus($border-radius: 4px);
160
+ height: toRem(40);
160
161
  }
161
162
  }
162
163
 
@@ -18,11 +18,14 @@
18
18
  height: 100%;
19
19
  padding: toRem(20);
20
20
  }
21
+
21
22
  &__toolbox {
22
23
  grid-area: tools;
23
24
  display: flex;
24
25
  align-items: center;
25
- padding: toRem(20);
26
+ justify-content: flex-end;
27
+ padding-right: toRem(10);
28
+ border-bottom: toRem(1) solid #D8E7F7;
26
29
  }
27
30
 
28
31
  &__dashboard {
@@ -30,24 +33,4 @@
30
33
  overflow: hidden;
31
34
  height: 100%;
32
35
  }
33
-
34
- #{$this}__toolbox {
35
- border-bottom-width: toRem(1);
36
- border-bottom-style: solid;
37
-
38
- .m-actions-list {
39
- gap: toRem(15);
40
-
41
- &__item {
42
- &.is-screen-size-select {
43
- width: 157px;
44
- padding-left: toRem(15);
45
- }
46
- }
47
-
48
- .a-toggle {
49
- width: toRem(230);
50
- }
51
- }
52
- }
53
36
  }
@@ -68,6 +68,22 @@
68
68
  }
69
69
  }
70
70
 
71
+ &--ghost,
72
+ &.a-btn--secondary.-circle {
73
+ gap: toRem(8);
74
+
75
+ &:hover {
76
+ @include changeBgColor(
77
+ $targetBgColor: themed($theme-map, 'color', 'primary', 300)
78
+ );
79
+ }
80
+
81
+ &.-disabled,
82
+ &:disabled {
83
+ opacity: 0.5;
84
+ }
85
+ }
86
+
71
87
  &--icon-only {
72
88
  @include outlineOnFocus($border-radius: 5px);
73
89
  }
@@ -87,8 +87,6 @@
87
87
  /* Layout */
88
88
  @use 'layout-theme/o-base-layout.theme' as *;
89
89
  @use 'layout-theme/o-manifest-layout.theme' as *;
90
- @use 'layout-theme/o-workspace.theme' as *;
91
- @use 'layout-theme/o-workspace.theme' as *;
92
90
 
93
91
  /* Libs */
94
92
  @use 'libs-theme/reset-lib-ol.theme' as *;
@@ -3,7 +3,7 @@ import { OnInit, TemplateRef, ViewContainerRef } from '@angular/core';
3
3
  import { Store } from '@ngrx/store';
4
4
  import { PryBaseAccess, WidgetFactoryService } from '@provoly/dashboard';
5
5
  import { Observable } from 'rxjs';
6
- import { ToolboxActionComponent } from '../toolbox-action/toolbox-action.component';
6
+ import { ToolboxActionComponent } from '../../shared/toolbox-action/toolbox-action.component';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare class AutomateRefreshComponent extends ToolboxActionComponent implements OnInit {
9
9
  private overlay;
@@ -1,6 +1,6 @@
1
1
  import { Store } from '@ngrx/store';
2
2
  import { PryBaseAccess } from '@provoly/dashboard';
3
- import { ToolboxActionComponent } from '../toolbox-action/toolbox-action.component';
3
+ import { ToolboxActionComponent } from '../../shared/toolbox-action/toolbox-action.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class ClearViewComponent extends ToolboxActionComponent {
6
6
  constructor(store: Store, access: PryBaseAccess);
@@ -1,7 +1,7 @@
1
1
  import { Store } from '@ngrx/store';
2
2
  import { PryBaseAccess } from '@provoly/dashboard';
3
3
  import { ConnectedPosition } from '@angular/cdk/overlay';
4
- import { ToolboxActionComponent } from '../toolbox-action/toolbox-action.component';
4
+ import { ToolboxActionComponent } from '../../shared/toolbox-action/toolbox-action.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class DashboardDetailsComponent extends ToolboxActionComponent {
7
7
  isPanelOpen: boolean;
@@ -1,5 +1,5 @@
1
1
  import { PryBaseAccess } from '@provoly/dashboard';
2
- import { ToolboxActionComponent } from '../toolbox-action/toolbox-action.component';
2
+ import { ToolboxActionComponent } from '../../shared/toolbox-action/toolbox-action.component';
3
3
  import { Store } from '@ngrx/store';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class DeleteComponent extends ToolboxActionComponent {
@@ -2,7 +2,7 @@ import { ConnectedPosition } from '@angular/cdk/overlay';
2
2
  import { Store } from '@ngrx/store';
3
3
  import { PryBaseAccess, ToolboxManifestService, ToolboxMenuService, WidgetDescriptionMenu } from '@provoly/dashboard';
4
4
  import { Observable } from 'rxjs';
5
- import { ToolboxActionComponent } from '../toolbox-action/toolbox-action.component';
5
+ import { ToolboxActionComponent } from '../../shared/toolbox-action/toolbox-action.component';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class DragWidgetsComponent extends ToolboxActionComponent {
8
8
  private toolboxManifestService;
@@ -1,7 +1,7 @@
1
1
  import { Store } from '@ngrx/store';
2
2
  import { PryBaseAccess } from '@provoly/dashboard';
3
3
  import { Observable } from 'rxjs';
4
- import { ToolboxActionComponent } from '../toolbox-action/toolbox-action.component';
4
+ import { ToolboxActionComponent } from '../../shared/toolbox-action/toolbox-action.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class EditModeActionComponent extends ToolboxActionComponent {
7
7
  modeEdition$: Observable<boolean>;
@@ -1,7 +1,7 @@
1
1
  import { Store } from '@ngrx/store';
2
2
  import { PryBaseAccess } from '@provoly/dashboard';
3
3
  import { Observable } from 'rxjs';
4
- import { ToolboxActionComponent } from '../toolbox-action/toolbox-action.component';
4
+ import { ToolboxActionComponent } from '../../shared/toolbox-action/toolbox-action.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class EditModeToggleComponent extends ToolboxActionComponent {
7
7
  modeEdition$: Observable<boolean>;
@@ -0,0 +1,22 @@
1
+ import { TemplateRef, ViewContainerRef } from '@angular/core';
2
+ import { ToolboxActionComponent } from '../../shared/toolbox-action/toolbox-action.component';
3
+ import { Store } from '@ngrx/store';
4
+ import { PryBaseAccess } from '@provoly/dashboard';
5
+ import { PresentationFormValue } from '../../shared/presentation-form/presentation-form.component';
6
+ import { Overlay, OverlayRef } from '@angular/cdk/overlay';
7
+ import * as i0 from "@angular/core";
8
+ export declare class EditPresentationComponent extends ToolboxActionComponent {
9
+ private overlay;
10
+ private viewContainerRef;
11
+ template: TemplateRef<any>;
12
+ isModalOpen: boolean;
13
+ overlayRef?: OverlayRef;
14
+ formValue?: Partial<PresentationFormValue>;
15
+ isFormValid: boolean;
16
+ constructor(store: Store<any>, access: PryBaseAccess, overlay: Overlay, viewContainerRef: ViewContainerRef);
17
+ openModal(): void;
18
+ closeModal(): void;
19
+ save(): void;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<EditPresentationComponent, [null, { optional: true; }, null, null]>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<EditPresentationComponent, "pry-edit-details", never, {}, {}, never, never, false, never>;
22
+ }
@@ -4,7 +4,7 @@ import { Injector, TemplateRef, ViewContainerRef } from '@angular/core';
4
4
  import { Store } from '@ngrx/store';
5
5
  import { Class, DataSource, FieldType, Filter, FilterFactoryService, GlobalManifest, PryBaseAccess, PryI18nService } from '@provoly/dashboard';
6
6
  import { BehaviorSubject, Observable } from 'rxjs';
7
- import { ToolboxActionComponent } from '../toolbox-action/toolbox-action.component';
7
+ import { ToolboxActionComponent } from '../../shared/toolbox-action/toolbox-action.component';
8
8
  import * as i0 from "@angular/core";
9
9
  export declare enum FilterSteps {
10
10
  LIST = "list",
@@ -1,6 +1,6 @@
1
1
  import { Store } from '@ngrx/store';
2
2
  import { PryBaseAccess } from '@provoly/dashboard';
3
- import { ToolboxActionComponent } from '../toolbox-action/toolbox-action.component';
3
+ import { ToolboxActionComponent } from '../../shared/toolbox-action/toolbox-action.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class LaunchTabComponent extends ToolboxActionComponent {
6
6
  constructor(store: Store, access: PryBaseAccess);
@@ -1,7 +1,7 @@
1
1
  import { Store } from '@ngrx/store';
2
2
  import { GlobalManifest, PryBaseAccess, WidgetFactoryService } from '@provoly/dashboard';
3
3
  import { Observable } from 'rxjs';
4
- import { ToolboxActionComponent } from '../toolbox-action/toolbox-action.component';
4
+ import { ToolboxActionComponent } from '../../shared/toolbox-action/toolbox-action.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class RefreshDatasetsComponent extends ToolboxActionComponent {
7
7
  private widgetFactoryService;
@@ -1,9 +1,10 @@
1
1
  import { Overlay, OverlayRef } from '@angular/cdk/overlay';
2
2
  import { ElementRef, TemplateRef, ViewContainerRef } from '@angular/core';
3
3
  import { Store } from '@ngrx/store';
4
- import { LibraryTypes, PryBaseAccess, ViewMode } from '@provoly/dashboard';
4
+ import { PryBaseAccess, ViewMode } from '@provoly/dashboard';
5
5
  import { Observable } from 'rxjs';
6
- import { ToolboxActionComponent } from '../toolbox-action/toolbox-action.component';
6
+ import { ToolboxActionComponent } from '../../shared/toolbox-action/toolbox-action.component';
7
+ import { PresentationFormValue } from '../../shared/presentation-form/presentation-form.component';
7
8
  import * as i0 from "@angular/core";
8
9
  export declare class SaveViewComponent extends ToolboxActionComponent {
9
10
  private overlay;
@@ -24,13 +25,14 @@ export declare class SaveViewComponent extends ToolboxActionComponent {
24
25
  accessRightsByGroup: {
25
26
  [key: string]: string[];
26
27
  };
27
- type: LibraryTypes;
28
28
  saveTypeOpened: boolean;
29
29
  isCurrentPresentationModified$: Observable<boolean>;
30
30
  nbPages: number;
31
31
  initialNbPages: number;
32
32
  hasInitial: boolean;
33
33
  ViewMode: typeof ViewMode;
34
+ formValue?: Partial<PresentationFormValue>;
35
+ isFormValid: boolean;
34
36
  constructor(store: Store, access: PryBaseAccess, overlay: Overlay, viewContainerRef: ViewContainerRef);
35
37
  toggleSaveAs(): void;
36
38
  save(): void;
@@ -38,10 +40,7 @@ export declare class SaveViewComponent extends ToolboxActionComponent {
38
40
  changeAccessRights($event: {
39
41
  [key: string]: string[];
40
42
  }): void;
41
- changeValue($event: string): void;
42
- changeDescr($event: string): void;
43
43
  openSaveAs(): void;
44
- isValid(): boolean | "" | undefined;
45
44
  toggleDirectSaveType(): void;
46
45
  get mustOpenModal(): boolean;
47
46
  directSave(): void;
@@ -3,7 +3,7 @@ import { ElementRef, TemplateRef, ViewContainerRef } from '@angular/core';
3
3
  import { Store } from '@ngrx/store';
4
4
  import { AutomaticGridLayoutDefinition, PryBaseAccess } from '@provoly/dashboard';
5
5
  import { Observable } from 'rxjs';
6
- import { ToolboxActionComponent } from '../toolbox-action/toolbox-action.component';
6
+ import { ToolboxActionComponent } from '../../shared/toolbox-action/toolbox-action.component';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare class SelectGridLayoutComponent extends ToolboxActionComponent {
9
9
  private overlay;
@@ -1,6 +1,6 @@
1
1
  import { Store } from '@ngrx/store';
2
2
  import { PryBaseAccess, PryDialogService } from '@provoly/dashboard';
3
- import { ToolboxActionComponent } from '../toolbox-action/toolbox-action.component';
3
+ import { ToolboxActionComponent } from '../../shared/toolbox-action/toolbox-action.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class ShareComponent extends ToolboxActionComponent {
6
6
  private dialog;
@@ -1,6 +1,6 @@
1
1
  import { Store } from '@ngrx/store';
2
2
  import { PryBaseAccess } from '@provoly/dashboard';
3
- import { ToolboxActionComponent } from '../toolbox-action/toolbox-action.component';
3
+ import { ToolboxActionComponent } from '../../shared/toolbox-action/toolbox-action.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class SwitchToEditContentComponent extends ToolboxActionComponent {
6
6
  constructor(store: Store, access: PryBaseAccess);
@@ -1,6 +1,6 @@
1
1
  import { OnInit } from '@angular/core';
2
2
  import { Store } from '@ngrx/store';
3
- import { DisplayOptions, PryBaseAccess } from '@provoly/dashboard';
3
+ import { DisplayOptions, ManifestDescription, PryBaseAccess } from '@provoly/dashboard';
4
4
  import { BehaviorSubject, Observable } from 'rxjs';
5
5
  import { ToolboxAction } from '../toolbox.model';
6
6
  import { ConnectedPosition } from '@angular/cdk/overlay';
@@ -23,7 +23,7 @@ export declare class ToolboxComponent implements OnInit {
23
23
  isDropdownOpen: boolean;
24
24
  actionsAvailable$: Observable<DisplayOptions | undefined>;
25
25
  showEditToggle$: Observable<boolean>;
26
- private presentation$;
26
+ private currentManifest$;
27
27
  set actions(actions: ToolboxAction[]);
28
28
  set dropdownActions(dropdownActions: {
29
29
  name: string;
@@ -34,6 +34,7 @@ export declare class ToolboxComponent implements OnInit {
34
34
  openDropdown($event: Event): void;
35
35
  closeDropdown($event: Event | void): void;
36
36
  getOrder(actionName: string): number | undefined;
37
+ isActionVisible(action: ToolboxAction, manifest: ManifestDescription | undefined): boolean;
37
38
  static ɵfac: i0.ɵɵFactoryDeclaration<ToolboxComponent, [null, { optional: true; }]>;
38
39
  static ɵcmp: i0.ɵɵComponentDeclaration<ToolboxComponent, "pry-toolbox", never, { "displayLabels": { "alias": "displayLabels"; "required": false; }; "dropdownPosition": { "alias": "dropdownPosition"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; "dropdownActions": { "alias": "dropdownActions"; "required": false; }; }, {}, never, never, false, never>;
39
40
  }