geonetwork-ui 2.4.2 → 2.5.0-dev.22c177ea1

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 (120) hide show
  1. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +31 -16
  2. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +2 -2
  3. package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +18 -16
  4. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +3 -1
  5. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +12 -17
  6. package/esm2022/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.mjs +11 -11
  7. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +3 -3
  8. package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +6 -7
  9. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +46 -1
  10. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +3 -2
  11. package/esm2022/libs/ui/dataviz/src/index.mjs +3 -3
  12. package/esm2022/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.mjs +51 -0
  13. package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.component.mjs +133 -0
  14. package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.data.source.mjs +24 -0
  15. package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.mjs +82 -0
  16. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +18 -10
  17. package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +14 -12
  18. package/esm2022/libs/util/data-fetcher/src/index.mjs +3 -1
  19. package/esm2022/libs/util/data-fetcher/src/lib/model.mjs +7 -3
  20. package/esm2022/libs/util/data-fetcher/src/lib/readers/wfs.mjs +20 -2
  21. package/esm2022/libs/util/data-fetcher/src/lib/utils.mjs +3 -3
  22. package/esm2022/libs/util/shared/src/lib/services/date.service.mjs +41 -0
  23. package/esm2022/libs/util/shared/src/lib/services/index.mjs +2 -1
  24. package/esm2022/libs/util/shared/src/lib/utils/temporal-extent-union.mjs +4 -4
  25. package/esm2022/translations/de.json +7 -0
  26. package/esm2022/translations/en.json +7 -0
  27. package/esm2022/translations/es.json +7 -0
  28. package/esm2022/translations/fr.json +7 -0
  29. package/esm2022/translations/it.json +7 -0
  30. package/esm2022/translations/nl.json +7 -0
  31. package/esm2022/translations/pt.json +7 -0
  32. package/fesm2022/geonetwork-ui.mjs +727 -379
  33. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  34. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +2 -1
  35. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  36. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  37. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts +7 -9
  38. package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts.map +1 -1
  39. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  40. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +3 -6
  41. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  42. package/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.d.ts +3 -3
  43. package/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.d.ts.map +1 -1
  44. package/libs/feature/record/src/lib/feature-record.module.d.ts +2 -2
  45. package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
  46. package/libs/feature/search/src/lib/utils/service/fields.d.ts +10 -0
  47. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  48. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  49. package/libs/ui/dataviz/src/index.d.ts +2 -2
  50. package/libs/ui/dataviz/src/index.d.ts.map +1 -1
  51. package/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.d.ts +14 -0
  52. package/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.d.ts.map +1 -0
  53. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts +45 -0
  54. package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts.map +1 -0
  55. package/libs/ui/dataviz/src/lib/data-table/data-table.data.source.d.ts +12 -0
  56. package/libs/ui/dataviz/src/lib/data-table/data-table.data.source.d.ts.map +1 -0
  57. package/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.d.ts +10 -0
  58. package/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.d.ts.map +1 -0
  59. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +5 -0
  60. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  61. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +3 -2
  62. package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
  63. package/libs/util/data-fetcher/src/index.d.ts +3 -1
  64. package/libs/util/data-fetcher/src/index.d.ts.map +1 -1
  65. package/libs/util/data-fetcher/src/lib/model.d.ts +1 -1
  66. package/libs/util/data-fetcher/src/lib/model.d.ts.map +1 -1
  67. package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts.map +1 -1
  68. package/libs/util/shared/src/lib/services/date.service.d.ts +13 -0
  69. package/libs/util/shared/src/lib/services/date.service.d.ts.map +1 -0
  70. package/libs/util/shared/src/lib/services/index.d.ts +1 -0
  71. package/libs/util/shared/src/lib/services/index.d.ts.map +1 -1
  72. package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts +2 -1
  73. package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts.map +1 -1
  74. package/package.json +1 -1
  75. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +33 -16
  76. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +1 -5
  77. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.html +3 -3
  78. package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.ts +17 -15
  79. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +2 -0
  80. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +4 -3
  81. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +9 -18
  82. package/src/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.ts +3 -4
  83. package/src/libs/feature/record/src/lib/data-view/data-view.component.html +1 -1
  84. package/src/libs/feature/record/src/lib/feature-record.module.ts +6 -4
  85. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +2 -0
  86. package/src/libs/feature/search/src/lib/utils/service/fields.ts +55 -0
  87. package/src/libs/ui/dataviz/src/index.ts +2 -2
  88. package/src/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.ts +52 -0
  89. package/src/libs/ui/dataviz/src/lib/{table/table.component.css → data-table/data-table.component.css} +4 -0
  90. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.html +67 -0
  91. package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.ts +173 -0
  92. package/src/libs/ui/dataviz/src/lib/data-table/data-table.data.source.ts +33 -0
  93. package/src/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.ts +84 -0
  94. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +3 -3
  95. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +12 -2
  96. package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +4 -2
  97. package/src/libs/util/data-fetcher/src/index.ts +3 -0
  98. package/src/libs/util/data-fetcher/src/lib/model.ts +6 -2
  99. package/src/libs/util/data-fetcher/src/lib/readers/wfs.ts +23 -1
  100. package/src/libs/util/data-fetcher/src/lib/utils.ts +2 -2
  101. package/src/libs/util/shared/src/lib/services/date.service.ts +45 -0
  102. package/src/libs/util/shared/src/lib/services/index.ts +1 -0
  103. package/src/libs/util/shared/src/lib/utils/temporal-extent-union.ts +6 -3
  104. package/translations/de.json +7 -0
  105. package/translations/en.json +7 -0
  106. package/translations/es.json +7 -0
  107. package/translations/fr.json +7 -0
  108. package/translations/it.json +7 -0
  109. package/translations/nl.json +7 -0
  110. package/translations/pt.json +7 -0
  111. package/translations/sk.json +7 -0
  112. package/esm2022/libs/ui/dataviz/src/lib/table/table.component.mjs +0 -61
  113. package/esm2022/libs/ui/dataviz/src/lib/table/table.fixtures.mjs +0 -40
  114. package/libs/ui/dataviz/src/lib/table/table.component.d.ts +0 -29
  115. package/libs/ui/dataviz/src/lib/table/table.component.d.ts.map +0 -1
  116. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts +0 -11
  117. package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts.map +0 -1
  118. package/src/libs/ui/dataviz/src/lib/table/table.component.html +0 -40
  119. package/src/libs/ui/dataviz/src/lib/table/table.component.ts +0 -80
  120. package/src/libs/ui/dataviz/src/lib/table/table.fixtures.ts +0 -40
@@ -589,6 +589,12 @@
589
589
  "share.tab.webComponent": "",
590
590
  "table.loading.data": "",
591
591
  "table.object.count": "",
592
+ "table.paginator.firstPage": "",
593
+ "table.paginator.itemsPerPage": "",
594
+ "table.paginator.lastPage": "",
595
+ "table.paginator.nextPage": "",
596
+ "table.paginator.previousPage": "",
597
+ "table.paginator.rangeLabel": "",
592
598
  "table.select.data": "",
593
599
  "tooltip.html.copy": "",
594
600
  "tooltip.id.copy": "",
@@ -596,6 +602,7 @@
596
602
  "tooltip.url.open": "",
597
603
  "ui.readLess": "",
598
604
  "ui.readMore": "",
605
+ "wfs.aggregations.notsupported": "",
599
606
  "wfs.feature.limit": "",
600
607
  "wfs.featuretype.notfound": "",
601
608
  "wfs.geojsongml.notsupported": "",
@@ -589,6 +589,12 @@
589
589
  "share.tab.webComponent": "",
590
590
  "table.loading.data": "",
591
591
  "table.object.count": "",
592
+ "table.paginator.firstPage": "",
593
+ "table.paginator.itemsPerPage": "",
594
+ "table.paginator.lastPage": "",
595
+ "table.paginator.nextPage": "",
596
+ "table.paginator.previousPage": "",
597
+ "table.paginator.rangeLabel": "",
592
598
  "table.select.data": "",
593
599
  "tooltip.html.copy": "",
594
600
  "tooltip.id.copy": "",
@@ -596,6 +602,7 @@
596
602
  "tooltip.url.open": "",
597
603
  "ui.readLess": "",
598
604
  "ui.readMore": "",
605
+ "wfs.aggregations.notsupported": "",
599
606
  "wfs.feature.limit": "",
600
607
  "wfs.featuretype.notfound": "",
601
608
  "wfs.geojsongml.notsupported": "",
@@ -589,6 +589,12 @@
589
589
  "share.tab.webComponent": "Integrovať",
590
590
  "table.loading.data": "Načítanie údajov...",
591
591
  "table.object.count": "objekty v tomto súbore údajov",
592
+ "table.paginator.firstPage": "",
593
+ "table.paginator.itemsPerPage": "",
594
+ "table.paginator.lastPage": "",
595
+ "table.paginator.nextPage": "",
596
+ "table.paginator.previousPage": "",
597
+ "table.paginator.rangeLabel": "",
592
598
  "table.select.data": "Zdroj údajov",
593
599
  "tooltip.html.copy": "Kopírovať HTML",
594
600
  "tooltip.id.copy": "Kopírovať jedinečný identifikátor",
@@ -596,6 +602,7 @@
596
602
  "tooltip.url.open": "Otvoriť URL",
597
603
  "ui.readLess": "Čítať menej",
598
604
  "ui.readMore": "Čítať viac",
605
+ "wfs.aggregations.notsupported": "",
599
606
  "wfs.feature.limit": "",
600
607
  "wfs.featuretype.notfound": "V službe nebol nájdený žiadny zodpovedajúci typ funkcie",
601
608
  "wfs.geojsongml.notsupported": "Táto služba nepodporuje formát GeoJSON alebo GML",
@@ -1,61 +0,0 @@
1
- import { ScrollingModule } from '@angular/cdk/scrolling';
2
- import { NgForOf } from '@angular/common';
3
- import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
4
- import { MatSort, MatSortModule } from '@angular/material/sort';
5
- import { MatTableModule } from '@angular/material/table';
6
- import { TableVirtualScrollDataSource, TableVirtualScrollModule, } from 'ng-table-virtual-scroll';
7
- import { TranslateModule } from '@ngx-translate/core';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/material/table";
10
- import * as i2 from "@angular/material/sort";
11
- import * as i3 from "ng-table-virtual-scroll";
12
- import * as i4 from "@angular/cdk/scrolling";
13
- import * as i5 from "@ngx-translate/core";
14
- const rowIdPrefix = 'table-item-';
15
- export class TableComponent {
16
- set data(value) {
17
- this.dataSource = new TableVirtualScrollDataSource(value);
18
- this.dataSource.sort = this.sort;
19
- this.properties =
20
- Array.isArray(value) && value.length ? Object.keys(value[0]) : [];
21
- this.count = value.length;
22
- }
23
- constructor(eltRef) {
24
- this.eltRef = eltRef;
25
- this.selected = new EventEmitter();
26
- }
27
- ngAfterViewInit() {
28
- this.headerHeight =
29
- this.eltRef.nativeElement.querySelector('thead').offsetHeight;
30
- }
31
- scrollToItem(itemId) {
32
- const row = this.eltRef.nativeElement.querySelector(`#${this.getRowEltId(itemId)}`);
33
- this.eltRef.nativeElement.scrollTop = row.offsetTop - this.headerHeight;
34
- }
35
- getRowEltId(id) {
36
- return rowIdPrefix + id;
37
- }
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
39
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TableComponent, isStandalone: true, selector: "gn-ui-table", inputs: { data: "data", activeId: "activeId" }, outputs: { selected: "selected" }, viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }], ngImport: i0, template: "<div class=\"border border-gray-300 rounded-lg overflow-hidden bg-white h-full\">\n <cdk-virtual-scroll-viewport\n tvsItemSize=\"48\"\n headerHeight=\"56\"\n style=\"height: calc(100% - 37px)\"\n >\n <table mat-table [dataSource]=\"dataSource\" class=\"mat-elevation-z8\" matSort>\n <ng-container *ngFor=\"let prop of properties\" [matColumnDef]=\"prop\">\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n class=\"text-sm text-black bg-white\"\n >\n {{ prop }}\n </th>\n <td\n mat-cell\n *matCellDef=\"let element\"\n class=\"whitespace-nowrap pr-1 truncate\"\n >\n {{ element[prop] }}\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"properties; sticky: true\"></tr>\n <tr\n [id]=\"getRowEltId(row.id)\"\n mat-row\n *matRowDef=\"let row; columns: properties\"\n (click)=\"selected.emit(row)\"\n [class.active]=\"row.id === activeId\"\n ></tr>\n </table>\n </cdk-virtual-scroll-viewport>\n <div class=\"text-gray-900 border-t border-gray-300 px-4 py-2 text-sm\">\n <span class=\"count font-extrabold text-primary\">{{ count }}</span\n >&nbsp;<span translate>table.object.count</span>.\n </div>\n</div>\n", styles: ["table{width:100%;background:#fff}th.mat-mdc-header-cell,td.mat-mdc-cell,td.mat-mdc-footer-cell{padding-right:20px}tr.mat-mdc-row,tr.mat-mdc-footer-row{height:36px}tr:hover{background:#f5f5f5}tr.mat-mdc-header-row{height:48px}[mat-header-cell]{color:#0000008a;font-size:12px;font-weight:500}tr{cursor:pointer}.active .mat-mdc-cell{color:var(--color-primary)}\n"], dependencies: [{ kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i1.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i1.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i1.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i2.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i2.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: TableVirtualScrollModule }, { kind: "directive", type: i3.TableItemSizeDirective, selector: "cdk-virtual-scroll-viewport[tvsItemSize]", inputs: ["tvsItemSize", "headerEnabled", "headerHeight", "footerEnabled", "footerHeight", "bufferMultiplier"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "component", type: i4.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
40
- }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableComponent, decorators: [{
42
- type: Component,
43
- args: [{ standalone: true, imports: [
44
- MatTableModule,
45
- MatSortModule,
46
- TableVirtualScrollModule,
47
- ScrollingModule,
48
- NgForOf,
49
- TranslateModule,
50
- ], selector: 'gn-ui-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"border border-gray-300 rounded-lg overflow-hidden bg-white h-full\">\n <cdk-virtual-scroll-viewport\n tvsItemSize=\"48\"\n headerHeight=\"56\"\n style=\"height: calc(100% - 37px)\"\n >\n <table mat-table [dataSource]=\"dataSource\" class=\"mat-elevation-z8\" matSort>\n <ng-container *ngFor=\"let prop of properties\" [matColumnDef]=\"prop\">\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n class=\"text-sm text-black bg-white\"\n >\n {{ prop }}\n </th>\n <td\n mat-cell\n *matCellDef=\"let element\"\n class=\"whitespace-nowrap pr-1 truncate\"\n >\n {{ element[prop] }}\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"properties; sticky: true\"></tr>\n <tr\n [id]=\"getRowEltId(row.id)\"\n mat-row\n *matRowDef=\"let row; columns: properties\"\n (click)=\"selected.emit(row)\"\n [class.active]=\"row.id === activeId\"\n ></tr>\n </table>\n </cdk-virtual-scroll-viewport>\n <div class=\"text-gray-900 border-t border-gray-300 px-4 py-2 text-sm\">\n <span class=\"count font-extrabold text-primary\">{{ count }}</span\n >&nbsp;<span translate>table.object.count</span>.\n </div>\n</div>\n", styles: ["table{width:100%;background:#fff}th.mat-mdc-header-cell,td.mat-mdc-cell,td.mat-mdc-footer-cell{padding-right:20px}tr.mat-mdc-row,tr.mat-mdc-footer-row{height:36px}tr:hover{background:#f5f5f5}tr.mat-mdc-header-row{height:48px}[mat-header-cell]{color:#0000008a;font-size:12px;font-weight:500}tr{cursor:pointer}.active .mat-mdc-cell{color:var(--color-primary)}\n"] }]
51
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { data: [{
52
- type: Input
53
- }], activeId: [{
54
- type: Input
55
- }], selected: [{
56
- type: Output
57
- }], sort: [{
58
- type: ViewChild,
59
- args: [MatSort, { static: true }]
60
- }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9kYXRhdml6L3NyYy9saWIvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9kYXRhdml6L3NyYy9saWIvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN6QyxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3hELE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsd0JBQXdCLEdBQ3pCLE1BQU0seUJBQXlCLENBQUE7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBOzs7Ozs7O0FBRXJELE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQTtBQXlCakMsTUFBTSxPQUFPLGNBQWM7SUFDekIsSUFBYSxJQUFJLENBQUMsS0FBdUI7UUFDdkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLDRCQUE0QixDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3pELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUE7UUFDaEMsSUFBSSxDQUFDLFVBQVU7WUFDYixLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtRQUNuRSxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUE7SUFDM0IsQ0FBQztJQVVELFlBQW9CLE1BQWtCO1FBQWxCLFdBQU0sR0FBTixNQUFNLENBQVk7UUFSNUIsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUE7SUFRSCxDQUFDO0lBRTFDLGVBQWU7UUFDYixJQUFJLENBQUMsWUFBWTtZQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLENBQUE7SUFDakUsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFtQjtRQUM5QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQ2pELElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUMvQixDQUFBO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQTtJQUN6RSxDQUFDO0lBRU0sV0FBVyxDQUFDLEVBQWU7UUFDaEMsT0FBTyxXQUFXLEdBQUcsRUFBRSxDQUFBO0lBQ3pCLENBQUM7K0dBakNVLGNBQWM7bUdBQWQsY0FBYyxnTUFXZCxPQUFPLDhEQ3hEcEIsbTBDQXdDQSxnYURQSSxjQUFjLHNnQ0FDZCxhQUFhLGlkQUNiLHdCQUF3QiwyUEFDeEIsZUFBZSwyTUFDZixPQUFPLGtIQUNQLGVBQWU7OzRGQU9OLGNBQWM7a0JBZjFCLFNBQVM7aUNBQ0ksSUFBSSxXQUNQO3dCQUNQLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYix3QkFBd0I7d0JBQ3hCLGVBQWU7d0JBQ2YsT0FBTzt3QkFDUCxlQUFlO3FCQUNoQixZQUNTLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTTsrRUFHbEMsSUFBSTtzQkFBaEIsS0FBSztnQkFPRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU07Z0JBRStCLElBQUk7c0JBQXpDLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnXG5pbXBvcnQgeyBOZ0Zvck9mIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBNYXRTb3J0LCBNYXRTb3J0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCdcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnXG5pbXBvcnQge1xuICBUYWJsZVZpcnR1YWxTY3JvbGxEYXRhU291cmNlLFxuICBUYWJsZVZpcnR1YWxTY3JvbGxNb2R1bGUsXG59IGZyb20gJ25nLXRhYmxlLXZpcnR1YWwtc2Nyb2xsJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcblxuY29uc3Qgcm93SWRQcmVmaXggPSAndGFibGUtaXRlbS0nXG5cbmV4cG9ydCB0eXBlIFRhYmxlSXRlbUlkID0gc3RyaW5nIHwgbnVtYmVyXG50eXBlIFRhYmxlSXRlbVR5cGUgPSBzdHJpbmcgfCBudW1iZXIgfCBEYXRlXG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVJdGVtTW9kZWwge1xuICBpZDogVGFibGVJdGVtSWRcbiAgW2tleTogc3RyaW5nXTogVGFibGVJdGVtVHlwZVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdFRhYmxlTW9kdWxlLFxuICAgIE1hdFNvcnRNb2R1bGUsXG4gICAgVGFibGVWaXJ0dWFsU2Nyb2xsTW9kdWxlLFxuICAgIFNjcm9sbGluZ01vZHVsZSxcbiAgICBOZ0Zvck9mLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgXSxcbiAgc2VsZWN0b3I6ICdnbi11aS10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIHNldCBkYXRhKHZhbHVlOiBUYWJsZUl0ZW1Nb2RlbFtdKSB7XG4gICAgdGhpcy5kYXRhU291cmNlID0gbmV3IFRhYmxlVmlydHVhbFNjcm9sbERhdGFTb3VyY2UodmFsdWUpXG4gICAgdGhpcy5kYXRhU291cmNlLnNvcnQgPSB0aGlzLnNvcnRcbiAgICB0aGlzLnByb3BlcnRpZXMgPVxuICAgICAgQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID8gT2JqZWN0LmtleXModmFsdWVbMF0pIDogW11cbiAgICB0aGlzLmNvdW50ID0gdmFsdWUubGVuZ3RoXG4gIH1cbiAgQElucHV0KCkgYWN0aXZlSWQ6IFRhYmxlSXRlbUlkXG4gIEBPdXRwdXQoKSBzZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG5cbiAgQFZpZXdDaGlsZChNYXRTb3J0LCB7IHN0YXRpYzogdHJ1ZSB9KSBzb3J0OiBNYXRTb3J0XG4gIHByb3BlcnRpZXM6IHN0cmluZ1tdXG4gIGRhdGFTb3VyY2U6IFRhYmxlVmlydHVhbFNjcm9sbERhdGFTb3VyY2U8YW55PlxuICBoZWFkZXJIZWlnaHQ6IG51bWJlclxuICBjb3VudDogbnVtYmVyXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbHRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuaGVhZGVySGVpZ2h0ID1cbiAgICAgIHRoaXMuZWx0UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndGhlYWQnKS5vZmZzZXRIZWlnaHRcbiAgfVxuXG4gIHNjcm9sbFRvSXRlbShpdGVtSWQ6IFRhYmxlSXRlbUlkKTogdm9pZCB7XG4gICAgY29uc3Qgcm93ID0gdGhpcy5lbHRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgYCMke3RoaXMuZ2V0Um93RWx0SWQoaXRlbUlkKX1gXG4gICAgKVxuICAgIHRoaXMuZWx0UmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID0gcm93Lm9mZnNldFRvcCAtIHRoaXMuaGVhZGVySGVpZ2h0XG4gIH1cblxuICBwdWJsaWMgZ2V0Um93RWx0SWQoaWQ6IFRhYmxlSXRlbUlkKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcm93SWRQcmVmaXggKyBpZFxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLWxnIG92ZXJmbG93LWhpZGRlbiBiZy13aGl0ZSBoLWZ1bGxcIj5cbiAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydFxuICAgIHR2c0l0ZW1TaXplPVwiNDhcIlxuICAgIGhlYWRlckhlaWdodD1cIjU2XCJcbiAgICBzdHlsZT1cImhlaWdodDogY2FsYygxMDAlIC0gMzdweClcIlxuICA+XG4gICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCIgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXo4XCIgbWF0U29ydD5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHByb3Agb2YgcHJvcGVydGllc1wiIFttYXRDb2x1bW5EZWZdPVwicHJvcFwiPlxuICAgICAgICA8dGhcbiAgICAgICAgICBtYXQtaGVhZGVyLWNlbGxcbiAgICAgICAgICAqbWF0SGVhZGVyQ2VsbERlZlxuICAgICAgICAgIG1hdC1zb3J0LWhlYWRlclxuICAgICAgICAgIGNsYXNzPVwidGV4dC1zbSB0ZXh0LWJsYWNrIGJnLXdoaXRlXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IHByb3AgfX1cbiAgICAgICAgPC90aD5cbiAgICAgICAgPHRkXG4gICAgICAgICAgbWF0LWNlbGxcbiAgICAgICAgICAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCJcbiAgICAgICAgICBjbGFzcz1cIndoaXRlc3BhY2Utbm93cmFwIHByLTEgdHJ1bmNhdGVcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgZWxlbWVudFtwcm9wXSB9fVxuICAgICAgICA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwicHJvcGVydGllczsgc3RpY2t5OiB0cnVlXCI+PC90cj5cbiAgICAgIDx0clxuICAgICAgICBbaWRdPVwiZ2V0Um93RWx0SWQocm93LmlkKVwiXG4gICAgICAgIG1hdC1yb3dcbiAgICAgICAgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IHByb3BlcnRpZXNcIlxuICAgICAgICAoY2xpY2spPVwic2VsZWN0ZWQuZW1pdChyb3cpXCJcbiAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJyb3cuaWQgPT09IGFjdGl2ZUlkXCJcbiAgICAgID48L3RyPlxuICAgIDwvdGFibGU+XG4gIDwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxuICA8ZGl2IGNsYXNzPVwidGV4dC1ncmF5LTkwMCBib3JkZXItdCBib3JkZXItZ3JheS0zMDAgcHgtNCBweS0yIHRleHQtc21cIj5cbiAgICA8c3BhbiBjbGFzcz1cImNvdW50IGZvbnQtZXh0cmFib2xkIHRleHQtcHJpbWFyeVwiPnt7IGNvdW50IH19PC9zcGFuXG4gICAgPiZuYnNwOzxzcGFuIHRyYW5zbGF0ZT50YWJsZS5vYmplY3QuY291bnQ8L3NwYW4+LlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,40 +0,0 @@
1
- export const tableItemFixture = () => [
2
- {
3
- name: 'name 1',
4
- id: 'id 1',
5
- age: 15,
6
- },
7
- {
8
- name: 'name 2',
9
- id: 'id 2',
10
- age: 10,
11
- },
12
- {
13
- name: 'name 3',
14
- id: 'id 3',
15
- age: 55,
16
- },
17
- ];
18
- export const someHabTableItemFixture = () => [
19
- {
20
- name: 'France',
21
- id: '1',
22
- pop: 50500000,
23
- },
24
- {
25
- name: 'Italy',
26
- id: '2',
27
- pop: 155878789655,
28
- },
29
- {
30
- name: 'UK',
31
- id: '3',
32
- pop: 31522456,
33
- },
34
- {
35
- name: 'US',
36
- id: '4',
37
- pop: 3215448888,
38
- },
39
- ];
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2RhdGF2aXovc3JjL2xpYi90YWJsZS90YWJsZS5maXh0dXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUNwQztRQUNFLElBQUksRUFBRSxRQUFRO1FBQ2QsRUFBRSxFQUFFLE1BQU07UUFDVixHQUFHLEVBQUUsRUFBRTtLQUNSO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsUUFBUTtRQUNkLEVBQUUsRUFBRSxNQUFNO1FBQ1YsR0FBRyxFQUFFLEVBQUU7S0FDUjtJQUNEO1FBQ0UsSUFBSSxFQUFFLFFBQVE7UUFDZCxFQUFFLEVBQUUsTUFBTTtRQUNWLEdBQUcsRUFBRSxFQUFFO0tBQ1I7Q0FDRixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDM0M7UUFDRSxJQUFJLEVBQUUsUUFBUTtRQUNkLEVBQUUsRUFBRSxHQUFHO1FBQ1AsR0FBRyxFQUFFLFFBQVE7S0FDZDtJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixFQUFFLEVBQUUsR0FBRztRQUNQLEdBQUcsRUFBRSxZQUFZO0tBQ2xCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsSUFBSTtRQUNWLEVBQUUsRUFBRSxHQUFHO1FBQ1AsR0FBRyxFQUFFLFFBQVE7S0FDZDtJQUNEO1FBQ0UsSUFBSSxFQUFFLElBQUk7UUFDVixFQUFFLEVBQUUsR0FBRztRQUNQLEdBQUcsRUFBRSxVQUFVO0tBQ2hCO0NBQ0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCB0YWJsZUl0ZW1GaXh0dXJlID0gKCkgPT4gW1xuICB7XG4gICAgbmFtZTogJ25hbWUgMScsXG4gICAgaWQ6ICdpZCAxJyxcbiAgICBhZ2U6IDE1LFxuICB9LFxuICB7XG4gICAgbmFtZTogJ25hbWUgMicsXG4gICAgaWQ6ICdpZCAyJyxcbiAgICBhZ2U6IDEwLFxuICB9LFxuICB7XG4gICAgbmFtZTogJ25hbWUgMycsXG4gICAgaWQ6ICdpZCAzJyxcbiAgICBhZ2U6IDU1LFxuICB9LFxuXVxuXG5leHBvcnQgY29uc3Qgc29tZUhhYlRhYmxlSXRlbUZpeHR1cmUgPSAoKSA9PiBbXG4gIHtcbiAgICBuYW1lOiAnRnJhbmNlJyxcbiAgICBpZDogJzEnLFxuICAgIHBvcDogNTA1MDAwMDAsXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnSXRhbHknLFxuICAgIGlkOiAnMicsXG4gICAgcG9wOiAxNTU4Nzg3ODk2NTUsXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnVUsnLFxuICAgIGlkOiAnMycsXG4gICAgcG9wOiAzMTUyMjQ1NixcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdVUycsXG4gICAgaWQ6ICc0JyxcbiAgICBwb3A6IDMyMTU0NDg4ODgsXG4gIH0sXG5dXG4iXX0=
@@ -1,29 +0,0 @@
1
- import { AfterViewInit, ElementRef, EventEmitter } from '@angular/core';
2
- import { MatSort } from '@angular/material/sort';
3
- import { TableVirtualScrollDataSource } from 'ng-table-virtual-scroll';
4
- import * as i0 from "@angular/core";
5
- export type TableItemId = string | number;
6
- type TableItemType = string | number | Date;
7
- export interface TableItemModel {
8
- id: TableItemId;
9
- [key: string]: TableItemType;
10
- }
11
- export declare class TableComponent implements AfterViewInit {
12
- private eltRef;
13
- set data(value: TableItemModel[]);
14
- activeId: TableItemId;
15
- selected: EventEmitter<any>;
16
- sort: MatSort;
17
- properties: string[];
18
- dataSource: TableVirtualScrollDataSource<any>;
19
- headerHeight: number;
20
- count: number;
21
- constructor(eltRef: ElementRef);
22
- ngAfterViewInit(): void;
23
- scrollToItem(itemId: TableItemId): void;
24
- getRowEltId(id: TableItemId): string;
25
- static ɵfac: i0.ɵɵFactoryDeclaration<TableComponent, never>;
26
- static ɵcmp: i0.ɵɵComponentDeclaration<TableComponent, "gn-ui-table", never, { "data": { "alias": "data"; "required": false; }; "activeId": { "alias": "activeId"; "required": false; }; }, { "selected": "selected"; }, never, never, true, never>;
27
- }
28
- export {};
29
- //# sourceMappingURL=table.component.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table.component.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/dataviz/src/lib/table/table.component.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EAGb,UAAU,EACV,YAAY,EAIb,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,OAAO,EAAiB,MAAM,wBAAwB,CAAA;AAE/D,OAAO,EACL,4BAA4B,EAE7B,MAAM,yBAAyB,CAAA;;AAKhC,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAA;AACzC,KAAK,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;AAE3C,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,WAAW,CAAA;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAA;CAC7B;AAED,qBAea,cAAe,YAAW,aAAa;IAiBtC,OAAO,CAAC,MAAM;IAhB1B,IAAa,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,EAMxC;IACQ,QAAQ,EAAE,WAAW,CAAA;IACpB,QAAQ,oBAA0B;IAEN,IAAI,EAAE,OAAO,CAAA;IACnD,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,UAAU,EAAE,4BAA4B,CAAC,GAAG,CAAC,CAAA;IAC7C,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;gBAEO,MAAM,EAAE,UAAU;IAEtC,eAAe;IAKf,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAOhC,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,MAAM;yCA/BhC,cAAc;2CAAd,cAAc;CAkC1B"}
@@ -1,11 +0,0 @@
1
- export declare const tableItemFixture: () => {
2
- name: string;
3
- id: string;
4
- age: number;
5
- }[];
6
- export declare const someHabTableItemFixture: () => {
7
- name: string;
8
- id: string;
9
- pop: number;
10
- }[];
11
- //# sourceMappingURL=table.fixtures.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table.fixtures.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/ui/dataviz/src/lib/table/table.fixtures.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;GAgB5B,CAAA;AAED,eAAO,MAAM,uBAAuB;;;;GAqBnC,CAAA"}
@@ -1,40 +0,0 @@
1
- <div class="border border-gray-300 rounded-lg overflow-hidden bg-white h-full">
2
- <cdk-virtual-scroll-viewport
3
- tvsItemSize="48"
4
- headerHeight="56"
5
- style="height: calc(100% - 37px)"
6
- >
7
- <table mat-table [dataSource]="dataSource" class="mat-elevation-z8" matSort>
8
- <ng-container *ngFor="let prop of properties" [matColumnDef]="prop">
9
- <th
10
- mat-header-cell
11
- *matHeaderCellDef
12
- mat-sort-header
13
- class="text-sm text-black bg-white"
14
- >
15
- {{ prop }}
16
- </th>
17
- <td
18
- mat-cell
19
- *matCellDef="let element"
20
- class="whitespace-nowrap pr-1 truncate"
21
- >
22
- {{ element[prop] }}
23
- </td>
24
- </ng-container>
25
-
26
- <tr mat-header-row *matHeaderRowDef="properties; sticky: true"></tr>
27
- <tr
28
- [id]="getRowEltId(row.id)"
29
- mat-row
30
- *matRowDef="let row; columns: properties"
31
- (click)="selected.emit(row)"
32
- [class.active]="row.id === activeId"
33
- ></tr>
34
- </table>
35
- </cdk-virtual-scroll-viewport>
36
- <div class="text-gray-900 border-t border-gray-300 px-4 py-2 text-sm">
37
- <span class="count font-extrabold text-primary">{{ count }}</span
38
- >&nbsp;<span translate>table.object.count</span>.
39
- </div>
40
- </div>
@@ -1,80 +0,0 @@
1
- import { ScrollingModule } from '@angular/cdk/scrolling'
2
- import { NgForOf } from '@angular/common'
3
- import {
4
- AfterViewInit,
5
- ChangeDetectionStrategy,
6
- Component,
7
- ElementRef,
8
- EventEmitter,
9
- Input,
10
- Output,
11
- ViewChild,
12
- } from '@angular/core'
13
- import { MatSort, MatSortModule } from '@angular/material/sort'
14
- import { MatTableModule } from '@angular/material/table'
15
- import {
16
- TableVirtualScrollDataSource,
17
- TableVirtualScrollModule,
18
- } from 'ng-table-virtual-scroll'
19
- import { TranslateModule } from '@ngx-translate/core'
20
-
21
- const rowIdPrefix = 'table-item-'
22
-
23
- export type TableItemId = string | number
24
- type TableItemType = string | number | Date
25
-
26
- export interface TableItemModel {
27
- id: TableItemId
28
- [key: string]: TableItemType
29
- }
30
-
31
- @Component({
32
- standalone: true,
33
- imports: [
34
- MatTableModule,
35
- MatSortModule,
36
- TableVirtualScrollModule,
37
- ScrollingModule,
38
- NgForOf,
39
- TranslateModule,
40
- ],
41
- selector: 'gn-ui-table',
42
- templateUrl: './table.component.html',
43
- styleUrls: ['./table.component.css'],
44
- changeDetection: ChangeDetectionStrategy.OnPush,
45
- })
46
- export class TableComponent implements AfterViewInit {
47
- @Input() set data(value: TableItemModel[]) {
48
- this.dataSource = new TableVirtualScrollDataSource(value)
49
- this.dataSource.sort = this.sort
50
- this.properties =
51
- Array.isArray(value) && value.length ? Object.keys(value[0]) : []
52
- this.count = value.length
53
- }
54
- @Input() activeId: TableItemId
55
- @Output() selected = new EventEmitter<any>()
56
-
57
- @ViewChild(MatSort, { static: true }) sort: MatSort
58
- properties: string[]
59
- dataSource: TableVirtualScrollDataSource<any>
60
- headerHeight: number
61
- count: number
62
-
63
- constructor(private eltRef: ElementRef) {}
64
-
65
- ngAfterViewInit() {
66
- this.headerHeight =
67
- this.eltRef.nativeElement.querySelector('thead').offsetHeight
68
- }
69
-
70
- scrollToItem(itemId: TableItemId): void {
71
- const row = this.eltRef.nativeElement.querySelector(
72
- `#${this.getRowEltId(itemId)}`
73
- )
74
- this.eltRef.nativeElement.scrollTop = row.offsetTop - this.headerHeight
75
- }
76
-
77
- public getRowEltId(id: TableItemId): string {
78
- return rowIdPrefix + id
79
- }
80
- }
@@ -1,40 +0,0 @@
1
- export const tableItemFixture = () => [
2
- {
3
- name: 'name 1',
4
- id: 'id 1',
5
- age: 15,
6
- },
7
- {
8
- name: 'name 2',
9
- id: 'id 2',
10
- age: 10,
11
- },
12
- {
13
- name: 'name 3',
14
- id: 'id 3',
15
- age: 55,
16
- },
17
- ]
18
-
19
- export const someHabTableItemFixture = () => [
20
- {
21
- name: 'France',
22
- id: '1',
23
- pop: 50500000,
24
- },
25
- {
26
- name: 'Italy',
27
- id: '2',
28
- pop: 155878789655,
29
- },
30
- {
31
- name: 'UK',
32
- id: '3',
33
- pop: 31522456,
34
- },
35
- {
36
- name: 'US',
37
- id: '4',
38
- pop: 3215448888,
39
- },
40
- ]