]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/eg2/src/app/staff/acq/po/edi.component.ts
LP1929741 ACQ Selection List & PO Angluar Port
[Evergreen.git] / Open-ILS / src / eg2 / src / app / staff / acq / po / edi.component.ts
1 import {Component, OnInit, Input, Output} from '@angular/core';
2 import {Router, ActivatedRoute, ParamMap} from '@angular/router';
3 import {empty} from 'rxjs';
4 import {Pager} from '@eg/share/util/pager';
5 import {IdlObject} from '@eg/core/idl.service';
6 import {GridDataSource} from '@eg/share/grid/grid';
7 import {PcrudService} from '@eg/core/pcrud.service';
8
9 @Component({templateUrl: 'edi.component.html'})
10 export class PoEdiMessagesComponent implements OnInit {
11
12     poId: number;
13     dataSource: GridDataSource = new GridDataSource();
14
15     constructor(
16         private route: ActivatedRoute,
17         private pcrud: PcrudService
18     ) {}
19
20     ngOnInit() {
21         this.dataSource.getRows = (pager: Pager, sort: any) =>
22             this.getEdiMessages(pager, sort);
23
24         this.route.parent.paramMap.subscribe((params: ParamMap) => {
25             this.poId = +params.get('poId');
26         });
27    }
28
29     getEdiMessages(pager: Pager, sort: any) {
30         if (!this.poId) { return empty(); }
31
32         const orderBy: any = {acqedim: 'create_time DESC'};
33         if (sort.length) {
34             orderBy.acqedim = sort[0].name + ' ' + sort[0].dir;
35         }
36
37         return this.pcrud.search('acqedim', {purchase_order: this.poId}, {
38             offset: pager.offset,
39             limit: pager.limit,
40             order_by: orderBy,
41             flesh: 1,
42             flesh_fields: {acqedim: ['account', 'purchase_order']}
43         });
44     }
45 }
46