From 32e260d45b2f1daba7d006c809c157ff0206ed90 Mon Sep 17 00:00:00 2001 From: phasefx Date: Wed, 20 Jul 2005 16:24:52 +0000 Subject: [PATCH] hold capture interface git-svn-id: svn://svn.open-ils.org/ILS/trunk@1310 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Evergreen/staff_client/Makefile | 3 + .../content/evergreen/Open-ILS/OpenILS.js | 2 + .../Open-ILS/OpenILS_scripts_overlay.xul | 2 + .../chrome/content/evergreen/circ/checkin.js | 3 +- .../content/evergreen/circ/circ_utils.js | 19 +-- .../content/evergreen/circ/hold_capture.js | 149 ++++++++++++++++++ .../content/evergreen/circ/hold_capture.xul | 46 ++++++ .../evergreen/circ/hold_capture_items.js | 64 ++++++++ .../evergreen/circ/hold_capture_overlay.xul | 76 +++++++++ .../main/app_shell_menus_overlay.xul | 2 +- .../evergreen/main/app_shell_overlay.xul | 3 + .../chrome/content/evergreen/util/error.js | 3 + .../content/evergreen/util/spawn_win.js | 5 + .../locale/en-US/evergreen/OpenILS.properties | 1 + .../locale/en-US/evergreen/app_shell.dtd | 1 + .../chrome/locale/en-US/evergreen/checkin.dtd | 4 +- .../locale/en-US/evergreen/hold_capture.dtd | 20 +++ .../locale/en-US/evergreen/patron_display.dtd | 2 +- .../chrome/skin/evergreen/hold_capture.css | 3 + 19 files changed, 394 insertions(+), 14 deletions(-) create mode 100755 Evergreen/staff_client/chrome/content/evergreen/circ/hold_capture.js create mode 100755 Evergreen/staff_client/chrome/content/evergreen/circ/hold_capture.xul create mode 100644 Evergreen/staff_client/chrome/content/evergreen/circ/hold_capture_items.js create mode 100755 Evergreen/staff_client/chrome/content/evergreen/circ/hold_capture_overlay.xul create mode 100644 Evergreen/staff_client/chrome/locale/en-US/evergreen/hold_capture.dtd create mode 100644 Evergreen/staff_client/chrome/skin/evergreen/hold_capture.css diff --git a/Evergreen/staff_client/Makefile b/Evergreen/staff_client/Makefile index c9648ee838..ab177f5b80 100644 --- a/Evergreen/staff_client/Makefile +++ b/Evergreen/staff_client/Makefile @@ -53,6 +53,8 @@ patron: circ: (cat chrome/content/evergreen/main/paged_tree_overlay.xul | sed s/paged_tree/checkin_items/g | sed s/PagedTree/CheckinItems/g > chrome/content/evergreen/circ/checkin_items_overlay.xul ) (cp chrome/locale/en-US/evergreen/paged_tree.dtd chrome/locale/en-US/evergreen/checkin_items.dtd) + (cat chrome/content/evergreen/main/paged_tree_overlay.xul | sed s/paged_tree/hold_capture_items/g | sed s/PagedTree/HoldCaptureItems/g > chrome/content/evergreen/circ/hold_capture_items_overlay.xul ) + (cp chrome/locale/en-US/evergreen/paged_tree.dtd chrome/locale/en-US/evergreen/hold_capture_items.dtd) evergreen.xpi: evergreen.jar @echo @@ -74,6 +76,7 @@ clean: rm -f chrome/content/evergreen/patron/patron_checkout_items_overlay.xul chrome/locale/en-US/evergreen/patron_checkout_items.dtd rm -f chrome/content/evergreen/patron/patron_holds_overlay.xul chrome/locale/en-US/evergreen/patron_holds.dtd rm -f chrome/content/evergreen/circ/checkin_items_overlay.xul chrome/locale/en-US/evergreen/checkin_items.dtd + rm -f chrome/content/evergreen/circ/hold_capture_items_overlay.xul chrome/locale/en-US/evergreen/hold_capture_items.dtd rm -f chrome/content/evergreen/conf/client_config.xml rm -f chrome/content/evergreen/util/fieldmapper.js rm -f chrome/content/evergreen/util/OrgTree.js diff --git a/Evergreen/staff_client/chrome/content/evergreen/Open-ILS/OpenILS.js b/Evergreen/staff_client/chrome/content/evergreen/Open-ILS/OpenILS.js index 6adb8c1bc3..2f4a13c072 100644 --- a/Evergreen/staff_client/chrome/content/evergreen/Open-ILS/OpenILS.js +++ b/Evergreen/staff_client/chrome/content/evergreen/Open-ILS/OpenILS.js @@ -10,6 +10,7 @@ function OpenILS_init(params) { case 'PatronSearch' : patron_search_init(params); break; case 'PatronDisplay' : patron_display_init(params); break; case 'Checkin' : checkin_init(params); break; + case 'HoldCapture' : hold_capture_init(params); break; } } catch(E) { sdump('D_ERROR',js2JSON(E)+'\n'); } @@ -36,6 +37,7 @@ function OpenILS_exit(params) { case 'PatronSearch' : patron_search_exit(params); break; case 'PatronDisplay' : patron_display_exit(params); break; case 'Checkin' : checkin_exit(params); break; + case 'HoldCapture' : hold_capture_exit(params); break; } } catch(E) { sdump('D_ERROR',js2JSON(E)+'\n'); } diff --git a/Evergreen/staff_client/chrome/content/evergreen/Open-ILS/OpenILS_scripts_overlay.xul b/Evergreen/staff_client/chrome/content/evergreen/Open-ILS/OpenILS_scripts_overlay.xul index 1d74811307..72cbf393eb 100644 --- a/Evergreen/staff_client/chrome/content/evergreen/Open-ILS/OpenILS_scripts_overlay.xul +++ b/Evergreen/staff_client/chrome/content/evergreen/Open-ILS/OpenILS_scripts_overlay.xul @@ -24,6 +24,8 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/Evergreen/staff_client/chrome/content/evergreen/circ/hold_capture_items.js b/Evergreen/staff_client/chrome/content/evergreen/circ/hold_capture_items.js new file mode 100644 index 0000000000..74b5a0ffa9 --- /dev/null +++ b/Evergreen/staff_client/chrome/content/evergreen/circ/hold_capture_items.js @@ -0,0 +1,64 @@ +sdump('D_TRACE','Loading hold_capture_items.js\n'); + +function hold_capture_items_init(p) { + sdump('D_HOLD_CAPTURE_ITEMS',"TESTING: hold_capture_items.js: " + mw.G['main_test_variable'] + '\n'); + sdump('D_CONSTRUCTOR',arg_dump(arguments)); + + p.hold_capture_items_cols = checkin_cols(); + + p.paged_tree = paged_tree_init( { 'w' : p.w, 'node' : p.node, 'cols' : p.hold_capture_items_cols, 'hide_nav' : true, 'hits_per_page' : '9999', 'debug' : p.app } ); + p.add_hold_capture_items = p.paged_tree.add_rows; + p.clear_hold_capture_items = p.paged_tree.clear_tree; + + p.register_hold_capture_items_select_callback = function (f) { + sdump('D_HOLD_CAPTURE_ITEMS','p.register_hold_capture_items_select_callback(' + f + ')\n'); + p.paged_tree.register_select_callback( f ); + } + + p.register_flesh_hold_capture_items_function = function (f) { + sdump('D_HOLD_CAPTURE_ITEMS','p.register_flesh_hold_capture_items_function(' + f + ')\n'); + p.paged_tree.register_flesh_row_function( f ); + } + + p.register_context_builder = function (f) { + sdump('D_HOLD_CAPTURE_ITEMS','p.register_context_builder(' + f + ')\n'); + p.paged_tree.register_context_builder( f ); + } + + p.map_hold_capture_items_to_cols = function (hold_capture_items, treeitem) { + sdump('D_HOLD_CAPTURE_ITEMS','p.map_hold_capture_items_to_cols( ' + hold_capture_items + ',' + treeitem + ')\n'); + hold_capture_items_tree_map_hold_capture_items_to_cols(p, hold_capture_items, treeitem); + } + + sdump('D_TRACE_EXIT',arg_dump(arguments)); + return p; +} + +function hold_capture_items_tree_map_hold_capture_items_to_cols(p, hold_capture_items, treeitem) { + sdump('D_HOLD_CAPTURE_ITEMS',arg_dump(arguments,{1:true})); + sdump('D_TRACE_ENTER',arg_dump(arguments)); + var cols = new Array(); + for (var i = 0; i < p.hold_capture_items_cols.length; i++) { + var hash = p.hold_capture_items_cols[i]; + sdump('D_HOLD_CAPTURE_ITEMS','Considering ' + js2JSON(hash) + '\n'); + var obj_string = 'hold_capture_items'; + switch( hash.fm_class ) { + case 'acp' : obj_string = 'hold_capture_items.copy'; break; + case 'circ' : obj_string = 'hold_capture_items.circ'; break; + case 'mvr' : obj_string = 'hold_capture_items.record'; break; + } + var cmd = parse_render_string( obj_string, hash.fm_field_render ); + sdump('D_HOLD_CAPTURE_ITEMS','cmd = ' + cmd + '\n'); + var col = ''; + try { + col = eval( cmd ); + sdump('D_HOLD_CAPTURE_ITEMS','eval = ' + col + '\n'); + } catch(E) { + sdump('D_ERROR',js2JSON(E) + '\n'); + } + cols.push( col ); + } + sdump('D_HOLD_CAPTURE_ITEMS','cols = ' + js2JSON(cols) + '\n'); + p.paged_tree.map_cols_to_treeitem( cols, treeitem ); + sdump('D_TRACE_EXIT',arg_dump(arguments)); +} diff --git a/Evergreen/staff_client/chrome/content/evergreen/circ/hold_capture_overlay.xul b/Evergreen/staff_client/chrome/content/evergreen/circ/hold_capture_overlay.xul new file mode 100755 index 0000000000..3cf99ea9f2 --- /dev/null +++ b/Evergreen/staff_client/chrome/content/evergreen/circ/hold_capture_overlay.xul @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +