]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/eg2/src/app/staff/acq/lineitem/history.component.ts
LP1929741 ACQ Selection List & PO Angluar Port
[Evergreen.git] / Open-ILS / src / eg2 / src / app / staff / acq / lineitem / 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({
10   templateUrl: 'history.component.html',
11   selector: 'eg-lineitem-history'
12 })
13 export class LineitemHistoryComponent implements OnInit {
14
15     lineitemId: number;
16     dataSource: GridDataSource = new GridDataSource();
17
18     constructor(
19         private route: ActivatedRoute,
20         private pcrud: PcrudService
21     ) {}
22
23     ngOnInit() {
24
25         this.dataSource.getRows = (pager: Pager, sort: any) =>
26             this.getHistory(pager, sort);
27
28         this.route.paramMap.subscribe((params: ParamMap) => {
29             this.lineitemId = +params.get('lineitemId');
30         });
31    }
32
33     getHistory(pager: Pager, sort: any) {
34         if (!this.lineitemId) { return empty(); }
35
36         const orderBy: any = {acqlih: 'edit_time DESC'};
37         if (sort.length) {
38             orderBy.acqlih = sort[0].name + ' ' + sort[0].dir;
39         }
40
41         return this.pcrud.search('acqlih', {id: this.lineitemId}, {
42             offset: pager.offset,
43             limit: pager.limit,
44             order_by: orderBy,
45             flesh: 1,
46             flesh_fields: {
47                 acqlih: ['creator', 'editor', 'provider', 'cancel_reason']
48             }
49         });
50     }
51 }
52