LP#1942220: start defining actions on LI search results page
authorGalen Charlton <gmc@equinoxOLI.org>
Tue, 14 Dec 2021 15:23:38 +0000 (10:23 -0500)
committerGalen Charlton <gmc@equinoxOLI.org>
Tue, 14 Dec 2021 15:23:38 +0000 (10:23 -0500)
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Open-ILS/src/eg2/src/app/staff/acq/search/lineitem-results.component.html
Open-ILS/src/eg2/src/app/staff/acq/search/lineitem-results.component.ts

index f902df8..f980421 100644 (file)
   (onRowActivate)="showRow($event)"
   [showDeclaredFieldsOnly]="true">
 
+  <eg-grid-toolbar-action label="Mark Ready for Selector" i18n-label
+    (onClick)="markSelectorReady($event)" [disableOnRows]="noSelectedRows">
+  </eg-grid-toolbar-action>
+  <eg-grid-toolbar-action label="Mark Ready for Order" i18n-label
+    (onClick)="markOrderReady($event)" [disableOnRows]="noSelectedRows">
+  </eg-grid-toolbar-action>
+  <eg-grid-toolbar-action label="Move to Selection List" i18n-label
+    (onClick)="moveToSelectionList($event)" [disableOnRows]="noSelectedRows">
+  </eg-grid-toolbar-action>
+  <eg-grid-toolbar-action label="Create Purchase Order from Selected Line Items" i18n-label
+    (onClick)="createPurchaseOrder($event)" [disableOnRows]="noSelectedRows">
+  </eg-grid-toolbar-action>
+  <eg-grid-toolbar-action label="Add Selected to Purchase Order" i18n-label
+    (onClick)="addSelectedToPurchaseOrder($event)" [disableOnRows]="noSelectedRows">
+  </eg-grid-toolbar-action>
+  <eg-grid-toolbar-action label="Apply Claim Policy" i18n-label
+    (onClick)="applyClaimPolicy($event)" [disableOnRows]="noSelectedRows">
+  </eg-grid-toolbar-action>
+  <eg-grid-toolbar-action label="Mark Selected Line Items as Received" i18n-label
+    (onClick)="markAsReceived($event)" [disableOnRows]="noSelectedRows">
+  </eg-grid-toolbar-action>
+  <eg-grid-toolbar-action label="Un-receive Selected Line Items" i18n-label
+    (onClick)="unReceive($event)" [disableOnRows]="noSelectedRows">
+  </eg-grid-toolbar-action>
+  <eg-grid-toolbar-action label="Create Invoice from Selected Line Items" i18n-label
+    (onClick)="createInvoice($event)" [disableOnRows]="noSelectedRows">
+  </eg-grid-toolbar-action>
+  <eg-grid-toolbar-action label="Link Selected Line Items to Invoice" i18n-label
+    (onClick)="linkToInvoice($event)" [disableOnRows]="noSelectedRows">
+  </eg-grid-toolbar-action>
+  <eg-grid-toolbar-action label="Cancel Selected" i18n-label
+    (onClick)="cancelLineitems($event)" [disableOnRows]="noSelectedRows">
+  </eg-grid-toolbar-action>
+  <eg-grid-toolbar-action label="Delete Selected" i18n-label
+    (onClick)="deleteLineitems($event)" [disableOnRows]="noSelectedRows">
+  </eg-grid-toolbar-action>
+  <eg-grid-toolbar-action label="Export Single Attribute List" i18n-label
+    (onClick)="exportSingleAttributeList($event)" [disableOnRows]="noSelectedRows">
+  </eg-grid-toolbar-action>
+
   <eg-grid-column path="id" [cellTemplate]="idTmpl" [disableTooltip]="true"></eg-grid-column>
   <eg-grid-column i18n-label label="Title" path="title" [cellTemplate]="liAttrTmpl"></eg-grid-column>
   <eg-grid-column i18n-label label="Author" path="author" [cellTemplate]="liAttrTmpl"></eg-grid-column>
index 4e91b8e..bf5f983 100644 (file)
@@ -23,6 +23,8 @@ export class LineitemResultsComponent implements OnInit {
     @ViewChild('acqSearchForm', { static: true}) acqSearchForm: AcqSearchFormComponent;
     @ViewChild('acqSearchLineitemsGrid', { static: true }) lineitemResultsGrid: GridComponent;
 
+    noSelectedRows: (rows: IdlObject[]) => boolean;
+
     cellTextGenerator: GridCellTextGenerator;
 
     constructor(
@@ -35,6 +37,7 @@ export class LineitemResultsComponent implements OnInit {
 
     ngOnInit() {
         this.gridSource = this.acqSearch.getAcqSearchDataSource('lineitem');
+        this.noSelectedRows = (rows: IdlObject[]) => (rows.length === 0);
         this.cellTextGenerator = {
             id: row => row.id(),
             title: row => {