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.
- package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +31 -16
- package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +2 -2
- package/esm2022/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.mjs +18 -16
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +3 -1
- package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +12 -17
- package/esm2022/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.mjs +11 -11
- package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +3 -3
- package/esm2022/libs/feature/record/src/lib/feature-record.module.mjs +6 -7
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +46 -1
- package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +3 -2
- package/esm2022/libs/ui/dataviz/src/index.mjs +3 -3
- package/esm2022/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.mjs +51 -0
- package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.component.mjs +133 -0
- package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.data.source.mjs +24 -0
- package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.mjs +82 -0
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +18 -10
- package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +14 -12
- package/esm2022/libs/util/data-fetcher/src/index.mjs +3 -1
- package/esm2022/libs/util/data-fetcher/src/lib/model.mjs +7 -3
- package/esm2022/libs/util/data-fetcher/src/lib/readers/wfs.mjs +20 -2
- package/esm2022/libs/util/data-fetcher/src/lib/utils.mjs +3 -3
- package/esm2022/libs/util/shared/src/lib/services/date.service.mjs +41 -0
- package/esm2022/libs/util/shared/src/lib/services/index.mjs +2 -1
- package/esm2022/libs/util/shared/src/lib/utils/temporal-extent-union.mjs +4 -4
- package/esm2022/translations/de.json +7 -0
- package/esm2022/translations/en.json +7 -0
- package/esm2022/translations/es.json +7 -0
- package/esm2022/translations/fr.json +7 -0
- package/esm2022/translations/it.json +7 -0
- package/esm2022/translations/nl.json +7 -0
- package/esm2022/translations/pt.json +7 -0
- package/fesm2022/geonetwork-ui.mjs +727 -379
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +2 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts +7 -9
- package/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +3 -6
- package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.d.ts +3 -3
- package/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/feature-record.module.d.ts +2 -2
- package/libs/feature/record/src/lib/feature-record.module.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.d.ts +10 -0
- package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
- package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
- package/libs/ui/dataviz/src/index.d.ts +2 -2
- package/libs/ui/dataviz/src/index.d.ts.map +1 -1
- package/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.d.ts +14 -0
- package/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.d.ts.map +1 -0
- package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts +45 -0
- package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts.map +1 -0
- package/libs/ui/dataviz/src/lib/data-table/data-table.data.source.d.ts +12 -0
- package/libs/ui/dataviz/src/lib/data-table/data-table.data.source.d.ts.map +1 -0
- package/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.d.ts +10 -0
- package/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +5 -0
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +3 -2
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/index.d.ts +3 -1
- package/libs/util/data-fetcher/src/index.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/model.d.ts +1 -1
- package/libs/util/data-fetcher/src/lib/model.d.ts.map +1 -1
- package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts.map +1 -1
- package/libs/util/shared/src/lib/services/date.service.d.ts +13 -0
- package/libs/util/shared/src/lib/services/date.service.d.ts.map +1 -0
- package/libs/util/shared/src/lib/services/index.d.ts +1 -0
- package/libs/util/shared/src/lib/services/index.d.ts.map +1 -1
- package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts +2 -1
- package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +33 -16
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +1 -5
- package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.html +3 -3
- package/src/libs/feature/dataviz/src/lib/geo-table-view/geo-table-view.component.ts +17 -15
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +2 -0
- package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.html +4 -3
- package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +9 -18
- package/src/libs/feature/editor/src/lib/components/wizard-summarize/wizard-summarize.component.ts +3 -4
- package/src/libs/feature/record/src/lib/data-view/data-view.component.html +1 -1
- package/src/libs/feature/record/src/lib/feature-record.module.ts +6 -4
- package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +2 -0
- package/src/libs/feature/search/src/lib/utils/service/fields.ts +55 -0
- package/src/libs/ui/dataviz/src/index.ts +2 -2
- package/src/libs/ui/dataviz/src/lib/data-table/custom.mat.paginator.intl.ts +52 -0
- package/src/libs/ui/dataviz/src/lib/{table/table.component.css → data-table/data-table.component.css} +4 -0
- package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.html +67 -0
- package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.ts +173 -0
- package/src/libs/ui/dataviz/src/lib/data-table/data-table.data.source.ts +33 -0
- package/src/libs/ui/dataviz/src/lib/data-table/data-table.fixtures.ts +84 -0
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +3 -3
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +12 -2
- package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +4 -2
- package/src/libs/util/data-fetcher/src/index.ts +3 -0
- package/src/libs/util/data-fetcher/src/lib/model.ts +6 -2
- package/src/libs/util/data-fetcher/src/lib/readers/wfs.ts +23 -1
- package/src/libs/util/data-fetcher/src/lib/utils.ts +2 -2
- package/src/libs/util/shared/src/lib/services/date.service.ts +45 -0
- package/src/libs/util/shared/src/lib/services/index.ts +1 -0
- package/src/libs/util/shared/src/lib/utils/temporal-extent-union.ts +6 -3
- package/translations/de.json +7 -0
- package/translations/en.json +7 -0
- package/translations/es.json +7 -0
- package/translations/fr.json +7 -0
- package/translations/it.json +7 -0
- package/translations/nl.json +7 -0
- package/translations/pt.json +7 -0
- package/translations/sk.json +7 -0
- package/esm2022/libs/ui/dataviz/src/lib/table/table.component.mjs +0 -61
- package/esm2022/libs/ui/dataviz/src/lib/table/table.fixtures.mjs +0 -40
- package/libs/ui/dataviz/src/lib/table/table.component.d.ts +0 -29
- package/libs/ui/dataviz/src/lib/table/table.component.d.ts.map +0 -1
- package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts +0 -11
- package/libs/ui/dataviz/src/lib/table/table.fixtures.d.ts.map +0 -1
- package/src/libs/ui/dataviz/src/lib/table/table.component.html +0 -40
- package/src/libs/ui/dataviz/src/lib/table/table.component.ts +0 -80
- package/src/libs/ui/dataviz/src/lib/table/table.fixtures.ts +0 -40
package/translations/nl.json
CHANGED
|
@@ -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": "",
|
package/translations/pt.json
CHANGED
|
@@ -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": "",
|
package/translations/sk.json
CHANGED
|
@@ -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 > <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 > <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 +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
|
-
> <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
|
-
]
|