From 8fa19358a9a810e96518c8888df59a6839bd005a Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Wed, 20 Mar 2019 12:49:56 -0400 Subject: [PATCH] lpxxx Angular holdings maintenance wip Signed-off-by: Bill Erickson --- .../staff/catalog/record/holdings.component.css | 4 ++- .../staff/catalog/record/holdings.component.html | 24 ++++++++----- .../app/staff/catalog/record/holdings.component.ts | 41 +++++++++++++++++++--- 3 files changed, 55 insertions(+), 14 deletions(-) diff --git a/Open-ILS/src/eg2/src/app/staff/catalog/record/holdings.component.css b/Open-ILS/src/eg2/src/app/staff/catalog/record/holdings.component.css index 8c271a8e1c..61b04cd3e2 100644 --- a/Open-ILS/src/eg2/src/app/staff/catalog/record/holdings.component.css +++ b/Open-ILS/src/eg2/src/app/staff/catalog/record/holdings.component.css @@ -36,4 +36,6 @@ See https://v2.angular.io/docs/ts/latest/guide/component-styles.html :host /deep/ .holdings-org-row-3 { color: #004085; background-color: rgb(23,162,184,0.4); -} \ No newline at end of file +} + +/* Add additional classes for more deeply nested org unit hierarchies */ \ No newline at end of file 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 462dd1e741..f3d1be8685 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 @@ -1,4 +1,5 @@ +
@@ -14,6 +15,7 @@
+
@@ -33,13 +35,12 @@
- + + - - Yes - - No + + @@ -53,7 +54,7 @@ [rowClassCallback]="rowClassCallback" [sortable]="false" persistKey="cat.holdings"> - + @@ -68,7 +69,7 @@ #emptyLibsCheckbox (onChange)="toggleShowEmptyLibs($event)"> - + + + + + @@ -131,7 +139,7 @@ - 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 06171734b3..a5f63ac88f 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 @@ -3,14 +3,13 @@ import {Observable, Observer, of} from 'rxjs'; import {map} from 'rxjs/operators'; import {Pager} from '@eg/share/util/pager'; import {IdlObject} from '@eg/core/idl.service'; -import {NetService} from '@eg/core/net.service'; import {StaffCatalogService} from '../catalog.service'; import {OrgService} from '@eg/core/org.service'; -import {AuthService} from '@eg/core/auth.service'; import {PcrudService} from '@eg/core/pcrud.service'; import {GridDataSource} from '@eg/share/grid/grid'; import {GridComponent} from '@eg/share/grid/grid.component'; import {GridToolbarCheckboxComponent} from '@eg/share/grid/grid-toolbar-checkbox.component'; +import {StoreService} from '@eg/core/store.service'; import {ServerStoreService} from '@eg/core/server-store.service'; import {MarkDamagedDialogComponent } from '@eg/staff/share/holdings/mark-damaged-dialog.component'; @@ -119,12 +118,11 @@ export class HoldingsMaintenanceComponent implements OnInit { contextOrg: IdlObject; constructor( - private net: NetService, private org: OrgService, - private auth: AuthService, private pcrud: PcrudService, private staffCat: StaffCatalogService, - private store: ServerStoreService + private store: ServerStoreService, + private localStore: StoreService ) { // Set some sane defaults before settings are loaded. this.gridDataSource = new GridDataSource(); @@ -598,6 +596,39 @@ export class HoldingsMaintenanceComponent implements OnInit { ); } } + + markLibCnForTransfer(rows: HoldingsEntry[]) { + if (rows.length === 0) { + return; + } + + // Action may only apply to a single org or volume row. + const node = rows[0].treeNode; + if (node.nodeType === 'copy') { + return; + } + + let orgId; + + if (node.nodeType === 'org') { + orgId = node.target.id(); + + // Clear volume target when performed on an org unit row + this.localStore.removeLocalItem('eg.cat.transfer_target_vol'); + + } else if (node.nodeType === 'volume') { + + // All volume nodes are children of org nodes. + orgId = node.parentNode.target.id(); + + // Add volume target when performed on a volume row. + this.localStore.setLocalItem( + 'eg.cat.transfer_target_vol', node.target.id()) + } + + this.localStore.setLocalItem('eg.cat.transfer_target_record', this.recordId); + this.localStore.setLocalItem('eg.cat.transfer_target_lib', orgId); + } } -- 2.11.0