<td>
<span>
<select id="acq-lit-li-actions-selector">
+ <!-- mask meanings:
+ pl: selection list
+ po: pending purchase order
+ ao: activated purchase order
+ gs: general search
+ vp: view/place orders
+ fs: MARC federated search
+
+ * for all, otherwise combine with |
+ -->
<option mask='*' value='_'>[% l('--Actions--') %]</option>
- <option mask='sr' value='save_picklist'>[% l('Save Items To Selection List') %]</option>
- <option mask='pl' value='selector_ready'>[% l('Mark Ready for Selector') %]</option>
- <option mask='pl' value='order_ready'>[% l('Mark Ready for Order') %]</option>
- <option mask='*' value='delete_selected'>[% l('Delete Selected Items') %]</option>
- <option mask='*' value='add_brief_record'>[% l('Add Brief Record') %]</option>
- <option mask='*' value='export_attr_list'>[% l('Export Single Attribute List') %]</option>
- <option mask='po' value='' disabled='disabled'>[% l('----PO----') %]</option>
- <option mask='sr|pl' value='create_order'>[% l('Create Purchase Order') %]</option>
- <option mask='sr|pl' value='add_to_order'>[% l('Add to Purchase Order') %]</option>
- <option mask='po' value='print_po'>[% l('Print Purchase Order') %]</option>
- <option mask='po' value='po_history'>[% l('View PO History') %]</option>
+ <option mask='pl|gs|vp|fs' value='save_picklist'>[% l('Save Items To Selection List') %]</option>
+ <option mask='pl|gs|vp' value='selector_ready'>[% l('Mark Ready for Selector') %]</option>
+ <option mask='pl|gs|vp' value='order_ready'>[% l('Mark Ready for Order') %]</option>
+ <option mask='pl|po|gs|vp' value='delete_selected'>[% l('Delete Selected Items') %]</option>
+ <option mask='pl|po' value='add_brief_record'>[% l('Add Brief Record') %]</option>
+ <option mask='pl|po|ao|gs' value='export_attr_list'>[% l('Export Single Attribute List') %]</option>
+ <option mask='*' value='' disabled='disabled'>[% l('----PO----') %]</option>
+ <option mask='pl|gs|vp|fs' value='create_order'>[% l('Create Purchase Order') %]</option>
+ <option mask='pl|gs|vp|fs' value='add_to_order'>[% l('Add to Purchase Order') %]</option>
+ <option mask='po|ao' value='print_po'>[% l('Print Purchase Order') %]</option>
+ <option mask='po|ao' value='po_history'>[% l('View PO History') %]</option>
<option mask='po' value='create_assets'>[% l('Load Bibs and Items') %]</option>
- <!-- <option mask='*' value='batch_apply_funds'>[% l('Apply Funds to Selected Items') %]</option> XXX moving to batch updater -->
- <option mask='po' value='cancel_lineitems'>[% l('Cancel Selected Line Items') %]</option>
- <option mask='po' value='apply_claim_policy'>[% l('Apply Claim Policy to Selected Line Items') %]</option><!-- can the functionality desired here be covered by the next thing? -->
- <option mask='po' value='change_claim_policy'>[% l('Change Claim Policy for Selected Line Items') %]</option>
- <option mask='po' value='receive_lineitems' id='receive_lineitems' disabled='disabled'>[% l('Mark Selected Line Items as Received') %]</option>
- <option mask='po' value='rollback_receive_lineitems' id='rollback_receive_lineitems' disabled='disabled'>[% l('Un-Receive Selected Line Items') %]</option>
- <option mask='po' value='batch_create_invoice'>[% l('Create Invoice From Selected Line Items') %]</option>
- <option mask='po' value='batch_link_invoice'>[% l('Link Selected Line Items to Invoice') %]</option>
+ <!-- <option mask='' value='batch_apply_funds'>[% l('Apply Funds to Selected Items') %]</option> XXX moving to batch updater -->
+ <option mask='ao|gs|vp' value='cancel_lineitems'>[% l('Cancel Selected Line Items') %]</option>
+ <option mask='po|ao|gs|vp' value='apply_claim_policy'>[% l('Apply Claim Policy to Selected Line Items') %]</option><!-- can the functionality desired here be covered by the next thing? -->
+ <option mask='po|ao|gs|vp' value='change_claim_policy'>[% l('Change Claim Policy for Selected Line Items') %]</option>
+ <option mask='ao|gs|vp' value='receive_lineitems' id='receive_lineitems' disabled='disabled'>[% l('Mark Selected Line Items as Received') %]</option>
+ <option mask='ao|gs|vp' value='rollback_receive_lineitems' id='rollback_receive_lineitems' disabled='disabled'>[% l('Un-Receive Selected Line Items') %]</option>
+ <option mask='ao|gs|vp' value='batch_create_invoice'>[% l('Create Invoice From Selected Line Items') %]</option>
+ <option mask='ao|gs|vp' value='batch_link_invoice'>[% l('Link Selected Line Items to Invoice') %]</option>
</select>
<span id="acq-lit-export-attr-holder" class="hidden">
<input dojoType="dijit.form.FilteringSelect" id="acq-lit-export-attr" jsId="acqLitExportAttrSelector" labelAttr="description" searchAttr="description" />
}
};
+ this.enableActionsDropdownOptions = function(mask) {
+ /* 'mask' is probably a minomer the way I'm using it, but it needs to
+ * be one of pl,po,ao,gs,vp, or fs. */
+ dojo.query("option", "acq-lit-li-actions-selector").forEach(
+ function(option) {
+ var opt_mask = dojo.attr(option, "mask");
+
+ /* For each <option> element, an empty or non-existent mask
+ * attribute, a mask attribute of "*", or a mask attribute that
+ * matches this method's argument should result in that
+ * option's being enabled. */
+ dojo.attr(
+ option, "disabled", !(
+ !opt_mask ||
+ opt_mask == "*" ||
+ opt_mask.search(mask) != -1
+ )
+ );
+ }
+ );
+ };
+
/*
* Ensures this.focusLineitem is in view and causes a brief
* border around the lineitem to come to life then fade.