]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/eg2/src/app/staff/acq/po/history.component.ts
LP1929741 ACQ Selection List & PO Angluar Port
[Evergreen.git] / Open-ILS / src / eg2 / src / app / staff / acq / po / history.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: 'history.component.html'})
10 export class PoHistoryComponent 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.getHistory(pager, sort);
23
24         this.route.parent.paramMap.subscribe((params: ParamMap) => {
25             this.poId = +params.get('poId');
26         });
27    }
28
29     getHistory(pager: Pager, sort: any) {
30         if (!this.poId) { return empty(); }
31
32         const orderBy: any = {acqpoh: 'edit_time DESC'};
33         if (sort.length) {
34             orderBy.acqpoh = sort[0].name + ' ' + sort[0].dir;
35         }
36
37         return this.pcrud.search('acqpoh', {id: this.poId}, {
38             offset: pager.offset,
39             limit: pager.limit,
40             order_by: orderBy,
41             flesh: 1,
42             flesh_fields: {
43                 acqpoh: ['owner', 'creator', 'editor', 'provider', 'cancel_reason']
44             }
45         });
46     }
47 }
48