get_contentWindow(summary).xulG = { 'docid' : g.doc_id };
/***********************************************************************************************************/
+ /* Fetch the monographic parts for this bib */
+
+ dojo.require('openils.PermaCrud');
+ var pcrud = new openils.PermaCrud({'authtoken':ses()});
+ g.parts = pcrud.search('bmp',{'record':g.doc_id},{'order_by': { 'bmp' : 'label_sortkey' } });
+
+ /***********************************************************************************************************/
/* For the call number drop down */
if (g.existing_copies.length > 0 || !g.copy_shortcut) {
x.setAttribute('value', $("catStrings").getString('staff.cat.volume_copy_creator.render_callnumber_copy_count_entry.call_nums')); x.setAttribute('style','font-weight: bold');
x = document.createElement('label'); r.appendChild(x);
x.setAttribute('value',$("catStrings").getString('staff.cat.volume_copy_creator.render_callnumber_copy_count_entry.num_of_copies')); x.setAttribute('style','font-weight: bold');
- x.setAttribute('size','3'); x.setAttribute('cols','3');
+ x = document.createElement('label'); r.appendChild(x);
+ x.setAttribute('value',$("catStrings").getString('staff.cat.volume_copy_creator.render_callnumber_copy_count_entry.barcodes_and_parts')); x.setAttribute('style','font-weight: bold');
function handle_change(call_number_column_textbox,number_of_copies_column_textbox,barcode_column_box) {
if (call_number_column_textbox.value == '') return;
return grid;
}
+g.render_part_menu = function() {
+ var menulist = document.createElement('menulist');
+ menulist.setAttribute('editable','true');
+ var menupopup = document.createElement('menupopup');
+ menulist.appendChild(menupopup);
+ for (var i = 0; i < g.parts.length; i++) {
+ var menuitem = document.createElement('menuitem');
+ menuitem.setAttribute('label',g.parts[i].label());
+ menupopup.appendChild(menuitem);
+ }
+ return menulist;
+}
+
g.render_barcode_entry = function(node,callnumber,count,ou_id) {
try {
function ready_to_create(ev) {
JSAN.use('util.barcode');
for (var i = 0; i < count; i++) {
- var tb; var set_handlers = false;
+ var tb_part_box;
+ var tb;
+ var part_menu;
+ var set_handlers = false;
if (typeof node.childNodes[i] == 'undefined') {
- tb = document.createElement('textbox'); node.appendChild(tb);
+ tb_part_box = document.createElement('hbox');
+ node.appendChild(tb_part_box);
+ tb = document.createElement('textbox');
+ tb_part_box.appendChild(tb);
+ part_menu = g.render_part_menu();
+ tb_part_box.appendChild(part_menu);
set_handlers = true;
} else {
- tb = node.childNodes[i];
+ tb_part_box = node.childNodes[i];
+ tb = tb_part_box.firstChild;
+ part_menu = tb_part_box.lastChild;
}
tb.setAttribute('ou_id',ou_id);
tb.setAttribute('callnumber',callnumber);
tb.setAttribute('rel_vert_pos','4');
+ part_menu.setAttribute('rel_vert_pos','5');
if (!tb.value && g.org_label_existing_copy_map[ ou_id ]) {
tb.value = g.org_label_existing_copy_map[ ou_id ][ callnumber ][i].barcode();
tb.setAttribute('acp_id', g.org_label_existing_copy_map[ ou_id ][ callnumber ][i].id());
tb,
function() { ready_to_create({'target':tb}); setTimeout(function(){util.widgets.vertical_tab(tb);},0); }
);
+ util.widgets.apply_vertical_tab_on_enter_handler(
+ part_menu,
+ function() { setTimeout(function(){util.widgets.vertical_tab(part_menu);},0); }
+ );
tb.addEventListener('change', function(ev) {
var barcode = String( ev.target.value ).replace(/\s/g,'');
if (barcode != ev.target.value) ev.target.value = barcode;