LPXXX Angular Volcopy
authorBill Erickson <berickxx@gmail.com>
Fri, 3 Jul 2020 18:05:41 +0000 (14:05 -0400)
committerBill Erickson <berickxx@gmail.com>
Fri, 3 Jul 2020 18:05:41 +0000 (14:05 -0400)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Open-ILS/src/eg2/src/app/staff/cat/volcopy/copy-attrs.component.html
Open-ILS/src/eg2/src/app/staff/cat/volcopy/vol-edit.component.html
Open-ILS/src/eg2/src/app/staff/cat/volcopy/volcopy.service.ts
Open-ILS/src/eg2/src/app/staff/share/holdings/batch-item-attr.component.html

index d4e953a..1fcadbf 100644 (file)
         <eg-org-select 
           domId="circ_lib-input"
           (onChange)="values['circ_lib'] = $event ? $event.id() : null"
+          [hideOrgs]="volcopy.hideVolOrgs"
           [limitPerms]="['UPDATE_COPY']">
         </eg-org-select>
       </ng-template>
         <eg-org-select 
           domId="owning_lib-input"
           (onChange)="values['owning_lib'] = $event ? $event.id() : null"
+          [hideOrgs]="volcopy.hideVolOrgs"
           [limitPerms]="['UPDATE_COPY']">
         </eg-org-select>
       </ng-template>
index 5f4440e..a21ac81 100644 (file)
@@ -76,7 +76,7 @@
     <div><label class="font-weight-bold" i18n>Checkdigit</label></div>
     <div class="form-check form-check-inline">
       <input class="form-check-input" type="checkbox" 
-        id="use-checkdigit" [(ngModel)]="useCheckdigit">
+        id="use-checkdigit" [(ngModel)]="useCheckdigit"/>
       <label class="form-check-label" for="use-checkdigit" i18n>
         Use Checkdigit
       </label>
 
 <hr/>
 
-<div class="form-inline">
-  <eg-org-select #newVolOrg [applyDefault]="true">
-  </eg-org-select>
-  <button class="btn btn-outline-dark ml-2" 
-    (click)="addVol(newVolOrg.selectedOrg())" i18n>
-    Add Call Number
-  </button>
+<div class="row d-flex">
+
+  <div class="p-1" [ngStyle]="{flex: flexSpan(1, 2)}">
+    <eg-org-select #newVolOrg [applyDefault]="true" 
+      [limitPerms]="['CREATE_VOLUME']" [hideOrgs]="volcopy.hideVolOrgs">
+    </eg-org-select>
+  </div>
+
+  <div class="p-1" [ngStyle]="{flex: flexSpan(3, 4)}">
+    <button class="btn btn-outline-dark ml-2" 
+      (click)="addVol(newVolOrg.selectedOrg())" i18n>
+      Add Call Number
+    </button>
+  </div>
+
+  <div class="p-1" [ngStyle]="{flex: flexAt(5)}"></div>
+  <div class="p-1" [ngStyle]="{flex: flexAt(6)}"></div>
+  <div class="p-1" [ngStyle]="{flex: flexAt(7)}"></div>
+
+  <div class="p-1 pl-3" [ngStyle]="{flex: flexAt(8)}">
+    <button class="btn btn-sm btn-outline-dark mr-2"
+      (click)="generateBarcodes()" i18n>Generate Barcodes</button>
+  </div>
+
+  <div class="p-1" [ngStyle]="{flex: flexSpan(9, 10)}">
+    <div class="form-check form-check-inline mr-2">
+      <input class="form-check-input" type="checkbox" 
+        id="use-checkdigit-2" [(ngModel)]="useCheckdigit"/>
+      <label class="form-check-label" for="use-checkdigit-2" i18n>
+        Use Checkdigit
+      </label>
+    </div>
+  </div>
 </div>
   
index 44dddfd..13b8020 100644 (file)
@@ -47,6 +47,8 @@ export class VolCopyService {
     commonData: {[key: string]: IdlObject[]} = {};
     magicCopyStats: number[] = [];
 
+    hideVolOrgs: number[] = [];
+
     constructor(
         private evt: EventService,
         private net: NetService,
@@ -67,6 +69,9 @@ export class VolCopyService {
 
         this.localOrgs = this.org.fullPath(this.auth.user().ws_ou(), true);
 
+        this.hideVolOrgs = this.org.list()
+            .filter(o => !this.org.canHaveVolumes(o)).map(o => o.id());
+
         return this.net.request(
             'open-ils.cat', 'open-ils.cat.volcopy.data', this.auth.token()
         ).pipe(tap(dataset => {
index e27cc80..e126ca9 100644 (file)
@@ -18,7 +18,7 @@
     <div class="d-flex" 
       *ngFor="let count of labelCounts | keyvalue; let idx = index">
       <ng-container *ngIf="!expanded && idx === defaultDisplayCount">
-        <span i18n>...</span>
+        <span class="text-info" i18n>...</span>
       </ng-container>
       <ng-container *ngIf="expanded || idx < defaultDisplayCount">
         <div class="flex-1">