@provoly/dashboard 1.2.9 → 1.2.10

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 (102) hide show
  1. package/admin/admin.module.d.ts +2 -3
  2. package/dataset/components/dataset.component.d.ts +3 -11
  3. package/dataset/dataset.module.d.ts +7 -9
  4. package/dataset/public-api.d.ts +0 -1
  5. package/dataset/style/_o-pry-dataset.scss +3 -72
  6. package/esm2022/admin/admin.module.mjs +1 -5
  7. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +3 -4
  8. package/esm2022/dataset/components/dataset.component.mjs +8 -33
  9. package/esm2022/dataset/dataset.module.mjs +9 -13
  10. package/esm2022/dataset/public-api.mjs +1 -2
  11. package/esm2022/dataset/style/css.component.mjs +3 -3
  12. package/esm2022/lib/core/components/chips-selector/chips-selector.component.mjs +7 -27
  13. package/esm2022/lib/core/components/chips-selector/chips-selector.module.mjs +21 -0
  14. package/esm2022/lib/core/components/select-image/select-image.component.mjs +1 -1
  15. package/esm2022/lib/core/components/share/group-share/group-share.component.mjs +3 -3
  16. package/esm2022/lib/core/components/share/share.module.mjs +8 -12
  17. package/esm2022/lib/core/core.module.mjs +4 -8
  18. package/esm2022/lib/core/i18n/en.translations.mjs +8 -8
  19. package/esm2022/lib/core/i18n/fr.translations.mjs +9 -9
  20. package/esm2022/lib/core/pipes/get-secured-image/get-secured-image.pipe.mjs +21 -0
  21. package/esm2022/lib/core/pipes/since-date/since-date.module.mjs +18 -0
  22. package/esm2022/lib/core/pipes/since-date/since-date.pipe.mjs +55 -0
  23. package/esm2022/lib/core/pipes/translate-id/translate-id.pipe.mjs +108 -0
  24. package/esm2022/lib/core/pipes/translate-item-to-symbol/translate-item-to-symbol.pipe.mjs +23 -0
  25. package/esm2022/lib/core/public-api.mjs +7 -4
  26. package/esm2022/lib/core/store/data-source/datasource-utils.mjs +22 -1
  27. package/esm2022/lib/dashboard/components/widgets/data-widget.component.mjs +2 -2
  28. package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-card/datasource-card.component.mjs +60 -0
  29. package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-list/datasource-list.component.mjs +95 -0
  30. package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-selector.component.mjs +53 -48
  31. package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +6 -7
  32. package/esm2022/lib/dashboard/components/widgets/public-api.mjs +3 -1
  33. package/esm2022/lib/dashboard/dashboard.module.mjs +19 -7
  34. package/esm2022/lib/dashboard/tooltip/components/default/default.tooltip.component.mjs +2 -2
  35. package/esm2022/pipeline/components/pipeline-details/pipeline-details.component.mjs +2 -3
  36. package/esm2022/pipeline/components/pipeline-list/pipeline-list.component.mjs +2 -3
  37. package/esm2022/pipeline/pipeline.module.mjs +8 -9
  38. package/esm2022/presentation/components/presentation.component.mjs +2 -3
  39. package/esm2022/presentation/presentation.module.mjs +8 -9
  40. package/esm2022/restitution/components/restitution/restitution.component.mjs +4 -4
  41. package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +2 -3
  42. package/esm2022/restitution/restitution.module.mjs +2 -3
  43. package/esm2022/restitution/style/css.component.mjs +2 -2
  44. package/fesm2022/provoly-dashboard-admin.mjs +0 -4
  45. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  46. package/fesm2022/provoly-dashboard-dataset.mjs +30 -87
  47. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  48. package/fesm2022/provoly-dashboard-pipeline.mjs +17 -19
  49. package/fesm2022/provoly-dashboard-pipeline.mjs.map +1 -1
  50. package/fesm2022/provoly-dashboard-presentation.mjs +8 -10
  51. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  52. package/fesm2022/provoly-dashboard-restitution.mjs +7 -9
  53. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  54. package/fesm2022/provoly-dashboard.mjs +3475 -3265
  55. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  56. package/lib/core/components/chips-selector/chips-selector.component.d.ts +1 -6
  57. package/lib/core/components/chips-selector/chips-selector.module.d.ts +11 -0
  58. package/lib/core/components/share/share.module.d.ts +3 -4
  59. package/lib/core/core.module.d.ts +26 -27
  60. package/lib/core/i18n/en.translations.d.ts +7 -7
  61. package/lib/core/i18n/fr.translations.d.ts +7 -7
  62. package/{components/sinceDate/sinceDate.module.d.ts → lib/core/pipes/since-date/since-date.module.d.ts} +3 -2
  63. package/{components/sinceDate/sinceDate.pipe.d.ts → lib/core/pipes/since-date/since-date.pipe.d.ts} +4 -4
  64. package/lib/core/{components → pipes}/translate-id/translate-id.pipe.d.ts +0 -2
  65. package/lib/core/public-api.d.ts +6 -3
  66. package/lib/core/store/data-source/datasource-utils.d.ts +4 -1
  67. package/lib/dashboard/components/widgets/datasource-selector/datasource-card/datasource-card.component.d.ts +24 -0
  68. package/lib/dashboard/components/widgets/datasource-selector/datasource-list/datasource-list.component.d.ts +35 -0
  69. package/lib/dashboard/components/widgets/datasource-selector/datasource-selector.component.d.ts +19 -11
  70. package/lib/dashboard/components/widgets/header/widget-header.component.d.ts +1 -1
  71. package/lib/dashboard/components/widgets/public-api.d.ts +2 -0
  72. package/lib/dashboard/dashboard.module.d.ts +18 -15
  73. package/package.json +43 -49
  74. package/pipeline/pipeline.module.d.ts +3 -4
  75. package/presentation/presentation.module.d.ts +7 -8
  76. package/restitution/components/restitution/restitution.component.d.ts +1 -1
  77. package/restitution/restitution.module.d.ts +1 -2
  78. package/restitution/style/_o-restitution.scss +4 -0
  79. package/styles/components/_a-chip.scss +44 -0
  80. package/styles/components/_o-datasource-selector.scss +192 -0
  81. package/styles/components/_o-widget.scss +1 -1
  82. package/styles/main.scss +1 -0
  83. package/styles-theme/main-theme.scss +0 -3
  84. package/components/sinceDate/index.d.ts +0 -5
  85. package/components/sinceDate/public-api.d.ts +0 -2
  86. package/dataset/components/dataset-card/dataset-card.component.d.ts +0 -18
  87. package/dataset/style/_o-pry-dataset-card.scss +0 -93
  88. package/esm2022/components/sinceDate/provoly-dashboard-components-sinceDate.mjs +0 -5
  89. package/esm2022/components/sinceDate/public-api.mjs +0 -3
  90. package/esm2022/components/sinceDate/sinceDate.module.mjs +0 -16
  91. package/esm2022/components/sinceDate/sinceDate.pipe.mjs +0 -55
  92. package/esm2022/dataset/components/dataset-card/dataset-card.component.mjs +0 -41
  93. package/esm2022/lib/core/components/get-secured-image/get-secured-image.pipe.mjs +0 -21
  94. package/esm2022/lib/core/components/translate-id/translate-id.pipe.mjs +0 -114
  95. package/esm2022/lib/core/components/translate-item-to-symbol/translate-item-to-symbol.pipe.mjs +0 -23
  96. package/fesm2022/provoly-dashboard-components-sinceDate.mjs +0 -75
  97. package/fesm2022/provoly-dashboard-components-sinceDate.mjs.map +0 -1
  98. package/styles-theme/components-theme/_a-chip.theme.scss +0 -32
  99. package/styles-theme/components-theme/_o-pry-dataset-card.theme.scss +0 -26
  100. package/styles-theme/components-theme/_o-pry-dataset.theme.scss +0 -4
  101. /package/lib/core/{components → pipes}/get-secured-image/get-secured-image.pipe.d.ts +0 -0
  102. /package/lib/core/{components → pipes}/translate-item-to-symbol/translate-item-to-symbol.pipe.d.ts +0 -0
@@ -6,17 +6,16 @@ import * as i3 from "./components/title-presentation/title-presentation.componen
6
6
  import * as i4 from "./style/css.component";
7
7
  import * as i5 from "@provoly/dashboard";
8
8
  import * as i6 from "@angular/forms";
9
- import * as i7 from "@provoly/dashboard/components/sinceDate";
10
- import * as i8 from "@provoly/dashboard/toolbox";
11
- import * as i9 from "@provoly/dashboard/components/checkbox";
12
- import * as i10 from "@angular/common";
13
- import * as i11 from "@angular/cdk/a11y";
14
- import * as i12 from "@provoly/dashboard/components/metadata-editor";
15
- import * as i13 from "@provoly/dashboard/components/text-editor";
9
+ import * as i7 from "@provoly/dashboard/toolbox";
10
+ import * as i8 from "@provoly/dashboard/components/checkbox";
11
+ import * as i9 from "@angular/common";
12
+ import * as i10 from "@angular/cdk/a11y";
13
+ import * as i11 from "@provoly/dashboard/components/metadata-editor";
14
+ import * as i12 from "@provoly/dashboard/components/text-editor";
16
15
  export declare class PryPresentationModule {
17
16
  private pryTranslateService;
18
17
  constructor(pryTranslateService: PryI18nService);
19
18
  static ɵfac: i0.ɵɵFactoryDeclaration<PryPresentationModule, never>;
20
- static ɵmod: i0.ɵɵNgModuleDeclaration<PryPresentationModule, [typeof i1.PryPresentationComponent, typeof i2.PryAddEditPresentationComponent, typeof i3.PryTitlePresentationComponent, typeof i4.PryPresentationCssComponent], [typeof i5.PryIconModule, typeof i5.PryCoreModule, typeof i5.PryDashboardModule, typeof i6.ReactiveFormsModule, typeof i5.PrySelectModule, typeof i7.PrySinceDateModule, typeof i5.PryShareModule, typeof i6.FormsModule, typeof i5.PryOverlayModule, typeof i5.PryI18nModule, typeof i8.PryToolboxModule, typeof i9.PryCheckboxModule, typeof i10.CommonModule, typeof i11.A11yModule, typeof i12.PryExpandPanelModule, typeof i13.PryTextEditorModule], [typeof i1.PryPresentationComponent, typeof i2.PryAddEditPresentationComponent, typeof i3.PryTitlePresentationComponent, typeof i4.PryPresentationCssComponent]>;
19
+ static ɵmod: i0.ɵɵNgModuleDeclaration<PryPresentationModule, [typeof i1.PryPresentationComponent, typeof i2.PryAddEditPresentationComponent, typeof i3.PryTitlePresentationComponent, typeof i4.PryPresentationCssComponent], [typeof i5.PryIconModule, typeof i5.PryCoreModule, typeof i5.PryDashboardModule, typeof i6.ReactiveFormsModule, typeof i5.PrySelectModule, typeof i5.PryShareModule, typeof i6.FormsModule, typeof i5.PryOverlayModule, typeof i5.PryI18nModule, typeof i7.PryToolboxModule, typeof i8.PryCheckboxModule, typeof i9.CommonModule, typeof i10.A11yModule, typeof i11.PryExpandPanelModule, typeof i12.PryTextEditorModule, typeof i5.PrySinceDateModule], [typeof i1.PryPresentationComponent, typeof i2.PryAddEditPresentationComponent, typeof i3.PryTitlePresentationComponent, typeof i4.PryPresentationCssComponent]>;
21
20
  static ɵinj: i0.ɵɵInjectorDeclaration<PryPresentationModule>;
22
21
  }
@@ -40,7 +40,7 @@ export declare class PryRestitutionComponent extends SubscriptionnerDirective im
40
40
  constructor(toolboxManifestService: ToolboxManifestService, store: Store, toolboxMenuService: ToolboxMenuService);
41
41
  ngOnInit(): void;
42
42
  cancel(stepper: PryStepperComponent): void;
43
- datasourcesChanged($event: DataSource[]): void;
43
+ datasourcesChanged($event: string[]): void;
44
44
  submit(stepper: PryStepperComponent): void;
45
45
  goNext(stepper: PryStepperComponent, submit?: boolean): void;
46
46
  prev(stepper: PryStepperComponent): void;
@@ -12,11 +12,10 @@ import * as i9 from "@provoly/dashboard/components/stepper";
12
12
  import * as i10 from "@provoly/dashboard/search";
13
13
  import * as i11 from "@provoly/dashboard/components/card";
14
14
  import * as i12 from "@provoly/dashboard/components/checkbox";
15
- import * as i13 from "@provoly/dashboard/components/sinceDate";
16
15
  export declare class PryRestitutionModule {
17
16
  private pryTranslateService;
18
17
  constructor(pryTranslateService: PryI18nService);
19
18
  static ɵfac: i0.ɵɵFactoryDeclaration<PryRestitutionModule, never>;
20
- static ɵmod: i0.ɵɵNgModuleDeclaration<PryRestitutionModule, [typeof i1.PryRestitutionListComponent, typeof i2.PryRestitutionComponent, typeof i3.PryCatalogCssComponent, typeof i4.PryRestitutionCatalogComponent, typeof i5.PryRestitutionListItemComponent], [typeof i6.CommonModule, typeof i7.PryCoreModule, typeof i7.PryIconModule, typeof i8.FormsModule, typeof i9.PryStepperModule, typeof i7.PrySelectModule, typeof i7.PryDashboardModule, typeof i7.PryShareModule, typeof i10.PrySearchModule, typeof i7.PryI18nModule, typeof i11.PryCardModule, typeof i12.PryCheckboxModule, typeof i7.PryOverlayModule, typeof i13.PrySinceDateModule], [typeof i1.PryRestitutionListComponent, typeof i2.PryRestitutionComponent, typeof i4.PryRestitutionCatalogComponent, typeof i5.PryRestitutionListItemComponent]>;
19
+ static ɵmod: i0.ɵɵNgModuleDeclaration<PryRestitutionModule, [typeof i1.PryRestitutionListComponent, typeof i2.PryRestitutionComponent, typeof i3.PryCatalogCssComponent, typeof i4.PryRestitutionCatalogComponent, typeof i5.PryRestitutionListItemComponent], [typeof i6.CommonModule, typeof i7.PryCoreModule, typeof i7.PryIconModule, typeof i8.FormsModule, typeof i9.PryStepperModule, typeof i7.PrySelectModule, typeof i7.PryDashboardModule, typeof i7.PryShareModule, typeof i10.PrySearchModule, typeof i7.PryI18nModule, typeof i11.PryCardModule, typeof i12.PryCheckboxModule, typeof i7.PryOverlayModule, typeof i7.PrySinceDateModule], [typeof i1.PryRestitutionListComponent, typeof i2.PryRestitutionComponent, typeof i4.PryRestitutionCatalogComponent, typeof i5.PryRestitutionListItemComponent]>;
21
20
  static ɵinj: i0.ɵɵInjectorDeclaration<PryRestitutionModule>;
22
21
  }
@@ -22,4 +22,8 @@
22
22
  .m-btn-group.actions {
23
23
  margin-top: auto;
24
24
  }
25
+
26
+ pry-datasource-selector {
27
+ height: calc(100% - 35px);
28
+ }
25
29
  }
@@ -1,4 +1,5 @@
1
1
  @use '../abstracts' as *;
2
+ @use '../../styles-theme/abstracts-theme/variables.theme' as *;
2
3
 
3
4
  .a-chip {
4
5
  display: flex;
@@ -8,13 +9,56 @@
8
9
  font-size: toRem(10);
9
10
  padding: toRem(2) toRem(7);
10
11
 
12
+ color: themed($theme-map, 'color', 'primary', 'contrast', 50);
13
+ background-color: themed($theme-map, 'color', 'primary', 600);
14
+
15
+ &:hover {
16
+ @include changeBgColor(
17
+ $targetBgColor: themed($theme-map, 'color', 'primary', 300),
18
+ $targetTextColor: themed($theme-map, 'color', 'primary', 600)
19
+ );
20
+ }
21
+
22
+ &--light {
23
+ background-color: themed($theme-map, 'color', 'primary', 50);
24
+ color: themed($theme-map, 'color', 'primary', 600);
25
+ border: solid 1px themed($theme-map, 'color', 'primary', 300);
26
+
27
+ &:hover {
28
+ @include changeBgColor(
29
+ $targetBgColor: themed($theme-map, 'color', 'primary', 300)
30
+ );
31
+ }
32
+ }
33
+
34
+ &--ghost {
35
+ background-color: transparent;
36
+ color: themed($theme-map, 'color', 'primary', 750);
37
+
38
+ &:hover {
39
+ @include changeBgColor(
40
+ $targetBgColor: themed($theme-map, 'color', 'primary', 300)
41
+ );
42
+ }
43
+ }
44
+
11
45
  &.-md {
12
46
  height: toRem(20);
13
47
  font-size: toRem(12);
14
48
  padding: toRem(3) toRem(10);
15
49
  }
16
50
 
51
+ &.-lg {
52
+ height: toRem(30);
53
+ font-size: toRem(16);
54
+ gap: toRem(5);
55
+ }
56
+
17
57
  &.-no-wrap {
18
58
  white-space: nowrap;
19
59
  }
60
+
61
+ &.-not-found {
62
+ opacity: 0.4;
63
+ }
20
64
  }
@@ -0,0 +1,192 @@
1
+ @use '../../styles/abstracts/index' as *;
2
+ @use '../../styles-theme/abstracts-theme/variables.theme' as *;
3
+
4
+ /* Organism - datasource-selector */
5
+
6
+ .o-datasource-selector {
7
+ overflow: hidden;
8
+ height: 100%;
9
+
10
+ pry-datasource-list {
11
+ overflow: hidden;
12
+ }
13
+
14
+ &__chips {
15
+ max-height: toRem(80);
16
+ margin-bottom: toRem(40);
17
+ overflow: scroll;
18
+ }
19
+ }
20
+
21
+ .o-datasource-list {
22
+ &__header {
23
+ width: 100%;
24
+
25
+ .a-label {
26
+ font-size: toRem(16);
27
+ font-weight: 700;
28
+ }
29
+
30
+ input.a-form-field {
31
+ padding-left: toRem(60);
32
+ }
33
+
34
+ div.a-pry-select {
35
+ padding: toRem(7.5) toRem(10);
36
+ }
37
+
38
+ input.a-form-field, div.a-pry-select {
39
+ border-color: themed($theme-map, 'color', 'primary', 600);
40
+ font-size: toRem(12);
41
+ border-radius: toRem(5);
42
+ height: toRem(40);
43
+ }
44
+
45
+ input.a-form-field::placeholder, span.a-pry-select__placeholder {
46
+ color: themed($theme-map, 'color', 'primary', 500);
47
+ font-style: italic;
48
+ }
49
+ }
50
+
51
+ &__search {
52
+ flex-basis: 50%;
53
+ position: relative;
54
+
55
+ .search-icon {
56
+ position: absolute;
57
+ left: toRem(20);
58
+ bottom: toRem(10);
59
+ pointer-events: none;
60
+ color: themed($theme-map, 'color', 'primary', 600);
61
+ }
62
+ }
63
+
64
+ &__categories {
65
+ flex-basis: 50%;
66
+ }
67
+
68
+ &__content {
69
+ @extend %list-unstyled;
70
+ display: grid;
71
+ grid-template-columns: repeat(auto-fill, minmax(toRem(330), 0fr));
72
+ grid-gap: toRem(10);
73
+ column-gap: 1.5rem;
74
+ row-gap: 2rem;
75
+ padding-bottom: toRem(20);
76
+
77
+ overflow: auto;
78
+ height: calc(100% - 100px);
79
+ }
80
+ }
81
+
82
+ .o-datasource-card {
83
+ display: flex;
84
+ flex-direction: column;
85
+ margin: 0 auto;
86
+ font-size: toRem(14);
87
+ min-width: toRem(310);
88
+ height: toRem(180);
89
+
90
+ background-color: themed($theme-map, 'color', 'primary', 50);
91
+ filter: drop-shadow(0px 4px 4px rgba(17, 59, 110, 0.12));
92
+
93
+ &:hover {
94
+ background-color: themed($theme-map, 'color', 'primary', 300);
95
+ cursor: pointer;
96
+
97
+ .o-pry-datasource-card__footer {
98
+ border-top: 1px themed($theme-map, 'color', 'primary', 400) solid;
99
+
100
+ pry-icon {
101
+ visibility: visible;
102
+ opacity: 1;
103
+ }
104
+ }
105
+ }
106
+
107
+ &.-no-footer {
108
+ height: toRem(150);
109
+ }
110
+
111
+ &__title {
112
+ width: toRem(270);
113
+
114
+ &.a-tooltip[data-tooltip]:after {
115
+ top: calc(100% - 15px);
116
+ max-width: toRem(300);
117
+ word-break: break-word;
118
+ }
119
+ }
120
+
121
+ &.-is-selectable .o-datasource-card__title {
122
+ width: toRem(240);
123
+ }
124
+
125
+ .a-h4 {
126
+ color: themed($theme-map, 'color', 'primary', 600);
127
+ }
128
+
129
+ &__header {
130
+ display: flex;
131
+ gap: toRem(15);
132
+ padding: toRem(10);
133
+ max-width: toRem(330);
134
+ }
135
+
136
+ &__checkbox {
137
+ margin-left: auto;
138
+ }
139
+
140
+ &__date {
141
+ font-size: toRem(11);
142
+ }
143
+
144
+ &__description {
145
+ position: relative;
146
+ width: 100%;
147
+
148
+ &.a-tooltip[data-tooltip]:after {
149
+ width: 100%;
150
+ }
151
+ }
152
+
153
+ &__content {
154
+ flex-grow: 1;
155
+ padding: 0 toRem(15);
156
+ font-size: toRem(13);
157
+ margin-bottom: toRem(10);
158
+
159
+ .a-h3 {
160
+ font-size: toRem(14);
161
+ }
162
+
163
+ &.-date {
164
+ margin-bottom: 0;
165
+ }
166
+ }
167
+
168
+ &__categories {
169
+ max-height: toRem(20);
170
+ overflow: hidden;
171
+ }
172
+
173
+ &__footer {
174
+ display: flex;
175
+ align-items: center;
176
+ justify-content: center;
177
+
178
+ border-top: 1px themed($theme-map, 'color', 'primary', 300) solid;
179
+ border-bottom: 1px themed($theme-map, 'color', 'primary', 300) solid;
180
+
181
+ .a-btn {
182
+ margin-left: toRem(20); // needed for centering the footer text
183
+ }
184
+
185
+ pry-icon {
186
+ visibility: hidden;
187
+ opacity: 0;
188
+ transition: visibility 100ms linear , opacity 100ms linear;
189
+ margin-left: toRem(3);
190
+ }
191
+ }
192
+ }
@@ -126,7 +126,7 @@
126
126
  // Resultset displayed in popup/panel
127
127
  &__choose-resultset, .active-step {
128
128
  @extend %overlay-panel-fixed-right;
129
- width: toRem(560);
129
+ width: toRem(1100);
130
130
  padding: 0 0 toRem(10) 0;
131
131
  top: toRem(12);
132
132
  height: calc(100% - 24px);
package/styles/main.scss CHANGED
@@ -56,6 +56,7 @@
56
56
  @use 'components/o-cards-list' as *;
57
57
  @use 'components/o-dashboard' as *;
58
58
  @use 'components/o-date-picker' as *;
59
+ @use 'components/o-datasource-selector' as *;
59
60
  @use 'components/o-chips-selector' as *;
60
61
  @use 'components/o-draggable-menu' as *;
61
62
  @use 'components/o-form' as *;
@@ -4,7 +4,6 @@
4
4
  @use 'components-theme/a-badge.theme' as *;
5
5
  @use 'components-theme/a-btn.theme' as *;
6
6
  @use 'components-theme/a-checkbox.theme' as *;
7
- @use 'components-theme/a-chip.theme' as *;
8
7
  @use 'components-theme/a-expandable-value.theme' as *;
9
8
  @use 'components-theme/a-form-field.theme' as *;
10
9
  @use 'components-theme/a-icon.theme' as *;
@@ -72,8 +71,6 @@
72
71
  @use 'components-theme/o-pry-composed-condition.theme' as *;
73
72
  @use 'components-theme/o-pry-card.theme' as *;
74
73
  @use 'components-theme/o-pry-card-menu.theme' as *;
75
- @use 'components-theme/o-pry-dataset-card.theme' as *;
76
- @use 'components-theme/o-pry-dataset.theme' as *;
77
74
  @use 'components-theme/o-pry-expand-panel.theme' as *;
78
75
  @use 'components-theme/o-pry-new-presentation.theme' as *;
79
76
  @use 'components-theme/o-pry-presentation.theme' as *;
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="@provoly/dashboard/components/sinceDate" />
5
- export * from './public-api';
@@ -1,2 +0,0 @@
1
- export * from './sinceDate.module';
2
- export * from './sinceDate.pipe';
@@ -1,18 +0,0 @@
1
- import { AfterContentInit, EventEmitter } from '@angular/core';
2
- import { Dataset, DatasetVersion } from '@provoly/dashboard';
3
- import { Observable } from 'rxjs';
4
- import { Store } from '@ngrx/store';
5
- import * as i0 from "@angular/core";
6
- export declare class PryDatasetCardComponent implements AfterContentInit {
7
- private store;
8
- dataset: Dataset;
9
- consult: EventEmitter<Dataset>;
10
- datasetVersions$: Observable<DatasetVersion[]>;
11
- activeVersion$: Observable<string | undefined>;
12
- constructor(store: Store);
13
- ngAfterContentInit(): void;
14
- truncateDescription(description: string | undefined, maxLength: number): string;
15
- goToDetailView(): void;
16
- static ɵfac: i0.ɵɵFactoryDeclaration<PryDatasetCardComponent, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<PryDatasetCardComponent, "pry-dataset-card", never, { "dataset": { "alias": "dataset"; "required": false; }; }, { "consult": "consult"; }, never, never, false, never>;
18
- }
@@ -1,93 +0,0 @@
1
- @use '../../styles/abstracts/index' as *;
2
-
3
- /* Organism - pry-dataset-card */
4
-
5
- .o-pry-dataset-card {
6
- display: flex;
7
- flex-direction: column;
8
- align-items: stretch;
9
- position: relative;
10
- margin: 0 auto;
11
- border-collapse: collapse;
12
- font-size: toRem(14);
13
- min-width: toRem(310);
14
- height: toRem(180);
15
-
16
- &:hover {
17
- cursor: pointer;
18
-
19
- .o-pry-dataset-card__footer {
20
- pry-icon {
21
- visibility: visible;
22
- opacity: 1;
23
- }
24
- }
25
- }
26
-
27
- &__header {
28
- display: flex;
29
- gap: toRem(15);
30
- padding: toRem(10);
31
- max-width: toRem(330);
32
- }
33
-
34
- &__date {
35
- font-size: toRem(11);
36
- }
37
-
38
- &__description {
39
- position: relative;
40
- width: 100%;
41
-
42
- &.a-tooltip[data-tooltip]:after {
43
- width: 100%;
44
- }
45
- }
46
-
47
- &__content {
48
- flex-grow: 1;
49
- padding: 0 toRem(15);
50
- font-size: toRem(13);
51
- margin-bottom: toRem(10);
52
-
53
- .a-h3 {
54
- font-size: toRem(14);
55
- }
56
-
57
- &.-date {
58
- margin-bottom: 0;
59
- }
60
- }
61
-
62
- &__categories {
63
- max-height: toRem(20);
64
- overflow: hidden;
65
- }
66
-
67
- &__footer {
68
- display: flex;
69
- align-items: center;
70
- justify-content: center;
71
-
72
- .a-btn {
73
- margin-left: toRem(20); // needed for centering the footer text
74
- }
75
-
76
- pry-icon {
77
- visibility: hidden;
78
- opacity: 0;
79
- transition: visibility 100ms linear , opacity 100ms linear;
80
- margin-left: toRem(3);
81
- }
82
- }
83
-
84
- .dataset-name {
85
- width: toRem(270);
86
-
87
- &.a-tooltip[data-tooltip]:after {
88
- top: calc(100% - 15px);
89
- max-width: toRem(300);
90
- word-break: break-word;
91
- }
92
- }
93
- }
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdm9seS1kYXNoYm9hcmQtY29tcG9uZW50cy1zaW5jZURhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL3NpbmNlRGF0ZS9wcm92b2x5LWRhc2hib2FyZC1jb21wb25lbnRzLXNpbmNlRGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -1,3 +0,0 @@
1
- export * from './sinceDate.module';
2
- export * from './sinceDate.pipe';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvc2luY2VEYXRlL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaW5jZURhdGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc2luY2VEYXRlLnBpcGUnO1xuIl19
@@ -1,16 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { PrySinceDatePipe } from './sinceDate.pipe';
3
- import * as i0 from "@angular/core";
4
- export class PrySinceDateModule {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PrySinceDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.3", ngImport: i0, type: PrySinceDateModule, declarations: [PrySinceDatePipe], exports: [PrySinceDatePipe] }); }
7
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PrySinceDateModule }); }
8
- }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PrySinceDateModule, decorators: [{
10
- type: NgModule,
11
- args: [{
12
- declarations: [PrySinceDatePipe],
13
- exports: [PrySinceDatePipe]
14
- }]
15
- }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luY2VEYXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvc2luY2VEYXRlL3NpbmNlRGF0ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFNcEQsTUFBTSxPQUFPLGtCQUFrQjs4R0FBbEIsa0JBQWtCOytHQUFsQixrQkFBa0IsaUJBSGQsZ0JBQWdCLGFBQ3JCLGdCQUFnQjsrR0FFZixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBSjlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQ2hDLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcnlTaW5jZURhdGVQaXBlIH0gZnJvbSAnLi9zaW5jZURhdGUucGlwZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1ByeVNpbmNlRGF0ZVBpcGVdLFxuICBleHBvcnRzOiBbUHJ5U2luY2VEYXRlUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgUHJ5U2luY2VEYXRlTW9kdWxlIHt9XG4iXX0=
@@ -1,55 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@provoly/dashboard";
4
- export class PrySinceDatePipe {
5
- constructor(translateService) {
6
- this.translateService = translateService;
7
- }
8
- transform(value, ...args) {
9
- const date = new Date(value);
10
- if (!!args[0] && args[0].onlyLocale) {
11
- return date.toLocaleString();
12
- }
13
- if (isNaN(date.getTime())) {
14
- return '';
15
- }
16
- const dateNow = this._now ?? new Date();
17
- if (date.getFullYear() === dateNow.getFullYear() &&
18
- date.getMonth() === dateNow.getMonth() &&
19
- date.getDate() === dateNow.getDate()) {
20
- return this.translateService.instant('@pry.toolbox.today', {
21
- hour: `${date.getHours()}`.padStart(2, '0'),
22
- min: `${date.getMinutes()}`.padStart(2, '0')
23
- });
24
- }
25
- const dayDiff = this.getDayDiff(date, dateNow);
26
- const dayDiffAbs = Math.ceil(Math.abs(dayDiff));
27
- const dayDiffPast = dayDiff > 0;
28
- if (dayDiffAbs > 30) {
29
- return date.toLocaleString();
30
- }
31
- else {
32
- return this.translateService.instant(dayDiffPast ? '@pry.toolbox.since_day' : '@pry.toolbox.from_day', {
33
- day: dayDiffAbs,
34
- plural: dayDiffAbs >= 2 ? 's' : ''
35
- });
36
- }
37
- }
38
- getDayDiff(startDate, endDate) {
39
- const msInDay = 24 * 60 * 60 * 1000;
40
- return (endDate.getTime() - startDate.getTime()) / msInDay;
41
- }
42
- useNow(date) {
43
- this._now = date;
44
- return this;
45
- }
46
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PrySinceDatePipe, deps: [{ token: i1.PryI18nService }], target: i0.ɵɵFactoryTarget.Pipe }); }
47
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.3", ngImport: i0, type: PrySinceDatePipe, name: "sinceDate" }); }
48
- }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PrySinceDatePipe, decorators: [{
50
- type: Pipe,
51
- args: [{
52
- name: 'sinceDate'
53
- }]
54
- }], ctorParameters: () => [{ type: i1.PryI18nService }] });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luY2VEYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL3NpbmNlRGF0ZS9zaW5jZURhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7O0FBTXBELE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0IsWUFBb0IsZ0JBQWdDO1FBQWhDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBZ0I7SUFBRyxDQUFDO0lBRXhELFNBQVMsQ0FBQyxLQUFhLEVBQUUsR0FBRyxJQUFXO1FBQ3JDLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTdCLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEMsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDL0IsQ0FBQztRQUVELElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDMUIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1FBRXhDLElBQ0UsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLE9BQU8sQ0FBQyxXQUFXLEVBQUU7WUFDNUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDdEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFDcEMsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRTtnQkFDekQsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUM7Z0JBQzNDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDO2FBQzdDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMvQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNoRCxNQUFNLFdBQVcsR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLElBQUksVUFBVSxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQy9CLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixFQUFFO2dCQUNyRyxHQUFHLEVBQUUsVUFBVTtnQkFDZixNQUFNLEVBQUUsVUFBVSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO2FBQ25DLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLFNBQWUsRUFBRSxPQUFhO1FBQ3ZDLE1BQU0sT0FBTyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztRQUNwQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQztJQUM3RCxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVc7UUFDaEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzhHQWxEVSxnQkFBZ0I7NEdBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFINUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsV0FBVztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcnlJMThuU2VydmljZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3NpbmNlRGF0ZSdcbn0pXG5leHBvcnQgY2xhc3MgUHJ5U2luY2VEYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBwcml2YXRlIF9ub3c/OiBEYXRlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogUHJ5STE4blNlcnZpY2UpIHt9XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogc3RyaW5nIHtcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodmFsdWUpO1xuXG4gICAgaWYgKCEhYXJnc1swXSAmJiBhcmdzWzBdLm9ubHlMb2NhbGUpIHtcbiAgICAgIHJldHVybiBkYXRlLnRvTG9jYWxlU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgaWYgKGlzTmFOKGRhdGUuZ2V0VGltZSgpKSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGNvbnN0IGRhdGVOb3cgPSB0aGlzLl9ub3cgPz8gbmV3IERhdGUoKTtcblxuICAgIGlmIChcbiAgICAgIGRhdGUuZ2V0RnVsbFllYXIoKSA9PT0gZGF0ZU5vdy5nZXRGdWxsWWVhcigpICYmXG4gICAgICBkYXRlLmdldE1vbnRoKCkgPT09IGRhdGVOb3cuZ2V0TW9udGgoKSAmJlxuICAgICAgZGF0ZS5nZXREYXRlKCkgPT09IGRhdGVOb3cuZ2V0RGF0ZSgpXG4gICAgKSB7XG4gICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0BwcnkudG9vbGJveC50b2RheScsIHtcbiAgICAgICAgaG91cjogYCR7ZGF0ZS5nZXRIb3VycygpfWAucGFkU3RhcnQoMiwgJzAnKSxcbiAgICAgICAgbWluOiBgJHtkYXRlLmdldE1pbnV0ZXMoKX1gLnBhZFN0YXJ0KDIsICcwJylcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGRheURpZmYgPSB0aGlzLmdldERheURpZmYoZGF0ZSwgZGF0ZU5vdyk7XG4gICAgY29uc3QgZGF5RGlmZkFicyA9IE1hdGguY2VpbChNYXRoLmFicyhkYXlEaWZmKSk7XG4gICAgY29uc3QgZGF5RGlmZlBhc3QgPSBkYXlEaWZmID4gMDtcbiAgICBpZiAoZGF5RGlmZkFicyA+IDMwKSB7XG4gICAgICByZXR1cm4gZGF0ZS50b0xvY2FsZVN0cmluZygpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoZGF5RGlmZlBhc3QgPyAnQHByeS50b29sYm94LnNpbmNlX2RheScgOiAnQHByeS50b29sYm94LmZyb21fZGF5Jywge1xuICAgICAgICBkYXk6IGRheURpZmZBYnMsXG4gICAgICAgIHBsdXJhbDogZGF5RGlmZkFicyA+PSAyID8gJ3MnIDogJydcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldERheURpZmYoc3RhcnREYXRlOiBEYXRlLCBlbmREYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgICBjb25zdCBtc0luRGF5ID0gMjQgKiA2MCAqIDYwICogMTAwMDtcbiAgICByZXR1cm4gKGVuZERhdGUuZ2V0VGltZSgpIC0gc3RhcnREYXRlLmdldFRpbWUoKSkgLyBtc0luRGF5O1xuICB9XG5cbiAgdXNlTm93KGRhdGU/OiBEYXRlKSB7XG4gICAgdGhpcy5fbm93ID0gZGF0ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuIl19
@@ -1,41 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { DataSourceSelectors } from '@provoly/dashboard';
3
- import { map } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@ngrx/store";
6
- import * as i2 from "@provoly/dashboard";
7
- import * as i3 from "../../style/css.component";
8
- import * as i4 from "@angular/common";
9
- import * as i5 from "@provoly/dashboard/components/sinceDate";
10
- export class PryDatasetCardComponent {
11
- constructor(store) {
12
- this.store = store;
13
- this.consult = new EventEmitter();
14
- }
15
- ngAfterContentInit() {
16
- this.datasetVersions$ = this.store
17
- .select(DataSourceSelectors.matchingDatasetVersions(this.dataset.id))
18
- .pipe(map((res) => [...res].sort((a, b) => b.version - a.version)));
19
- this.activeVersion$ = this.datasetVersions$.pipe(map((versions) => versions.sort((v1, v2) => v2.version - v1.version).find((version) => version.state === 'ACTIVE')?.lastModified));
20
- }
21
- truncateDescription(description, maxLength) {
22
- if (description && description.length > maxLength) {
23
- return description.slice(0, maxLength) + '...';
24
- }
25
- return description;
26
- }
27
- goToDetailView() {
28
- this.consult.emit(this.dataset);
29
- }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDatasetCardComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: PryDatasetCardComponent, selector: "pry-dataset-card", inputs: { dataset: "dataset" }, outputs: { consult: "consult" }, ngImport: i0, template: "<pry-dataset-css></pry-dataset-css>\n<div class=\"o-pry-dataset-card\" (click)=\"goToDetailView()\">\n <div class=\"o-pry-dataset-card__header\">\n <img\n alt=\"\"\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"dataset.id | translateId: { type: 'datasource', output: 'icon' } | async\"\n />\n <div class=\"dataset-name\" ellipsis textElementSelector=\".a-h4\">\n <h4 class=\"a-h4\">{{ dataset.name }}</h4>\n </div>\n </div>\n <div class=\"o-pry-dataset-card__content u-display-flex -column -gap-10\">\n @if (dataset.description) {\n <div class=\"o-pry-dataset-card__description\" ellipsis textElementSelector=\".description\">\n <div class=\"description\">{{ truncateDescription(dataset.description, 100) }}</div>\n </div>\n } @else {\n <div class=\"o-pry-dataset-card__description -italic\">{{ '@pry.dataset.noDescription' | i18n }}</div>\n }\n\n <span class=\"o-pry-dataset-card__date\">\n @if (activeVersion$ | async) {\n {{ '@pry.dataset.since_day' | i18n }} {{ (activeVersion$ | async)! | sinceDate }}\n } @else {\n <span class=\"-italic\">{{ '@pry.dataset.noActiveVersion' | i18n }}</span>\n }\n </span>\n @if (dataset.categories && dataset.categories.length > 0) {\n <div class=\"o-pry-dataset-card__categories u-display-flex -wrap\">\n @for (category of dataset.categories; track category.id) {\n <span class=\"a-chip -md\">{{ category.name }}</span>\n }\n </div>\n }\n </div>\n\n <div class=\"o-pry-dataset-card__footer\">\n <button class=\"a-btn\">\n {{ '@pry.dataset.consult' | i18n }}\n <pry-icon [width]=\"20\" [height]=\"20\" iconSvg=\"arrow_right\"></pry-icon>\n </button>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i2.EllipsisDirective, selector: "[ellipsis]", inputs: ["textElementSelector"] }, { kind: "component", type: i3.PryDatasetCssComponent, selector: "pry-dataset-css" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }, { kind: "pipe", type: i5.PrySinceDatePipe, name: "sinceDate" }] }); }
32
- }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDatasetCardComponent, decorators: [{
34
- type: Component,
35
- args: [{ selector: 'pry-dataset-card', template: "<pry-dataset-css></pry-dataset-css>\n<div class=\"o-pry-dataset-card\" (click)=\"goToDetailView()\">\n <div class=\"o-pry-dataset-card__header\">\n <img\n alt=\"\"\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"dataset.id | translateId: { type: 'datasource', output: 'icon' } | async\"\n />\n <div class=\"dataset-name\" ellipsis textElementSelector=\".a-h4\">\n <h4 class=\"a-h4\">{{ dataset.name }}</h4>\n </div>\n </div>\n <div class=\"o-pry-dataset-card__content u-display-flex -column -gap-10\">\n @if (dataset.description) {\n <div class=\"o-pry-dataset-card__description\" ellipsis textElementSelector=\".description\">\n <div class=\"description\">{{ truncateDescription(dataset.description, 100) }}</div>\n </div>\n } @else {\n <div class=\"o-pry-dataset-card__description -italic\">{{ '@pry.dataset.noDescription' | i18n }}</div>\n }\n\n <span class=\"o-pry-dataset-card__date\">\n @if (activeVersion$ | async) {\n {{ '@pry.dataset.since_day' | i18n }} {{ (activeVersion$ | async)! | sinceDate }}\n } @else {\n <span class=\"-italic\">{{ '@pry.dataset.noActiveVersion' | i18n }}</span>\n }\n </span>\n @if (dataset.categories && dataset.categories.length > 0) {\n <div class=\"o-pry-dataset-card__categories u-display-flex -wrap\">\n @for (category of dataset.categories; track category.id) {\n <span class=\"a-chip -md\">{{ category.name }}</span>\n }\n </div>\n }\n </div>\n\n <div class=\"o-pry-dataset-card__footer\">\n <button class=\"a-btn\">\n {{ '@pry.dataset.consult' | i18n }}\n <pry-icon [width]=\"20\" [height]=\"20\" iconSvg=\"arrow_right\"></pry-icon>\n </button>\n </div>\n</div>\n" }]
36
- }], ctorParameters: () => [{ type: i1.Store }], propDecorators: { dataset: [{
37
- type: Input
38
- }], consult: [{
39
- type: Output
40
- }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNldC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2RhdGFzZXQvY29tcG9uZW50cy9kYXRhc2V0LWNhcmQvZGF0YXNldC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2RhdGFzZXQvY29tcG9uZW50cy9kYXRhc2V0LWNhcmQvZGF0YXNldC1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBMkIsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBT3ZDLE1BQU0sT0FBTyx1QkFBdUI7SUFNbEMsWUFBb0IsS0FBWTtRQUFaLFVBQUssR0FBTCxLQUFLLENBQU87UUFKdEIsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFJYixDQUFDO0lBRXBDLGtCQUFrQjtRQUNoQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUs7YUFDL0IsTUFBTSxDQUFDLG1CQUFtQixDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDcEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQzlDLEdBQUcsQ0FDRCxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQ1gsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsRUFBRSxZQUFZLENBQ2pILENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxXQUErQixFQUFFLFNBQWlCO1FBQ3BFLElBQUksV0FBVyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsU0FBUyxFQUFFLENBQUM7WUFDbEQsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDakQsQ0FBQztRQUNELE9BQWUsV0FBVyxDQUFDO0lBQzdCLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OEdBN0JVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLHlIQ1RwQywwdURBNkNBOzsyRkRwQ2EsdUJBQXVCO2tCQUpuQyxTQUFTOytCQUNFLGtCQUFrQjswRUFJbkIsT0FBTztzQkFBZixLQUFLO2dCQUNJLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0YXNldCwgRGF0YXNldFZlcnNpb24sIERhdGFTb3VyY2VTZWxlY3RvcnMgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWRhdGFzZXQtY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhc2V0LWNhcmQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByeURhdGFzZXRDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBJbnB1dCgpIGRhdGFzZXQhOiBEYXRhc2V0O1xuICBAT3V0cHV0KCkgY29uc3VsdCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YXNldD4oKTtcbiAgZGF0YXNldFZlcnNpb25zJCE6IE9ic2VydmFibGU8RGF0YXNldFZlcnNpb25bXT47XG4gIGFjdGl2ZVZlcnNpb24kITogT2JzZXJ2YWJsZTxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICB0aGlzLmRhdGFzZXRWZXJzaW9ucyQgPSB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMubWF0Y2hpbmdEYXRhc2V0VmVyc2lvbnModGhpcy5kYXRhc2V0LmlkKSlcbiAgICAgIC5waXBlKG1hcCgocmVzKSA9PiBbLi4ucmVzXS5zb3J0KChhLCBiKSA9PiBiLnZlcnNpb24gLSBhLnZlcnNpb24pKSk7XG4gICAgdGhpcy5hY3RpdmVWZXJzaW9uJCA9IHRoaXMuZGF0YXNldFZlcnNpb25zJC5waXBlKFxuICAgICAgbWFwKFxuICAgICAgICAodmVyc2lvbnMpID0+XG4gICAgICAgICAgdmVyc2lvbnMuc29ydCgodjEsIHYyKSA9PiB2Mi52ZXJzaW9uIC0gdjEudmVyc2lvbikuZmluZCgodmVyc2lvbikgPT4gdmVyc2lvbi5zdGF0ZSA9PT0gJ0FDVElWRScpPy5sYXN0TW9kaWZpZWRcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgdHJ1bmNhdGVEZXNjcmlwdGlvbihkZXNjcmlwdGlvbjogc3RyaW5nIHwgdW5kZWZpbmVkLCBtYXhMZW5ndGg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKGRlc2NyaXB0aW9uICYmIGRlc2NyaXB0aW9uLmxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgICAgcmV0dXJuIGRlc2NyaXB0aW9uLnNsaWNlKDAsIG1heExlbmd0aCkgKyAnLi4uJztcbiAgICB9XG4gICAgcmV0dXJuIDxzdHJpbmc+ZGVzY3JpcHRpb247XG4gIH1cblxuICBnb1RvRGV0YWlsVmlldygpIHtcbiAgICB0aGlzLmNvbnN1bHQuZW1pdCh0aGlzLmRhdGFzZXQpO1xuICB9XG59XG4iLCI8cHJ5LWRhdGFzZXQtY3NzPjwvcHJ5LWRhdGFzZXQtY3NzPlxuPGRpdiBjbGFzcz1cIm8tcHJ5LWRhdGFzZXQtY2FyZFwiIChjbGljayk9XCJnb1RvRGV0YWlsVmlldygpXCI+XG4gIDxkaXYgY2xhc3M9XCJvLXByeS1kYXRhc2V0LWNhcmRfX2hlYWRlclwiPlxuICAgIDxpbWdcbiAgICAgIGFsdD1cIlwiXG4gICAgICBbaGVpZ2h0XT1cIjI1XCJcbiAgICAgIFt3aWR0aF09XCIyNVwiXG4gICAgICBbc3JjXT1cImRhdGFzZXQuaWQgfCB0cmFuc2xhdGVJZDogeyB0eXBlOiAnZGF0YXNvdXJjZScsIG91dHB1dDogJ2ljb24nIH0gfCBhc3luY1wiXG4gICAgLz5cbiAgICA8ZGl2IGNsYXNzPVwiZGF0YXNldC1uYW1lXCIgZWxsaXBzaXMgdGV4dEVsZW1lbnRTZWxlY3Rvcj1cIi5hLWg0XCI+XG4gICAgICA8aDQgY2xhc3M9XCJhLWg0XCI+e3sgZGF0YXNldC5uYW1lIH19PC9oND5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJvLXByeS1kYXRhc2V0LWNhcmRfX2NvbnRlbnQgdS1kaXNwbGF5LWZsZXggLWNvbHVtbiAtZ2FwLTEwXCI+XG4gICAgQGlmIChkYXRhc2V0LmRlc2NyaXB0aW9uKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiby1wcnktZGF0YXNldC1jYXJkX19kZXNjcmlwdGlvblwiIGVsbGlwc2lzIHRleHRFbGVtZW50U2VsZWN0b3I9XCIuZGVzY3JpcHRpb25cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+e3sgdHJ1bmNhdGVEZXNjcmlwdGlvbihkYXRhc2V0LmRlc2NyaXB0aW9uLCAxMDApIH19PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJvLXByeS1kYXRhc2V0LWNhcmRfX2Rlc2NyaXB0aW9uIC1pdGFsaWNcIj57eyAnQHByeS5kYXRhc2V0Lm5vRGVzY3JpcHRpb24nIHwgaTE4biB9fTwvZGl2PlxuICAgIH1cblxuICAgIDxzcGFuIGNsYXNzPVwiby1wcnktZGF0YXNldC1jYXJkX19kYXRlXCI+XG4gICAgICBAaWYgKGFjdGl2ZVZlcnNpb24kIHwgYXN5bmMpIHtcbiAgICAgICAge3sgJ0BwcnkuZGF0YXNldC5zaW5jZV9kYXknIHwgaTE4biB9fSB7eyAoYWN0aXZlVmVyc2lvbiQgfCBhc3luYykhIHwgc2luY2VEYXRlIH19XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCItaXRhbGljXCI+e3sgJ0BwcnkuZGF0YXNldC5ub0FjdGl2ZVZlcnNpb24nIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgIH1cbiAgICA8L3NwYW4+XG4gICAgQGlmIChkYXRhc2V0LmNhdGVnb3JpZXMgJiYgZGF0YXNldC5jYXRlZ29yaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJvLXByeS1kYXRhc2V0LWNhcmRfX2NhdGVnb3JpZXMgdS1kaXNwbGF5LWZsZXggLXdyYXBcIj5cbiAgICAgICAgQGZvciAoY2F0ZWdvcnkgb2YgZGF0YXNldC5jYXRlZ29yaWVzOyB0cmFjayBjYXRlZ29yeS5pZCkge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYS1jaGlwIC1tZFwiPnt7IGNhdGVnb3J5Lm5hbWUgfX08L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm8tcHJ5LWRhdGFzZXQtY2FyZF9fZm9vdGVyXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuXCI+XG4gICAgICB7eyAnQHByeS5kYXRhc2V0LmNvbnN1bHQnIHwgaTE4biB9fVxuICAgICAgPHByeS1pY29uIFt3aWR0aF09XCIyMFwiIFtoZWlnaHRdPVwiMjBcIiBpY29uU3ZnPVwiYXJyb3dfcmlnaHRcIj48L3ByeS1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19