@provoly/dashboard 0.12.6 → 0.12.8

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 (93) hide show
  1. package/admin/components/admin-classes/admin-classes-select/admin-classes-select.component.d.ts +2 -1
  2. package/admin/components/admin-classes/store/admin-class.effects.d.ts +2 -1
  3. package/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.d.ts +2 -1
  4. package/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.d.ts +2 -1
  5. package/admin/i18n/en.translations.d.ts +2 -0
  6. package/admin/i18n/fr.translations.d.ts +2 -0
  7. package/admin/store/admin.actions.d.ts +31 -1
  8. package/admin/store/admin.effects.d.ts +27 -5
  9. package/admin/store/admin.reducer.d.ts +2 -1
  10. package/admin/store/admin.selectors.d.ts +1 -0
  11. package/admin/store/admin.service.d.ts +5 -1
  12. package/esm2022/admin/components/admin-classes/admin-classes-select/admin-classes-select.component.mjs +5 -3
  13. package/esm2022/admin/components/admin-classes/admin-classes.component.mjs +2 -1
  14. package/esm2022/admin/components/admin-classes/store/admin-class.actions.mjs +1 -1
  15. package/esm2022/admin/components/admin-classes/store/admin-class.effects.mjs +5 -4
  16. package/esm2022/admin/components/admin-classes/store/admin-class.reducer.mjs +1 -1
  17. package/esm2022/admin/components/admin-dataset/admin-dataset.component.mjs +2 -1
  18. package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +5 -3
  19. package/esm2022/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.mjs +5 -3
  20. package/esm2022/admin/components/admin-fields/admin-fields.component.mjs +2 -1
  21. package/esm2022/admin/components/admin-predicates/admin-predicates-select/admin-predicates-select.component.mjs +3 -3
  22. package/esm2022/admin/components/admin-predicates/admin-predicates.component.mjs +1 -1
  23. package/esm2022/admin/components/admin.component.mjs +1 -1
  24. package/esm2022/admin/i18n/en.translations.mjs +3 -1
  25. package/esm2022/admin/i18n/fr.translations.mjs +3 -1
  26. package/esm2022/admin/store/admin.actions.mjs +8 -2
  27. package/esm2022/admin/store/admin.effects.mjs +6 -2
  28. package/esm2022/admin/store/admin.reducer.mjs +6 -2
  29. package/esm2022/admin/store/admin.selectors.mjs +4 -2
  30. package/esm2022/admin/store/admin.service.mjs +21 -1
  31. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +2 -2
  32. package/esm2022/dataset/components/dataset.component.mjs +2 -1
  33. package/esm2022/lib/core/store/class/class.interface.mjs +1 -1
  34. package/esm2022/lib/core/store/data-source/data-source.actions.mjs +3 -1
  35. package/esm2022/lib/core/store/data-source/data-source.effects.mjs +6 -4
  36. package/esm2022/lib/core/store/data-source/data-source.reducer.mjs +27 -2
  37. package/esm2022/lib/core/store/data-source/data-source.service.mjs +6 -1
  38. package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-selector.component.mjs +97 -0
  39. package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +29 -62
  40. package/esm2022/lib/dashboard/components/widgets/public-api.mjs +2 -1
  41. package/esm2022/lib/dashboard/dashboard.module.mjs +8 -4
  42. package/esm2022/lib/dashboard/store/refresh.service.mjs +3 -2
  43. package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +4 -1
  44. package/esm2022/restitution/components/restitution/restitution.component.mjs +7 -24
  45. package/esm2022/restitution/style/css.component.mjs +2 -2
  46. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +6 -5
  47. package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +3 -3
  48. package/esm2022/widgets/widget-detail/component/widget-detail.component.mjs +1 -1
  49. package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +3 -3
  50. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +19 -12
  51. package/esm2022/widgets/widget-table/component/widget-table.component.mjs +3 -3
  52. package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +3 -3
  53. package/fesm2022/provoly-dashboard-admin.mjs +61 -14
  54. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  55. package/fesm2022/provoly-dashboard-dataset.mjs +2 -1
  56. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  57. package/fesm2022/provoly-dashboard-presentation.mjs +3 -0
  58. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  59. package/fesm2022/provoly-dashboard-restitution.mjs +8 -25
  60. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  61. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +5 -4
  62. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  63. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +2 -2
  64. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
  65. package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs +1 -1
  66. package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs.map +1 -1
  67. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +2 -2
  68. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -1
  69. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +18 -11
  70. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  71. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +2 -2
  72. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
  73. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +2 -2
  74. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
  75. package/fesm2022/provoly-dashboard.mjs +164 -74
  76. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  77. package/lib/core/store/class/class.interface.d.ts +11 -0
  78. package/lib/core/store/data-source/data-source.actions.d.ts +12 -0
  79. package/lib/core/store/data-source/data-source.effects.d.ts +5 -0
  80. package/lib/core/store/data-source/data-source.service.d.ts +1 -0
  81. package/lib/dashboard/components/widgets/datasource-selector/datasource-selector.component.d.ts +34 -0
  82. package/lib/dashboard/components/widgets/header/widget-header.component.d.ts +5 -16
  83. package/lib/dashboard/components/widgets/public-api.d.ts +1 -0
  84. package/lib/dashboard/dashboard.module.d.ts +15 -14
  85. package/package.json +31 -31
  86. package/restitution/components/restitution/restitution.component.d.ts +3 -9
  87. package/restitution/style/_o-restitution.scss +0 -4
  88. package/schematics/ng-add/index.spec.js +0 -2
  89. package/schematics/ng-add/index.spec.js.map +1 -1
  90. package/styles/components/_o-datasources.scss +17 -56
  91. package/styles/components/_o-widget.scss +40 -32
  92. package/styles-theme/components-theme/_o-datasources.theme.scss +8 -5
  93. package/widgets/widget-map/component/widget-map.component.d.ts +5 -2
@@ -5,7 +5,7 @@ import { Component, ViewEncapsulation, EventEmitter, Input, Output, TemplateRef,
5
5
  import * as i4 from '@angular/forms';
6
6
  import { FormsModule } from '@angular/forms';
7
7
  import * as i1 from '@provoly/dashboard';
8
- import { SubscriptionnerDirective, DEFAULT_RESTITUTION_ICON_URL, PryVisibilityType, LibraryTypes, DataSourceActions, ClassActions, ConfigActions, FieldActions, ClassSelectors, DataSourceSelectors, SearchActions, GeoMetadata, ViewMode, ConfigSelectors, DashboardSelectors, DashboardGridLayout, DashboardActions, PryCoreModule, PryIconModule, PrySelectModule, PryDashboardModule, PryShareModule, PryI18nModule, PryOverlayModule } from '@provoly/dashboard';
8
+ import { SubscriptionnerDirective, DEFAULT_RESTITUTION_ICON_URL, PryVisibilityType, LibraryTypes, DataSourceActions, ClassActions, ConfigActions, FieldActions, ClassSelectors, SearchActions, ViewMode, ConfigSelectors, DashboardSelectors, DashboardGridLayout, DashboardActions, PryCoreModule, PryIconModule, PrySelectModule, PryDashboardModule, PryShareModule, PryI18nModule, PryOverlayModule } from '@provoly/dashboard';
9
9
  import { PryCardModule } from '@provoly/dashboard/components/card';
10
10
  import * as i6 from '@provoly/dashboard/components/checkbox';
11
11
  import { PryCheckboxModule } from '@provoly/dashboard/components/checkbox';
@@ -17,17 +17,17 @@ import { PrySearchModule } from '@provoly/dashboard/search';
17
17
  import * as i2 from '@angular/cdk/overlay';
18
18
  import { OverlayConfig } from '@angular/cdk/overlay';
19
19
  import { TemplatePortal } from '@angular/cdk/portal';
20
- import { BehaviorSubject, Subject, map, combineLatest } from 'rxjs';
20
+ import { Subject, map, BehaviorSubject, combineLatest } from 'rxjs';
21
21
  import * as i1$1 from '@ngrx/store';
22
22
  import { v4 } from 'uuid';
23
23
 
24
24
  class PryCatalogCssComponent {
25
25
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryCatalogCssComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryCatalogCssComponent, selector: "pry-restitution-css", ngImport: i0, template: '', isInline: true, styles: [".o-catalog__filters__by-type__list,.o-catalog__list{margin:0;padding:0}.o-catalog__filters__by-type__list li,.o-catalog__list li{list-style:none}.o-catalog{display:flex;flex-direction:column;overflow:scroll;width:28.125rem;height:100%;padding:.9375rem;border-right-width:.0625rem;border-right-style:solid}.o-catalog .a-h2{padding-top:.625rem}.o-catalog pry-restitution{flex:1}.o-catalog__filters{padding-top:.3125rem}.o-catalog__filters__by-name{position:relative;margin-bottom:1.25rem}.o-catalog__filters__by-name .a-icon{position:absolute;left:.6875rem;bottom:.5625rem;pointer-events:none}.o-catalog__filters__by-name .a-form-field{width:60%;padding-left:2.1875rem}.o-catalog__filters__by-type{display:flex;flex-wrap:wrap;column-gap:1.25rem}.o-catalog__filters__by-type__list{display:flex;gap:.3125rem}.o-catalog__filters__by-type__list li{width:2.1875rem;height:2.1875rem}.o-catalog__filters__by-type__list li .a-label{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;margin:0;border-width:.0625rem;border-style:solid;border-radius:.3125rem}.o-catalog__filters__by-type .a-btn.a-btn--icon-text.-link-like{margin-top:5px;font-weight:300;font-size:.8125rem}.o-catalog__filters__by-type .a-btn.a-btn--icon-text.-link-like[disabled]{opacity:0}.o-catalog .is-point{cursor:default}.o-catalog__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.9375rem;justify-content:space-around;padding:1.875rem 0}.o-catalog__list__icon{cursor:pointer}.o-catalog__list pry-catalog-item{max-height:13.125rem}.o-catalog__list__item{position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:center;max-width:8.125rem;height:100%;text-align:center;cursor:move}.o-catalog__list__item .is-private{position:absolute;top:.3125rem;left:.3125rem}.o-catalog__list__item img{margin-top:.625rem}.o-catalog__list__item img.is-full-width{width:100%;height:30%;object-fit:cover}.o-catalog__list__item .a-btn--icon-only{margin-bottom:.6875rem;padding:.8125rem}.o-catalog__list__item__libelle{width:100%;margin-bottom:0;padding:.9375rem .625rem;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.o-catalog__list__item__action{width:100%;padding:.375rem .625rem;text-align:center}.o-catalog__list__item__action .a-btn--ghost{height:auto;padding:0 .3125rem}.o-catalog__create{align-self:center;width:-moz-fit-content;width:fit-content;margin-bottom:1rem}.o-catalog .o-accordion__title{position:relative;border-bottom-style:solid;border-bottom-width:.0625rem}.o-catalog .o-accordion__title:before{content:\"\";position:absolute;left:0;top:0;bottom:0;width:3px}.o-catalog .o-accordion__title:first-child{border-top-style:solid;border-top-width:.0625rem;margin-top:.625rem}.o-catalog .o-accordion__title__btn{width:100%;height:70%;padding:0;text-transform:uppercase;text-align:left}\n", ".o-restitution{height:100%;margin:0 auto;border-collapse:collapse;font-size:.875rem;min-width:20.625rem;overflow:hidden}.o-restitution .widget-instanciator{position:relative;height:100%}.o-restitution .m-btn-group.actions{padding-top:1.5625rem;padding-bottom:1.25rem}.o-restitution .a-checkbox{margin-bottom:0rem}.o-restitution h4{margin-top:2rem}.o-restitution label{border-radius:10%}\n", ".o-presentation{margin:0;padding:0}.o-presentation li{list-style:none}.o-manifest-layout__toolbox{height:5.25rem}.o-manifest-layout__toolbox div:first-child{margin-left:auto}.o-manifest-layout__content{height:100%}.o-manifest-layout__content .pointer{cursor:pointer}.pry-viewingpresentation{display:flex;overflow-y:scroll}.pry-viewingpresentation .o-manifest-layout__content,.pry-viewingpresentation .o-dashboard-widget{flex:100% 1 1}.o-presentation{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1.875rem;padding:.25rem .25rem 1.25rem;overflow-y:auto}.o-presentation .a-h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o-presentation__item{display:flex;flex-direction:column;align-items:stretch}.o-presentation__item__header{position:relative;display:flex;align-items:center;justify-content:center;height:6.875rem}.o-presentation__item__header img{width:auto;height:90%;cursor:pointer}.o-presentation__item__header img.is-full-width{width:100%;height:100%;object-fit:cover}.o-presentation__item__header pry-icon.is-private{position:absolute;top:.625rem;left:.625rem}.o-presentation__item__txt{flex-grow:1;padding:.625rem .9375rem}.o-presentation__item__txt .a-h3{font-size:.875rem}.o-presentation__item__txt .a-p{font-size:.8125rem}.o-presentation__item__txt .a-p.-date{margin-bottom:0}.o-presentation__item__footer{padding:.625rem .9375rem}.o-presentation__item__footer .m-actions-list{justify-content:space-evenly}.o-presentation-consult{width:100%;padding:.9375rem}.description-container{position:relative;width:100%}.description{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:inherit;position:relative;line-height:2rem;box-sizing:border-box;pointer-events:none}.description:after{content:\"\";display:block;position:absolute;top:0;right:0;width:40px;height:48px;z-index:1;pointer-events:initial}.description:hover:after{cursor:pointer}.description-tooltip{position:absolute;max-width:50vw;visibility:hidden;background-color:#fff;padding:20px;-webkit-box-shadow:0 0 50px 0 rgba(0,0,0,.3);opacity:0;transition:opacity .5s ease;z-index:2}.description:hover+.description-tooltip{visibility:visible;transition:opacity .2s ease;opacity:1}.title-tooltip{transform:translateY(4rem)}h1.a-presentation-title{font-size:16px;padding-right:20px}.title-container{display:flex}.info-icon{position:relative;width:1.5rem;height:1.5rem;border-radius:50%;background-color:#ccc;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;align-self:center;margin-right:1rem}.o-restitution-catalog .o-manifest-layout__toolbox{height:5.25rem;display:flex;flex-direction:row;justify-content:space-between;align-items:center}.o-restitution-catalog .o-manifest-layout__toolbox div:first-child{margin-left:auto}.o-restitution-catalog .o-catalog__search{position:relative}.o-restitution-catalog .o-catalog__search .a-icon{position:absolute;right:.6875rem;bottom:.5625rem;opacity:.5;pointer-events:none}.o-restitution-catalog .o-manifest-layout__content .o-restitution-wrapper .o-restitution{width:100%}\n"], encapsulation: i0.ViewEncapsulation.None }); }
26
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryCatalogCssComponent, selector: "pry-restitution-css", ngImport: i0, template: '', isInline: true, styles: [".o-catalog__filters__by-type__list,.o-catalog__list{margin:0;padding:0}.o-catalog__filters__by-type__list li,.o-catalog__list li{list-style:none}.o-catalog{display:flex;flex-direction:column;overflow:scroll;width:28.125rem;height:100%;padding:.9375rem;border-right-width:.0625rem;border-right-style:solid}.o-catalog .a-h2{padding-top:.625rem}.o-catalog pry-restitution{flex:1}.o-catalog__filters{padding-top:.3125rem}.o-catalog__filters__by-name{position:relative;margin-bottom:1.25rem}.o-catalog__filters__by-name .a-icon{position:absolute;left:.6875rem;bottom:.5625rem;pointer-events:none}.o-catalog__filters__by-name .a-form-field{width:60%;padding-left:2.1875rem}.o-catalog__filters__by-type{display:flex;flex-wrap:wrap;column-gap:1.25rem}.o-catalog__filters__by-type__list{display:flex;gap:.3125rem}.o-catalog__filters__by-type__list li{width:2.1875rem;height:2.1875rem}.o-catalog__filters__by-type__list li .a-label{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;margin:0;border-width:.0625rem;border-style:solid;border-radius:.3125rem}.o-catalog__filters__by-type .a-btn.a-btn--icon-text.-link-like{margin-top:5px;font-weight:300;font-size:.8125rem}.o-catalog__filters__by-type .a-btn.a-btn--icon-text.-link-like[disabled]{opacity:0}.o-catalog .is-point{cursor:default}.o-catalog__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.9375rem;justify-content:space-around;padding:1.875rem 0}.o-catalog__list__icon{cursor:pointer}.o-catalog__list pry-catalog-item{max-height:13.125rem}.o-catalog__list__item{position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:center;max-width:8.125rem;height:100%;text-align:center;cursor:move}.o-catalog__list__item .is-private{position:absolute;top:.3125rem;left:.3125rem}.o-catalog__list__item img{margin-top:.625rem}.o-catalog__list__item img.is-full-width{width:100%;height:30%;object-fit:cover}.o-catalog__list__item .a-btn--icon-only{margin-bottom:.6875rem;padding:.8125rem}.o-catalog__list__item__libelle{width:100%;margin-bottom:0;padding:.9375rem .625rem;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.o-catalog__list__item__action{width:100%;padding:.375rem .625rem;text-align:center}.o-catalog__list__item__action .a-btn--ghost{height:auto;padding:0 .3125rem}.o-catalog__create{align-self:center;width:-moz-fit-content;width:fit-content;margin-bottom:1rem}.o-catalog .o-accordion__title{position:relative;border-bottom-style:solid;border-bottom-width:.0625rem}.o-catalog .o-accordion__title:before{content:\"\";position:absolute;left:0;top:0;bottom:0;width:3px}.o-catalog .o-accordion__title:first-child{border-top-style:solid;border-top-width:.0625rem;margin-top:.625rem}.o-catalog .o-accordion__title__btn{width:100%;height:70%;padding:0;text-transform:uppercase;text-align:left}\n", ".o-restitution{height:100%;margin:0 auto;border-collapse:collapse;font-size:.875rem;min-width:20.625rem;overflow:hidden}.o-restitution .widget-instanciator{position:relative;height:100%}.o-restitution .m-btn-group.actions{padding-top:1.5625rem;padding-bottom:1.25rem}.o-restitution .a-checkbox{margin-bottom:0rem}.o-restitution label{border-radius:10%}\n", ".o-presentation{margin:0;padding:0}.o-presentation li{list-style:none}.o-manifest-layout__toolbox{height:5.25rem}.o-manifest-layout__toolbox div:first-child{margin-left:auto}.o-manifest-layout__content{height:100%}.o-manifest-layout__content .pointer{cursor:pointer}.pry-viewingpresentation{display:flex;overflow-y:scroll}.pry-viewingpresentation .o-manifest-layout__content,.pry-viewingpresentation .o-dashboard-widget{flex:100% 1 1}.o-presentation{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1.875rem;padding:.25rem .25rem 1.25rem;overflow-y:auto}.o-presentation .a-h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o-presentation__item{display:flex;flex-direction:column;align-items:stretch}.o-presentation__item__header{position:relative;display:flex;align-items:center;justify-content:center;height:6.875rem}.o-presentation__item__header img{width:auto;height:90%;cursor:pointer}.o-presentation__item__header img.is-full-width{width:100%;height:100%;object-fit:cover}.o-presentation__item__header pry-icon.is-private{position:absolute;top:.625rem;left:.625rem}.o-presentation__item__txt{flex-grow:1;padding:.625rem .9375rem}.o-presentation__item__txt .a-h3{font-size:.875rem}.o-presentation__item__txt .a-p{font-size:.8125rem}.o-presentation__item__txt .a-p.-date{margin-bottom:0}.o-presentation__item__footer{padding:.625rem .9375rem}.o-presentation__item__footer .m-actions-list{justify-content:space-evenly}.o-presentation-consult{width:100%;padding:.9375rem}.description-container{position:relative;width:100%}.description{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:inherit;position:relative;line-height:2rem;box-sizing:border-box;pointer-events:none}.description:after{content:\"\";display:block;position:absolute;top:0;right:0;width:40px;height:48px;z-index:1;pointer-events:initial}.description:hover:after{cursor:pointer}.description-tooltip{position:absolute;max-width:50vw;visibility:hidden;background-color:#fff;padding:20px;-webkit-box-shadow:0 0 50px 0 rgba(0,0,0,.3);opacity:0;transition:opacity .5s ease;z-index:2}.description:hover+.description-tooltip{visibility:visible;transition:opacity .2s ease;opacity:1}.title-tooltip{transform:translateY(4rem)}h1.a-presentation-title{font-size:16px;padding-right:20px}.title-container{display:flex}.info-icon{position:relative;width:1.5rem;height:1.5rem;border-radius:50%;background-color:#ccc;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;align-self:center;margin-right:1rem}.o-restitution-catalog .o-manifest-layout__toolbox{height:5.25rem;display:flex;flex-direction:row;justify-content:space-between;align-items:center}.o-restitution-catalog .o-manifest-layout__toolbox div:first-child{margin-left:auto}.o-restitution-catalog .o-catalog__search{position:relative}.o-restitution-catalog .o-catalog__search .a-icon{position:absolute;right:.6875rem;bottom:.5625rem;opacity:.5;pointer-events:none}.o-restitution-catalog .o-manifest-layout__content .o-restitution-wrapper .o-restitution{width:100%}\n"], encapsulation: i0.ViewEncapsulation.None }); }
27
27
  }
28
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryCatalogCssComponent, decorators: [{
29
29
  type: Component,
30
- args: [{ selector: 'pry-restitution-css', template: '', encapsulation: ViewEncapsulation.None, styles: [".o-catalog__filters__by-type__list,.o-catalog__list{margin:0;padding:0}.o-catalog__filters__by-type__list li,.o-catalog__list li{list-style:none}.o-catalog{display:flex;flex-direction:column;overflow:scroll;width:28.125rem;height:100%;padding:.9375rem;border-right-width:.0625rem;border-right-style:solid}.o-catalog .a-h2{padding-top:.625rem}.o-catalog pry-restitution{flex:1}.o-catalog__filters{padding-top:.3125rem}.o-catalog__filters__by-name{position:relative;margin-bottom:1.25rem}.o-catalog__filters__by-name .a-icon{position:absolute;left:.6875rem;bottom:.5625rem;pointer-events:none}.o-catalog__filters__by-name .a-form-field{width:60%;padding-left:2.1875rem}.o-catalog__filters__by-type{display:flex;flex-wrap:wrap;column-gap:1.25rem}.o-catalog__filters__by-type__list{display:flex;gap:.3125rem}.o-catalog__filters__by-type__list li{width:2.1875rem;height:2.1875rem}.o-catalog__filters__by-type__list li .a-label{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;margin:0;border-width:.0625rem;border-style:solid;border-radius:.3125rem}.o-catalog__filters__by-type .a-btn.a-btn--icon-text.-link-like{margin-top:5px;font-weight:300;font-size:.8125rem}.o-catalog__filters__by-type .a-btn.a-btn--icon-text.-link-like[disabled]{opacity:0}.o-catalog .is-point{cursor:default}.o-catalog__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.9375rem;justify-content:space-around;padding:1.875rem 0}.o-catalog__list__icon{cursor:pointer}.o-catalog__list pry-catalog-item{max-height:13.125rem}.o-catalog__list__item{position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:center;max-width:8.125rem;height:100%;text-align:center;cursor:move}.o-catalog__list__item .is-private{position:absolute;top:.3125rem;left:.3125rem}.o-catalog__list__item img{margin-top:.625rem}.o-catalog__list__item img.is-full-width{width:100%;height:30%;object-fit:cover}.o-catalog__list__item .a-btn--icon-only{margin-bottom:.6875rem;padding:.8125rem}.o-catalog__list__item__libelle{width:100%;margin-bottom:0;padding:.9375rem .625rem;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.o-catalog__list__item__action{width:100%;padding:.375rem .625rem;text-align:center}.o-catalog__list__item__action .a-btn--ghost{height:auto;padding:0 .3125rem}.o-catalog__create{align-self:center;width:-moz-fit-content;width:fit-content;margin-bottom:1rem}.o-catalog .o-accordion__title{position:relative;border-bottom-style:solid;border-bottom-width:.0625rem}.o-catalog .o-accordion__title:before{content:\"\";position:absolute;left:0;top:0;bottom:0;width:3px}.o-catalog .o-accordion__title:first-child{border-top-style:solid;border-top-width:.0625rem;margin-top:.625rem}.o-catalog .o-accordion__title__btn{width:100%;height:70%;padding:0;text-transform:uppercase;text-align:left}\n", ".o-restitution{height:100%;margin:0 auto;border-collapse:collapse;font-size:.875rem;min-width:20.625rem;overflow:hidden}.o-restitution .widget-instanciator{position:relative;height:100%}.o-restitution .m-btn-group.actions{padding-top:1.5625rem;padding-bottom:1.25rem}.o-restitution .a-checkbox{margin-bottom:0rem}.o-restitution h4{margin-top:2rem}.o-restitution label{border-radius:10%}\n", ".o-presentation{margin:0;padding:0}.o-presentation li{list-style:none}.o-manifest-layout__toolbox{height:5.25rem}.o-manifest-layout__toolbox div:first-child{margin-left:auto}.o-manifest-layout__content{height:100%}.o-manifest-layout__content .pointer{cursor:pointer}.pry-viewingpresentation{display:flex;overflow-y:scroll}.pry-viewingpresentation .o-manifest-layout__content,.pry-viewingpresentation .o-dashboard-widget{flex:100% 1 1}.o-presentation{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1.875rem;padding:.25rem .25rem 1.25rem;overflow-y:auto}.o-presentation .a-h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o-presentation__item{display:flex;flex-direction:column;align-items:stretch}.o-presentation__item__header{position:relative;display:flex;align-items:center;justify-content:center;height:6.875rem}.o-presentation__item__header img{width:auto;height:90%;cursor:pointer}.o-presentation__item__header img.is-full-width{width:100%;height:100%;object-fit:cover}.o-presentation__item__header pry-icon.is-private{position:absolute;top:.625rem;left:.625rem}.o-presentation__item__txt{flex-grow:1;padding:.625rem .9375rem}.o-presentation__item__txt .a-h3{font-size:.875rem}.o-presentation__item__txt .a-p{font-size:.8125rem}.o-presentation__item__txt .a-p.-date{margin-bottom:0}.o-presentation__item__footer{padding:.625rem .9375rem}.o-presentation__item__footer .m-actions-list{justify-content:space-evenly}.o-presentation-consult{width:100%;padding:.9375rem}.description-container{position:relative;width:100%}.description{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:inherit;position:relative;line-height:2rem;box-sizing:border-box;pointer-events:none}.description:after{content:\"\";display:block;position:absolute;top:0;right:0;width:40px;height:48px;z-index:1;pointer-events:initial}.description:hover:after{cursor:pointer}.description-tooltip{position:absolute;max-width:50vw;visibility:hidden;background-color:#fff;padding:20px;-webkit-box-shadow:0 0 50px 0 rgba(0,0,0,.3);opacity:0;transition:opacity .5s ease;z-index:2}.description:hover+.description-tooltip{visibility:visible;transition:opacity .2s ease;opacity:1}.title-tooltip{transform:translateY(4rem)}h1.a-presentation-title{font-size:16px;padding-right:20px}.title-container{display:flex}.info-icon{position:relative;width:1.5rem;height:1.5rem;border-radius:50%;background-color:#ccc;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;align-self:center;margin-right:1rem}.o-restitution-catalog .o-manifest-layout__toolbox{height:5.25rem;display:flex;flex-direction:row;justify-content:space-between;align-items:center}.o-restitution-catalog .o-manifest-layout__toolbox div:first-child{margin-left:auto}.o-restitution-catalog .o-catalog__search{position:relative}.o-restitution-catalog .o-catalog__search .a-icon{position:absolute;right:.6875rem;bottom:.5625rem;opacity:.5;pointer-events:none}.o-restitution-catalog .o-manifest-layout__content .o-restitution-wrapper .o-restitution{width:100%}\n"] }]
30
+ args: [{ selector: 'pry-restitution-css', template: '', encapsulation: ViewEncapsulation.None, styles: [".o-catalog__filters__by-type__list,.o-catalog__list{margin:0;padding:0}.o-catalog__filters__by-type__list li,.o-catalog__list li{list-style:none}.o-catalog{display:flex;flex-direction:column;overflow:scroll;width:28.125rem;height:100%;padding:.9375rem;border-right-width:.0625rem;border-right-style:solid}.o-catalog .a-h2{padding-top:.625rem}.o-catalog pry-restitution{flex:1}.o-catalog__filters{padding-top:.3125rem}.o-catalog__filters__by-name{position:relative;margin-bottom:1.25rem}.o-catalog__filters__by-name .a-icon{position:absolute;left:.6875rem;bottom:.5625rem;pointer-events:none}.o-catalog__filters__by-name .a-form-field{width:60%;padding-left:2.1875rem}.o-catalog__filters__by-type{display:flex;flex-wrap:wrap;column-gap:1.25rem}.o-catalog__filters__by-type__list{display:flex;gap:.3125rem}.o-catalog__filters__by-type__list li{width:2.1875rem;height:2.1875rem}.o-catalog__filters__by-type__list li .a-label{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;margin:0;border-width:.0625rem;border-style:solid;border-radius:.3125rem}.o-catalog__filters__by-type .a-btn.a-btn--icon-text.-link-like{margin-top:5px;font-weight:300;font-size:.8125rem}.o-catalog__filters__by-type .a-btn.a-btn--icon-text.-link-like[disabled]{opacity:0}.o-catalog .is-point{cursor:default}.o-catalog__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.9375rem;justify-content:space-around;padding:1.875rem 0}.o-catalog__list__icon{cursor:pointer}.o-catalog__list pry-catalog-item{max-height:13.125rem}.o-catalog__list__item{position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:center;max-width:8.125rem;height:100%;text-align:center;cursor:move}.o-catalog__list__item .is-private{position:absolute;top:.3125rem;left:.3125rem}.o-catalog__list__item img{margin-top:.625rem}.o-catalog__list__item img.is-full-width{width:100%;height:30%;object-fit:cover}.o-catalog__list__item .a-btn--icon-only{margin-bottom:.6875rem;padding:.8125rem}.o-catalog__list__item__libelle{width:100%;margin-bottom:0;padding:.9375rem .625rem;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.o-catalog__list__item__action{width:100%;padding:.375rem .625rem;text-align:center}.o-catalog__list__item__action .a-btn--ghost{height:auto;padding:0 .3125rem}.o-catalog__create{align-self:center;width:-moz-fit-content;width:fit-content;margin-bottom:1rem}.o-catalog .o-accordion__title{position:relative;border-bottom-style:solid;border-bottom-width:.0625rem}.o-catalog .o-accordion__title:before{content:\"\";position:absolute;left:0;top:0;bottom:0;width:3px}.o-catalog .o-accordion__title:first-child{border-top-style:solid;border-top-width:.0625rem;margin-top:.625rem}.o-catalog .o-accordion__title__btn{width:100%;height:70%;padding:0;text-transform:uppercase;text-align:left}\n", ".o-restitution{height:100%;margin:0 auto;border-collapse:collapse;font-size:.875rem;min-width:20.625rem;overflow:hidden}.o-restitution .widget-instanciator{position:relative;height:100%}.o-restitution .m-btn-group.actions{padding-top:1.5625rem;padding-bottom:1.25rem}.o-restitution .a-checkbox{margin-bottom:0rem}.o-restitution label{border-radius:10%}\n", ".o-presentation{margin:0;padding:0}.o-presentation li{list-style:none}.o-manifest-layout__toolbox{height:5.25rem}.o-manifest-layout__toolbox div:first-child{margin-left:auto}.o-manifest-layout__content{height:100%}.o-manifest-layout__content .pointer{cursor:pointer}.pry-viewingpresentation{display:flex;overflow-y:scroll}.pry-viewingpresentation .o-manifest-layout__content,.pry-viewingpresentation .o-dashboard-widget{flex:100% 1 1}.o-presentation{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1.875rem;padding:.25rem .25rem 1.25rem;overflow-y:auto}.o-presentation .a-h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o-presentation__item{display:flex;flex-direction:column;align-items:stretch}.o-presentation__item__header{position:relative;display:flex;align-items:center;justify-content:center;height:6.875rem}.o-presentation__item__header img{width:auto;height:90%;cursor:pointer}.o-presentation__item__header img.is-full-width{width:100%;height:100%;object-fit:cover}.o-presentation__item__header pry-icon.is-private{position:absolute;top:.625rem;left:.625rem}.o-presentation__item__txt{flex-grow:1;padding:.625rem .9375rem}.o-presentation__item__txt .a-h3{font-size:.875rem}.o-presentation__item__txt .a-p{font-size:.8125rem}.o-presentation__item__txt .a-p.-date{margin-bottom:0}.o-presentation__item__footer{padding:.625rem .9375rem}.o-presentation__item__footer .m-actions-list{justify-content:space-evenly}.o-presentation-consult{width:100%;padding:.9375rem}.description-container{position:relative;width:100%}.description{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:inherit;position:relative;line-height:2rem;box-sizing:border-box;pointer-events:none}.description:after{content:\"\";display:block;position:absolute;top:0;right:0;width:40px;height:48px;z-index:1;pointer-events:initial}.description:hover:after{cursor:pointer}.description-tooltip{position:absolute;max-width:50vw;visibility:hidden;background-color:#fff;padding:20px;-webkit-box-shadow:0 0 50px 0 rgba(0,0,0,.3);opacity:0;transition:opacity .5s ease;z-index:2}.description:hover+.description-tooltip{visibility:visible;transition:opacity .2s ease;opacity:1}.title-tooltip{transform:translateY(4rem)}h1.a-presentation-title{font-size:16px;padding-right:20px}.title-container{display:flex}.info-icon{position:relative;width:1.5rem;height:1.5rem;border-radius:50%;background-color:#ccc;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;align-self:center;margin-right:1rem}.o-restitution-catalog .o-manifest-layout__toolbox{height:5.25rem;display:flex;flex-direction:row;justify-content:space-between;align-items:center}.o-restitution-catalog .o-manifest-layout__toolbox div:first-child{margin-left:auto}.o-restitution-catalog .o-catalog__search{position:relative}.o-restitution-catalog .o-catalog__search .a-icon{position:absolute;right:.6875rem;bottom:.5625rem;opacity:.5;pointer-events:none}.o-restitution-catalog .o-manifest-layout__content .o-restitution-wrapper .o-restitution{width:100%}\n"] }]
31
31
  }] });
32
32
 
33
33
  class PryRestitutionComponent extends SubscriptionnerDirective {
@@ -36,7 +36,6 @@ class PryRestitutionComponent extends SubscriptionnerDirective {
36
36
  this.toolboxManifestService = toolboxManifestService;
37
37
  this.store = store;
38
38
  this.toolboxMenuService = toolboxMenuService;
39
- this.search$ = new BehaviorSubject('');
40
39
  this.customManifest = {
41
40
  type: 'detail',
42
41
  layout: { x: 1, y: 1, width: 1, height: 1 },
@@ -62,7 +61,6 @@ class PryRestitutionComponent extends SubscriptionnerDirective {
62
61
  this.restitutionCreated = new EventEmitter();
63
62
  this.type = LibraryTypes.ILLUSTRATION;
64
63
  this.isDataSourceSelected = false;
65
- this.idToNameDatasource = {};
66
64
  this.image = DEFAULT_RESTITUTION_ICON_URL;
67
65
  this.store.dispatch(DataSourceActions.load());
68
66
  this.store.dispatch(ClassActions.load());
@@ -73,13 +71,6 @@ class PryRestitutionComponent extends SubscriptionnerDirective {
73
71
  this.widgetsList$ = this.toolboxMenuService.menuStructure$.pipe(map((menu) => menu
74
72
  .map((items) => [...items.sub.filter((s) => this.toolboxManifestService.isModel(s.type))])
75
73
  .reduce((acc, items) => [...acc, ...items], [])));
76
- this.filteredDataSource$ = combineLatest([
77
- this.search$,
78
- this.store.select(DataSourceSelectors.getDataSourcesSorted)
79
- ]).pipe(map(([searchValue, dataSource]) => dataSource.filter((dataSource) => searchValue === '' || dataSource.name.toLowerCase().includes(searchValue.toLowerCase()))));
80
- this.subscriptions.add(this.filteredDataSource$.subscribe((dataSource) => {
81
- dataSource.forEach((ds) => (this.idToNameDatasource[ds.id] = ds.name));
82
- }));
83
74
  }
84
75
  ngOnInit() {
85
76
  if (this.selectedRestitution) {
@@ -134,13 +125,8 @@ class PryRestitutionComponent extends SubscriptionnerDirective {
134
125
  }
135
126
  this.prev(stepper);
136
127
  }
137
- toggleDatasource(id) {
138
- if (!this.form.selectedDataSource.includes(id)) {
139
- this.form.selectedDataSource.push(id);
140
- }
141
- else {
142
- this.form.selectedDataSource = this.form.selectedDataSource.filter((dataSourceId) => dataSourceId !== id);
143
- }
128
+ datasourcesChanged($event) {
129
+ this.form.selectedDataSource = $event.map((ds) => ds.id);
144
130
  }
145
131
  submit(stepper) {
146
132
  if (this.consultMode) {
@@ -213,15 +199,12 @@ class PryRestitutionComponent extends SubscriptionnerDirective {
213
199
  this.store.dispatch(ConfigActions.loadWidgets());
214
200
  this.restitutionCreated.emit();
215
201
  }
216
- isGeo(ds) {
217
- return ds.metadata?.find((m) => m.metadataDef.name === GeoMetadata.NAMESPACE) !== undefined;
218
- }
219
202
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryRestitutionComponent, deps: [{ token: i1.ToolboxManifestService }, { token: i1$1.Store }, { token: i1.ToolboxMenuService }], target: i0.ɵɵFactoryTarget.Component }); }
220
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryRestitutionComponent, selector: "pry-restitution", inputs: { selectedRestitution: "selectedRestitution", edit: "edit", isDataSourceSelected: "isDataSourceSelected", bindId: "bindId" }, outputs: { restitutionCreated: "restitutionCreated" }, usesInheritance: true, ngImport: i0, template: "<pry-restitution-css></pry-restitution-css>\n<div class=\"o-restitution\">\n <h3 class=\"a-h2 o-restitution__title\">\n {{ (consultMode ? '@pry.restitution.consult_title' : '@pry.restitution.create_title') | i18n }}\n </h3>\n <pry-stepper #stepper [isConsultMode]=\"consultMode || edit\" (lastStepCompleted)=\"lastStepCompleted()\">\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.configure' | i18n }}</h4>\n <div>\n <div class=\"m-form-label-field\">\n <label for=\"restitution\" class=\"a-label\">{{ '@pry.restitution.restitution_type' | i18n }}</label>\n <pry-select\n id=\"restitution\"\n class=\"a-pry-select\"\n [itemsAsOption]=\"true\"\n [items]=\"types$ | async\"\n [labelTranslate]=\"true\"\n [(ngModel)]=\"form.selectedWidget\"\n [disabled]=\"consultMode\"\n bindIcon=\"icon\"\n bindLabel=\"label\"\n bindValue=\"type\"\n >\n </pry-select>\n </div>\n <div *ngIf=\"form.selectedWidget !== ''\">\n <div class=\"m-form-label-field\">\n <label for=\"graphTitle\" class=\"a-label\">{{ '@pry.restitution.graph_title' | i18n }}</label>\n <input\n name=\"title\"\n id=\"graphTitle\"\n class=\"a-form-field\"\n [(ngModel)]=\"form.title\"\n type=\"text\"\n [disabled]=\"consultMode\"\n maxlength=\"30\"\n ngDefaultControl\n />\n </div>\n <div class=\"m-form-label-field\">\n <label for=\"description\" class=\"a-label\">{{ '@pry.restitution.description' | i18n }}</label>\n <textarea\n name=\"description\"\n id=\"description\"\n class=\"a-form-field\"\n [(ngModel)]=\"form.description\"\n style=\"resize: none\"\n [disabled]=\"consultMode\"\n maxlength=\"255\"\n ngDefaultControl\n >\n </textarea>\n </div>\n <div class=\"m-form-label-field -width-full\">\n <label class=\"a-label\">{{ '@pry.presentation.form.image' | i18n }}</label>\n <div class=\"o-file-input\">\n <pry-select-image (changed)=\"image = $event\" [iconUrl]=\"image\" [mode]=\"type\"></pry-select-image>\n <pry-checkbox [(ngModel)]=\"form.cover\" name=\"cover\"> {{ '@pry.restitution.cover' | i18n }}</pry-checkbox>\n </div>\n </div>\n <div class=\"m-btn-group -space-evenly actions\">\n <button (click)=\"cancel(stepper)\" type=\"button\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.restitution.close' | i18n }}\n </button>\n <button (click)=\"goNext(stepper)\" [disabled]=\"isSubmitDisabled()\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.validate' | i18n }}\n </button>\n </div>\n </div>\n </div>\n </pry-step>\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.dataSource' | i18n }}</h4>\n <div class=\"overflow\">\n <div class=\"o-catalog__search\">\n <input\n id=\"catalog-search\"\n type=\"text\"\n class=\"a-form-field\"\n name=\"search\"\n [placeholder]=\"'Recherchez une donn\u00E9e'\"\n [ngModel]=\"search$ | async\"\n (ngModelChange)=\"this.search$.next($event)\"\n ngDefaultControl\n />\n <pry-icon iconSvg=\"search\" [width]=\"17\" [height]=\"17\"></pry-icon>\n </div>\n\n <div class=\"o-datasources\">\n <div *ngIf=\"form.selectedDataSource.length > 0\">\n <h4 class=\"a-h4\">{{ '@pry.restitution.selection' | i18n }}</h4>\n <ul class=\"o-datasources__list o-datasources__list--selected\">\n <li class=\"o-datasources__item\" *ngFor=\"let id of form.selectedDataSource\">\n <button (click)=\"toggleDatasource(id)\" type=\"button\" class=\"a-btn a-btn--icon-text\">\n <span class=\"u-visually-hidden\">{{ '@pry.restitution.unselectDataSource' | i18n }}</span>\n {{ idToNameDatasource[id] }}\n <pry-icon [iconSvg]=\"'close'\" [width]=\"18\" [height]=\"18\"></pry-icon>\n </button>\n </li>\n </ul>\n </div>\n\n <ng-container *ngIf=\"filteredDataSource$ | async as datasource\">\n <h4 class=\"a-h4\">{{ '@pry.restitution.select' | i18n }}</h4>\n <ul *ngIf=\"datasource.length > 0; else noDatasource\" class=\"o-datasources__list\">\n <li class=\"o-datasources__item\" *ngFor=\"let ds of datasource\" (click)=\"toggleDatasource(ds.id)\">\n <div class=\"o-datasources__card\">\n <div class=\"o-datasources__card__name\">\n <pry-checkbox\n [ngModel]=\"form.selectedDataSource.includes(ds.id)\"\n (click)=\"$event.preventDefault()\"\n ></pry-checkbox>\n <span class=\"u-visually-hidden\">{{ '@pry.restitution.selectDataSource' | i18n }}</span>\n <p class=\"a-p\">\n {{ ds.id | translateId: { type: 'datasource', output: 'name' } | async }}\n <pry-icon *ngIf=\"isGeo(ds)\" iconSvg=\"globe\"></pry-icon>\n </p>\n </div>\n </div>\n </li>\n </ul>\n </ng-container>\n </div>\n\n <div class=\"m-btn-group -space-evenly actions\">\n <button (click)=\"prev(stepper)\" type=\"button\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.restitution.close' | i18n }}\n </button>\n <button (click)=\"submit(stepper)\" [disabled]=\"noDataSourceSelected()\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.validate' | i18n }}\n </button>\n </div>\n </div>\n </pry-step>\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.visualize' | i18n }}</h4>\n <div class=\"widget-instanciator\">\n <pry-widget-instanciator\n [standalone]=\"true\"\n [staticManifest]=\"customManifest\"\n [open$]=\"openSettings$\"\n (manifestModified)=\"updateManifest($event)\"\n ></pry-widget-instanciator>\n </div>\n <div class=\"m-btn-group -space-evenly actions\" *ngIf=\"!consultMode; else consult\">\n <button (click)=\"prev(stepper)\" type=\"button\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.restitution.close' | i18n }}\n </button>\n <button (click)=\"goNext(stepper)\" type=\"button\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.validate' | i18n }}\n </button>\n </div>\n </pry-step>\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.broadcast' | i18n }}</h4>\n <div class=\"\">\n <h3>{{ '@pry.restitution.access' | i18n }}</h3>\n {{ '@pry.restitution.choice' | i18n }}\n <ul>\n <li>\n {{ '@pry.restitution.public' | i18n }}\n </li>\n </ul>\n {{ '@pry.restitution.or' | i18n }}\n <ul>\n <li>\n {{ '@pry.restitution.private' | i18n }}\n </li>\n </ul>\n </div>\n <pry-share\n [(ngModel)]=\"visibility\"\n [users$]=\"users$\"\n labelProperty=\"name\"\n valueProperty=\"id\"\n [disabled]=\"consultMode\"\n ></pry-share>\n <div class=\"m-btn-group -space-evenly actions\" *ngIf=\"!consultMode; else consult\">\n <button (click)=\"prev(stepper)\" type=\"button\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.restitution.close' | i18n }}\n </button>\n <button\n (click)=\"goNext(stepper)\"\n [disabled]=\"noDataSourceSelected() || isSubmitDisabled()\"\n type=\"button\"\n class=\"a-btn a-btn--primary\"\n >\n {{ '@pry.restitution.broadcast' | i18n }}\n </button>\n </div>\n </pry-step>\n </pry-stepper>\n</div>\n\n<ng-template #consult>\n <div class=\"m-btn-group -space-evenly actions\">\n <button (click)=\"prev(stepper)\" type=\"button\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.restitution.close' | i18n }}\n </button>\n <button (click)=\"goNext(stepper)\" type=\"button\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.next' | i18n }}\n </button>\n </div>\n</ng-template>\n<ng-template #noDatasource>\n <p class=\"search-home__container-search\">{{ '@pry.restitution.noDataSource' | i18n }}</p>\n</ng-template>\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: "component", type: i1.PrySelectImageComponent, selector: "pry-select-image", inputs: ["iconUrl", "size", "mode"], outputs: ["toggled", "changed"] }, { kind: "component", type: i1.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.PryStepperComponent, selector: "pry-stepper", inputs: ["isConsultMode"], outputs: ["lastStepCompleted"] }, { kind: "component", type: i5.PryStepComponent, selector: "pry-step", inputs: ["setActiveState"] }, { kind: "directive", type: i5.PryStepTitleDirective, selector: "[stepTitle]" }, { kind: "component", type: i1.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "component", type: i1.WidgetInstanciatorComponent, selector: "pry-widget-instanciator", inputs: ["widgetIndex", "staticManifest", "standalone", "open$"], outputs: ["manifestModified", "widgetInstance"] }, { kind: "component", type: i1.PryShareComponent, selector: "pry-share", inputs: ["value", "labelProperty", "valueProperty", "users$"] }, { kind: "component", type: i6.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle"] }, { kind: "component", type: PryCatalogCssComponent, selector: "pry-restitution-css" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i1.I18nPipe, name: "i18n" }] }); }
203
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryRestitutionComponent, selector: "pry-restitution", inputs: { selectedRestitution: "selectedRestitution", edit: "edit", isDataSourceSelected: "isDataSourceSelected", bindId: "bindId" }, outputs: { restitutionCreated: "restitutionCreated" }, usesInheritance: true, ngImport: i0, template: "<pry-restitution-css></pry-restitution-css>\n<div class=\"o-restitution\">\n <h3 class=\"a-h2 o-restitution__title\">\n {{ (consultMode ? '@pry.restitution.consult_title' : '@pry.restitution.create_title') | i18n }}\n </h3>\n <pry-stepper #stepper [isConsultMode]=\"consultMode || edit\" (lastStepCompleted)=\"lastStepCompleted()\">\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.configure' | i18n }}</h4>\n <div>\n <div class=\"m-form-label-field\">\n <label for=\"restitution\" class=\"a-label\">{{ '@pry.restitution.restitution_type' | i18n }}</label>\n <pry-select\n id=\"restitution\"\n class=\"a-pry-select\"\n [itemsAsOption]=\"true\"\n [items]=\"types$ | async\"\n [labelTranslate]=\"true\"\n [(ngModel)]=\"form.selectedWidget\"\n [disabled]=\"consultMode\"\n bindIcon=\"icon\"\n bindLabel=\"label\"\n bindValue=\"type\"\n >\n </pry-select>\n </div>\n <div *ngIf=\"form.selectedWidget !== ''\">\n <div class=\"m-form-label-field\">\n <label for=\"graphTitle\" class=\"a-label\">{{ '@pry.restitution.graph_title' | i18n }}</label>\n <input\n name=\"title\"\n id=\"graphTitle\"\n class=\"a-form-field\"\n [(ngModel)]=\"form.title\"\n type=\"text\"\n [disabled]=\"consultMode\"\n maxlength=\"30\"\n ngDefaultControl\n />\n </div>\n <div class=\"m-form-label-field\">\n <label for=\"description\" class=\"a-label\">{{ '@pry.restitution.description' | i18n }}</label>\n <textarea\n name=\"description\"\n id=\"description\"\n class=\"a-form-field\"\n [(ngModel)]=\"form.description\"\n style=\"resize: none\"\n [disabled]=\"consultMode\"\n maxlength=\"255\"\n ngDefaultControl\n >\n </textarea>\n </div>\n <div class=\"m-form-label-field -width-full\">\n <label class=\"a-label\">{{ '@pry.presentation.form.image' | i18n }}</label>\n <div class=\"o-file-input\">\n <pry-select-image (changed)=\"image = $event\" [iconUrl]=\"image\" [mode]=\"type\"></pry-select-image>\n <pry-checkbox [(ngModel)]=\"form.cover\" name=\"cover\"> {{ '@pry.restitution.cover' | i18n }}</pry-checkbox>\n </div>\n </div>\n <div class=\"m-btn-group -space-evenly actions\">\n <button (click)=\"cancel(stepper)\" type=\"button\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.restitution.close' | i18n }}\n </button>\n <button (click)=\"goNext(stepper)\" [disabled]=\"isSubmitDisabled()\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.validate' | i18n }}\n </button>\n </div>\n </div>\n </div>\n </pry-step>\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.dataSource' | i18n }}</h4>\n <pry-datasource-selector\n (cancel)=\"prev(stepper)\"\n (validated)=\"submit(stepper)\"\n (datasourcesChanged)=\"datasourcesChanged($event)\"\n [datasourceIds]=\"form.selectedDataSource\"\n ></pry-datasource-selector>\n </pry-step>\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.visualize' | i18n }}</h4>\n <div class=\"widget-instanciator\">\n <pry-widget-instanciator\n [standalone]=\"true\"\n [staticManifest]=\"customManifest\"\n [open$]=\"openSettings$\"\n (manifestModified)=\"updateManifest($event)\"\n ></pry-widget-instanciator>\n </div>\n <div class=\"m-btn-group -space-evenly actions\" *ngIf=\"!consultMode; else consult\">\n <button (click)=\"prev(stepper)\" type=\"button\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.restitution.close' | i18n }}\n </button>\n <button (click)=\"goNext(stepper)\" type=\"button\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.validate' | i18n }}\n </button>\n </div>\n </pry-step>\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.broadcast' | i18n }}</h4>\n <div class=\"\">\n <h3>{{ '@pry.restitution.access' | i18n }}</h3>\n {{ '@pry.restitution.choice' | i18n }}\n <ul>\n <li>\n {{ '@pry.restitution.public' | i18n }}\n </li>\n </ul>\n {{ '@pry.restitution.or' | i18n }}\n <ul>\n <li>\n {{ '@pry.restitution.private' | i18n }}\n </li>\n </ul>\n </div>\n <pry-share\n [(ngModel)]=\"visibility\"\n [users$]=\"users$\"\n labelProperty=\"name\"\n valueProperty=\"id\"\n [disabled]=\"consultMode\"\n ></pry-share>\n <div class=\"m-btn-group -space-evenly actions\" *ngIf=\"!consultMode; else consult\">\n <button (click)=\"prev(stepper)\" type=\"button\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.restitution.close' | i18n }}\n </button>\n <button\n (click)=\"goNext(stepper)\"\n [disabled]=\"noDataSourceSelected() || isSubmitDisabled()\"\n type=\"button\"\n class=\"a-btn a-btn--primary\"\n >\n {{ '@pry.restitution.broadcast' | i18n }}\n </button>\n </div>\n </pry-step>\n </pry-stepper>\n</div>\n\n<ng-template #consult>\n <div class=\"m-btn-group -space-evenly actions\">\n <button (click)=\"prev(stepper)\" type=\"button\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.restitution.close' | i18n }}\n </button>\n <button (click)=\"goNext(stepper)\" type=\"button\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.next' | i18n }}\n </button>\n </div>\n</ng-template>\n<ng-template #noDatasource>\n <p class=\"search-home__container-search\">{{ '@pry.restitution.noDataSource' | i18n }}</p>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.PrySelectImageComponent, selector: "pry-select-image", inputs: ["iconUrl", "size", "mode"], outputs: ["toggled", "changed"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.PryStepperComponent, selector: "pry-stepper", inputs: ["isConsultMode"], outputs: ["lastStepCompleted"] }, { kind: "component", type: i5.PryStepComponent, selector: "pry-step", inputs: ["setActiveState"] }, { kind: "directive", type: i5.PryStepTitleDirective, selector: "[stepTitle]" }, { kind: "component", type: i1.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "component", type: i1.WidgetInstanciatorComponent, selector: "pry-widget-instanciator", inputs: ["widgetIndex", "staticManifest", "standalone", "open$"], outputs: ["manifestModified", "widgetInstance"] }, { kind: "component", type: i1.DatasourceSelectorComponent, selector: "pry-datasource-selector", inputs: ["manifest", "datasourceIds"], outputs: ["cancel", "validated", "previousTab", "nextTab", "datasourcesChanged"] }, { kind: "component", type: i1.PryShareComponent, selector: "pry-share", inputs: ["value", "labelProperty", "valueProperty", "users$"] }, { kind: "component", type: i6.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle"] }, { kind: "component", type: PryCatalogCssComponent, selector: "pry-restitution-css" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.I18nPipe, name: "i18n" }] }); }
221
204
  }
222
205
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryRestitutionComponent, decorators: [{
223
206
  type: Component,
224
- args: [{ selector: 'pry-restitution', template: "<pry-restitution-css></pry-restitution-css>\n<div class=\"o-restitution\">\n <h3 class=\"a-h2 o-restitution__title\">\n {{ (consultMode ? '@pry.restitution.consult_title' : '@pry.restitution.create_title') | i18n }}\n </h3>\n <pry-stepper #stepper [isConsultMode]=\"consultMode || edit\" (lastStepCompleted)=\"lastStepCompleted()\">\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.configure' | i18n }}</h4>\n <div>\n <div class=\"m-form-label-field\">\n <label for=\"restitution\" class=\"a-label\">{{ '@pry.restitution.restitution_type' | i18n }}</label>\n <pry-select\n id=\"restitution\"\n class=\"a-pry-select\"\n [itemsAsOption]=\"true\"\n [items]=\"types$ | async\"\n [labelTranslate]=\"true\"\n [(ngModel)]=\"form.selectedWidget\"\n [disabled]=\"consultMode\"\n bindIcon=\"icon\"\n bindLabel=\"label\"\n bindValue=\"type\"\n >\n </pry-select>\n </div>\n <div *ngIf=\"form.selectedWidget !== ''\">\n <div class=\"m-form-label-field\">\n <label for=\"graphTitle\" class=\"a-label\">{{ '@pry.restitution.graph_title' | i18n }}</label>\n <input\n name=\"title\"\n id=\"graphTitle\"\n class=\"a-form-field\"\n [(ngModel)]=\"form.title\"\n type=\"text\"\n [disabled]=\"consultMode\"\n maxlength=\"30\"\n ngDefaultControl\n />\n </div>\n <div class=\"m-form-label-field\">\n <label for=\"description\" class=\"a-label\">{{ '@pry.restitution.description' | i18n }}</label>\n <textarea\n name=\"description\"\n id=\"description\"\n class=\"a-form-field\"\n [(ngModel)]=\"form.description\"\n style=\"resize: none\"\n [disabled]=\"consultMode\"\n maxlength=\"255\"\n ngDefaultControl\n >\n </textarea>\n </div>\n <div class=\"m-form-label-field -width-full\">\n <label class=\"a-label\">{{ '@pry.presentation.form.image' | i18n }}</label>\n <div class=\"o-file-input\">\n <pry-select-image (changed)=\"image = $event\" [iconUrl]=\"image\" [mode]=\"type\"></pry-select-image>\n <pry-checkbox [(ngModel)]=\"form.cover\" name=\"cover\"> {{ '@pry.restitution.cover' | i18n }}</pry-checkbox>\n </div>\n </div>\n <div class=\"m-btn-group -space-evenly actions\">\n <button (click)=\"cancel(stepper)\" type=\"button\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.restitution.close' | i18n }}\n </button>\n <button (click)=\"goNext(stepper)\" [disabled]=\"isSubmitDisabled()\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.validate' | i18n }}\n </button>\n </div>\n </div>\n </div>\n </pry-step>\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.dataSource' | i18n }}</h4>\n <div class=\"overflow\">\n <div class=\"o-catalog__search\">\n <input\n id=\"catalog-search\"\n type=\"text\"\n class=\"a-form-field\"\n name=\"search\"\n [placeholder]=\"'Recherchez une donn\u00E9e'\"\n [ngModel]=\"search$ | async\"\n (ngModelChange)=\"this.search$.next($event)\"\n ngDefaultControl\n />\n <pry-icon iconSvg=\"search\" [width]=\"17\" [height]=\"17\"></pry-icon>\n </div>\n\n <div class=\"o-datasources\">\n <div *ngIf=\"form.selectedDataSource.length > 0\">\n <h4 class=\"a-h4\">{{ '@pry.restitution.selection' | i18n }}</h4>\n <ul class=\"o-datasources__list o-datasources__list--selected\">\n <li class=\"o-datasources__item\" *ngFor=\"let id of form.selectedDataSource\">\n <button (click)=\"toggleDatasource(id)\" type=\"button\" class=\"a-btn a-btn--icon-text\">\n <span class=\"u-visually-hidden\">{{ '@pry.restitution.unselectDataSource' | i18n }}</span>\n {{ idToNameDatasource[id] }}\n <pry-icon [iconSvg]=\"'close'\" [width]=\"18\" [height]=\"18\"></pry-icon>\n </button>\n </li>\n </ul>\n </div>\n\n <ng-container *ngIf=\"filteredDataSource$ | async as datasource\">\n <h4 class=\"a-h4\">{{ '@pry.restitution.select' | i18n }}</h4>\n <ul *ngIf=\"datasource.length > 0; else noDatasource\" class=\"o-datasources__list\">\n <li class=\"o-datasources__item\" *ngFor=\"let ds of datasource\" (click)=\"toggleDatasource(ds.id)\">\n <div class=\"o-datasources__card\">\n <div class=\"o-datasources__card__name\">\n <pry-checkbox\n [ngModel]=\"form.selectedDataSource.includes(ds.id)\"\n (click)=\"$event.preventDefault()\"\n ></pry-checkbox>\n <span class=\"u-visually-hidden\">{{ '@pry.restitution.selectDataSource' | i18n }}</span>\n <p class=\"a-p\">\n {{ ds.id | translateId: { type: 'datasource', output: 'name' } | async }}\n <pry-icon *ngIf=\"isGeo(ds)\" iconSvg=\"globe\"></pry-icon>\n </p>\n </div>\n </div>\n </li>\n </ul>\n </ng-container>\n </div>\n\n <div class=\"m-btn-group -space-evenly actions\">\n <button (click)=\"prev(stepper)\" type=\"button\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.restitution.close' | i18n }}\n </button>\n <button (click)=\"submit(stepper)\" [disabled]=\"noDataSourceSelected()\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.validate' | i18n }}\n </button>\n </div>\n </div>\n </pry-step>\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.visualize' | i18n }}</h4>\n <div class=\"widget-instanciator\">\n <pry-widget-instanciator\n [standalone]=\"true\"\n [staticManifest]=\"customManifest\"\n [open$]=\"openSettings$\"\n (manifestModified)=\"updateManifest($event)\"\n ></pry-widget-instanciator>\n </div>\n <div class=\"m-btn-group -space-evenly actions\" *ngIf=\"!consultMode; else consult\">\n <button (click)=\"prev(stepper)\" type=\"button\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.restitution.close' | i18n }}\n </button>\n <button (click)=\"goNext(stepper)\" type=\"button\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.validate' | i18n }}\n </button>\n </div>\n </pry-step>\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.broadcast' | i18n }}</h4>\n <div class=\"\">\n <h3>{{ '@pry.restitution.access' | i18n }}</h3>\n {{ '@pry.restitution.choice' | i18n }}\n <ul>\n <li>\n {{ '@pry.restitution.public' | i18n }}\n </li>\n </ul>\n {{ '@pry.restitution.or' | i18n }}\n <ul>\n <li>\n {{ '@pry.restitution.private' | i18n }}\n </li>\n </ul>\n </div>\n <pry-share\n [(ngModel)]=\"visibility\"\n [users$]=\"users$\"\n labelProperty=\"name\"\n valueProperty=\"id\"\n [disabled]=\"consultMode\"\n ></pry-share>\n <div class=\"m-btn-group -space-evenly actions\" *ngIf=\"!consultMode; else consult\">\n <button (click)=\"prev(stepper)\" type=\"button\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.restitution.close' | i18n }}\n </button>\n <button\n (click)=\"goNext(stepper)\"\n [disabled]=\"noDataSourceSelected() || isSubmitDisabled()\"\n type=\"button\"\n class=\"a-btn a-btn--primary\"\n >\n {{ '@pry.restitution.broadcast' | i18n }}\n </button>\n </div>\n </pry-step>\n </pry-stepper>\n</div>\n\n<ng-template #consult>\n <div class=\"m-btn-group -space-evenly actions\">\n <button (click)=\"prev(stepper)\" type=\"button\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.restitution.close' | i18n }}\n </button>\n <button (click)=\"goNext(stepper)\" type=\"button\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.next' | i18n }}\n </button>\n </div>\n</ng-template>\n<ng-template #noDatasource>\n <p class=\"search-home__container-search\">{{ '@pry.restitution.noDataSource' | i18n }}</p>\n</ng-template>\n" }]
207
+ args: [{ selector: 'pry-restitution', template: "<pry-restitution-css></pry-restitution-css>\n<div class=\"o-restitution\">\n <h3 class=\"a-h2 o-restitution__title\">\n {{ (consultMode ? '@pry.restitution.consult_title' : '@pry.restitution.create_title') | i18n }}\n </h3>\n <pry-stepper #stepper [isConsultMode]=\"consultMode || edit\" (lastStepCompleted)=\"lastStepCompleted()\">\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.configure' | i18n }}</h4>\n <div>\n <div class=\"m-form-label-field\">\n <label for=\"restitution\" class=\"a-label\">{{ '@pry.restitution.restitution_type' | i18n }}</label>\n <pry-select\n id=\"restitution\"\n class=\"a-pry-select\"\n [itemsAsOption]=\"true\"\n [items]=\"types$ | async\"\n [labelTranslate]=\"true\"\n [(ngModel)]=\"form.selectedWidget\"\n [disabled]=\"consultMode\"\n bindIcon=\"icon\"\n bindLabel=\"label\"\n bindValue=\"type\"\n >\n </pry-select>\n </div>\n <div *ngIf=\"form.selectedWidget !== ''\">\n <div class=\"m-form-label-field\">\n <label for=\"graphTitle\" class=\"a-label\">{{ '@pry.restitution.graph_title' | i18n }}</label>\n <input\n name=\"title\"\n id=\"graphTitle\"\n class=\"a-form-field\"\n [(ngModel)]=\"form.title\"\n type=\"text\"\n [disabled]=\"consultMode\"\n maxlength=\"30\"\n ngDefaultControl\n />\n </div>\n <div class=\"m-form-label-field\">\n <label for=\"description\" class=\"a-label\">{{ '@pry.restitution.description' | i18n }}</label>\n <textarea\n name=\"description\"\n id=\"description\"\n class=\"a-form-field\"\n [(ngModel)]=\"form.description\"\n style=\"resize: none\"\n [disabled]=\"consultMode\"\n maxlength=\"255\"\n ngDefaultControl\n >\n </textarea>\n </div>\n <div class=\"m-form-label-field -width-full\">\n <label class=\"a-label\">{{ '@pry.presentation.form.image' | i18n }}</label>\n <div class=\"o-file-input\">\n <pry-select-image (changed)=\"image = $event\" [iconUrl]=\"image\" [mode]=\"type\"></pry-select-image>\n <pry-checkbox [(ngModel)]=\"form.cover\" name=\"cover\"> {{ '@pry.restitution.cover' | i18n }}</pry-checkbox>\n </div>\n </div>\n <div class=\"m-btn-group -space-evenly actions\">\n <button (click)=\"cancel(stepper)\" type=\"button\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.restitution.close' | i18n }}\n </button>\n <button (click)=\"goNext(stepper)\" [disabled]=\"isSubmitDisabled()\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.validate' | i18n }}\n </button>\n </div>\n </div>\n </div>\n </pry-step>\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.dataSource' | i18n }}</h4>\n <pry-datasource-selector\n (cancel)=\"prev(stepper)\"\n (validated)=\"submit(stepper)\"\n (datasourcesChanged)=\"datasourcesChanged($event)\"\n [datasourceIds]=\"form.selectedDataSource\"\n ></pry-datasource-selector>\n </pry-step>\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.visualize' | i18n }}</h4>\n <div class=\"widget-instanciator\">\n <pry-widget-instanciator\n [standalone]=\"true\"\n [staticManifest]=\"customManifest\"\n [open$]=\"openSettings$\"\n (manifestModified)=\"updateManifest($event)\"\n ></pry-widget-instanciator>\n </div>\n <div class=\"m-btn-group -space-evenly actions\" *ngIf=\"!consultMode; else consult\">\n <button (click)=\"prev(stepper)\" type=\"button\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.restitution.close' | i18n }}\n </button>\n <button (click)=\"goNext(stepper)\" type=\"button\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.validate' | i18n }}\n </button>\n </div>\n </pry-step>\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.broadcast' | i18n }}</h4>\n <div class=\"\">\n <h3>{{ '@pry.restitution.access' | i18n }}</h3>\n {{ '@pry.restitution.choice' | i18n }}\n <ul>\n <li>\n {{ '@pry.restitution.public' | i18n }}\n </li>\n </ul>\n {{ '@pry.restitution.or' | i18n }}\n <ul>\n <li>\n {{ '@pry.restitution.private' | i18n }}\n </li>\n </ul>\n </div>\n <pry-share\n [(ngModel)]=\"visibility\"\n [users$]=\"users$\"\n labelProperty=\"name\"\n valueProperty=\"id\"\n [disabled]=\"consultMode\"\n ></pry-share>\n <div class=\"m-btn-group -space-evenly actions\" *ngIf=\"!consultMode; else consult\">\n <button (click)=\"prev(stepper)\" type=\"button\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.restitution.close' | i18n }}\n </button>\n <button\n (click)=\"goNext(stepper)\"\n [disabled]=\"noDataSourceSelected() || isSubmitDisabled()\"\n type=\"button\"\n class=\"a-btn a-btn--primary\"\n >\n {{ '@pry.restitution.broadcast' | i18n }}\n </button>\n </div>\n </pry-step>\n </pry-stepper>\n</div>\n\n<ng-template #consult>\n <div class=\"m-btn-group -space-evenly actions\">\n <button (click)=\"prev(stepper)\" type=\"button\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.restitution.close' | i18n }}\n </button>\n <button (click)=\"goNext(stepper)\" type=\"button\" class=\"a-btn a-btn--primary\">\n {{ '@pry.restitution.next' | i18n }}\n </button>\n </div>\n</ng-template>\n<ng-template #noDatasource>\n <p class=\"search-home__container-search\">{{ '@pry.restitution.noDataSource' | i18n }}</p>\n</ng-template>\n" }]
225
208
  }], ctorParameters: function () { return [{ type: i1.ToolboxManifestService }, { type: i1$1.Store }, { type: i1.ToolboxMenuService }]; }, propDecorators: { selectedRestitution: [{
226
209
  type: Input
227
210
  }], edit: [{