geonetwork-ui 2.2.0-dev.ca028047 → 2.2.0-dev.cbcafed5

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 (153) hide show
  1. package/esm2022/libs/api/repository/src/lib/gn4/selection/selection.service.mjs +13 -26
  2. package/esm2022/libs/common/domain/src/lib/model/search/aggregation.model.mjs +1 -1
  3. package/esm2022/libs/common/domain/src/lib/model/search/field.model.mjs +2 -0
  4. package/esm2022/libs/common/domain/src/lib/model/search/filter.model.mjs +1 -1
  5. package/esm2022/libs/common/domain/src/lib/model/search/index.mjs +2 -1
  6. package/esm2022/libs/common/domain/src/lib/model/search/search.model.mjs +1 -1
  7. package/esm2022/libs/feature/catalog/src/lib/my-org/my-org.service.mjs +4 -10
  8. package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +2 -2
  9. package/esm2022/libs/feature/search/src/index.mjs +4 -1
  10. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +1 -1
  11. package/esm2022/libs/feature/search/src/lib/feature-search.module.mjs +2 -6
  12. package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +1 -1
  13. package/esm2022/libs/feature/search/src/lib/filter-geometry.token.mjs +4 -0
  14. package/esm2022/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.mjs +7 -3
  15. package/esm2022/libs/feature/search/src/lib/record-url.token.mjs +4 -0
  16. package/esm2022/libs/feature/search/src/lib/results-list/results-list.container.component.mjs +2 -2
  17. package/esm2022/libs/feature/search/src/lib/results-table/results-table.component.mjs +128 -0
  18. package/esm2022/libs/feature/search/src/lib/state/effects.mjs +6 -4
  19. package/esm2022/libs/feature/search/src/lib/state/search.facade.mjs +3 -2
  20. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +9 -6
  21. package/esm2022/libs/ui/inputs/src/index.mjs +2 -1
  22. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +3 -3
  23. package/esm2022/libs/ui/inputs/src/lib/checkbox/checkbox.component.mjs +3 -3
  24. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +3 -3
  25. package/esm2022/libs/ui/layout/src/index.mjs +3 -1
  26. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.mjs +36 -0
  27. package/esm2022/libs/ui/layout/src/lib/interactive-table/interactive-table.component.mjs +37 -0
  28. package/esm2022/libs/ui/search/src/index.mjs +1 -2
  29. package/esm2022/libs/ui/search/src/lib/ui-search.module.mjs +9 -10
  30. package/esm2022/libs/util/i18n/src/index.mjs +1 -2
  31. package/esm2022/translations/de.json +4 -3
  32. package/esm2022/translations/en.json +5 -4
  33. package/esm2022/translations/es.json +4 -3
  34. package/esm2022/translations/fr.json +5 -4
  35. package/esm2022/translations/it.json +4 -3
  36. package/esm2022/translations/nl.json +4 -3
  37. package/esm2022/translations/pt.json +4 -3
  38. package/fesm2022/geonetwork-ui.mjs +255 -351
  39. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  40. package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts +4 -5
  41. package/libs/api/repository/src/lib/gn4/selection/selection.service.d.ts.map +1 -1
  42. package/libs/common/domain/src/lib/model/search/aggregation.model.d.ts +1 -1
  43. package/libs/common/domain/src/lib/model/search/aggregation.model.d.ts.map +1 -1
  44. package/libs/common/domain/src/lib/model/search/field.model.d.ts +2 -0
  45. package/libs/common/domain/src/lib/model/search/field.model.d.ts.map +1 -0
  46. package/libs/common/domain/src/lib/model/search/filter.model.d.ts +1 -1
  47. package/libs/common/domain/src/lib/model/search/filter.model.d.ts.map +1 -1
  48. package/libs/common/domain/src/lib/model/search/index.d.ts +1 -0
  49. package/libs/common/domain/src/lib/model/search/index.d.ts.map +1 -1
  50. package/libs/common/domain/src/lib/model/search/search.model.d.ts +2 -3
  51. package/libs/common/domain/src/lib/model/search/search.model.d.ts.map +1 -1
  52. package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts +0 -1
  53. package/libs/feature/catalog/src/lib/my-org/my-org.service.d.ts.map +1 -1
  54. package/libs/feature/search/src/index.d.ts +3 -0
  55. package/libs/feature/search/src/index.d.ts.map +1 -1
  56. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +3 -3
  57. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  58. package/libs/feature/search/src/lib/feature-search.module.d.ts +0 -4
  59. package/libs/feature/search/src/lib/feature-search.module.d.ts.map +1 -1
  60. package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts +3 -2
  61. package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts.map +1 -1
  62. package/libs/feature/search/src/lib/filter-geometry.token.d.ts +4 -0
  63. package/libs/feature/search/src/lib/filter-geometry.token.d.ts.map +1 -0
  64. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts +1 -1
  65. package/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.d.ts.map +1 -1
  66. package/libs/feature/search/src/lib/record-url.token.d.ts +3 -0
  67. package/libs/feature/search/src/lib/record-url.token.d.ts.map +1 -0
  68. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts +33 -0
  69. package/libs/feature/search/src/lib/results-table/results-table.component.d.ts.map +1 -0
  70. package/libs/feature/search/src/lib/state/effects.d.ts.map +1 -1
  71. package/libs/feature/search/src/lib/state/search.facade.d.ts +1 -1
  72. package/libs/feature/search/src/lib/state/search.facade.d.ts.map +1 -1
  73. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts +3 -1
  74. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  75. package/libs/ui/inputs/src/index.d.ts +1 -0
  76. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  77. package/libs/ui/layout/src/index.d.ts +2 -0
  78. package/libs/ui/layout/src/index.d.ts.map +1 -1
  79. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts +14 -0
  80. package/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.d.ts.map +1 -0
  81. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts +15 -0
  82. package/libs/ui/layout/src/lib/interactive-table/interactive-table.component.d.ts.map +1 -0
  83. package/libs/ui/search/src/index.d.ts +0 -1
  84. package/libs/ui/search/src/index.d.ts.map +1 -1
  85. package/libs/ui/search/src/lib/ui-search.module.d.ts +15 -15
  86. package/libs/ui/search/src/lib/ui-search.module.d.ts.map +1 -1
  87. package/libs/util/i18n/src/index.d.ts +0 -1
  88. package/libs/util/i18n/src/index.d.ts.map +1 -1
  89. package/package.json +2 -2
  90. package/src/libs/api/repository/src/lib/gn4/selection/selection.service.ts +14 -38
  91. package/src/libs/common/domain/src/lib/model/search/aggregation.model.ts +1 -1
  92. package/src/libs/common/domain/src/lib/model/search/field.model.ts +1 -0
  93. package/src/libs/common/domain/src/lib/model/search/filter.model.ts +1 -1
  94. package/src/libs/common/domain/src/lib/model/search/index.ts +1 -0
  95. package/src/libs/common/domain/src/lib/model/search/search.model.ts +2 -2
  96. package/src/libs/common/domain/src/lib/model/user/index.ts +1 -0
  97. package/src/libs/feature/catalog/src/lib/my-org/my-org.service.ts +4 -16
  98. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +1 -1
  99. package/src/libs/feature/search/src/index.ts +3 -0
  100. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +1 -1
  101. package/src/libs/feature/search/src/lib/feature-search.module.ts +1 -10
  102. package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.ts +4 -4
  103. package/src/libs/feature/search/src/lib/filter-geometry.token.ts +7 -0
  104. package/src/libs/feature/search/src/lib/fuzzy-search/fuzzy-search.component.ts +9 -3
  105. package/src/libs/feature/search/src/lib/record-url.token.ts +4 -0
  106. package/src/libs/feature/search/src/lib/results-list/results-list.container.component.ts +1 -1
  107. package/src/libs/feature/search/src/lib/results-table/results-table.component.css +0 -0
  108. package/src/libs/feature/search/src/lib/results-table/results-table.component.html +112 -0
  109. package/src/libs/feature/search/src/lib/results-table/results-table.component.ts +164 -0
  110. package/src/libs/feature/search/src/lib/state/effects.ts +5 -4
  111. package/src/libs/feature/search/src/lib/state/search.facade.ts +2 -1
  112. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +5 -5
  113. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +12 -4
  114. package/src/libs/ui/inputs/src/index.ts +1 -0
  115. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +1 -1
  116. package/src/libs/ui/inputs/src/lib/checkbox/checkbox.component.html +0 -1
  117. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
  118. package/src/libs/ui/layout/src/index.ts +2 -0
  119. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.css +0 -0
  120. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.html +1 -0
  121. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table-column/interactive-table-column.component.ts +33 -0
  122. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.css +15 -0
  123. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.html +54 -0
  124. package/src/libs/ui/layout/src/lib/interactive-table/interactive-table.component.ts +42 -0
  125. package/src/libs/ui/search/src/index.ts +0 -1
  126. package/src/libs/ui/search/src/lib/ui-search.module.ts +2 -3
  127. package/src/libs/util/i18n/src/index.ts +0 -1
  128. package/translations/de.json +4 -3
  129. package/translations/en.json +5 -4
  130. package/translations/es.json +4 -3
  131. package/translations/fr.json +5 -4
  132. package/translations/it.json +4 -3
  133. package/translations/nl.json +4 -3
  134. package/translations/pt.json +4 -3
  135. package/translations/sk.json +4 -3
  136. package/esm2022/libs/ui/search/src/lib/record-table/record-table.component.mjs +0 -145
  137. package/esm2022/libs/util/i18n/src/lib/testing/test.translate.loader.mjs +0 -24
  138. package/esm2022/libs/util/i18n/src/lib/testing/test.translate.module.mjs +0 -109
  139. package/esm2022/libs/util/i18n/src/lib/testing/translations.model.mjs +0 -6
  140. package/libs/ui/search/src/lib/record-table/record-table.component.d.ts +0 -31
  141. package/libs/ui/search/src/lib/record-table/record-table.component.d.ts.map +0 -1
  142. package/libs/util/i18n/src/lib/testing/test.translate.loader.d.ts +0 -17
  143. package/libs/util/i18n/src/lib/testing/test.translate.loader.d.ts.map +0 -1
  144. package/libs/util/i18n/src/lib/testing/test.translate.module.d.ts +0 -131
  145. package/libs/util/i18n/src/lib/testing/test.translate.module.d.ts.map +0 -1
  146. package/libs/util/i18n/src/lib/testing/translations.model.d.ts +0 -21
  147. package/libs/util/i18n/src/lib/testing/translations.model.d.ts.map +0 -1
  148. package/src/libs/ui/search/src/lib/record-table/record-table.component.css +0 -7
  149. package/src/libs/ui/search/src/lib/record-table/record-table.component.html +0 -215
  150. package/src/libs/ui/search/src/lib/record-table/record-table.component.ts +0 -149
  151. package/src/libs/util/i18n/src/lib/testing/test.translate.loader.ts +0 -26
  152. package/src/libs/util/i18n/src/lib/testing/test.translate.module.ts +0 -235
  153. package/src/libs/util/i18n/src/lib/testing/translations.model.ts +0 -28
@@ -19,8 +19,8 @@
19
19
  <div class="flex flex-row items-center gap-2">
20
20
  <gn-ui-text-input
21
21
  class="mr-2 w-20"
22
- (input)="setLimit($event.target.value)"
23
- [value]="limit$ | async"
22
+ (valueChange)="setLimit($event)"
23
+ [value]="displayLimit$ | async"
24
24
  hint=""
25
25
  >
26
26
  </gn-ui-text-input>
@@ -28,8 +28,8 @@
28
28
  <input
29
29
  class="mr-2 cursor-pointer"
30
30
  type="checkbox"
31
- [checked]="(limit$ | async) === ''"
32
- (change)="setLimit('')"
31
+ [checked]="noLimitChecked$ | async"
32
+ (change)="setLimit('-1')"
33
33
  />
34
34
  <span class="text-sm" translate
35
35
  >record.metadata.api.form.limit.all</span
@@ -42,7 +42,7 @@
42
42
  <gn-ui-text-input
43
43
  class="w-20"
44
44
  [value]="offset$ | async"
45
- (input)="setOffset($event.target.value)"
45
+ (valueChange)="setOffset($event)"
46
46
  hint=""
47
47
  >
48
48
  </gn-ui-text-input>
@@ -4,7 +4,7 @@ import { BehaviorSubject, combineLatest, map } from 'rxjs'
4
4
 
5
5
  const DEFAULT_PARAMS = {
6
6
  OFFSET: '',
7
- LIMIT: '',
7
+ LIMIT: '-1',
8
8
  FORMAT: 'json',
9
9
  }
10
10
  @Component({
@@ -44,17 +44,25 @@ export class RecordApiFormComponent {
44
44
  return outputUrl
45
45
  })
46
46
  )
47
+ noLimitChecked$ = this.limit$.pipe(
48
+ map((limit) => limit === '-1' || limit === '')
49
+ )
50
+
51
+ displayLimit$ = this.limit$.pipe(
52
+ map((limit) => (limit !== '-1' ? limit : ''))
53
+ )
47
54
 
48
55
  setOffset(value: string) {
49
56
  this.offset$.next(value)
50
57
  }
51
58
 
52
59
  setLimit(value: string) {
53
- this.limit$.next(value)
60
+ const newLimit = value === '' ? '-1' : value
61
+ this.limit$.next(newLimit)
54
62
  }
55
63
 
56
- setFormat(value: string) {
57
- this.format$.next(value)
64
+ setFormat(value: string | unknown) {
65
+ this.format$.next(String(value))
58
66
  }
59
67
 
60
68
  resetUrl() {
@@ -19,3 +19,4 @@ export * from './lib/viewport-intersector/viewport-intersector.component'
19
19
  export * from './lib/checkbox/checkbox.component'
20
20
  export * from './lib/search-input/search-input.component'
21
21
  export * from './lib/date-range-picker/date-range-picker.component'
22
+ export * from './lib/editable-label/editable-label.directive'
@@ -6,7 +6,7 @@
6
6
  [placeholder]="placeholder"
7
7
  [formControl]="control"
8
8
  [matAutocomplete]="auto"
9
- (keyup.enter)="handleEnter($event.target.value)"
9
+ (keyup.enter)="handleEnter(searchInput.value)"
10
10
  />
11
11
  <button
12
12
  type="button"
@@ -1,7 +1,6 @@
1
1
  <mat-checkbox
2
2
  class="cursor-pointer"
3
3
  [class]="classList"
4
- type="checkbox"
5
4
  [checked]="checked"
6
5
  [indeterminate]="indeterminate"
7
6
  (click)="handleClick($event)"
@@ -113,7 +113,7 @@
113
113
  type="checkbox"
114
114
  #checkBox
115
115
  [checked]="isSelected(choice)"
116
- (change)="select(choice, $event.target.checked)"
116
+ (change)="select(choice, checkBox.checked)"
117
117
  />
118
118
  <span class="ml-[8px] text-[14px] truncate">
119
119
  {{ choice.label }}
@@ -4,3 +4,5 @@ export * from './lib/carousel/carousel.component'
4
4
  export * from './lib/expandable-panel/expandable-panel.component'
5
5
  export * from './lib/sticky-header/sticky-header.component'
6
6
  export * from './lib/expandable-panel-button/expandable-panel-button.component'
7
+ export * from './lib/interactive-table/interactive-table.component'
8
+ export * from './lib/interactive-table/interactive-table-column/interactive-table-column.component'
@@ -0,0 +1,33 @@
1
+ import {
2
+ ChangeDetectionStrategy,
3
+ Component,
4
+ ContentChild,
5
+ EventEmitter,
6
+ Input,
7
+ Output,
8
+ TemplateRef,
9
+ } from '@angular/core'
10
+ import { CommonModule } from '@angular/common'
11
+
12
+ @Component({
13
+ selector: 'gn-ui-interactive-table-column',
14
+ standalone: true,
15
+ imports: [CommonModule],
16
+ templateUrl: './interactive-table-column.component.html',
17
+ styleUrls: ['./interactive-table-column.component.css'],
18
+ changeDetection: ChangeDetectionStrategy.OnPush,
19
+ })
20
+ export class InteractiveTableColumnComponent {
21
+ @ContentChild('header') header: TemplateRef<unknown>
22
+ @ContentChild('cell') cell: TemplateRef<unknown>
23
+
24
+ @Input() grow = false
25
+ @Input() sortable = false
26
+ @Input() activeSort: 'asc' | 'desc' | null = null
27
+ @Output() sortChange = new EventEmitter<'asc' | 'desc'>()
28
+
29
+ handleSortChange() {
30
+ this.activeSort = this.activeSort === 'asc' ? 'desc' : 'asc'
31
+ this.sortChange.emit(this.activeSort)
32
+ }
33
+ }
@@ -0,0 +1,15 @@
1
+ .sort-button mat-icon {
2
+ padding: 0;
3
+ margin: 0;
4
+ height: 8px;
5
+ line-height: 8px;
6
+ font-size: 18px;
7
+ }
8
+
9
+ .table-header-cell {
10
+ @apply text-gray-700 px-4 py-5 flex items-center truncate bg-white;
11
+ }
12
+
13
+ button.table-header-cell {
14
+ @apply transition-colors duration-75 hover:text-main hover:bg-gray-50 focus:text-main focus:bg-gray-50;
15
+ }
@@ -0,0 +1,54 @@
1
+ <div class="grid w-full" [ngStyle]="gridStyle">
2
+ <div class="contents">
3
+ <ng-container *ngFor="let column of columns">
4
+ <button
5
+ *ngIf="column.sortable"
6
+ type="button"
7
+ class="table-header-cell"
8
+ (click)="column.sortable && column.handleSortChange()"
9
+ >
10
+ <ng-container *ngTemplateOutlet="column.header"></ng-container>
11
+ <div class="sort-button flex flex-col" *ngIf="column.sortable">
12
+ <mat-icon
13
+ class="material-symbols-outlined text-gray-600"
14
+ [ngClass]="{ 'text-main': column.activeSort === 'asc' }"
15
+ >expand_less</mat-icon
16
+ >
17
+ <mat-icon
18
+ class="material-symbols-outlined text-gray-600"
19
+ [ngClass]="{ 'text-main': column.activeSort === 'desc' }"
20
+ >expand_more</mat-icon
21
+ >
22
+ </div>
23
+ </button>
24
+ <div *ngIf="!column.sortable" class="table-header-cell">
25
+ <ng-container *ngTemplateOutlet="column.header"></ng-container>
26
+ </div>
27
+ </ng-container>
28
+ </div>
29
+ <div
30
+ class="contents text-gray-900 cursor-pointer group"
31
+ *ngFor="let item of items"
32
+ (click)="handleRowClick(item)"
33
+ >
34
+ <div
35
+ class="relative h-0"
36
+ [ngStyle]="{ 'grid-column': 'span ' + this.columns.length }"
37
+ >
38
+ <!-- this element is only used in keyboard navigation -->
39
+ <button
40
+ type="button"
41
+ class="absolute inset-x-0 h-[50px] bg-transparent pointer-events-none"
42
+ ></button>
43
+ </div>
44
+ <ng-container *ngFor="let column of columns">
45
+ <div
46
+ class="table-row-cell px-4 py-3 flex items-center bg-white transition-colors duration-75 truncate group-hover:text-main group-hover:bg-gray-50 border-b border-gray-200"
47
+ >
48
+ <ng-container
49
+ *ngTemplateOutlet="column.cell; context: { $implicit: item }"
50
+ ></ng-container>
51
+ </div>
52
+ </ng-container>
53
+ </div>
54
+ </div>
@@ -0,0 +1,42 @@
1
+ import {
2
+ ChangeDetectionStrategy,
3
+ Component,
4
+ ContentChildren,
5
+ EventEmitter,
6
+ Input,
7
+ Output,
8
+ QueryList,
9
+ } from '@angular/core'
10
+ import { InteractiveTableColumnComponent } from './interactive-table-column/interactive-table-column.component'
11
+ import { CommonModule } from '@angular/common'
12
+ import { MatIconModule } from '@angular/material/icon'
13
+
14
+ @Component({
15
+ selector: 'gn-ui-interactive-table',
16
+ templateUrl: './interactive-table.component.html',
17
+ styleUrls: ['./interactive-table.component.css'],
18
+ changeDetection: ChangeDetectionStrategy.OnPush,
19
+ standalone: true,
20
+ imports: [CommonModule, InteractiveTableColumnComponent, MatIconModule],
21
+ })
22
+ export class InteractiveTableComponent {
23
+ @ContentChildren(InteractiveTableColumnComponent)
24
+ columns: QueryList<InteractiveTableColumnComponent>
25
+
26
+ @Input() items: unknown[] = []
27
+ @Output() itemClick = new EventEmitter<unknown>()
28
+
29
+ get gridStyle() {
30
+ return {
31
+ 'grid-template-columns': this.columns
32
+ .map((column) =>
33
+ column.grow ? `minmax(0px,1fr)` : `minmax(0px,max-content)`
34
+ )
35
+ .join(' '),
36
+ }
37
+ }
38
+
39
+ handleRowClick(item: unknown) {
40
+ this.itemClick.emit(item)
41
+ }
42
+ }
@@ -14,7 +14,6 @@ export * from './lib/record-preview-card/record-preview-card.component'
14
14
  export * from './lib/record-preview-list/record-preview-list.component'
15
15
  export * from './lib/record-preview-text/record-preview-text.component'
16
16
  export * from './lib/record-preview-title/record-preview-title.component'
17
- export * from './lib/record-table/record-table.component'
18
17
  export * from './lib/record-metric/record-metric.component'
19
18
  export * from './lib/results-list-item/results-list-item.component'
20
19
  export * from './lib/results-hits-number/results-hits-number.component'
@@ -24,10 +24,10 @@ import { ResultsListItemComponent } from './results-list-item/results-list-item.
24
24
  import { UiWidgetsModule } from '../../../../../libs/ui/widgets/src'
25
25
  import { UiElementsModule } from '../../../../../libs/ui/elements/src'
26
26
  import { RecordPreviewFeedComponent } from './record-preview-feed/record-preview-feed.component'
27
- import { RecordTableComponent } from './record-table/record-table.component'
28
27
  import { CommonModule } from '@angular/common'
29
28
  import { UiInputsModule } from '../../../../../libs/ui/inputs/src'
30
29
  import { MatCheckboxModule } from '@angular/material/checkbox'
30
+ import { InteractiveTableComponent } from '../../../../../libs/ui/layout/src'
31
31
 
32
32
  @NgModule({
33
33
  declarations: [
@@ -42,7 +42,6 @@ import { MatCheckboxModule } from '@angular/material/checkbox'
42
42
  ResultsListItemComponent,
43
43
  RecordPreviewFeedComponent,
44
44
  RecordPreviewRowComponent,
45
- RecordTableComponent,
46
45
  ],
47
46
  imports: [
48
47
  CommonModule,
@@ -59,6 +58,7 @@ import { MatCheckboxModule } from '@angular/material/checkbox'
59
58
  MatIconModule,
60
59
  MatCheckboxModule,
61
60
  RouterLink,
61
+ InteractiveTableComponent,
62
62
  ],
63
63
  exports: [
64
64
  RecordPreviewListComponent,
@@ -72,7 +72,6 @@ import { MatCheckboxModule } from '@angular/material/checkbox'
72
72
  ResultsHitsNumberComponent,
73
73
  RecordPreviewFeedComponent,
74
74
  RecordPreviewRowComponent,
75
- RecordTableComponent,
76
75
  ],
77
76
  providers: [
78
77
  { provide: RESULTS_LAYOUT_CONFIG, useValue: DEFAULT_RESULTS_LAYOUT_CONFIG },
@@ -3,6 +3,5 @@ export * from './lib/i18n.constants'
3
3
  export * from './lib/i18n.interceptor'
4
4
  export * from './lib/lang.service'
5
5
  export * from './lib/file.translate.loader'
6
- export * from './lib/testing/test.translate.module'
7
6
  export * from './lib/embedded.translate.loader'
8
7
  export * from './lib/translate.loader.utils'
@@ -16,20 +16,21 @@
16
16
  "chart.type.line": "Liniendiagramm",
17
17
  "chart.type.lineSmooth": "Geglättes Liniendiagramm",
18
18
  "chart.type.pie": "Kreisdiagramm",
19
+ "dashboard.createRecord": "",
19
20
  "dashboard.labels.mySpace": "Mein Bereich",
20
21
  "dashboard.records.all": "Katalog",
21
22
  "dashboard.records.myDraft": "Meine Entwürfe",
22
23
  "dashboard.records.myLibrary": "Meine Bibliothek",
23
24
  "dashboard.records.myOrg": "Meine Organisation",
24
25
  "dashboard.records.myRecords": "Meine Datensätze",
25
- "dashboard.records.noRecord": "Kein Datensatz für diese Organisation",
26
- "dashboard.records.noUser": "Keine Benutzer für diese Organisation",
27
26
  "dashboard.records.publishedRecords": "{count, plural, =1{veröffentlichter Datensatz} other{veröffentlichte Datensätze}}",
28
27
  "dashboard.records.search": "Suche nach \"{searchText}\"",
29
28
  "dashboard.records.userDetail": "Name",
30
29
  "dashboard.records.userEmail": "E-Mail",
31
30
  "dashboard.records.username": "Benutzername",
32
31
  "dashboard.records.users": "{count, plural, =1{Benutzer} other{Benutzer}}",
32
+ "dashboard.results.listMetadata": "",
33
+ "dashboard.results.listResources": "",
33
34
  "datafeeder.analysisProgressBar.illustration.fileFormatDetection": "Dateiformat-Erkennung",
34
35
  "datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Sammeln von Datensatzinformationen",
35
36
  "datafeeder.analysisProgressBar.illustration.samplingData": "Datenauswahl",
@@ -221,7 +222,6 @@
221
222
  "record.metadata.author": "Autor",
222
223
  "record.metadata.catalog": "Katalog",
223
224
  "record.metadata.contact": "Kontakt",
224
- "record.metadata.createdOn": "Erstellt am",
225
225
  "record.metadata.details": "Technische Informationen",
226
226
  "record.metadata.download": "Downloads",
227
227
  "record.metadata.formats": "Formate",
@@ -254,6 +254,7 @@
254
254
  "record.metadata.quality.updateFrequency.success": "Aktualisierungsfrequenz angegeben",
255
255
  "record.metadata.related": "Ähnliche Datensätze",
256
256
  "record.metadata.sheet": "Weitere Informationen verfügbar unter:",
257
+ "record.metadata.status": "",
257
258
  "record.metadata.themes": "Kategorien",
258
259
  "record.metadata.title": "Titel",
259
260
  "record.metadata.type": "Geographischer Datensatz",
@@ -16,20 +16,21 @@
16
16
  "chart.type.line": "line chart",
17
17
  "chart.type.lineSmooth": "smooth line chart",
18
18
  "chart.type.pie": "pie chart",
19
+ "dashboard.createRecord": "New record",
19
20
  "dashboard.labels.mySpace": "My space",
20
- "dashboard.records.all": "Catalog",
21
+ "dashboard.records.all": "Metadata records",
21
22
  "dashboard.records.myDraft": "My drafts",
22
23
  "dashboard.records.myLibrary": "My library",
23
24
  "dashboard.records.myOrg": "Organization",
24
25
  "dashboard.records.myRecords": "My Records",
25
- "dashboard.records.noRecord": "No record for this organization",
26
- "dashboard.records.noUser": "No users for this organization",
27
26
  "dashboard.records.publishedRecords": "{count, plural, =1{published record} other{published records}}",
28
27
  "dashboard.records.search": "Search for \"{searchText}\"",
29
28
  "dashboard.records.userDetail": "Name",
30
29
  "dashboard.records.userEmail": "Email",
31
30
  "dashboard.records.username": "Username",
32
31
  "dashboard.records.users": "{count, plural, =1{user} other{users}}",
32
+ "dashboard.results.listMetadata": "Show metadata",
33
+ "dashboard.results.listResources": "Show resources",
33
34
  "datafeeder.analysisProgressBar.illustration.fileFormatDetection": "File format \n detection",
34
35
  "datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Gathering dataset \n information",
35
36
  "datafeeder.analysisProgressBar.illustration.samplingData": "Sampling \n data",
@@ -221,7 +222,6 @@
221
222
  "record.metadata.author": "Author",
222
223
  "record.metadata.catalog": "Catalog",
223
224
  "record.metadata.contact": "Contact",
224
- "record.metadata.createdOn": "Created on",
225
225
  "record.metadata.details": "Technical information",
226
226
  "record.metadata.download": "Downloads",
227
227
  "record.metadata.formats": "Formats",
@@ -254,6 +254,7 @@
254
254
  "record.metadata.quality.updateFrequency.success": "Update frequency is specified",
255
255
  "record.metadata.related": "Related records",
256
256
  "record.metadata.sheet": "Original metadata",
257
+ "record.metadata.status": "Status",
257
258
  "record.metadata.themes": "Categories",
258
259
  "record.metadata.title": "Title",
259
260
  "record.metadata.type": "Geographical dataset",
@@ -16,20 +16,21 @@
16
16
  "chart.type.line": "gráfico de líneas",
17
17
  "chart.type.lineSmooth": "gráfico de líneas suave",
18
18
  "chart.type.pie": "gráfico circular",
19
+ "dashboard.createRecord": "",
19
20
  "dashboard.labels.mySpace": "Mi espacio",
20
21
  "dashboard.records.all": "Catálogo",
21
22
  "dashboard.records.myDraft": "Mis borradores",
22
23
  "dashboard.records.myLibrary": "Mi biblioteca",
23
24
  "dashboard.records.myOrg": "Organización",
24
25
  "dashboard.records.myRecords": "Mis Registros",
25
- "dashboard.records.noRecord": "",
26
- "dashboard.records.noUser": "",
27
26
  "dashboard.records.publishedRecords": "",
28
27
  "dashboard.records.search": "Buscar \"{searchText}\"",
29
28
  "dashboard.records.userDetail": "",
30
29
  "dashboard.records.userEmail": "",
31
30
  "dashboard.records.username": "",
32
31
  "dashboard.records.users": "",
32
+ "dashboard.results.listMetadata": "",
33
+ "dashboard.results.listResources": "",
33
34
  "datafeeder.analysisProgressBar.illustration.fileFormatDetection": "",
34
35
  "datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "",
35
36
  "datafeeder.analysisProgressBar.illustration.samplingData": "",
@@ -221,7 +222,6 @@
221
222
  "record.metadata.author": "",
222
223
  "record.metadata.catalog": "",
223
224
  "record.metadata.contact": "",
224
- "record.metadata.createdOn": "",
225
225
  "record.metadata.details": "",
226
226
  "record.metadata.download": "",
227
227
  "record.metadata.formats": "",
@@ -254,6 +254,7 @@
254
254
  "record.metadata.quality.updateFrequency.success": "",
255
255
  "record.metadata.related": "",
256
256
  "record.metadata.sheet": "",
257
+ "record.metadata.status": "",
257
258
  "record.metadata.themes": "",
258
259
  "record.metadata.title": "",
259
260
  "record.metadata.type": "",
@@ -16,20 +16,21 @@
16
16
  "chart.type.line": "ligne",
17
17
  "chart.type.lineSmooth": "ligne lisse",
18
18
  "chart.type.pie": "camembert",
19
+ "dashboard.createRecord": "",
19
20
  "dashboard.labels.mySpace": "Mon espace",
20
21
  "dashboard.records.all": "Catalogue",
21
22
  "dashboard.records.myDraft": "Mes brouillons",
22
23
  "dashboard.records.myLibrary": "Ma bibliothèque",
23
24
  "dashboard.records.myOrg": "Mon organisation",
24
25
  "dashboard.records.myRecords": "Mes fiches publiées",
25
- "dashboard.records.noRecord": "Aucun jeu de données pour cette organisation",
26
- "dashboard.records.noUser": "Aucun utilisateur pour cette organisation",
27
26
  "dashboard.records.publishedRecords": "{count, plural, =1{donnée publiée} other{données publiées}}",
28
27
  "dashboard.records.search": "Résultats pour \"{searchText}\"",
29
28
  "dashboard.records.userDetail": "Nom",
30
29
  "dashboard.records.userEmail": "Email",
31
30
  "dashboard.records.username": "Nom d'utilisateur",
32
31
  "dashboard.records.users": "{count, plural, =1{utilisateur} other{utilisateurs}}",
32
+ "dashboard.results.listMetadata": "",
33
+ "dashboard.results.listResources": "",
33
34
  "datafeeder.analysisProgressBar.illustration.fileFormatDetection": "Détection du \n format de fichier",
34
35
  "datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Récupération des informations \n sur le jeu de données",
35
36
  "datafeeder.analysisProgressBar.illustration.samplingData": "Sampling \n des données",
@@ -111,7 +112,7 @@
111
112
  "datahub.header.popularRecords": "Les plus appréciées",
112
113
  "datahub.header.title.html": "<div class=\"text-white\">Toutes les données<br>publiques de mon organisation</div>",
113
114
  "datahub.news.contact.contactus": "Contactez-nous",
114
- "datahub.news.contact.html": "<p>Vous avez besoin de données qui ne sont pas présentes sur la plateforme actuellement ? </p><p> Nos équipes sont la pour vous répondre.</p>",
115
+ "datahub.news.contact.html": "<p>Vous avez besoin de données qui ne sont pas présentes sur la plateforme actuellement ? </p><p> Nos équipes sont pour vous répondre.</p>",
115
116
  "datahub.news.contact.title": "Un besoin spécifique ?",
116
117
  "datahub.news.feed": "Fil d'activité",
117
118
  "datahub.news.figures": "Quelques chiffres",
@@ -221,7 +222,6 @@
221
222
  "record.metadata.author": "Auteur",
222
223
  "record.metadata.catalog": "Catalogue",
223
224
  "record.metadata.contact": "Contact",
224
- "record.metadata.createdOn": "Créé le",
225
225
  "record.metadata.details": "Informations techniques",
226
226
  "record.metadata.download": "Téléchargements",
227
227
  "record.metadata.formats": "Formats",
@@ -254,6 +254,7 @@
254
254
  "record.metadata.quality.updateFrequency.success": "Fréquence de mise à jour est renseignée",
255
255
  "record.metadata.related": "Voir aussi",
256
256
  "record.metadata.sheet": "Fiche de métadonnées d'origine",
257
+ "record.metadata.status": "",
257
258
  "record.metadata.themes": "Catégories",
258
259
  "record.metadata.title": "Titre",
259
260
  "record.metadata.type": "Donnée géographique",
@@ -16,20 +16,21 @@
16
16
  "chart.type.line": "grafico a linee",
17
17
  "chart.type.lineSmooth": "grafico a linea liscia",
18
18
  "chart.type.pie": "grafico a torta",
19
+ "dashboard.createRecord": "",
19
20
  "dashboard.labels.mySpace": "Il mio spazio",
20
21
  "dashboard.records.all": "Catalogo",
21
22
  "dashboard.records.myDraft": "Le mie bozze",
22
23
  "dashboard.records.myLibrary": "La mia biblioteca",
23
24
  "dashboard.records.myOrg": "La mia organizzazione",
24
25
  "dashboard.records.myRecords": "I miei dati",
25
- "dashboard.records.noRecord": "Nessun dati per questa organizzazione",
26
- "dashboard.records.noUser": "Nessun utente per questa organizzazione",
27
26
  "dashboard.records.publishedRecords": "dati pubblicati",
28
27
  "dashboard.records.search": "Risultati per \"{searchText}\"",
29
28
  "dashboard.records.userDetail": "Nome",
30
29
  "dashboard.records.userEmail": "Email",
31
30
  "dashboard.records.username": "Nome utente",
32
31
  "dashboard.records.users": "utenti",
32
+ "dashboard.results.listMetadata": "",
33
+ "dashboard.results.listResources": "",
33
34
  "datafeeder.analysisProgressBar.illustration.fileFormatDetection": "Rilevamento del formato dei file",
34
35
  "datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "Recupero delle informazioni dal dataset",
35
36
  "datafeeder.analysisProgressBar.illustration.samplingData": "Campionatura dei dati",
@@ -221,7 +222,6 @@
221
222
  "record.metadata.author": "Autore",
222
223
  "record.metadata.catalog": "Catalogo",
223
224
  "record.metadata.contact": "Contatto",
224
- "record.metadata.createdOn": "Creato il",
225
225
  "record.metadata.details": "Informazioni tecniche",
226
226
  "record.metadata.download": "Download",
227
227
  "record.metadata.formats": "Formati",
@@ -254,6 +254,7 @@
254
254
  "record.metadata.quality.updateFrequency.success": "La frequenza di aggiornamento è specificata",
255
255
  "record.metadata.related": "Vedi anche",
256
256
  "record.metadata.sheet": "Origine del metadata",
257
+ "record.metadata.status": "",
257
258
  "record.metadata.themes": "Categorie",
258
259
  "record.metadata.title": "Titolo",
259
260
  "record.metadata.type": "Dati geografici",
@@ -16,20 +16,21 @@
16
16
  "chart.type.line": "lijndiagram",
17
17
  "chart.type.lineSmooth": "glad lijndiagram",
18
18
  "chart.type.pie": "cirkeldiagram",
19
+ "dashboard.createRecord": "",
19
20
  "dashboard.labels.mySpace": "Mijn ruimte",
20
21
  "dashboard.records.all": "Catalogus",
21
22
  "dashboard.records.myDraft": "Mijn concepten",
22
23
  "dashboard.records.myLibrary": "Mijn bibliotheek",
23
24
  "dashboard.records.myOrg": "Organisatie",
24
25
  "dashboard.records.myRecords": "Mijn Records",
25
- "dashboard.records.noRecord": "",
26
- "dashboard.records.noUser": "",
27
26
  "dashboard.records.publishedRecords": "",
28
27
  "dashboard.records.search": "Zoeken naar \"{searchText}\"",
29
28
  "dashboard.records.userDetail": "",
30
29
  "dashboard.records.userEmail": "",
31
30
  "dashboard.records.username": "",
32
31
  "dashboard.records.users": "",
32
+ "dashboard.results.listMetadata": "",
33
+ "dashboard.results.listResources": "",
33
34
  "datafeeder.analysisProgressBar.illustration.fileFormatDetection": "",
34
35
  "datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "",
35
36
  "datafeeder.analysisProgressBar.illustration.samplingData": "",
@@ -221,7 +222,6 @@
221
222
  "record.metadata.author": "",
222
223
  "record.metadata.catalog": "",
223
224
  "record.metadata.contact": "",
224
- "record.metadata.createdOn": "",
225
225
  "record.metadata.details": "",
226
226
  "record.metadata.download": "",
227
227
  "record.metadata.formats": "",
@@ -254,6 +254,7 @@
254
254
  "record.metadata.quality.updateFrequency.success": "",
255
255
  "record.metadata.related": "",
256
256
  "record.metadata.sheet": "",
257
+ "record.metadata.status": "",
257
258
  "record.metadata.themes": "",
258
259
  "record.metadata.title": "",
259
260
  "record.metadata.type": "",
@@ -16,20 +16,21 @@
16
16
  "chart.type.line": "gráfico de linha",
17
17
  "chart.type.lineSmooth": "gráfico de linha suave",
18
18
  "chart.type.pie": "gráfico de pizza",
19
+ "dashboard.createRecord": "",
19
20
  "dashboard.labels.mySpace": "Meu espaço",
20
21
  "dashboard.records.all": "Catálogo",
21
22
  "dashboard.records.myDraft": "Meus rascunhos",
22
23
  "dashboard.records.myLibrary": "Minha biblioteca",
23
24
  "dashboard.records.myOrg": "Organização",
24
25
  "dashboard.records.myRecords": "Meus Registros",
25
- "dashboard.records.noRecord": "",
26
- "dashboard.records.noUser": "",
27
26
  "dashboard.records.publishedRecords": "",
28
27
  "dashboard.records.search": "Buscar por \"{searchText}\"",
29
28
  "dashboard.records.userDetail": "",
30
29
  "dashboard.records.userEmail": "",
31
30
  "dashboard.records.username": "",
32
31
  "dashboard.records.users": "",
32
+ "dashboard.results.listMetadata": "",
33
+ "dashboard.results.listResources": "",
33
34
  "datafeeder.analysisProgressBar.illustration.fileFormatDetection": "",
34
35
  "datafeeder.analysisProgressBar.illustration.gatheringDatasetInformation": "",
35
36
  "datafeeder.analysisProgressBar.illustration.samplingData": "",
@@ -221,7 +222,6 @@
221
222
  "record.metadata.author": "",
222
223
  "record.metadata.catalog": "",
223
224
  "record.metadata.contact": "",
224
- "record.metadata.createdOn": "",
225
225
  "record.metadata.details": "",
226
226
  "record.metadata.download": "",
227
227
  "record.metadata.formats": "",
@@ -254,6 +254,7 @@
254
254
  "record.metadata.quality.updateFrequency.success": "",
255
255
  "record.metadata.related": "",
256
256
  "record.metadata.sheet": "",
257
+ "record.metadata.status": "",
257
258
  "record.metadata.themes": "",
258
259
  "record.metadata.title": "",
259
260
  "record.metadata.type": "",