]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/eg2/src/app/staff/admin/server/floating-group/floating-group.component.ts
LP1840287 Floating group admin minor code tweaks
[working/Evergreen.git] / Open-ILS / src / eg2 / src / app / staff / admin / server / floating-group / floating-group.component.ts
1 import {Pager} from '@eg/share/util/pager';
2 import {Component, Input, ViewChild, OnInit} from '@angular/core';
3 import {Router, ActivatedRoute} from '@angular/router';
4 import {IdlService, IdlObject} from '@eg/core/idl.service';
5 import {GridDataSource} from '@eg/share/grid/grid';
6 import {GridComponent} from '@eg/share/grid/grid.component';
7 import {ToastService} from '@eg/share/toast/toast.service';
8 import {PcrudService} from '@eg/core/pcrud.service';
9 import {OrgService} from '@eg/core/org.service';
10 import {PermService} from '@eg/core/perm.service';
11 import {AuthService} from '@eg/core/auth.service';
12 import {AdminPageComponent} from '../../../share/admin-page/admin-page.component';
13
14 @Component({
15     templateUrl: './floating-group.component.html'
16 })
17
18 export class FloatingGroupComponent extends AdminPageComponent implements OnInit {
19
20     idlClass = 'cfg';
21
22     gridDataSource: GridDataSource = new GridDataSource();
23
24     @ViewChild('grid', {static: true}) grid: GridComponent;
25
26     constructor(
27         route: ActivatedRoute,
28         idl: IdlService,
29         org: OrgService,
30         auth: AuthService,
31         pcrud: PcrudService,
32         perm: PermService,
33         toast: ToastService,
34         private router: Router
35     ) {
36         super(route, idl, org, auth, pcrud, perm, toast);
37     }
38
39     ngOnInit() {
40         super.ngOnInit();
41         this.gridDataSource.getRows = (pager: Pager, sort: any[]) => {
42
43             const orderBy: any = {};
44             if (sort.length) {
45                 orderBy.cfg = sort[0].name + ' ' + sort[0].dir;
46             }
47
48             const searchOps = {
49                 offset: pager.offset,
50                 limit: pager.limit,
51                 order_by: orderBy
52             };
53
54             return this.pcrud.retrieveAll('cfg', searchOps);
55         };
56
57         this.grid.onRowActivate.subscribe(
58             (idlThing: IdlObject) => {
59                 const idToEdit = idlThing.id();
60                 this.navigateToEditPage(idToEdit);
61             }
62         );
63     }
64
65     editSelected = (floatingGroups: IdlObject[]) => {
66         const idToEdit = floatingGroups[0].id();
67         this.navigateToEditPage(idToEdit);
68     }
69
70     deleteSelected = (floatingGroups: IdlObject[]) => {
71         super.deleteSelected(floatingGroups);
72     }
73
74     navigateToEditPage(id: any) {
75         this.router.navigate(['/staff/admin/server/config/floating_group/' + id]);
76     }
77
78     // this was left mostly blank to ensure a modal does not open for edits
79     showEditDialog(idlThing: IdlObject): Promise<any> {
80         return;
81     }
82
83  }