Преглед изворни кода

Merge branch 'master' of ssh://gitea.spawntree.de:1122/spawntree/matsen-tool-fe

master
Florian Eisenmenger пре 2 година
родитељ
комит
e390f8e501
2 измењених фајлова са 50 додато и 14 уклоњено
  1. +5
    -1
      matsen-tool/src/app/partners/partners.component.html
  2. +45
    -13
      matsen-tool/src/app/partners/partners.component.ts

+ 5
- 1
matsen-tool/src/app/partners/partners.component.html Прегледај датотеку

@@ -36,7 +36,11 @@
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr> <tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table> </table>


<mat-paginator [pageSizeOptions]="[5, 10, 20]"
<mat-paginator [pageSizeOptions]="[10]"
[length]="length"
(page)="handlePageEvent($event)"
[pageSize]="pageSize"
[pageIndex]="pageIndex"
showFirstLastButtons showFirstLastButtons
aria-label="Select page of periodic elements"> aria-label="Select page of periodic elements">
</mat-paginator> </mat-paginator>

+ 45
- 13
matsen-tool/src/app/partners/partners.component.ts Прегледај датотеку

@@ -5,7 +5,8 @@ import {MatTableDataSource, MatTableModule} from "@angular/material/table";
import {ActivatedRoute, RouterLink, RouterLinkActive} from "@angular/router"; import {ActivatedRoute, RouterLink, RouterLinkActive} from "@angular/router";
import {Subscription} from "rxjs"; import {Subscription} from "rxjs";
import {PartnerJsonld, PartnerService} from "@app/core/api/v1"; import {PartnerJsonld, PartnerService} from "@app/core/api/v1";
import {MatPaginator, MatPaginatorIntl, MatPaginatorModule} from "@angular/material/paginator";
import {MatPaginator, MatPaginatorIntl, MatPaginatorModule, PageEvent} from "@angular/material/paginator";
import {NumberInput} from "@angular/cdk/coercion";


@Component({ @Component({
selector: 'app-partners', selector: 'app-partners',
@@ -19,11 +20,17 @@ export class PartnersComponent implements OnInit, AfterViewInit {
@ViewChild(MatPaginator) paginator: MatPaginator; @ViewChild(MatPaginator) paginator: MatPaginator;


protected partnersSub: Subscription; protected partnersSub: Subscription;
protected partners: Array<PartnerJsonld> = [];
protected partners: Array<PartnerJsonld>;
protected length: number;
protected pageEvent: PageEvent;
protected pageSize: NumberInput;
protected pageIndex: NumberInput;
protected currentPageIndex: number;
protected pageSizeOptions = [10];


dataType!: string;
displayedColumns: string[] = ['pos', 'name', 'address', 'website'];
dataSource = new MatTableDataSource(this.partners);
protected dataType!: string;
protected displayedColumns: string[];
protected dataSource;


constructor( constructor(
private _liveAnnouncer: LiveAnnouncer, private _liveAnnouncer: LiveAnnouncer,
@@ -35,20 +42,21 @@ export class PartnersComponent implements OnInit, AfterViewInit {


this.partnersSub = new Subscription(); this.partnersSub = new Subscription();
this.partners = []; this.partners = [];
this.displayedColumns = ['pos', 'name', 'address', 'website'];

this.dataSource = new MatTableDataSource<PartnerJsonld>(this.partners);
this.pageEvent = new PageEvent();
this.length = 0;
this.pageSize = 10;
this.pageIndex = 0;
this.currentPageIndex = 1;
} }


ngOnInit() { ngOnInit() {
this.dataType = this.route.snapshot.data['dataType']; this.dataType = this.route.snapshot.data['dataType'];
console.log('Data Type:', this.dataType); console.log('Data Type:', this.dataType);


this.partnersSub = this.partnerService.partnersGetCollection(1, "asc", this.dataType).subscribe(
data => {
this.partners = data["hydra:member"];

this.dataSource.data = this.partners;
console.log(this.partners);
}
);
this.getData();
console.log(this.dataSource.data); console.log(this.dataSource.data);
} }


@@ -70,4 +78,28 @@ export class PartnersComponent implements OnInit, AfterViewInit {
this._liveAnnouncer.announce('Sorting cleared'); this._liveAnnouncer.announce('Sorting cleared');
} }
} }

getData()
{
this.partnersSub = this.partnerService.partnersGetCollection(this.currentPageIndex, "asc", this.dataType).subscribe(
data => {
this.partners = data["hydra:member"];
this.dataSource = new MatTableDataSource<PartnerJsonld>(this.partners);
this.length = Number(data["hydra:totalItems"]);
this.paginator.length = this.length;
}
);
console.log(this.dataSource.data);
}


handlePageEvent(e: PageEvent) {
this.pageEvent = e;
this.length = e.length;
this.pageSize = e.pageSize;
this.pageIndex = e.pageIndex;
this.currentPageIndex = this.pageIndex.valueOf() + 1;
this.getData();
}

} }

Loading…
Откажи
Сачувај