From dee54de60272c62ac24f022c37d88379e21396e1 Mon Sep 17 00:00:00 2001 From: Florian Eisenmenger Date: Thu, 8 Feb 2024 11:50:33 +0100 Subject: [PATCH] Partners with real data --- .../src/app/partners/partners.component.html | 14 ++-- .../src/app/partners/partners.component.ts | 70 +++++++++---------- 2 files changed, 41 insertions(+), 43 deletions(-) diff --git a/matsen-tool/src/app/partners/partners.component.html b/matsen-tool/src/app/partners/partners.component.html index 9a627c2..08e4fbd 100644 --- a/matsen-tool/src/app/partners/partners.component.html +++ b/matsen-tool/src/app/partners/partners.component.html @@ -1,25 +1,25 @@ - - - + - + - + - @@ -28,7 +28,7 @@ - + diff --git a/matsen-tool/src/app/partners/partners.component.ts b/matsen-tool/src/app/partners/partners.component.ts index 03bedd6..510e361 100644 --- a/matsen-tool/src/app/partners/partners.component.ts +++ b/matsen-tool/src/app/partners/partners.component.ts @@ -3,47 +3,19 @@ import {MatSort, Sort, MatSortModule} from "@angular/material/sort"; import {LiveAnnouncer} from "@angular/cdk/a11y"; import {MatTableDataSource, MatTableModule} from "@angular/material/table"; import {ActivatedRoute, RouterLink, RouterLinkActive} from "@angular/router"; +import {Subscription} from "rxjs"; +import {PartnerJsonld, PartnerService} from "@app/core/api/v1"; export interface PeriodicElement { - position: number; - partner: string; + pos: number; + name: string; street: string; - street_no: string; + streetNo: string; zip: string; city: string; website: string; } -const ELEMENT_DATA: PeriodicElement[] = [ - { - position: 1, - partner: 'spawntree GmbH', - street: 'Bauernvogtskoppel', - street_no: '6c', - zip: '21465', - city: 'Wentorf', - website: 'http://spawntree.de' - }, - { - position: 2, - partner: 'Peter Pan AG', - street: 'Heinrich-Löhns-Weg', - street_no: '123b', - zip: '22134', - city: 'Hamburg', - website: '' - }, - { - position: 3, - partner: 'Weit Weg GmbH', - street: 'Hans-Werner-Olm Straße', - street_no: '1', - zip: '87254', - city: 'München', - website: 'http://weitweg.de' - }, -]; - @Component({ selector: 'app-partners', templateUrl: './partners.component.html', @@ -54,17 +26,43 @@ const ELEMENT_DATA: PeriodicElement[] = [ export class PartnersComponent implements OnInit, AfterViewInit { @ViewChild(MatSort) sort; + + protected partnersSub: Subscription; + protected partners: Array = []; + dataType!: string; - displayedColumns: string[] = ['position', 'partner', 'address', 'website']; - dataSource = new MatTableDataSource(ELEMENT_DATA); + displayedColumns: string[] = ['pos', 'name', 'address', 'website']; + dataSource = new MatTableDataSource(this.partners); - constructor(private _liveAnnouncer: LiveAnnouncer, private route: ActivatedRoute) { + constructor( + private _liveAnnouncer: LiveAnnouncer, + private route: ActivatedRoute, + private partnerService: PartnerService + ) { this.sort = new MatSort(); + + this.partnersSub = new Subscription(); + this.partners = []; } ngOnInit() { this.dataType = this.route.snapshot.data['dataType']; console.log('Data Type:', this.dataType); + + this.partnersSub = this.partnerService.partnersGetCollection().subscribe( + data => { + this.partners = data["hydra:member"]; + // this.partners.sort((a, b) => { + // const nameA = a.name ? a.name.toLowerCase() : ''; + // const nameB = b.name ? b.name.toLowerCase() : ''; + // return nameA.localeCompare(nameB); + // }); + + this.dataSource.data = this.partners; + console.log(this.partners); + } + ); + console.log(this.dataSource.data); } ngAfterViewInit() {
+ + Nr. {{ element.position }}{{dataSource.filteredData.indexOf(element) + 1}} Partner {{ element.partner }}{{ element.name }} Adresse {{ element.street }} {{ element.street_no }} + {{ element.street }} {{ element.streetNo }}
{{ element.zip }} {{ element.city }}
Website {{ element.website }}{{ element.website }}