From 170be4e2ad71a9a02e00f039829413f822e7e872 Mon Sep 17 00:00:00 2001 From: Kyle Huckins Date: Tue, 30 Jul 2019 19:00:14 +0000 Subject: [PATCH] lp1739277 OrgSelect Class Callback Holdings Implementation - Implement OrgSelectClassCallback in Angular Catalog Holdings UI Signed-off-by: Kyle Huckins Changes to be committed: modified: Open-ILS/src/eg2/src/app/staff/catalog/record/holdings.component.html modified: Open-ILS/src/eg2/src/app/staff/catalog/record/holdings.component.ts --- .../app/staff/catalog/record/holdings.component.html | 3 ++- .../app/staff/catalog/record/holdings.component.ts | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/Open-ILS/src/eg2/src/app/staff/catalog/record/holdings.component.html b/Open-ILS/src/eg2/src/app/staff/catalog/record/holdings.component.html index 3c09dded91..5e3ae6b59b 100644 --- a/Open-ILS/src/eg2/src/app/staff/catalog/record/holdings.component.html +++ b/Open-ILS/src/eg2/src/app/staff/catalog/record/holdings.component.html @@ -8,7 +8,8 @@
Holdings Maintenance
+ (onChange)="contextOrgChanged($event)" + [orgClassCallback]="orgClassCallback"> diff --git a/Open-ILS/src/eg2/src/app/staff/catalog/record/holdings.component.ts b/Open-ILS/src/eg2/src/app/staff/catalog/record/holdings.component.ts index 25e0894a0e..e9f6a19bdb 100644 --- a/Open-ILS/src/eg2/src/app/staff/catalog/record/holdings.component.ts +++ b/Open-ILS/src/eg2/src/app/staff/catalog/record/holdings.component.ts @@ -7,6 +7,7 @@ import {Pager} from '@eg/share/util/pager'; import {IdlObject, IdlService} from '@eg/core/idl.service'; import {StaffCatalogService} from '../catalog.service'; import {OrgService} from '@eg/core/org.service'; +import {NetService} from '@eg/core/net.service'; import {PcrudService} from '@eg/core/pcrud.service'; import {AuthService} from '@eg/core/auth.service'; import {GridDataSource} from '@eg/share/grid/grid'; @@ -131,6 +132,8 @@ export class HoldingsMaintenanceComponent implements OnInit { renderFromPrefs: boolean; rowClassCallback: (row: any) => string; + orgClassCallback: (orgId: number) => string; + marked_orgs: number[] = []; private _recId: number; @Input() set recordId(id: number) { @@ -152,6 +155,7 @@ export class HoldingsMaintenanceComponent implements OnInit { private org: OrgService, private idl: IdlService, private pcrud: PcrudService, + private net: NetService, private auth: AuthService, private staffCat: StaffCatalogService, private store: ServerStoreService, @@ -182,6 +186,11 @@ export class HoldingsMaintenanceComponent implements OnInit { } }; + this.orgClassCallback = (orgId: number): string => { + if (this.marked_orgs.includes(orgId)) { return 'font-weight-bold'; } + return ''; + } + this.gridTemplateContext = { toggleExpandRow: (row: HoldingsEntry) => { row.treeNode.expanded = !row.treeNode.expanded; @@ -231,6 +240,16 @@ export class HoldingsMaintenanceComponent implements OnInit { this.gridDataSource.getRows = (pager: Pager, sort: any[]) => { return this.fetchHoldings(pager); }; + + this.net.request( + 'open-ils.search', + 'open-ils.search.biblio.copy_counts.retrieve.staff', + this.recordId + ).toPromise().then(result => { + result.forEach(copy_count => { + this.marked_orgs.push(copy_count[0]); + }); + }); } contextOrgChanged(org: IdlObject) { -- 2.11.0