LP2003946 LI ID in Search jumps to item detail page
[evergreen-equinox.git] / Open-ILS / src / eg2 / src / app / staff / acq / search / lineitem-results.component.html
1 <eg-acq-search-form #acqSearchForm (searchSubmitted)="doSearch($event)" [initialSearchTerms]="initialSearchTerms"
2   i18n-searchTypeLabel searchTypeLabel="Line Item" runImmediatelySetting="eg.acq.search.lineitems.run_immediately"
3   defaultSearchSetting="eg.acq.search.default.lineitems"></eg-acq-search-form>
4
5 <eg-acq-export-attributes-dialog #exportAttributesDialog></eg-acq-export-attributes-dialog>
6 <eg-acq-claim-policy-dialog #claimPolicyDialog></eg-acq-claim-policy-dialog>
7 <eg-acq-cancel-dialog #cancelDialog></eg-acq-cancel-dialog>
8 <eg-acq-add-to-po-dialog #addToPoDialog></eg-acq-add-to-po-dialog>
9 <eg-acq-delete-lineitems-dialog #deleteLineitemsDialog></eg-acq-delete-lineitems-dialog>
10 <eg-acq-link-invoice-dialog #linkInvoiceDialog></eg-acq-link-invoice-dialog>
11 <eg-lineitem-alert-dialog #confirmAlertsDialog></eg-lineitem-alert-dialog>
12
13 <eg-string #claimPolicyAppliedString i18n-text text="Claim Policy Applied to Selected Line Item(s)"></eg-string>
14 <eg-string #lineItemsReceivedString i18n-text text="Line Item(s) Received"></eg-string>
15 <eg-string #lineItemsUnReceivedString i18n-text text="Line Item(s) Un-Received"></eg-string>
16 <eg-string #lineItemsCancelledString i18n-text text="Line Item(s) Canceled"></eg-string>
17 <eg-string #lineItemsDeletedString i18n-text text="Line Item(s) Deleted"></eg-string>
18 <eg-string #lineItemsUpdatedString i18n-text text="Line Item(s) Updated"></eg-string>
19 <eg-string #lineItemsAddedToPoString i18n-text text="Line Item(s) Added to Purchase Order"></eg-string>
20
21 <eg-alert-dialog #noActionableLIs i18n-dialogBody
22   dialogBody="None of the selected line items are suitable for the action.">
23 </eg-alert-dialog>
24
25 <eg-confirm-dialog #selectorReadyConfirmDialog
26   i18n-dialogTitle i18n-dialogBody
27   dialogTitle="Confirm Line Item Change"
28   dialogBody="Mark selected line item(s) as ready for selector?">
29 </eg-confirm-dialog>
30 <eg-confirm-dialog #orderReadyConfirmDialog
31   i18n-dialogTitle i18n-dialogBody
32   dialogTitle="Confirm Line Item Change"
33   dialogBody="Mark selected line item(s) as ready for order?">
34 </eg-confirm-dialog>
35
36 <ng-template #idTmpl let-lineitem="row">
37
38   <ng-container>
39     <a *ngIf="lineitem.purchase_order()" 
40       routerLink="/staff/acq/po/{{lineitem.purchase_order().id()}}/lineitem/{{lineitem.id()}}/items"
41       target="_blank">
42       {{lineitem.id()}}
43     </a>
44     <a *ngIf="lineitem.picklist() && !lineitem.purchase_order()" 
45       routerLink="/staff/acq/picklist/{{lineitem.picklist().id()}}"
46       fragment="{{lineitem.id()}}" target="_blank">
47       {{lineitem.id()}}
48    </a>
49   </ng-container>
50
51 </ng-template>
52
53 <ng-template #poTmpl let-lineitem="row">
54   <ng-container>
55     <a *ngIf="lineitem.purchase_order()" 
56       routerLink="/staff/acq/po/{{lineitem.purchase_order().id()}}"
57       fragment="{{lineitem.id()}}" target="_blank">
58       {{lineitem.purchase_order().name()}}
59     </a>
60   </ng-container>
61 </ng-template>
62
63 <ng-template #plTmpl let-lineitem="row">
64   <ng-container>
65     <a *ngIf="lineitem.picklist()"
66       routerLink="/staff/acq/picklist/{{lineitem.picklist().id()}}"
67       fragment="{{lineitem.id()}}" target="_blank">
68       {{lineitem.picklist().name()}}
69    </a>
70   </ng-container>
71 </ng-template>
72
73 <ng-template #liAttrTmpl let-lineitem="row" let-col="col">
74   <ng-container *ngFor="let lia of lineitem.attributes()">
75     <ng-container *ngIf="lia.attr_name() === col.path">
76       {{lia.attr_value()}}
77     </ng-container>
78   </ng-container>
79 </ng-template>
80
81 <ng-template #providerTmpl let-lineitem="row">
82   <a *ngIf="lineitem.provider()" routerLink="/staff/acq/provider/{{lineitem.provider().id()}}"
83      target="_blank">
84     {{lineitem.provider().code()}}
85   </a>
86 </ng-template>
87
88 <ng-template #liLinksTmpl let-lineitem="row">
89   <ul>
90     <li *ngIf="lineitem.eg_bib_id()">
91       <a routerLink="/staff/catalog/record/{{lineitem.eg_bib_id()}}"
92          target="_blank" i18n>Catalog</a></li>
93     <li>
94       <ng-container *ngIf="lineitem.purchase_order()">
95         <a routerLink="/staff/acq/po/{{lineitem.purchase_order().id()}}/lineitem/{{lineitem.id()}}/worksheet"
96           target="_blank" i18n>Worksheet</a>
97       </ng-container>
98     </li>
99
100     <li *ngIf="lineitem.purchase_order()">
101       <ng-container>
102         <a routerLink="/staff/acq/po/{{lineitem.purchase_order().id()}}"
103           target="_blank" i18n>Purchase Order</a>
104       </ng-container>
105     </li>
106     <li><a href="/eg/staff/acq/requests/lineitem/{{lineitem.id()}}"
107            target="_blank" i18n>Requests</a></li>
108     <li>
109       <a routerLink="/staff/acq/search/invoices" [queryParams]="{f: 'jub:id', val1: lineitem.id()}"
110         target="_blank" i18n>Invoices</a></li>
111     <li *ngIf="lineitem.queued_record()">
112       <a routerLink="/staff/cat/vandelay/queue/bib/{{lineitem.queued_record().queue()}}"
113         target="_blank" i18n>Queue</a></li>
114     <li *ngIf="lineitem.picklist()">
115       <ng-container>
116         <a routerLink="/staff/acq/picklist/{{lineitem.picklist().id()}}"
117           target="_blank" i18n>Selection List</a>
118       </ng-container>
119     </li>
120   </ul>
121 </ng-template>
122
123 <eg-grid #acqSearchLineitemsGrid
124   persistKey="acq.search.lineitems"
125   idlClass="jub" [dataSource]="gridSource"
126   ignoreFields="marc"
127   [stickyHeader]="true"
128   [filterable]="true"
129   [sortable]="true"
130   [cellTextGenerator]="cellTextGenerator"
131   (onRowActivate)="showRow($event)"
132   [showDeclaredFieldsOnly]="true">
133
134   <eg-grid-toolbar-action label="Mark Ready for Selector" i18n-label
135     (onClick)="markSelectorReady($event)" [disableOnRows]="noSelectedRows">
136   </eg-grid-toolbar-action>
137   <eg-grid-toolbar-action label="Mark Ready for Order" i18n-label
138     (onClick)="markOrderReady($event)" [disableOnRows]="noSelectedRows">
139   </eg-grid-toolbar-action>
140 <!-- TODO implement this when the SL interface is more fleshed out
141   <eg-grid-toolbar-action label="Move to Selection List" i18n-label
142     (onClick)="moveToSelectionList($event)" [disableOnRows]="noSelectedRows">
143   </eg-grid-toolbar-action>
144 -->
145   <eg-grid-toolbar-action label="Create Purchase Order from Selected Line Items" i18n-label
146     (onClick)="createPurchaseOrder($event)" [disableOnRows]="noSelectedRows">
147   </eg-grid-toolbar-action>
148   <eg-grid-toolbar-action label="Add Selected to Purchase Order" i18n-label
149     (onClick)="addSelectedToPurchaseOrder($event)" [disableOnRows]="noSelectedRows">
150   </eg-grid-toolbar-action>
151   <eg-grid-toolbar-action label="Apply Claim Policy" i18n-label
152     (onClick)="applyClaimPolicy($event)" [disableOnRows]="noSelectedRows">
153   </eg-grid-toolbar-action>
154   <eg-grid-toolbar-action label="Mark Selected Line Items as Received" i18n-label
155     (onClick)="markReceived($event)" [disableOnRows]="noSelectedRows">
156   </eg-grid-toolbar-action>
157   <eg-grid-toolbar-action label="Un-receive Selected Line Items" i18n-label
158     (onClick)="markUnReceived($event)" [disableOnRows]="noSelectedRows">
159   </eg-grid-toolbar-action>
160   <eg-grid-toolbar-action label="Create Invoice from Selected Line Items" i18n-label
161     (onClick)="createInvoiceFromSelected($event)" [disableOnRows]="noSelectedRows">
162   </eg-grid-toolbar-action>
163   <eg-grid-toolbar-action label="Link Selected Line Items to Invoice" i18n-label
164     (onClick)="linkInvoiceFromSelected($event)" [disableOnRows]="noSelectedRows">
165   </eg-grid-toolbar-action>
166   <eg-grid-toolbar-action label="Cancel Selected" i18n-label
167     (onClick)="cancelLineitems($event)" [disableOnRows]="noSelectedRows">
168   </eg-grid-toolbar-action>
169   <eg-grid-toolbar-action label="Delete Selected" i18n-label
170     (onClick)="deleteLineitems($event)" [disableOnRows]="noSelectedRows">
171   </eg-grid-toolbar-action>
172   <eg-grid-toolbar-action label="Export Single Attribute List" i18n-label
173     (onClick)="exportSingleAttributeList($event)" [disableOnRows]="noSelectedRows">
174   </eg-grid-toolbar-action>
175
176   <eg-grid-column path="id" [cellTemplate]="idTmpl" [disableTooltip]="true"></eg-grid-column>
177   <eg-grid-column i18n-label label="Title" path="title" [cellTemplate]="liAttrTmpl"></eg-grid-column>
178   <eg-grid-column i18n-label label="Author" path="author" [cellTemplate]="liAttrTmpl"></eg-grid-column>
179   <eg-grid-column path="provider" [cellTemplate]="providerTmpl"></eg-grid-column>
180   <eg-grid-column i18n-label label="Links" path="_links" [cellTemplate]="liLinksTmpl" [disableTooltip]="true" [filterable]="false" [sortable]="false"></eg-grid-column>
181   <eg-grid-column i18n-label label="Item Count" path="item_count"></eg-grid-column>
182   <eg-grid-column [asyncSupportsEmptyTermClick]="true" path="claim_policy" [sortable]="false"></eg-grid-column>
183   <eg-grid-column [asyncSupportsEmptyTermClick]="true" i18n-label label="Status" path="state" [disableTooltip]="true"></eg-grid-column>
184   <eg-grid-column path="estimated_unit_price" [disableTooltip]="true"></eg-grid-column>
185   <eg-grid-column i18n-label label="PO ID" path="purchase_order.id" [disableTooltip]="true"></eg-grid-column>
186   <eg-grid-column i18n-label label="PO Name" path="purchase_order" [cellTemplate]="poTmpl" [disableTooltip]="true" [hidden]="true"></eg-grid-column>
187   <eg-grid-column path="picklist" [cellTemplate]="plTmpl" [disableTooltip]="true" [hidden]="true"></eg-grid-column>
188   <eg-grid-column [asyncSupportsEmptyTermClick]="true" path="cancel_reason" [hidden]="true"></eg-grid-column>
189   <eg-grid-column path="create_time" [datePlusTime]="true"></eg-grid-column>
190   <eg-grid-column path="edit_time" [datePlusTime]="true"></eg-grid-column>
191 </eg-grid>