--- /dev/null
+var list; var error; var net; var pcrud; var rows;
+
+var commonStrings;
+var catStrings;
+
+//// parent interfaces may call this
+function default_focus() { $('scanbox').focus(); }
+////
+
+function my_init() {
+ try {
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+
+ commonStrings = $('commonStrings');
+ patronStrings = $('patronStrings');
+
+ if (typeof JSAN == 'undefined') {
+ throw(
+ commonStrings.getString('common.jsan.missing')
+ );
+ }
+
+ JSAN.errorLevel = "die"; // none, warn, or die
+ JSAN.addRepository('..');
+
+ JSAN.use('util.error'); error = new util.error();
+ JSAN.use('util.list');
+ JSAN.use('util.network'); net = new util.network();
+ dojo.require('openils.PermaCrud');
+ pcrud = new openils.PermaCrud( { authtoken :ses() });
+
+ init_list();
+ $('list_actions').appendChild( list.render_list_actions() );
+ list.set_list_actions();
+ $('submit').addEventListener('command', function() { handle_submit(); }, false);
+ $('scanbox').addEventListener('keypress', handle_keypress, false);
+ default_focus();
+
+ if (typeof window.xulG == 'object' && typeof window.xulG.set_tab_name == 'function') {
+ try { window.xulG.set_tab_name('Add Multi-Home Items: Bib ' + xul_param('docid')); } catch(E) { alert(E); }
+ }
+
+ } catch(E) {
+ alert('Error in add_multi_home_items.js, my_init(): ' + E);
+ }
+}
+
+function init_list() {
+ try {
+ list = new util.list( 'list' );
+ list.init(
+ {
+ 'columns' : [
+ {
+ 'id' : 'result',
+ 'label' : 'Result',
+ 'flex' : 1,
+ 'primary' : false,
+ 'hidden' : false,
+ 'editable' : false, 'render' : function(my) { return my.result; }
+ }
+ ].concat(
+ list.fm_columns('acp', {
+ '*' : { 'expanded_label' : false, 'hidden' : true },
+ 'acp_barcode' : { 'hidden' : false },
+ 'acp_opac_visible' : { 'hidden' : false },
+ 'acp_holdable' : { 'hidden' : false }
+ })
+ ).concat(
+ list.fm_columns('mvr', {
+ '*' : { 'expanded_label' : false, 'hidden' : true },
+ 'mvr_title' : { 'hidden' : false },
+ 'mvr_author' : { 'hidden' : false },
+ 'mvr_isbn' : { 'hidden' : false },
+ 'mvr_tcn' : { 'hidden' : false },
+ 'mvr_id' : { 'hidden' : false }
+ })
+ )
+ }
+ );
+ } catch(E) {
+ alert('Error in add_multi_home_items.js, init_list(): ' + E);
+ }
+}
+
+function handle_keypress(ev) {
+ try {
+ if (ev.keyCode && ev.keyCode == 13) {
+ handle_submit();
+ }
+ } catch(E) {
+ alert('Error in add_multi_home_items.js, handle_keypress(): ' + E);
+ }
+}
+
+function handle_submit() {
+ try {
+ var barcode = $('scanbox').value;
+ $('scanbox').value = '';
+ default_focus();
+
+ var placeholder_acp = new acp();
+ placeholder_acp.barcode(barcode);
+ var row_params = {
+ 'row' : {
+ 'my' : {
+ 'acp' : placeholder_acp
+ }
+ }
+ };
+
+ var row_params = list.append(row_params);
+
+ net.simple_request(
+ 'FM_ACP_DETAILS_VIA_BARCODE.authoritative',
+ [ ses(), barcode ],
+ function(req) {
+ try {
+ var robj = req.getResultObject();
+ if (typeof robj.ilsevent != 'undefined') {
+ row_params.row.my.result = robj.textcode;
+ } else {
+ row_params.row.my.acp = robj.copy;
+ row_params.row.my.mvr = robj.mvr;
+ }
+ list.refresh_row( row_params );
+ } catch(E) {
+ alert('Error in add_multi_home_items.js, handle_submit, acp details callback: ' + E);
+ }
+ }
+ );
+
+ } catch(E) {
+ alert('Error in add_multi_home_items.js, handle_submit(): ' + E);
+ }
+}
+
--- /dev/null
+<?xml version="1.0"?>
+<!-- Application: Evergreen Staff Client -->
+<!-- Screen: Add Multi-Home Items to specific Bib -->
+
+<!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
+<!-- STYLESHEETS -->
+<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
+<?xml-stylesheet href="/xul/server/skin/global.css" type="text/css"?>
+
+<!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
+<!-- LOCALIZATION -->
+<!DOCTYPE window PUBLIC "" ""[
+ <!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
+]>
+
+<!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
+<!-- OVERLAYS -->
+<?xul-overlay href="/xul/server/OpenILS/util_overlay.xul"?>
+
+<window id="main_win"
+ onload="try { my_init(); font_helper(); persist_helper(); } catch(E) { alert(E); }"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+ <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
+ <!-- BEHAVIOR -->
+ <script type="text/javascript">
+ var myPackageDir = 'open_ils_staff_client'; var IAMXUL = true;
+ </script>
+ <scripts id="openils_util_scripts"/>
+
+ <script type="text/javascript" src="/xul/server/main/JSAN.js"/>
+ <script type="text/javascript" src="add_multi_home_items.js"/>
+
+ <vbox flex="1" class="my_overflow">
+ <hbox>
+ <label control="scanbox" value="Barcode" accesskey="B"/>
+ <textbox id="scanbox"/>
+ <button id="submit" label="Submit" accesskey="S"/>
+ </hbox>
+ <tree id="list" flex="1" enableColumnDrag="true" />
+ <hbox id="list_actions" />
+ </vbox>
+
+</window>
+