Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { Component, Inject, Injectable, ViewChild, ChangeDetectorRef } from '@angular/core';
- import { MatTable, MatPaginator, MatTableDataSource } from '@angular/material';
- import { DataSource } from '@angular/cdk/collections';
- import { Observable } from 'rxjs/Observable';
- import { IPocoContract } from '../../interfaces/poco/contract';
- import { ODataPocoProxy } from '../../services/odata.proxy.poco.service';
- import 'rxjs/add/observable/of';
- @Component({
- selector : 'app-pagination-table',
- templateUrl : './pagination-table.component.html',
- styleUrls : ['../../Css/ReestrTableCommon.css']
- })
- export class PaginationTableComponent {
- private readonly defaultDelay : number = 1000;
- private readonly defaultSkip : number = 1000;
- private readonly defaultTake : number = 1000;
- public displayedColumns: string[] = [
- 'registryNumber',
- 'investObject',
- 'investor',
- 'dateRange',
- 'sum',
- 'status',
- 'district',
- 'type'
- ];
- public dataSource: MatTableDataSource<any>;
- @ViewChild(MatPaginator) paginator: MatPaginator;
- constructor(private proxy: ODataPocoProxy, private changeDetectorRefs: ChangeDetectorRef) {
- this.initData();
- }
- private async initData() : Promise<void> {
- const queries = {
- contracts : `docContracts?$filter=PK_Contract gt 0 and DocumentNumber ne '' and startswith(DocumentNumber, '11')&$expand=docSupplier,docContractSuppliers,vocDistrict,vocContractTypeInv,vocOrganization&$inlinecount=allpages`,
- suppliers : `docSuppliers?$filter=PK_Supplier eq %value%`
- };
- const contracts = await this.proxy.fetchRawData(queries.contracts) as Array<any>;
- for (let i = 0; i < contracts.length; i++) {
- const x = contracts[i];
- console.log(x.docContractSuppliers[0]['FK_Supplier']);
- if (x.docContractSuppliers !== undefined && x.docContractSuppliers[0] !== undefined) {
- const supplierQuery = queries.suppliers.replace('%value%', x.docContractSuppliers[0]['FK_Supplier']);
- const suppliers = await this.proxy.fetchRawData(supplierQuery);
- x.supplier = suppliers[0];
- }
- }
- this.dataSource = new MatTableDataSource(contracts);
- this.changeDetectorRefs.detectChanges();
- }
- applyFilter(filterValue: string) {
- filterValue = filterValue.trim();
- filterValue = filterValue.toLowerCase();
- this.dataSource.filter = filterValue;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement