@provoly/dashboard 0.23.13 → 0.24.1

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 (29) hide show
  1. package/assets/svgs/dashboard-about.svg +4 -0
  2. package/esm2022/lib/core/i18n/en.translations.mjs +2 -1
  3. package/esm2022/lib/core/i18n/fr.translations.mjs +2 -1
  4. package/esm2022/lib/core/model/display-options.interface.mjs +7 -4
  5. package/esm2022/lib/core/model/manifest.interface.mjs +1 -1
  6. package/esm2022/toolbox/components/dashboard-details/dashboard-details.component.mjs +45 -0
  7. package/esm2022/toolbox/components/toolbox.component.mjs +9 -9
  8. package/esm2022/toolbox/public-api.mjs +13 -12
  9. package/esm2022/toolbox/style/css.component.mjs +3 -3
  10. package/esm2022/toolbox/toolbox.model.mjs +10 -2
  11. package/esm2022/toolbox/toolbox.module.mjs +8 -4
  12. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +3 -3
  13. package/fesm2022/provoly-dashboard-toolbox.mjs +54 -9
  14. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  15. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +2 -2
  16. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  17. package/fesm2022/provoly-dashboard.mjs +8 -3
  18. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  19. package/lib/core/i18n/en.translations.d.ts +1 -0
  20. package/lib/core/i18n/fr.translations.d.ts +1 -0
  21. package/lib/core/model/display-options.interface.d.ts +1 -0
  22. package/lib/core/model/manifest.interface.d.ts +1 -0
  23. package/package.json +37 -37
  24. package/styles-theme/abstracts-theme/variables/_variables-colors.scss +1 -0
  25. package/styles-theme/abstracts-theme/variables/_variables-decoration.scss +1 -1
  26. package/toolbox/components/dashboard-details/dashboard-details.component.d.ts +16 -0
  27. package/toolbox/public-api.d.ts +12 -11
  28. package/toolbox/style/_o-dashboard-details.component.scss +67 -0
  29. package/toolbox/toolbox.module.d.ts +10 -9
@@ -115,11 +115,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
115
115
 
116
116
  class PrySelectGridLayoutCssComponent {
117
117
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PrySelectGridLayoutCssComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
118
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PrySelectGridLayoutCssComponent, selector: "pry-toolbox-css", ngImport: i0, template: '', isInline: true, styles: [".o-select-grid-layout{margin:0;padding:0}.o-select-grid-layout li{list-style:none}.o-select-grid-layout-wrapper{overflow-y:auto;max-height:80%}.o-select-grid-layout-modal-wrapper{max-width:80%}.o-select-grid-layout{overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,auto));grid-gap:1.875rem;padding:.25rem .25rem 1.875rem}.o-select-grid-layout__item .a-btn{display:flex;flex-direction:column;align-items:center;justify-content:space-around;width:100%;height:18.75rem;padding:.9375rem;border-radius:0;text-align:left}.o-select-grid-layout__item .a-btn:focus{outline:2px solid #35b99f}.o-select-grid-layout__item .a-btn:focus:not(:focus-visible){outline:0}.o-select-grid-layout__item .a-btn:focus-visible{outline:0;border-radius:.125rem;box-shadow:0 0 0 2px #fff,0 0 0 4px #35b99f}.o-select-grid-layout__item .a-btn strong{display:block}.o-select-grid-layout__item .a-btn .a-p{margin-bottom:0;font-size:13px}.o-select-grid-layout__item__preview{height:6.25rem;width:100%}\n", ".o-select-grid-layout-wrapper{overflow-y:auto;max-height:80%}.o-select-grid-layout-modal-wrapper{max-width:60%;padding:1.875rem 2.5rem}.o-filters{width:100%}.o-filters__header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1.875rem;border-bottom:1px solid #dfe5ec}.o-filters__header h2{padding:0}.o-filters__header .back-button{transform:rotate(180deg)}.o-filters__content{display:flex;flex-direction:column;padding-top:1.25rem}.o-filters__content>.a-btn{margin-top:1.25rem;align-self:center}.o-filters__filter td:first-child{min-width:20%;max-width:30%}.o-filters__filter td:nth-child(2){min-width:50%;max-width:60%}.o-filters__filter td:nth-child(3){width:8%}.o-filters__filter td:nth-child(4){width:8%}.o-filters__filter td:last-child{width:4%}.o-filters__filter.cdk-drag-preview{background-color:#fff}.o-filters__filter.cdk-drag-preview td{padding:.75rem .5rem}.o-filters__filter .cdk-drag-handle{pointer-events:auto}.o-filters__filter .cdk-drag-handle:hover{cursor:grab}.o-filters tr.o-filters__filter{cursor:default}.o-filters__no-filters{padding-bottom:1.875rem}\n", ".o-draggable-menu{width:fit-content}.o-draggable-menu__list{display:flex;flex-direction:column;padding:.25rem 0;align-items:flex-end}\n", ".refresh-rs>div{padding-left:0;padding-right:0}.refresh-rs button.refresh-line{border-radius:0;padding:0 .9375rem}.refresh-rs button.refresh-line:hover{font-weight:400;background-color:#0000001a}.refresh-rs button.refresh-line.-selected{background-color:#00000026}\n"], encapsulation: i0.ViewEncapsulation.None }); }
118
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PrySelectGridLayoutCssComponent, selector: "pry-toolbox-css", ngImport: i0, template: '', isInline: true, styles: [".o-select-grid-layout{margin:0;padding:0}.o-select-grid-layout li{list-style:none}.o-select-grid-layout-wrapper{overflow-y:auto;max-height:80%}.o-select-grid-layout-modal-wrapper{max-width:80%}.o-select-grid-layout{overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,auto));grid-gap:1.875rem;padding:.25rem .25rem 1.875rem}.o-select-grid-layout__item .a-btn{display:flex;flex-direction:column;align-items:center;justify-content:space-around;width:100%;height:18.75rem;padding:.9375rem;border-radius:0;text-align:left}.o-select-grid-layout__item .a-btn:focus{outline:2px solid #35b99f}.o-select-grid-layout__item .a-btn:focus:not(:focus-visible){outline:0}.o-select-grid-layout__item .a-btn:focus-visible{outline:0;border-radius:.125rem;box-shadow:0 0 0 2px #fff,0 0 0 4px #35b99f}.o-select-grid-layout__item .a-btn strong{display:block}.o-select-grid-layout__item .a-btn .a-p{margin-bottom:0;font-size:13px}.o-select-grid-layout__item__preview{height:6.25rem;width:100%}\n", ".o-select-grid-layout-wrapper{overflow-y:auto;max-height:80%}.o-select-grid-layout-modal-wrapper{max-width:60%;padding:1.875rem 2.5rem}.o-filters{width:100%}.o-filters__header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1.875rem;border-bottom:1px solid #dfe5ec}.o-filters__header h2{padding:0}.o-filters__header .back-button{transform:rotate(180deg)}.o-filters__content{display:flex;flex-direction:column;padding-top:1.25rem}.o-filters__content>.a-btn{margin-top:1.25rem;align-self:center}.o-filters__filter td:first-child{min-width:20%;max-width:30%}.o-filters__filter td:nth-child(2){min-width:50%;max-width:60%}.o-filters__filter td:nth-child(3){width:8%}.o-filters__filter td:nth-child(4){width:8%}.o-filters__filter td:last-child{width:4%}.o-filters__filter.cdk-drag-preview{background-color:#fff}.o-filters__filter.cdk-drag-preview td{padding:.75rem .5rem}.o-filters__filter .cdk-drag-handle{pointer-events:auto}.o-filters__filter .cdk-drag-handle:hover{cursor:grab}.o-filters tr.o-filters__filter{cursor:default}.o-filters__no-filters{padding-bottom:1.875rem}\n", ".o-draggable-menu{width:fit-content}.o-draggable-menu__list{display:flex;flex-direction:column;padding:.25rem 0;align-items:flex-end}\n", ".refresh-rs>div{padding-left:0;padding-right:0}.refresh-rs button.refresh-line{border-radius:0;padding:0 .9375rem}.refresh-rs button.refresh-line:hover{font-weight:400;background-color:#0000001a}.refresh-rs button.refresh-line.-selected{background-color:#00000026}\n", ".o-dashboard-details.a-btn{gap:.5rem}.o-dashboard-details.a-btn:hover{transition:background-color .3s ease,color .3s ease;background-color:#d8e7f7}#dashboard-details-panel .o-modal__top{margin:0;padding:0}#dashboard-details-panel .o-modal__top__title{font-size:1.125rem;color:#253043;padding-bottom:.3125rem}#dashboard-details-panel .o-modal__content{padding:0}#dashboard-details-panel h5{font-weight:700;font-size:.875rem;color:#253043;padding:0;margin:0}#dashboard-details-panel span,#dashboard-details-panel p{font-size:.875rem;color:#263340}#dashboard-details-panel div{padding-bottom:10px}#dashboard-details-panel ul{margin:0}#dashboard-details-panel li{color:#253043;font-size:.875rem}.o-modal-wrapper:has(#dashboard-details-panel){max-height:25rem;padding:.5rem .9375rem .9375rem .625rem}\n"], encapsulation: i0.ViewEncapsulation.None }); }
119
119
  }
120
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PrySelectGridLayoutCssComponent, decorators: [{
121
121
  type: Component,
122
- args: [{ selector: 'pry-toolbox-css', template: '', encapsulation: ViewEncapsulation.None, styles: [".o-select-grid-layout{margin:0;padding:0}.o-select-grid-layout li{list-style:none}.o-select-grid-layout-wrapper{overflow-y:auto;max-height:80%}.o-select-grid-layout-modal-wrapper{max-width:80%}.o-select-grid-layout{overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,auto));grid-gap:1.875rem;padding:.25rem .25rem 1.875rem}.o-select-grid-layout__item .a-btn{display:flex;flex-direction:column;align-items:center;justify-content:space-around;width:100%;height:18.75rem;padding:.9375rem;border-radius:0;text-align:left}.o-select-grid-layout__item .a-btn:focus{outline:2px solid #35b99f}.o-select-grid-layout__item .a-btn:focus:not(:focus-visible){outline:0}.o-select-grid-layout__item .a-btn:focus-visible{outline:0;border-radius:.125rem;box-shadow:0 0 0 2px #fff,0 0 0 4px #35b99f}.o-select-grid-layout__item .a-btn strong{display:block}.o-select-grid-layout__item .a-btn .a-p{margin-bottom:0;font-size:13px}.o-select-grid-layout__item__preview{height:6.25rem;width:100%}\n", ".o-select-grid-layout-wrapper{overflow-y:auto;max-height:80%}.o-select-grid-layout-modal-wrapper{max-width:60%;padding:1.875rem 2.5rem}.o-filters{width:100%}.o-filters__header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1.875rem;border-bottom:1px solid #dfe5ec}.o-filters__header h2{padding:0}.o-filters__header .back-button{transform:rotate(180deg)}.o-filters__content{display:flex;flex-direction:column;padding-top:1.25rem}.o-filters__content>.a-btn{margin-top:1.25rem;align-self:center}.o-filters__filter td:first-child{min-width:20%;max-width:30%}.o-filters__filter td:nth-child(2){min-width:50%;max-width:60%}.o-filters__filter td:nth-child(3){width:8%}.o-filters__filter td:nth-child(4){width:8%}.o-filters__filter td:last-child{width:4%}.o-filters__filter.cdk-drag-preview{background-color:#fff}.o-filters__filter.cdk-drag-preview td{padding:.75rem .5rem}.o-filters__filter .cdk-drag-handle{pointer-events:auto}.o-filters__filter .cdk-drag-handle:hover{cursor:grab}.o-filters tr.o-filters__filter{cursor:default}.o-filters__no-filters{padding-bottom:1.875rem}\n", ".o-draggable-menu{width:fit-content}.o-draggable-menu__list{display:flex;flex-direction:column;padding:.25rem 0;align-items:flex-end}\n", ".refresh-rs>div{padding-left:0;padding-right:0}.refresh-rs button.refresh-line{border-radius:0;padding:0 .9375rem}.refresh-rs button.refresh-line:hover{font-weight:400;background-color:#0000001a}.refresh-rs button.refresh-line.-selected{background-color:#00000026}\n"] }]
122
+ args: [{ selector: 'pry-toolbox-css', template: '', encapsulation: ViewEncapsulation.None, styles: [".o-select-grid-layout{margin:0;padding:0}.o-select-grid-layout li{list-style:none}.o-select-grid-layout-wrapper{overflow-y:auto;max-height:80%}.o-select-grid-layout-modal-wrapper{max-width:80%}.o-select-grid-layout{overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,auto));grid-gap:1.875rem;padding:.25rem .25rem 1.875rem}.o-select-grid-layout__item .a-btn{display:flex;flex-direction:column;align-items:center;justify-content:space-around;width:100%;height:18.75rem;padding:.9375rem;border-radius:0;text-align:left}.o-select-grid-layout__item .a-btn:focus{outline:2px solid #35b99f}.o-select-grid-layout__item .a-btn:focus:not(:focus-visible){outline:0}.o-select-grid-layout__item .a-btn:focus-visible{outline:0;border-radius:.125rem;box-shadow:0 0 0 2px #fff,0 0 0 4px #35b99f}.o-select-grid-layout__item .a-btn strong{display:block}.o-select-grid-layout__item .a-btn .a-p{margin-bottom:0;font-size:13px}.o-select-grid-layout__item__preview{height:6.25rem;width:100%}\n", ".o-select-grid-layout-wrapper{overflow-y:auto;max-height:80%}.o-select-grid-layout-modal-wrapper{max-width:60%;padding:1.875rem 2.5rem}.o-filters{width:100%}.o-filters__header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1.875rem;border-bottom:1px solid #dfe5ec}.o-filters__header h2{padding:0}.o-filters__header .back-button{transform:rotate(180deg)}.o-filters__content{display:flex;flex-direction:column;padding-top:1.25rem}.o-filters__content>.a-btn{margin-top:1.25rem;align-self:center}.o-filters__filter td:first-child{min-width:20%;max-width:30%}.o-filters__filter td:nth-child(2){min-width:50%;max-width:60%}.o-filters__filter td:nth-child(3){width:8%}.o-filters__filter td:nth-child(4){width:8%}.o-filters__filter td:last-child{width:4%}.o-filters__filter.cdk-drag-preview{background-color:#fff}.o-filters__filter.cdk-drag-preview td{padding:.75rem .5rem}.o-filters__filter .cdk-drag-handle{pointer-events:auto}.o-filters__filter .cdk-drag-handle:hover{cursor:grab}.o-filters tr.o-filters__filter{cursor:default}.o-filters__no-filters{padding-bottom:1.875rem}\n", ".o-draggable-menu{width:fit-content}.o-draggable-menu__list{display:flex;flex-direction:column;padding:.25rem 0;align-items:flex-end}\n", ".refresh-rs>div{padding-left:0;padding-right:0}.refresh-rs button.refresh-line{border-radius:0;padding:0 .9375rem}.refresh-rs button.refresh-line:hover{font-weight:400;background-color:#0000001a}.refresh-rs button.refresh-line.-selected{background-color:#00000026}\n", ".o-dashboard-details.a-btn{gap:.5rem}.o-dashboard-details.a-btn:hover{transition:background-color .3s ease,color .3s ease;background-color:#d8e7f7}#dashboard-details-panel .o-modal__top{margin:0;padding:0}#dashboard-details-panel .o-modal__top__title{font-size:1.125rem;color:#253043;padding-bottom:.3125rem}#dashboard-details-panel .o-modal__content{padding:0}#dashboard-details-panel h5{font-weight:700;font-size:.875rem;color:#253043;padding:0;margin:0}#dashboard-details-panel span,#dashboard-details-panel p{font-size:.875rem;color:#263340}#dashboard-details-panel div{padding-bottom:10px}#dashboard-details-panel ul{margin:0}#dashboard-details-panel li{color:#253043;font-size:.875rem}.o-modal-wrapper:has(#dashboard-details-panel){max-height:25rem;padding:.5rem .9375rem .9375rem .625rem}\n"] }]
123
123
  }] });
124
124
 
125
125
  var FilterSteps;
@@ -910,6 +910,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
910
910
  args: [{ selector: 'pry-delete-pres', template: "<ng-container *ngIf=\"this.presentation?.current?.owner\">\n <button type=\"button\" class=\"a-btn a-btn--secondary\" (click)=\"trigger()\">\n <ng-container *ngIf=\"displayLabels\">{{ '@pry.toolbox.delete' | i18n }}</ng-container>\n </button>\n</ng-container>\n" }]
911
911
  }], ctorParameters: () => [{ type: i1.Store }, { type: i2.Overlay }, { type: i0.ViewContainerRef }] });
912
912
 
913
+ class DashboardDetailsComponent extends ToolboxActionComponent {
914
+ constructor(store) {
915
+ super(store);
916
+ this.isPanelOpen = false;
917
+ this.panelPosition = [
918
+ {
919
+ originX: 'end',
920
+ originY: 'bottom',
921
+ overlayX: 'end',
922
+ overlayY: 'top',
923
+ offsetY: 5,
924
+ offsetX: 200
925
+ }
926
+ ];
927
+ this.currentPresentation$ = this.store
928
+ .select(DashboardSelectors.presentation)
929
+ .pipe(map((presentation) => presentation.current));
930
+ }
931
+ openPanel($event) {
932
+ this.isPanelOpen = true;
933
+ $event.stopPropagation();
934
+ }
935
+ closePanel($event) {
936
+ this.isPanelOpen = false;
937
+ if ($event)
938
+ $event.stopPropagation();
939
+ }
940
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DashboardDetailsComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
941
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: DashboardDetailsComponent, selector: "pry-dashboard-details", usesInheritance: true, ngImport: i0, template: "<pry-toolbox-css></pry-toolbox-css>\n@if (currentPresentation$ | async; as currentPresentation) {\n @if (currentPresentation.html) {\n <button\n class=\"a-btn o-dashboard-details\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n id=\"dashboard-details\"\n aria-controls=\"dashboard-details-panel\"\n aria-expanded=\"false\"\n (click)=\"openPanel($event)\"\n >\n <pry-icon iconSvg=\"dashboard-about\"></pry-icon>\n {{ '@pry.toolbox.about' | i18n }}\n </button>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isPanelOpen\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n cdkConnectedOverlayPanelClass=\"o-modal-wrapper\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayPositions]=\"panelPosition\"\n (backdropClick)=\"isPanelOpen = false\"\n >\n <div class=\"o-modal\" id=\"dashboard-details-panel\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.toolbox.about' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"closePanel($event)\">\n <pry-icon iconSvg=\"close\" [height]=\"20\" [width]=\"20\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <div class=\"o-modal__content\" [innerHTML]=\"currentPresentation.html\"></div>\n </div>\n </ng-template>\n }\n}\n", dependencies: [{ kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i3$1.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: PrySelectGridLayoutCssComponent, selector: "pry-toolbox-css" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.I18nPipe, name: "i18n" }] }); }
942
+ }
943
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DashboardDetailsComponent, decorators: [{
944
+ type: Component,
945
+ args: [{ selector: 'pry-dashboard-details', template: "<pry-toolbox-css></pry-toolbox-css>\n@if (currentPresentation$ | async; as currentPresentation) {\n @if (currentPresentation.html) {\n <button\n class=\"a-btn o-dashboard-details\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n id=\"dashboard-details\"\n aria-controls=\"dashboard-details-panel\"\n aria-expanded=\"false\"\n (click)=\"openPanel($event)\"\n >\n <pry-icon iconSvg=\"dashboard-about\"></pry-icon>\n {{ '@pry.toolbox.about' | i18n }}\n </button>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isPanelOpen\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n cdkConnectedOverlayPanelClass=\"o-modal-wrapper\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayPositions]=\"panelPosition\"\n (backdropClick)=\"isPanelOpen = false\"\n >\n <div class=\"o-modal\" id=\"dashboard-details-panel\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.toolbox.about' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"closePanel($event)\">\n <pry-icon iconSvg=\"close\" [height]=\"20\" [width]=\"20\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <div class=\"o-modal__content\" [innerHTML]=\"currentPresentation.html\"></div>\n </div>\n </ng-template>\n }\n}\n" }]
946
+ }], ctorParameters: () => [{ type: i1.Store }] });
947
+
913
948
  const ACTIONS = [
914
949
  {
915
950
  name: 'filter_settings',
@@ -987,7 +1022,14 @@ const ACTIONS = [
987
1022
  visible: true,
988
1023
  access: { module: 'dashboard', page: 'toolbox', action: 'delete' },
989
1024
  needsOwner: true
990
- }
1025
+ },
1026
+ {
1027
+ name: 'dashboard_details',
1028
+ component: DashboardDetailsComponent,
1029
+ visible: true,
1030
+ access: { module: 'dashboard', page: 'toolbox', action: 'delete' },
1031
+ needsOwner: false
1032
+ },
991
1033
  ];
992
1034
 
993
1035
  class ToolboxActionInstanciatorComponent extends SubscriptionnerDirective {
@@ -1111,11 +1153,11 @@ class ToolboxComponent {
1111
1153
  return this._dropdownActions$.getValue().find((action) => actionName === action.name)?.order;
1112
1154
  }
1113
1155
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ToolboxComponent, deps: [{ token: i1.Store }, { token: PRY_ACCESS_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
1114
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: ToolboxComponent, selector: "pry-toolbox", inputs: { displayLabels: "displayLabels", dropdownPosition: "dropdownPosition", actions: "actions", dropdownActions: "dropdownActions" }, ngImport: i0, template: "<ul class=\"m-actions-list\" #input>\n <ng-container *ngFor=\"let action of mainActions$ | async\">\n <ng-container *ngIf=\"action.visible\">\n <li class=\"m-actions-list__item\" *pryAccess=\"action.access\">\n <pry-toolbox-action-instanciator\n [action]=\"action\"\n [displayLabels]=\"displayLabels\"\n ></pry-toolbox-action-instanciator>\n </li>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"showDropdownButton$ | async\">\n <li class=\"m-actions-list__item\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n id=\"options\"\n aria-controls=\"IDpanel\"\n aria-expanded=\"false\"\n (click)=\"openDropdown($event)\"\n >\n <ng-container *ngIf=\"displayLabels\"\n ><span class=\"u-visually-hidden\">{{ '@pry.toolbox.options' | i18n }}</span>\n <span>{{ '@pry.toolbox.options' | i18n }}</span>\n <pry-icon [width]=\"10\" [height]=\"13\" iconSvg=\"chevron_bottom\"></pry-icon>\n </ng-container>\n </button>\n </li>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isDropdownOpen\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayPositions]=\"dropdownPosition\"\n [cdkConnectedOverlayOffsetY]=\"5\"\n (backdropClick)=\"isDropdownOpen = false\"\n >\n <div class=\"o-draggable-menu -dropdown\" aria-labelledby=\"\">\n <ul class=\"o-draggable-menu__list\">\n <ng-container *ngFor=\"let action of dropdownActions$ | async\">\n <ng-container *ngIf=\"action.visible\">\n <li class=\"o-draggable-menu__list__item\" [style.order]=\"getOrder(action.name)\">\n <pry-toolbox-action-instanciator\n [action]=\"action\"\n [displayLabels]=\"displayLabels\"\n (closeOptions)=\"closeDropdown($event)\"\n ></pry-toolbox-action-instanciator>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"showEditToggle$ | async\">\n <li class=\"m-actions-list__item\" *ngIf=\"isManualMode$ | async\">\n <pry-edit-mode-toggle\n *pryAccess=\"{ module: 'dashboard', page: 'toolbox', action: 'edit_dashboard' }\"\n [displayLabels]=\"displayLabels\"\n ></pry-edit-mode-toggle>\n </li>\n </ng-container>\n</ul>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: i3$1.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: i3$1.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: ToolboxActionInstanciatorComponent, selector: "pry-toolbox-action-instanciator", inputs: ["displayLabels", "action"], outputs: ["closeOptions"] }, { kind: "component", type: EditModeToggleComponent, selector: "pry-edit-mode-toggle" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.I18nPipe, name: "i18n" }] }); }
1156
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: ToolboxComponent, selector: "pry-toolbox", inputs: { displayLabels: "displayLabels", dropdownPosition: "dropdownPosition", actions: "actions", dropdownActions: "dropdownActions" }, ngImport: i0, template: "<ul class=\"m-actions-list\" #input>\n @for (action of mainActions$ | async; track action.name) {\n @if (action.visible) {\n <li class=\"m-actions-list__item -{{action.name}}\" *pryAccess=\"action.access\">\n <pry-toolbox-action-instanciator\n [action]=\"action\"\n [displayLabels]=\"displayLabels\"\n ></pry-toolbox-action-instanciator>\n </li>\n }\n }\n @if (showDropdownButton$ | async) {\n <li class=\"m-actions-list__item\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n id=\"options\"\n aria-controls=\"IDpanel\"\n aria-expanded=\"false\"\n (click)=\"openDropdown($event)\"\n >\n @if (displayLabels) {\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.options' | i18n }}</span>\n <span>{{ '@pry.toolbox.options' | i18n }}</span>\n <pry-icon [width]=\"10\" [height]=\"13\" iconSvg=\"chevron_bottom\"></pry-icon>\n }\n </button>\n </li>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isDropdownOpen\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayPositions]=\"dropdownPosition\"\n [cdkConnectedOverlayOffsetY]=\"5\"\n (backdropClick)=\"isDropdownOpen = false\"\n >\n <div class=\"o-draggable-menu -dropdown\" aria-labelledby=\"\">\n <ul class=\"o-draggable-menu__list\">\n @for (action of dropdownActions$ | async; track action.name) {\n @if (action.visible) {\n <li class=\"o-draggable-menu__list__item\" [style.order]=\"getOrder(action.name)\">\n <pry-toolbox-action-instanciator\n [action]=\"action\"\n [displayLabels]=\"displayLabels\"\n (closeOptions)=\"closeDropdown($event)\"\n ></pry-toolbox-action-instanciator>\n </li>\n }\n }\n </ul>\n </div>\n </ng-template>\n }\n\n @if (showEditToggle$ | async) {\n @if (isManualMode$ | async) {\n <li class=\"m-actions-list__item\">\n <pry-edit-mode-toggle\n *pryAccess=\"{ module: 'dashboard', page: 'toolbox', action: 'edit_dashboard' }\"\n [displayLabels]=\"displayLabels\"\n ></pry-edit-mode-toggle>\n </li>\n }\n }\n</ul>\n", dependencies: [{ kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: i3$1.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: i3$1.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: ToolboxActionInstanciatorComponent, selector: "pry-toolbox-action-instanciator", inputs: ["displayLabels", "action"], outputs: ["closeOptions"] }, { kind: "component", type: EditModeToggleComponent, selector: "pry-edit-mode-toggle" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.I18nPipe, name: "i18n" }] }); }
1115
1157
  }
1116
1158
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ToolboxComponent, decorators: [{
1117
1159
  type: Component,
1118
- args: [{ selector: 'pry-toolbox', template: "<ul class=\"m-actions-list\" #input>\n <ng-container *ngFor=\"let action of mainActions$ | async\">\n <ng-container *ngIf=\"action.visible\">\n <li class=\"m-actions-list__item\" *pryAccess=\"action.access\">\n <pry-toolbox-action-instanciator\n [action]=\"action\"\n [displayLabels]=\"displayLabels\"\n ></pry-toolbox-action-instanciator>\n </li>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"showDropdownButton$ | async\">\n <li class=\"m-actions-list__item\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n id=\"options\"\n aria-controls=\"IDpanel\"\n aria-expanded=\"false\"\n (click)=\"openDropdown($event)\"\n >\n <ng-container *ngIf=\"displayLabels\"\n ><span class=\"u-visually-hidden\">{{ '@pry.toolbox.options' | i18n }}</span>\n <span>{{ '@pry.toolbox.options' | i18n }}</span>\n <pry-icon [width]=\"10\" [height]=\"13\" iconSvg=\"chevron_bottom\"></pry-icon>\n </ng-container>\n </button>\n </li>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isDropdownOpen\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayPositions]=\"dropdownPosition\"\n [cdkConnectedOverlayOffsetY]=\"5\"\n (backdropClick)=\"isDropdownOpen = false\"\n >\n <div class=\"o-draggable-menu -dropdown\" aria-labelledby=\"\">\n <ul class=\"o-draggable-menu__list\">\n <ng-container *ngFor=\"let action of dropdownActions$ | async\">\n <ng-container *ngIf=\"action.visible\">\n <li class=\"o-draggable-menu__list__item\" [style.order]=\"getOrder(action.name)\">\n <pry-toolbox-action-instanciator\n [action]=\"action\"\n [displayLabels]=\"displayLabels\"\n (closeOptions)=\"closeDropdown($event)\"\n ></pry-toolbox-action-instanciator>\n </li>\n </ng-container>\n </ng-container>\n </ul>\n </div>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"showEditToggle$ | async\">\n <li class=\"m-actions-list__item\" *ngIf=\"isManualMode$ | async\">\n <pry-edit-mode-toggle\n *pryAccess=\"{ module: 'dashboard', page: 'toolbox', action: 'edit_dashboard' }\"\n [displayLabels]=\"displayLabels\"\n ></pry-edit-mode-toggle>\n </li>\n </ng-container>\n</ul>\n" }]
1160
+ args: [{ selector: 'pry-toolbox', template: "<ul class=\"m-actions-list\" #input>\n @for (action of mainActions$ | async; track action.name) {\n @if (action.visible) {\n <li class=\"m-actions-list__item -{{action.name}}\" *pryAccess=\"action.access\">\n <pry-toolbox-action-instanciator\n [action]=\"action\"\n [displayLabels]=\"displayLabels\"\n ></pry-toolbox-action-instanciator>\n </li>\n }\n }\n @if (showDropdownButton$ | async) {\n <li class=\"m-actions-list__item\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n id=\"options\"\n aria-controls=\"IDpanel\"\n aria-expanded=\"false\"\n (click)=\"openDropdown($event)\"\n >\n @if (displayLabels) {\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.options' | i18n }}</span>\n <span>{{ '@pry.toolbox.options' | i18n }}</span>\n <pry-icon [width]=\"10\" [height]=\"13\" iconSvg=\"chevron_bottom\"></pry-icon>\n }\n </button>\n </li>\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isDropdownOpen\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayPositions]=\"dropdownPosition\"\n [cdkConnectedOverlayOffsetY]=\"5\"\n (backdropClick)=\"isDropdownOpen = false\"\n >\n <div class=\"o-draggable-menu -dropdown\" aria-labelledby=\"\">\n <ul class=\"o-draggable-menu__list\">\n @for (action of dropdownActions$ | async; track action.name) {\n @if (action.visible) {\n <li class=\"o-draggable-menu__list__item\" [style.order]=\"getOrder(action.name)\">\n <pry-toolbox-action-instanciator\n [action]=\"action\"\n [displayLabels]=\"displayLabels\"\n (closeOptions)=\"closeDropdown($event)\"\n ></pry-toolbox-action-instanciator>\n </li>\n }\n }\n </ul>\n </div>\n </ng-template>\n }\n\n @if (showEditToggle$ | async) {\n @if (isManualMode$ | async) {\n <li class=\"m-actions-list__item\">\n <pry-edit-mode-toggle\n *pryAccess=\"{ module: 'dashboard', page: 'toolbox', action: 'edit_dashboard' }\"\n [displayLabels]=\"displayLabels\"\n ></pry-edit-mode-toggle>\n </li>\n }\n }\n</ul>\n" }]
1119
1161
  }], ctorParameters: () => [{ type: i1.Store }, { type: i3$1.PryBaseAccess, decorators: [{
1120
1162
  type: Optional
1121
1163
  }, {
@@ -1148,7 +1190,8 @@ const components = [
1148
1190
  AutomateRefreshComponent,
1149
1191
  SwitchToEditContentComponent,
1150
1192
  ShareComponent,
1151
- DeleteComponent
1193
+ DeleteComponent,
1194
+ DashboardDetailsComponent
1152
1195
  ];
1153
1196
  class PryToolboxModule {
1154
1197
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryToolboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -1168,7 +1211,8 @@ class PryToolboxModule {
1168
1211
  AutomateRefreshComponent,
1169
1212
  SwitchToEditContentComponent,
1170
1213
  ShareComponent,
1171
- DeleteComponent], imports: [CommonModule,
1214
+ DeleteComponent,
1215
+ DashboardDetailsComponent], imports: [CommonModule,
1172
1216
  FormsModule,
1173
1217
  OverlayModule,
1174
1218
  PryOverlayModule,
@@ -1200,7 +1244,8 @@ class PryToolboxModule {
1200
1244
  AutomateRefreshComponent,
1201
1245
  SwitchToEditContentComponent,
1202
1246
  ShareComponent,
1203
- DeleteComponent] }); }
1247
+ DeleteComponent,
1248
+ DashboardDetailsComponent] }); }
1204
1249
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryToolboxModule, imports: [CommonModule,
1205
1250
  FormsModule,
1206
1251
  OverlayModule,
@@ -1247,5 +1292,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
1247
1292
  * Generated bundle index. Do not edit.
1248
1293
  */
1249
1294
 
1250
- export { ACTIONS, AutomateRefreshComponent, ClearViewComponent, DeleteComponent, DragWidgetsComponent, EditModeToggleComponent, FilterSteps, LaunchTabComponent, NamedQueryComponent, PryFilterSettingsComponent, PrySelectGridLayoutCssComponent, PryToolboxModule, RefreshDatasetsComponent, SaveViewComponent, SelectGridLayoutComponent, ShareComponent, SwitchToEditContentComponent, ToolboxActionComponent, ToolboxActionInstanciatorComponent, ToolboxComponent };
1295
+ export { ACTIONS, AutomateRefreshComponent, ClearViewComponent, DashboardDetailsComponent, DeleteComponent, DragWidgetsComponent, EditModeToggleComponent, FilterSteps, LaunchTabComponent, NamedQueryComponent, PryFilterSettingsComponent, PrySelectGridLayoutCssComponent, PryToolboxModule, RefreshDatasetsComponent, SaveViewComponent, SelectGridLayoutComponent, ShareComponent, SwitchToEditContentComponent, ToolboxActionComponent, ToolboxActionInstanciatorComponent, ToolboxComponent };
1251
1296
  //# sourceMappingURL=provoly-dashboard-toolbox.mjs.map