From 8abee03f51b904faba4c79ef92941dc6bb1b6306 Mon Sep 17 00:00:00 2001 From: phasefx Date: Mon, 11 Jul 2005 08:21:47 +0000 Subject: [PATCH] feedback on patron selection. context menu for spawning patron interfaces git-svn-id: svn://svn.open-ils.org/ILS/trunk@1120 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../content/evergreen/patron/patron_search.js | 40 +++++++++++++++++++--- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/Evergreen/staff_client/chrome/content/evergreen/patron/patron_search.js b/Evergreen/staff_client/chrome/content/evergreen/patron/patron_search.js index bfcfa13a11..41eddb5637 100644 --- a/Evergreen/staff_client/chrome/content/evergreen/patron/patron_search.js +++ b/Evergreen/staff_client/chrome/content/evergreen/patron/patron_search.js @@ -41,8 +41,6 @@ function patron_search(search_win, crazy_search_hash) { function patron_search_init_after_clamshell(p) { sdump('D_PATRON_SEARCH',arg_dump(arguments)); - sdump('D_TRACE_ENTER',arg_dump(arguments)); - sdump('D_TRACE_EXIT',arg_dump(arguments)); return function (clamshell_w) { sdump('D_PATRON_SEARCH',arg_dump(arguments)); sdump('D_TRACE_ENTER',arg_dump(arguments)); @@ -85,6 +83,12 @@ function patron_init_after_patron_search_form(p) { } } ); + form_w.status_w = spawn_patron_display_status( + form_w.document, + 'new_iframe', + form_w.selection_canvas, + { 'show_name' : true, 'show_retrieve_button' : true, 'app_shell' : p.w.app_shell } + ); sdump('D_TRACE_EXIT',arg_dump(arguments)); return; }; @@ -99,8 +103,11 @@ function patron_init_after_patron_search_results(p) { sdump('D_TRACE_ENTER',arg_dump(arguments)); results_w.register_patron_select_callback( function (ev) { - alert('Selected: ' + - js2JSON(results_w.selection_id) + '\n'); + sdump('D_PATRON_SEARCH','Firing patron_select_callback\n'); + var patrons = get_list_from_tree_selection( results_w.tree_win.tree ); + p.w.search_form.status_w.display_patron( + retrieve_patron_by_id( patrons[ patrons.length - 1 ].getAttribute('record_id') ) + ); } ); results_w.register_flesh_patron_function( @@ -123,6 +130,31 @@ function patron_init_after_patron_search_results(p) { ); } ); + results_w.register_context_builder( + function (ev) { + empty_widget(results_w.tree_win.popup); + var patrons = get_list_from_tree_selection( results_w.tree_win.tree ); + var menuitem = results_w.tree_win.document.createElement('menuitem'); + results_w.tree_win.popup.appendChild( menuitem ); + menuitem.setAttribute('label','Open in tab'); + menuitem.addEventListener( + 'command', + function (ev) { + for (var i = 0; i < patrons.length; i++) { + spawn_patron_display( + p.w.app_shell,'new_tab','main_tabbox', + { + 'patron' : retrieve_patron_by_id( + patrons[i].getAttribute('record_id') + ) + } + ); + } + }, + false + ); + } + ); sdump('D_TRACE_EXIT',arg_dump(arguments)); return; }; -- 2.11.0