[open-ils-commits] r11961 - in branches/staff-client-experiment/Open-ILS/xul/staff_client: chrome/content/main server/main
svn at svn.open-ils.org
svn at svn.open-ils.org
Sun Jan 25 23:08:04 EST 2009
Author: phasefx
Date: 2009-01-25 23:08:02 -0500 (Sun, 25 Jan 2009)
New Revision: 11961
Added:
branches/staff-client-experiment/Open-ILS/xul/staff_client/server/main/menu.js
branches/staff-client-experiment/Open-ILS/xul/staff_client/server/main/menu_frame.xul
branches/staff-client-experiment/Open-ILS/xul/staff_client/server/main/menu_frame_menus.xul
branches/staff-client-experiment/Open-ILS/xul/staff_client/server/main/menu_frame_overlay.xul
Removed:
branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/menu.js
branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/menu_frame.xul
branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/menu_frame_menus.xul
branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/menu_frame_overlay.xul
Modified:
branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/constants.js
Log:
move the menu code from chrome to remote
Modified: branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/constants.js
===================================================================
--- branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/constants.js 2009-01-26 04:03:59 UTC (rev 11960)
+++ branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/constants.js 2009-01-26 04:08:02 UTC (rev 11961)
@@ -278,7 +278,8 @@
'XUL_MARC_NEW' : '/xul/server/cat/marc_new.xul',
'XUL_MARC_EDIT' : '/xul/server/cat/marcedit.xul',
'XUL_MARC_VIEW' : '/xul/server/cat/marc_view.xul',
- 'XUL_MENU_FRAME' : 'chrome://open_ils_staff_client/content/main/menu_frame.xul',
+ /* 'XUL_MENU_FRAME' : 'chrome://open_ils_staff_client/content/main/menu_frame.xul', */
+ 'XUL_MENU_FRAME' : '/xul/server/main/menu_frame.xul',
'XUL_NON_CAT_LABEL_EDIT' : '/xul/server/admin/non_cat_types.xhtml',
'XUL_OFFLINE_UPLOAD_XACTS' : '/xul/server/admin/upload_xacts.xhtml',
'XUL_OFFLINE_MANAGE_XACTS' : '/xul/server/admin/offline_manage_xacts.xul',
Deleted: branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/menu.js
===================================================================
--- branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/menu.js 2009-01-26 04:03:59 UTC (rev 11960)
+++ branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/menu.js 2009-01-26 04:08:02 UTC (rev 11961)
@@ -1,949 +0,0 @@
-dump('entering main/menu.js\n');
-// vim:noet:sw=4:ts=4:
-
-var offlineStrings;
-offlineStrings = document.getElementById('offlineStrings');
-
-if (typeof main == 'undefined') main = {};
-main.menu = function () {
-
- JSAN.use('util.error'); this.error = new util.error();
- JSAN.use('util.window'); this.window = new util.window();
-
- this.w = window;
-}
-
-main.menu.prototype = {
-
- 'id_incr' : 0,
-
- 'url_prefix' : function(url) {
- if (url.match(/^\//)) url = urls.remote + url;
- if (! url.match(/^(http|chrome):\/\//) && ! url.match(/^data:/) ) url = 'http://' + url;
- dump('url_prefix = ' + url + '\n');
- return url;
- },
-
- 'init' : function( params ) {
-
- urls.remote = params['server'];
-
- var obj = this;
-
- JSAN.use('OpenILS.data'); obj.data = new OpenILS.data(); obj.data.init({'via':'stash'});
-
- var cmd_map = {
- 'cmd_broken' : [
- ['oncommand'],
- function() { alert(offlineStrings.getString('common.unimplemented')); }
- ],
-
- /* File Menu */
- 'cmd_close_window' : [
- ['oncommand'],
- function() { window.close(); }
- ],
- 'cmd_new_window' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- obj.window.open(
- obj.url_prefix(urls.XUL_MENU_FRAME)
- + '?server='+window.escape(urls.remote),
- 'main' + obj.window.window_name_increment(),
- 'chrome,resizable');
- }
- ],
- 'cmd_new_tab' : [
- ['oncommand'],
- function() { obj.new_tab(null,{'focus':true},null); }
- ],
- 'cmd_close_tab' : [
- ['oncommand'],
- function() { obj.close_tab(); }
- ],
- 'cmd_close_all_tabs' : [
- ['oncommand'],
- function() { obj.close_all_tabs(); }
- ],
-
- /* Edit Menu */
- 'cmd_edit_copy_buckets' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- obj.set_tab(obj.url_prefix(urls.XUL_COPY_BUCKETS),{'tab_name':offlineStrings.getString('menu.cmd_edit_copy_buckets.tab')},{});
- }
- ],
- 'cmd_edit_volume_buckets' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- obj.set_tab(obj.url_prefix(urls.XUL_VOLUME_BUCKETS),{'tab_name':offlineStrings.getString('menu.cmd_edit_volume_buckets.tab')},{});
- }
- ],
- 'cmd_edit_record_buckets' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- obj.set_tab(obj.url_prefix(urls.XUL_RECORD_BUCKETS),{'tab_name':offlineStrings.getString('menu.cmd_edit_record_buckets.tab')},{});
- }
- ],
- 'cmd_edit_user_buckets' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- obj.set_tab(obj.url_prefix(urls.XUL_USER_BUCKETS),{'tab_name':offlineStrings.getString('menu.cmd_edit_user_buckets.tab')},{});
- }
- ],
-
-
- 'cmd_replace_barcode' : [
- ['oncommand'],
- function() {
- try {
- JSAN.use('util.network');
- var network = new util.network();
-
- var old_bc = window.prompt(offlineStrings.getString('menu.cmd_replace_barcode.prompt'),'',offlineStrings.getString('menu.cmd_replace_barcode.label'));
- if (!old_bc) return;
-
- var copy;
- try {
- copy = network.simple_request('FM_ACP_RETRIEVE_VIA_BARCODE',[ old_bc ]);
- if (typeof copy.ilsevent != 'undefined') throw(copy);
- if (!copy) throw(copy);
- } catch(E) {
- alert(offlineStrings.getFormattedString('menu.cmd_replace_barcode.retrieval.error', [old_bc]) + '\n');
- return;
- }
-
- // Why did I want to do this twice? Because this copy is more fleshed?
- try {
- copy = network.simple_request('FM_ACP_RETRIEVE',[ copy.id() ]);
- if (typeof copy.ilsevent != 'undefined') throw(copy);
- if (!copy) throw(copy);
- } catch(E) {
- try { alert(offlineStrings.getFormattedString('menu.cmd_replace_barcode.retrieval.error', [old_bc]) + '\n' + (typeof E.ilsevent == 'undefined' ? '' : E.textcode + ' : ' + E.desc)); } catch(F) { alert(E + '\n' + F); }
- return;
- }
-
- var new_bc = window.prompt(offlineStrings.getString('menu.cmd_replace_barcode.replacement.prompt'),'',offlineStrings.getString('menu.cmd_replace_barcode.replacement.label'));
- new_bc = String( new_bc ).replace(/\s/g,'');
- if (!new_bc) {
- alert(offlineStrings.getString('menu.cmd_replace_barcode.blank.error'));
- return;
- }
-
- var test = network.simple_request('FM_ACP_RETRIEVE_VIA_BARCODE',[ new_bc ]);
- if (typeof test.ilsevent == 'undefined') {
- alert(offlineStrings.getFormattedString('menu.cmd_replace_barcode.duplicate.error', [new_bc]));
- return;
- } else {
- if (test.ilsevent != 1502 /* ASSET_COPY_NOT_FOUND */) {
- obj.error.standard_unexpected_error_alert(offlineStrings.getFormattedString('menu.cmd_replace_barcode.testing.error', [new_bc]),test);
- return;
- }
- }
-
- copy.barcode(new_bc); copy.ischanged('1');
- var r = network.simple_request('FM_ACP_FLESHED_BATCH_UPDATE', [ ses(), [ copy ] ]);
- if (typeof r.ilsevent != 'undefined') {
- if (r.ilsevent != 0) {
- if (r.ilsevent == 5000 /* PERM_FAILURE */) {
- alert(offlineStrings.getString('menu.cmd_replace_barcode.permission.error'));
- } else {
- obj.error.standard_unexpected_error_alert(offlineStrings.getString('menu.cmd_replace_barcode.renaming.error'),r);
- }
- }
- }
- } catch(E) {
- obj.error.standard_unexpected_error_alert(offlineStrings.getString('menu.cmd_replace_barcode.renaming.failure'),copy);
- }
- }
- ],
-
- /* Search Menu */
- 'cmd_patron_search' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- obj.set_tab(obj.url_prefix(urls.XUL_PATRON_DISPLAY),{},{});
- }
- ],
- 'cmd_search_opac' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- var content_params = { 'session' : ses(), 'authtime' : ses('authtime') };
- obj.set_tab(obj.url_prefix(urls.XUL_OPAC_WRAPPER), {'tab_name':offlineStrings.getString('menu.cmd_search_opac.tab')}, content_params);
- }
- ],
- 'cmd_search_tcn' : [
- ['oncommand'],
- function() {
- var tcn = prompt(offlineStrings.getString('menu.cmd_search_tcn.tab'),'',offlineStrings.getString('menu.cmd_search_tcn.prompt'));
-
- function spawn_tcn(r) {
- for (var i = 0; i < r.count; i++) {
- var id = r.ids[i];
- var opac_url = obj.url_prefix( urls.opac_rdetail ) + '?r=' + id;
- obj.data.stash_retrieve();
- var content_params = {
- 'session' : ses(),
- 'authtime' : ses('authtime'),
- 'opac_url' : opac_url,
- };
- if (i == 0) {
- obj.set_tab(
- obj.url_prefix(urls.XUL_OPAC_WRAPPER),
- {'tab_name':tcn},
- content_params
- );
- } else {
- obj.new_tab(
- obj.url_prefix(urls.XUL_OPAC_WRAPPER),
- {'tab_name':tcn},
- content_params
- );
- }
- }
- }
-
- if (tcn) {
- JSAN.use('util.network');
- var network = new util.network();
- var robj = network.simple_request('FM_BRE_ID_SEARCH_VIA_TCN',[tcn]);
- if (robj.count != robj.ids.length) throw('FIXME -- FM_BRE_ID_SEARCH_VIA_TCN = ' + js2JSON(robj));
- if (robj.count == 0) {
- var robj2 = network.simple_request('FM_BRE_ID_SEARCH_VIA_TCN',[tcn,1]);
- if (robj2.count == 0) {
- alert(offlineStrings.getFormattedString('menu.cmd_search_tcn.not_found.error', [tcn]));
- } else {
- if ( window.confirm(offlineStrings.getFormattedString('menu.cmd_search_tcn.deleted.error', [tcn])) ) {
- spawn_tcn(robj2);
- }
- }
- } else {
- spawn_tcn(robj);
- }
- }
- }
- ],
- 'cmd_search_bib_id' : [
- ['oncommand'],
- function() {
- var bib_id = prompt(offlineStrings.getString('menu.cmd_search_bib_id.tab'),'',offlineStrings.getString('menu.cmd_search_bib_id.prompt'));
- if (!bib_id) return;
-
- var opac_url = obj.url_prefix( urls.opac_rdetail ) + '?r=' + bib_id;
- var content_params = {
- 'session' : ses(),
- 'authtime' : ses('authtime'),
- 'opac_url' : opac_url,
- };
- obj.set_tab(
- obj.url_prefix(urls.XUL_OPAC_WRAPPER),
- {'tab_name':'#' + bib_id},
- content_params
- );
- }
- ],
- 'cmd_copy_status' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- obj.set_tab(obj.url_prefix(urls.XUL_COPY_STATUS),{},{});
- }
- ],
-
- /* Circulation Menu */
- 'cmd_patron_register' : [
- ['oncommand'],
- function() {
- function spawn_editor(p) {
- var url = urls.XUL_PATRON_EDIT;
- var param_count = 0;
- for (var i in p) {
- if (param_count++ == 0) url += '?'; else url += '&';
- url += i + '=' + window.escape(p[i]);
- }
- var loc = obj.url_prefix( urls.XUL_REMOTE_BROWSER ) + '?url=' + window.escape( url );
- obj.new_tab(
- loc,
- {},
- {
- 'show_print_button' : true ,
- 'tab_name' : offline.getString('menu.cmd_patron_register.related.tab'),
- 'passthru_content_params' : {
- 'spawn_search' : function(s) { obj.spawn_search(s); },
- 'spawn_editor' : spawn_editor,
- }
- }
- );
- }
-
- obj.data.stash_retrieve();
- var loc = obj.url_prefix( urls.XUL_REMOTE_BROWSER )
- + '?url=' + window.escape( urls.XUL_PATRON_EDIT + '?ses=' + window.escape( ses() ) );
- obj.set_tab(
- loc,
- {},
- {
- 'show_print_button' : true ,
- 'tab_name' : offlineStrings.getString('menu.cmd_patron_register.tab'),
- 'passthru_content_params' : {
- 'spawn_search' : function(s) { obj.spawn_search(s); },
- 'spawn_editor' : spawn_editor,
- }
- }
- );
- }
- ],
- 'cmd_circ_checkin' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- obj.set_tab(obj.url_prefix(urls.XUL_CHECKIN),{},{});
- }
- ],
- 'cmd_circ_checkout' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- obj.set_tab(obj.url_prefix(urls.XUL_PATRON_BARCODE_ENTRY),{},{});
- }
- ],
- 'cmd_circ_hold_capture' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- obj.set_tab(obj.url_prefix(urls.XUL_CHECKIN)+'?hold_capture=1',{},{});
- }
- ],
- 'cmd_browse_holds' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- obj.set_tab(obj.url_prefix(urls.XUL_HOLDS_BROWSER),{ 'tab_name' : offlineStrings.getString('menu.cmd_browse_holds.tab') },{});
- }
- ],
- 'cmd_browse_holds_shelf' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- obj.set_tab(obj.url_prefix(urls.XUL_HOLDS_BROWSER)+'?shelf=1',{ 'tab_name' : offlineStrings.getString('menu.cmd_browse_holds_shelf.tab') },{});
- }
- ],
- 'cmd_circ_hold_pull_list' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- var loc = urls.XUL_REMOTE_BROWSER + '?url=' + window.escape(
- obj.url_prefix(urls.XUL_HOLD_PULL_LIST) + '?ses='+window.escape(ses())
- );
- obj.set_tab( loc, {'tab_name' : offlineStrings.getString('menu.cmd_browse_hold_pull_list.tab')}, { 'show_print_button' : true } );
- }
- ],
-
- 'cmd_in_house_use' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- obj.set_tab(obj.url_prefix(urls.XUL_IN_HOUSE_USE),{},{});
- }
- ],
-
- 'cmd_standalone' : [
- ['oncommand'],
- function() {
- obj.set_tab(obj.url_prefix(urls.XUL_STANDALONE),{},{});
- }
- ],
-
- 'cmd_local_admin' : [
- ['oncommand'],
- function() {
- //obj.set_tab(obj.url_prefix(urls.XUL_LOCAL_ADMIN)+'?ses='+window.escape(ses())+'&session='+window.escape(ses()),{},{});
- var loc = urls.XUL_REMOTE_BROWSER + '?url=' + window.escape(
- urls.XUL_LOCAL_ADMIN+'?ses='+window.escape(ses())+'&session='+window.escape(ses())
- );
- obj.set_tab(
- loc,
- {'tab_name' : offlineStrings.getString('menu.cmd_local_admin.tab'), 'browser' : true },
- { 'no_xulG' : false, 'show_nav_buttons' : true, 'show_print_button' : true }
- );
-
- }
- ],
-
- 'cmd_open_vandelay' : [
- ['oncommand'],
- function() {
- var loc = urls.XUL_REMOTE_BROWSER + '?url=' +
- window.escape(urls.VANDELAY+'?ses='+window.escape(ses()));
- obj.set_tab(
- loc,
- {'tab_name' : offlineStrings.getString('menu.cmd_open_vandelay.tab'), 'browser' : true },
- {'no_xulG' : false, 'show_print_button' : false }
- );
-
- }
- ],
-
- 'cmd_open_conify' : [
- ['oncommand'],
- function() {
- var loc = urls.XUL_REMOTE_BROWSER + '?url=' +
- window.escape(urls.CONIFY+'?ses='+window.escape(ses()));
- obj.set_tab(
- loc,
- {'tab_name' : offlineStrings.getString('menu.cmd_open_conify.tab'), 'browser' : true },
- {'no_xulG' : false, 'show_print_button' : false }
- );
-
- }
- ],
-
- 'cmd_reprint' : [
- ['oncommand'],
- function() {
- try {
- JSAN.use('util.print'); var print = new util.print();
- print.reprint_last();
- } catch(E) {
- alert(E);
- }
- }
- ],
-
- 'cmd_retrieve_last_patron' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- if (!obj.data.last_patron) {
- alert(offlineStrings.getString('menu.cmd_retrieve_last_patron.session.error'));
- return;
- }
- var url = obj.url_prefix( urls.XUL_PATRON_DISPLAY ); // + '?id=' + window.escape( obj.data.last_patron ) );
- obj.set_tab( url, {}, { 'id' : obj.data.last_patron } );
- }
- ],
-
- 'cmd_retrieve_last_record' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- if (!obj.data.last_record) {
- alert(offlineStrings.getString('menu.cmd_retrieve_last_record.session.error'));
- return;
- }
- var opac_url = obj.url_prefix( urls.opac_rdetail ) + '?r=' + obj.data.last_record;
- var content_params = {
- 'session' : ses(),
- 'authtime' : ses('authtime'),
- 'opac_url' : opac_url,
- };
- obj.set_tab(
- obj.url_prefix(urls.XUL_OPAC_WRAPPER),
- {'tab_name' : offlineStrings.getString('menu.cmd_retrieve_last_record.status')},
- content_params
- );
- }
- ],
-
- 'cmd_verify_credentials' : [
- ['oncommand'],
- function() {
- obj.set_tab(
- obj.url_prefix(urls.XUL_VERIFY_CREDENTIALS),
- { 'tab_name' : offlineStrings.getString('menu.cmd_verify_credentials.tabname') },
- {}
- );
- }
- ],
-
- /* Cataloging Menu */
- 'cmd_z39_50_import' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- obj.set_tab(obj.url_prefix(urls.XUL_Z3950_IMPORT),{},{});
- }
- ],
- 'cmd_create_marc' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- obj.set_tab(obj.url_prefix(urls.XUL_MARC_NEW),{},{});
- }
- ],
-
- /* Admin menu */
- 'cmd_change_session' : [
- ['oncommand'],
- function() {
- try {
- obj.data.stash_retrieve();
- JSAN.use('util.network'); var network = new util.network();
- var x = document.getElementById('oc_menuitem');
- var x_label = x.getAttribute('label_orig');
- var temp_au = js2JSON( obj.data.list.au[0] );
- var temp_ses = js2JSON( obj.data.session );
- if (obj.data.list.au.length > 1) {
- obj.data.list.au = [ obj.data.list.au[1] ];
- obj.data.stash('list');
- network.reset_titlebars( obj.data );
- x.setAttribute('label', x_label );
- network.simple_request('AUTH_DELETE', [ obj.data.session.key ] );
- obj.data.session = obj.data.previous_session;
- obj.data.stash('session');
- try {
- var ios = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService);
- var cookieUri = ios.newURI("http://" + obj.data.server_unadorned, null, null);
- var cookieUriSSL = ios.newURI("https://" + obj.data.server_unadorned, null, null);
- var cookieSvc = Components.classes["@mozilla.org/cookieService;1"].getService(Components.interfaces.nsICookieService);
-
- cookieSvc.setCookieString(cookieUri, null, "ses="+obj.data.session.key, null);
- cookieSvc.setCookieString(cookieUriSSL, null, "ses="+obj.data.session.key, null);
-
- } catch(E) {
- alert(offlineStrings.getFormattedString(main.session_cookie.error, [E]));
- }
-
- removeCSSClass(document.getElementById('main_tabbox'),'operator_change');
- } else {
- if (network.get_new_session(offlineStrings.getString('menu.cmd_chg_session.label'),{'url_prefix':obj.url_prefix})) {
- obj.data.stash_retrieve();
- obj.data.list.au[1] = JSON2js( temp_au );
- obj.data.stash('list');
- obj.data.previous_session = JSON2js( temp_ses );
- obj.data.stash('previous_session');
- x.setAttribute('label', offlineStrings.getFormattedString('menu.cmd_chg_session.operator.label', [obj.data.list.au[1].usrname()]) );
- addCSSClass(document.getElementById('main_tabbox'),'operator_change');
- }
- }
- } catch(E) {
- obj.error.standard_unexpected_error_alert('cmd_change_session',E);
- }
- }
- ],
- 'cmd_manage_offline_xacts' : [
- ['oncommand'],
- function() {
- obj.set_tab(obj.url_prefix(urls.XUL_OFFLINE_MANAGE_XACTS), {'tab_name' : offlineStrings.getString('menu.cmd_manage_offline_xacts.tab')}, {});
- }
- ],
- 'cmd_download_patrons' : [
- ['oncommand'],
- function() {
- try {
- netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
- var x = new XMLHttpRequest();
- var url = 'http://' + XML_HTTP_SERVER + '/standalone/list.txt';
- x.open("GET",url,false);
- x.send(null);
- if (x.status == 200) {
- JSAN.use('util.file'); var file = new util.file('offline_patron_list');
- file.write_content('truncate',x.responseText);
- file.close();
- file = new util.file('offline_patron_list.date');
- file.write_content('truncate',new Date());
- file.close();
- alert(offlineStrings.getString('menu.cmd_download_patrons.complete.status'));
- } else {
- alert(offlineStrings.getFormattedString('menu.cmd_download_patrons.error', [x.status, x.statusText]));
- }
- } catch(E) {
- obj.error.standard_unexpected_error_alert('cmd_download_patrons',E);
- }
- }
- ],
- 'cmd_adv_user_edit' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- obj.set_tab(obj.url_prefix(urls.XUL_PATRON_BARCODE_ENTRY), {}, { 'perm_editor' : true });
- }
- ],
- 'cmd_print_list_template_edit' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- obj.set_tab(obj.url_prefix(urls.XUL_PRINT_LIST_TEMPLATE_EDITOR), {}, {});
- }
- ],
- 'cmd_stat_cat_edit' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- obj.set_tab(obj.url_prefix(urls.XUL_STAT_CAT_EDIT) + '?ses='+window.escape(ses()), {'tab_name' : offlineStrings.getString('menu.cmd_stat_cat_edit.tab')},{});
- }
- ],
- 'cmd_non_cat_type_edit' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- obj.set_tab(obj.url_prefix(urls.XUL_NON_CAT_LABEL_EDIT) + '?ses='+window.escape(ses()), {'tab_name' : offlineStrings.getString('menu.cmd_non_cat_type_edit.tab')},{});
- }
- ],
- 'cmd_copy_location_edit' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- obj.set_tab(obj.url_prefix(urls.XUL_COPY_LOCATION_EDIT) + '?ses='+window.escape(ses()),{'tab_name' : offlineStrings.getString('menu.cmd_copy_location_edit.tab')},{});
- }
- ],
- 'cmd_test' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- var content_params = { 'session' : ses(), 'authtime' : ses('authtime') };
- obj.set_tab(obj.url_prefix(urls.XUL_OPAC_WRAPPER), {}, content_params);
- }
- ],
- 'cmd_test_html' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- obj.set_tab(obj.url_prefix(urls.TEST_HTML) + '?ses='+window.escape(ses()),{ 'browser' : true },{});
- }
- ],
- 'cmd_test_xul' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- obj.set_tab(obj.url_prefix(urls.TEST_XUL) + '?ses='+window.escape(ses()),{ 'browser' : true },{});
- }
- ],
- 'cmd_console' : [
- ['oncommand'],
- function() {
- obj.set_tab(obj.url_prefix(urls.XUL_DEBUG_CONSOLE),{'tab_name' : offlineStrings.getString('menu.cmd_console.tab')},{});
- }
- ],
- 'cmd_shell' : [
- ['oncommand'],
- function() {
- obj.set_tab(obj.url_prefix(urls.XUL_DEBUG_SHELL),{'tab_name' : offlineStrings.getString('menu.cmd_shell.tab')},{});
- }
- ],
- 'cmd_xuleditor' : [
- ['oncommand'],
- function() {
- obj.set_tab(obj.url_prefix(urls.XUL_DEBUG_XULEDITOR),{'tab_name' : offlineStrings.getString('menu.cmd_xuleditor.tab')},{});
- }
- ],
- 'cmd_fieldmapper' : [
- ['oncommand'],
- function() {
- obj.set_tab(obj.url_prefix(urls.XUL_DEBUG_FIELDMAPPER),{'tab_name' : offlineStrings.getString('menu.cmd_fieldmapper.tab')},{});
- }
- ],
- 'cmd_survey_wizard' : [
- ['oncommand'],
- function() {
- obj.data.stash_retrieve();
- obj.window.open(obj.url_prefix(urls.XUL_SURVEY_WIZARD),'survey_wizard','chrome');
- }
- ],
- 'cmd_public_opac' : [
- ['oncommand'],
- function() {
- var loc = urls.XUL_REMOTE_BROWSER + '?url=' + window.escape(
- urls.remote
- );
- obj.set_tab(
- loc,
- {'tab_name' : offlineStrings.getString('menu.cmd_public_opac.tab'), 'browser' : true},
- { 'no_xulG' : true, 'show_nav_buttons' : true, 'show_print_button' : true }
- );
- }
- ],
- 'cmd_clear_cache' : [
- ['oncommand'],
- function clear_the_cache() {
- try {
- var cacheClass = Components.classes["@mozilla.org/network/cache-service;1"];
- var cacheService = cacheClass.getService(Components.interfaces.nsICacheService);
- cacheService.evictEntries(Components.interfaces.nsICache.STORE_ON_DISK);
- cacheService.evictEntries(Components.interfaces.nsICache.STORE_IN_MEMORY);
- } catch(E) {
- dump(E+'\n');alert(E);
- }
- }
- ],
- 'cmd_restore_all_tabs' : [
- ['oncommand'],
- function() {
- var tabs = obj.controller.view.tabs;
- for (var i = 0; i < tabs.childNodes.length; i++) {
- tabs.childNodes[i].hidden = false;
- }
- }
- ],
- 'cmd_extension_manager' : [
- ['oncommand'],
- function() {
- obj.set_tab('chrome://mozapps/content/extensions/extensions.xul?type=extensions',{'tab_name' : offlineStrings.getString('menu.cmd_extension_manager.tab')},{});
- }
- ],
- 'cmd_theme_manager' : [
- ['oncommand'],
- function() {
- obj.set_tab('chrome://mozapps/content/extensions/extensions.xul?type=themes',{'tab_name' : offlineStrings.getString('menu.cmd_theme_manager.tab')},{});
- }
- ],
- 'cmd_about_config' : [
- ['oncommand'],
- function() {
- obj.set_tab('chrome://global/content/config.xul',{'tab_name' : 'about:config'},{});
- }
- ],
- 'cmd_shutdown' : [
- ['oncommand'],
- function() {
- if (window.confirm(offlineStrings.getString('menu.cmd_shutdown.prompt'))) {
- var windowManager = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService();
- var windowManagerInterface = windowManager.QueryInterface(Components.interfaces.nsIWindowMediator);
- var enumerator = windowManagerInterface.getEnumerator(null);
- var w; // close all other windows
- while ( w = enumerator.getNext() ) {
- if (w != window) w.close();
- }
- window.close();
- }
- }
- ],
- };
-
- JSAN.use('util.controller');
- var cmd;
- obj.controller = new util.controller();
- obj.controller.init( { 'window_knows_me_by' : 'g.menu.controller', 'control_map' : cmd_map } );
-
- obj.controller.view.tabbox = window.document.getElementById('main_tabbox');
- obj.controller.view.tabs = obj.controller.view.tabbox.firstChild;
- obj.controller.view.panels = obj.controller.view.tabbox.lastChild;
-
- obj.new_tab(null,{'focus':true},null);
-
- obj.init_tab_focus_handlers();
- },
-
- 'spawn_search' : function(s) {
- var obj = this;
- obj.error.sdump('D_TRACE', offlineStrings.getFormattedString('menu.spawn_search.msg', [js2JSON(s)]) );
- obj.data.stash_retrieve();
- var loc = obj.url_prefix(urls.XUL_PATRON_DISPLAY);
- loc += '?doit=1&query=' + window.escape(js2JSON(s));
- obj.new_tab( loc, {}, {} );
- },
-
- 'init_tab_focus_handlers' : function() {
- var obj = this;
- for (var i = 0; i < obj.controller.view.tabs.childNodes.length; i++) {
- var tab = obj.controller.view.tabs.childNodes[i];
- var panel = obj.controller.view.panels.childNodes[i];
- tab.addEventListener(
- 'command',
- function(p) {
- return function() {
- try {
- if (p
- && p.firstChild
- && ( p.firstChild.nodeName == 'iframe' || p.firstChild.nodeName == 'browser' )
- && p.firstChild.contentWindow
- ) {
- if (typeof p.firstChild.contentWindow.default_focus == 'function') {
- p.firstChild.contentWindow.default_focus();
- } else {
- //p.firstChild.contentWindow.firstChild.focus();
- }
- }
- } catch(E) {
- obj.error.sdump('D_ERROR','init_tab_focus_handler: ' + js2JSON(E));
- }
- }
- }(panel),
- false
- );
- }
- },
-
- 'close_all_tabs' : function() {
- var obj = this;
- try {
- var count = obj.controller.view.tabs.childNodes.length;
- for (var i = 0; i < count; i++) obj.close_tab();
- setTimeout( function(){ obj.controller.view.tabs.firstChild.focus(); }, 0);
- } catch(E) {
- obj.error.standard_unexpected_error_alert(offlineStrings.getString('menu.close_all_tabs.error'),E);
- }
- },
-
- 'close_tab' : function () {
- var idx = this.controller.view.tabs.selectedIndex;
- var tab = this.controller.view.tabs.childNodes[idx];
- var panel = this.controller.view.panels.childNodes[ idx ];
- while ( panel.lastChild ) panel.removeChild( panel.lastChild );
- if (idx == 0) {
- try {
- this.controller.view.tabs.advanceSelectedTab(+1);
- } catch(E) {
- this.error.sdump('D_TAB','failed tabs.advanceSelectedTab(+1):'+js2JSON(E) + '\n');
- try {
- this.controller.view.tabs.advanceSelectedTab(-1);
- } catch(E) {
- this.error.sdump('D_TAB','failed again tabs.advanceSelectedTab(-1):'+
- js2JSON(E) + '\n');
- }
- }
- } else {
- try {
- this.controller.view.tabs.advanceSelectedTab(-1);
- } catch(E) {
- this.error.sdump('D_TAB','failed tabs.advanceSelectedTab(-1):'+js2JSON(E) + '\n');
- try {
- this.controller.view.tabs.advanceSelectedTab(+1);
- } catch(E) {
- this.error.sdump('D_TAB','failed again tabs.advanceSelectedTab(+1):'+
- js2JSON(E) + '\n');
- }
- }
-
- }
-
- this.error.sdump('D_TAB','\tnew tabbox.selectedIndex = ' + this.controller.view.tabbox.selectedIndex + '\n');
-
- this.controller.view.tabs.childNodes[ idx ].hidden = true;
- this.error.sdump('D_TAB','tabs.childNodes[ ' + idx + ' ].hidden = true;\n');
-
- // Make sure we keep at least one tab open.
- var tab_flag = true;
- for (var i = 0; i < this.controller.view.tabs.childNodes.length; i++) {
- var tab = this.controller.view.tabs.childNodes[i];
- if (!tab.hidden)
- tab_flag = false;
- }
- if (tab_flag) {
- this.controller.view.tabs.selectedIndex = 0;
- this.new_tab();
- }
- },
-
- 'find_free_tab' : function() {
- var last_not_hidden = -1;
- for (var i = 0; i<this.controller.view.tabs.childNodes.length; i++) {
- var tab = this.controller.view.tabs.childNodes[i];
- if (!tab.hidden)
- last_not_hidden = i;
- }
- if (last_not_hidden == this.controller.view.tabs.childNodes.length - 1)
- last_not_hidden = -1;
- // If the one next to last_not_hidden is hidden, we want it.
- // Basically, we fill in tabs after existing tabs for as
- // long as possible.
- var idx = last_not_hidden + 1;
- var candidate = this.controller.view.tabs.childNodes[ idx ];
- if (candidate.hidden)
- return idx;
- // Alright, find the first hidden then
- for (var i = 0; i<this.controller.view.tabs.childNodes.length; i++) {
- var tab = this.controller.view.tabs.childNodes[i];
- if (tab.hidden)
- return i;
- }
- return -1;
- },
-
- 'new_tab' : function(url,params,content_params) {
- var tc = this.find_free_tab();
- if (tc == -1) { return null; } // 9 tabs max
- var tab = this.controller.view.tabs.childNodes[ tc ];
- tab.hidden = false;
- if (!content_params) content_params = {};
- if (!params) params = {};
- if (!params.tab_name) params.tab_name = offlineStrings.getString('menu.new_tab.tab');
- if (!params.nofocus) params.focus = true; /* make focus the default */
- try {
- if (params.focus) this.controller.view.tabs.selectedIndex = tc;
- params.index = tc;
- this.set_tab(url,params,content_params);
- } catch(E) {
- this.error.sdump('D_ERROR',E);
- }
- },
-
- 'set_tab' : function(url,params,content_params) {
- var obj = this;
- if (!url) url = '/xul/server/';
- if (!url.match(/:\/\//) && !url.match(/^data:/)) url = urls.remote + url;
- if (!params) params = {};
- if (!content_params) content_params = {};
- var idx = this.controller.view.tabs.selectedIndex;
- if (params && typeof params.index != 'undefined') idx = params.index;
- var tab = this.controller.view.tabs.childNodes[ idx ];
- if (params.focus) tab.focus();
- var panel = this.controller.view.panels.childNodes[ idx ];
- while ( panel.lastChild ) panel.removeChild( panel.lastChild );
-
- content_params.new_tab = function(a,b,c) { return obj.new_tab(a,b,c); };
- content_params.set_tab = function(a,b,c) { return obj.set_tab(a,b,c); };
- content_params.set_tab_name = function(name) { tab.setAttribute('label',(idx + 1) + ' ' + name); };
- content_params.open_chrome_window = function(a,b,c) { return obj.window.open(a,b,c); };
- content_params.url_prefix = function(url) { return obj.url_prefix(url); };
- if (params && params.tab_name) content_params.set_tab_name( params.tab_name );
-
- var frame;
- try {
- if (params && typeof params.browser != 'undefined') {
- obj.id_incr++;
- frame = this.w.document.createElement('browser');
- frame.setAttribute('flex','1');
- frame.setAttribute('type','content');
- frame.setAttribute('id','frame_'+obj.id_incr);
- panel.appendChild(frame);
- try {
- dump('creating browser with src = ' + url + '\n');
- JSAN.use('util.browser');
- var b = new util.browser();
- b.init(
- {
- 'url' : url,
- 'push_xulG' : true,
- 'alt_print' : false,
- 'browser_id' : 'frame_'+obj.id_incr,
- 'passthru_content_params' : content_params,
- }
- );
- } catch(E) {
- alert(E);
- }
- } else {
- frame = this.w.document.createElement('iframe');
- frame.setAttribute('flex','1');
- panel.appendChild(frame);
- dump('creating iframe with src = ' + url + '\n');
- frame.setAttribute('src',url);
- try {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- var cw = frame.contentWindow;
- if (typeof cw.wrappedJSObject != 'undefined') cw = cw.wrappedJSObject;
- cw.IAMXUL = true;
- cw.xulG = content_params;
- } catch(E) {
- this.error.sdump('D_ERROR', 'main.menu: ' + E);
- }
- }
- } catch(E) {
- this.error.sdump('D_ERROR', 'main.menu:2: ' + E);
- alert(offlineStrings.getString('menu.set_tab.error'));
- }
-
- return frame;
- }
-
-}
-
-dump('exiting main/menu.js\n');
Deleted: branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/menu_frame.xul
===================================================================
--- branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/menu_frame.xul 2009-01-26 04:03:59 UTC (rev 11960)
+++ branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/menu_frame.xul 2009-01-26 04:08:02 UTC (rev 11961)
@@ -1,96 +0,0 @@
-<?xml version="1.0"?>
-<!-- Application: Evergreen Staff Client -->
-<!-- Screen: Main, Menu and Tab Navigation -->
-<!--
- vim:noet:sw=4:ts=4:
--->
-
-<!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
-<!-- STYLESHEETS -->
-<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
-<?xml-stylesheet href="chrome://open_ils_staff_client/skin/global.css" type="text/css"?>
-<!--
-<?xml-stylesheet href="/xul/server/skin/global.css" type="text/css"?>
-<?xml-stylesheet href="/xul/server/skin/menu_frame.css" type="text/css"?>
--->
-
-<!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
-<!-- LOCALIZATION -->
-<!DOCTYPE window SYSTEM "chrome://open_ils_staff_client/locale/lang.dtd">
-
-<!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
-<!-- OVERLAYS -->
-<?xul-overlay href="chrome://open_ils_staff_client/content/main/menu_frame_overlay.xul"?>
-<?xul-overlay href="chrome://open_ils_staff_client/content/OpenILS/util_overlay_chrome.xul"?>
-<!--
-<?xul-overlay href="/xul/server/main/menu_frame_overlay.xul"?>
-<?xul-overlay href="/xul/server/OpenILS/util_overlay.xul"?>
--->
-
-<window id="menu_frame_win"
- onload="try { my_init(); } catch(E) { alert(E); }"
- orient="vertical" width="800" height="500"
- sizemode="maximized" persist="width height" title="&staff.main.menu.title;"
- 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; var g = {};</script>
- <scripts id="openils_util_scripts"/>
-
- <script type="text/javascript" src="JSAN.js"/>
- <script type="text/javascript" src="constants.js"/>
- <script type="text/javascript" src="../OpenILS/util/fmall.js"/>
- <script type="text/javascript">
- <![CDATA[
- function my_init() {
- try {
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- if (typeof JSAN == 'undefined') { throw(document.getElementById('offlineStrings').getString('common.jsan.missing')); }
- JSAN.errorLevel = "die"; // none, warn, or die
- /*
- JSAN.addRepository('/xul/server/');
- */
- JSAN.addRepository('..');
- JSAN.use('util.error'); g.error = new util.error();
- g.error.sdump('D_TRACE','my_init() for menu_frame.xul');
-
- g.cgi = new CGI();
-
- JSAN.use('main.menu'); g.menu = new main.menu();
- g.menu.init( {
- 'server' : g.cgi.param('server'),
- } );
-
- JSAN.use('util.window'); g.window = new util.window();
-
- JSAN.use('OpenILS.data'); g.data = new OpenILS.data(); g.data.init({'via':'stash'});
- XML_HTTP_SERVER = g.data.server_unadorned;
-
- document.title = g.window.appshell_name_increment() + ': ' + g.data.list.au[0].usrname() + '@' + g.data.ws_name + '.' + g.data.server_unadorned;
-
- } catch(E) {
- var err_msg = document.getElementById("offlineStrings").getFormattedString("common.exception", ["menu_frame.xul", E]);
- try { g.error.sdump('D_ERROR',err_msg); } catch(E) { dump(err_msg); }
- alert(err_msg);
- }
- }
- ]]>
- </script>
- <script src="chrome://venkman/content/venkman-overlay.js"/>
-
- <messagecatalog id="offlineStrings" src="chrome://open_ils_staff_client/locale/offline.properties" />
-
- <commandset id="universal_cmds" />
-
- <keyset id="menu_frame_keys" />
-
- <popupset id="universal_popupset" />
-
- <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
- <!-- CONTENT -->
-
- <box id="menu_frame_main" class="my_overflow"/>
-
-</window>
-
Deleted: branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/menu_frame_menus.xul
===================================================================
--- branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/menu_frame_menus.xul 2009-01-26 04:03:59 UTC (rev 11960)
+++ branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/menu_frame_menus.xul 2009-01-26 04:08:02 UTC (rev 11961)
@@ -1,237 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE overlay SYSTEM "chrome://open_ils_staff_client/locale/lang.dtd">
-<overlay id="menu_frame_menus"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
-<script>dump('loading menu_frame_menus.xul\n');</script>
-
-<commandset id="universal_cmds">
- <command id="cmd_forward"/>
- <command id="cmd_back"/>
- <command id="cmd_close_window" key="close-window-key" />
- <command id="cmd_new_window" key="new-window-key" />
- <command id="cmd_new_tab" key="new-tab-key" />
- <command id="cmd_close_tab" key="close-tab-key" />
- <command id="cmd_close_all_tabs" key="close-all-tabs-key" />
- <command id="cmd_shutdown" />
-
- <command id="cmd_edit_copy_buckets" />
- <command id="cmd_edit_volume_buckets" />
- <command id="cmd_edit_record_buckets" />
- <command id="cmd_edit_user_buckets" />
-
- <command id="cmd_cat_main" key="cat-main-key" />
- <command id="cmd_create_marc" />
- <command id="cmd_circ_checkout" key="circ-checkout-key" />
- <command id="cmd_patron_search" key="patron-search-key" />
- <command id="cmd_circ_checkin" key="circ-checkin-key" />
- <command id="cmd_circ_hold_capture" key="circ-hold-capture-key" />
- <command id="cmd_circ_hold_pull_list" />
- <command id="cmd_browse_holds" />
- <command id="cmd_browse_holds_shelf" />
- <command id="cmd_in_house_use" key="circ-in-house-use" />
- <command id="cmd_copy_status" key="copy-status-key" />
- <command id="cmd_search_opac" key="search-opac-key" />
- <command id="cmd_public_opac" />
- <command id="cmd_search_tcn" />
- <command id="cmd_search_bib_id" />
- <command id="cmd_patron_register" key="patron-register-key" />
- <command id="cmd_standalone" />
- <command id="cmd_survey_wizard" />
- <command id="cmd_stat_cat_edit" />
- <command id="cmd_non_cat_type_edit" />
- <command id="cmd_copy_location_edit" />
- <command id="cmd_print_list_template_edit" />
- <command id="cmd_z39_50_import" />
- <command id="cmd_create_new_marc_book" />
- <command id="cmd_replace_barcode" />
- <command id="cmd_reprint" />
- <command id="cmd_retrieve_last_patron" />
- <command id="cmd_retrieve_last_record" />
- <command id="cmd_verify_credentials" />
-
- <command id="cmd_change_session" />
- <command id="cmd_manage_offline_xacts" />
- <command id="cmd_download_patrons" />
- <command id="cmd_local_admin" />
-
- <command id="cmd_extension_manager"/>
- <command id="cmd_theme_manager"/>
- <command id="cmd_about_config"/>
-
- <command id="cmd_adv_user_edit" />
- <command id="cmd_console" />
- <command id="cmd_shell" />
- <command id="cmd_xuleditor" />
- <command id="cmd_fieldmapper" />
- <command id="cmd_test_html" />
- <command id="cmd_test_xul" />
- <command id="cmd_clear_cache" />
- <command id="cmd_restore_all_tabs" />
-
- <command id="cmd_test" />
- <command id="cmd_broken" disabled="true" />
- <command id="cmd_open_vandelay" />
- <command id="cmd_open_conify" />
-</commandset>
-
-
-<!-- Accelerator Keys (Accessor Keys are in DTD's) -->
-<keyset id="menu_frame_keys">
- <key id="new-window-key" modifiers="accel" key="N" command="cmd_new_window"/>
- <key id="new-tab-key" modifiers="accel" key="T" command="cmd_new_tab"/>
- <key id="open-key" modifiers="accel" key="O" command=""/>
- <key id="save-key" modifiers="accel" key="S" command=""/>
- <key id="close-tab-key" modifiers="accel" key="W" command="cmd_close_tab"/>
- <key id="close-all-tabs-key" modifiers="accel,shift" key="W" command="cmd_close_all_tabs"/>
- <key id="close-window-key" modifiers="accel" key="Q" command="cmd_close_window"/>
- <key id="circ-checkout-key" keycode="VK_F1" command="cmd_circ_checkout"/>
- <key id="circ-checkin-key" keycode="VK_F2" command="cmd_circ_checkin"/>
- <key id="reprint-receipt-key" keycode="VK_F9" command="cmd_reprint"/>
- <key id="search-opac-key" keycode="VK_F3" command="cmd_search_opac"/>
- <key id="search-tcn-key" keycode="VK_F3" modifiers="shift" command="cmd_search_tcn"/>
- <key id="patron-search-key" keycode="VK_F4" command="cmd_patron_search"/>
- <key id="copy-status-key" keycode="VK_F5" command="cmd_copy_status"/>
- <key id="circ-in-house-use-key" keycode="VK_F6" command="cmd_in_house_use"/>
- <key id="circ-hold-capture-key" keycode="VK_F2" modifiers="shift" command="cmd_circ_hold_capture"/>
- <key id="patron-register-key" keycode="VK_F1" modifiers="shift" command="cmd_patron_register"/>
- <key id="retrieve_last_patron_key" keycode="VK_F8" command="cmd_retrieve_last_patron"/>
- <key id="retrieve_last_record_key" keycode="VK_F8" modifiers="shift" command="cmd_retrieve_last_record"/>
-</keyset>
-
-
-<!-- The File menu on the main menu -->
-<menu id="main.menu.file" label="&staff.main.menu.file.label;" accesskey="&staff.main.menu.file.accesskey;" >
- <menupopup id="main.menu.file.popup">
- <menuitem label="&staff.main.menu.file.new.label;" accesskey="&staff.main.menu.file.new.accesskey;" key="new-window-key" command="cmd_new_window"/>
- <menuitem label="&staff.main.menu.file.new_tab.label;" accesskey="&staff.main.menu.file.new_tab.accesskey;" key="new-tab-key" command="cmd_new_tab"/>
- <menuseparator />
- <menuitem label="&staff.main.menu.file.close_tab.label;" accesskey="&staff.main.menu.file.close_tab.accesskey;" oldaccesskey="&staff.main.menu.file.close_tab.key;" key="close-tab-key" command="cmd_close_tab"/>
- <menuitem label="&staff.main.menu.tabs.close;" accesskey="&staff.main.menu.tabs.close.accesskey;" key="close-all-tabs-key" command="cmd_close_all_tabs"/>
- <menuitem label="&staff.main.menu.file.close.label;" accesskey="&staff.main.menu.file.close.accesskey;" oldaccesskey="&staff.main.menu.file.close.key;" key="close-window-key" command="cmd_close_window"/>
- <menuseparator />
- <menuitem label="&staff.main.menu.quit;" accesskey="&staff.main.menu.quit.accesskey;" command="cmd_shutdown"/>
- </menupopup>
-</menu>
-
-<!-- The Edit menu on the main menu -->
-<menu id="main.menu.edit" label="&staff.main.menu.edit.label;" accesskey="&staff.main.menu.edit.accesskey;">
- <menupopup id="main.menu.edit.popup">
- <menuitem label="&staff.main.menu.edit.buckets.copies;" command="cmd_edit_copy_buckets" accesskey="&staff.main.menu.edit.buckets.copies.accesskey;"/>
- <menuitem label="&staff.main.menu.edit.buckets.volumes;" command="cmd_edit_volume_buckets" accesskey="&staff.main.menu.edit.buckets.volumes.accesskey;"/>
- <menuitem label="&staff.main.menu.edit.buckets.records;" command="cmd_edit_record_buckets" accesskey="&staff.main.menu.edit.buckets.records.accesskey;"/>
- <menuitem label="&staff.main.menu.edit.buckets.users;" command="cmd_edit_user_buckets" accesskey="&staff.main.menu.edit.buckets.users.accesskey;"/>
- <menuseparator />
- <menuitem label="&staff.main.menu.replace_barcode.label;" command="cmd_replace_barcode"/>
- </menupopup>
-</menu>
-
-<!-- The Circulation menu on the main menu -->
-<menu id="main.menu.circ" label="&staff.main.menu.circ.label;" accesskey="&staff.main.menu.circ.accesskey;">
- <menupopup id="main.menu.circ.popup">
- <menuitem label="&staff.main.menu.circ.checkout.label;" accesskey="&staff.main.menu.circ.checkout.accesskey;" key="circ-checkout-key" command="cmd_circ_checkout"/>
- <menuitem label="&staff.main.menu.circ.checkin.label;" accesskey="&staff.main.menu.circ.checkin.accesskey;" key="circ-checkin-key" command="cmd_circ_checkin"/>
- <menuitem label="&staff.main.menu.circ.patron_registration.label;" accesskey="&staff.main.menu.circ.patron_registration.accesskey;" key="patron-register-key" command="cmd_patron_register"/>
- <menuitem label="&staff.main.menu.circ.patron_retrieve.label;" accesskey="&staff.main.menu.circ.patron_retrieve.accesskey;" command="cmd_retrieve_last_patron" key="retrieve_last_patron_key"/>
- <menuseparator />
- <menuitem label="&staff.main.menu.circ.hold_capture.label;" accesskey="&staff.main.menu.circ.hold_capture.accesskey;" key="circ-hold-capture-key" command="cmd_circ_hold_capture"/>
- <menuitem label="&staff.main.menu.circ.hold_pull.label;" accesskey="&staff.main.menu.circ.hold_pull.accesskey;" command="cmd_circ_hold_pull_list"/>
- <menuitem label="&staff.main.menu.circ.hold_browse.label;" command="cmd_browse_holds_shelf" accesskey="&staff.main.menu.circ.hold_browse.accesskey;"/>
- <menuitem label="&staff.main.menu.circ.place_hold.label;" accesskey="&staff.main.menu.circ.place_hold.accesskey;" key="search-opac-key" command="cmd_search_opac"/>
- <menuseparator />
- <menuitem label="&staff.main.menu.circ.barcode.show_item;" accesskey="&staff.main.menu.circ.barcode.show_item.accesskey;" key="copy-status-key" command="cmd_copy_status"/>
- <menuitem label="&staff.main.menu.circ.barcode.retrieve_patron;" accesskey="&staff.main.menu.circ.barcode.retrieve_patron.accesskey;" key="circ-checkout-key" command="cmd_circ_checkout"/>
- <menuitem label="&staff.main.menu.circ.verify_credentials;" accesskey="&staff.main.menu.circ.verify_credentials.accesskey;" command="cmd_verify_credentials"/>
- <menuitem label="&staff.main.menu.replace_barcode.label;" command="cmd_replace_barcode"/>
- <menuitem label="&staff.main.menu.circ.in_house.label;" accesskey="&staff.main.menu.circ.in_house.accesskey;" key="circ-in-house-use-key" command="cmd_in_house_use"/>
- <menuseparator />
- <menuitem label="&staff.main.menu.circ.reprint.label;" accesskey="&staff.main.menu.circ.reprint.accesskey;" key="reprint-receipt-key" command="cmd_reprint"/>
- <menuitem label="&staff.main.menu.circ.offline.label;" command="cmd_standalone" accesskey="&staff.main.menu.circ.offline.accesskey;"/>
- </menupopup>
-</menu>
-
-<!-- The Cataloging menu on the main menu -->
-<menu id="main.menu.cat" label="&staff.main.menu.cat.label;" accesskey="&staff.main.menu.cat.accesskey;">
- <menupopup id="main.menu.cat.popup">
- <menuitem label="&staff.main.menu.cat.bib_search.label;" accesskey="&staff.main.menu.cat.bib_search.accesskey;" key="search-opac-key" command="cmd_search_opac"/>
- <menuitem label="&staff.main.menu.cat.search_tcn.label;" accesskey="&staff.main.menu.cat.search_tcn.accesskey;" key="search-tcn-key" command="cmd_search_tcn" />
- <menuitem label="&staff.main.menu.cat.search_bib_id.label;" accesskey="&staff.main.menu.cat.search_bib_id.accesskey;" key="search-bib-id-key" command="cmd_search_bib_id" />
- <menuitem label="&staff.main.menu.cat.copy_status.label;" accesskey="&staff.main.menu.cat.copy_status.accesskey;" key="copy-status-key" command="cmd_copy_status"/>
- <menuseparator />
- <!--
- <menuitem disabled="true" label="&staff.main.menu.cat.dedup.label;" accesskey="&staff.main.menu.cat.dedup.accesskey;" command="cmd_broken"/>
- -->
- <menuitem label="&staff.main.menu.cat.edit_copy_buckets.label;" command="cmd_edit_copy_buckets" accesskey="&staff.main.menu.cat.edit_copy_buckets.accesskey;"/>
- <menuitem label="&staff.main.menu.cat.edit_volume_buckets.label;" command="cmd_edit_volume_buckets" accesskey="&staff.main.menu.cat.edit_volume_buckets.accesskey;"/>
- <menuitem label="&staff.main.menu.cat.edit_record_buckets.label;" command="cmd_edit_record_buckets" accesskey="&staff.main.menu.cat.edit_record_buckets.accesskey;"/>
- <menuseparator />
- <menuitem label="&staff.main.menu.cat.create_marc.label;" accesskey="&staff.main.menu.cat.create_marc.accesskey;" command="cmd_create_marc"/>
- <menuitem label="&staff.main.menu.cat.z39_50_import.label;" accesskey="&staff.main.menu.cat.z39_50_import.accesskey;" command="cmd_z39_50_import"/>
- <menuseparator />
- <menuitem label="&staff.main.menu.replace_barcode.label;" command="cmd_replace_barcode"/>
- <menuitem label="&staff.main.menu.cat.retrieve_last_record.label;" accesskey="&staff.main.menu.cat.retrieve_last_record.accesskey;" command="cmd_retrieve_last_record" key="retrieve_last_record_key"/>
- <menuitem label="&staff.main.menu.cat.vandelay.label;" command="cmd_open_vandelay"/>
- </menupopup>
-</menu>
-
-<!-- The Search menu on the main menu -->
-<menu id="main.menu.search" label="&staff.main.menu.search.label;" accesskey="&staff.main.menu.search.accesskey;">
- <menupopup id="main.menu.search.popup">
- <menuitem label="&staff.main.menu.search.patrons.label;" accesskey="&staff.main.menu.search.patrons.accesskey;" key="patron-search-key" command="cmd_patron_search" />
- <menuitem label="&staff.main.menu.search.catalog.label;" accesskey="&staff.main.menu.search.catalog.accesskey;" key="search-opac-key" command="cmd_search_opac" />
- <menuitem label="&staff.main.menu.search.record.label;" accesskey="&staff.main.menu.search.record.accesskey;" key="search-tcn-key" command="cmd_search_tcn" />
- <menuitem label="&staff.main.menu.search.record_via_id.label;" accesskey="&staff.main.menu.search.record_via_id.accesskey;" key="search-bib-id-key" command="cmd_search_bib_id" />
- <menuitem label="&staff.main.menu.search.copies.label;" accesskey="&staff.main.menu.search.copies.accesskey;" key="copy-status-key" command="cmd_copy_status"/>
- <menuitem label="&staff.main.menu.search.patrons_barcode.label;" accesskey="&staff.main.menu.search.patrons_barcode.accesskey;" key="circ-checkout-key" command="cmd_circ_checkout"/>
- </menupopup>
-</menu>
-
-<!-- The Help menu on the main menu -->
-<menu id="main.menu.help" label="&staff.main.menu.help.label;" accesskey="&staff.main.menu.help.accesskey;">
- <menupopup id="main.menu.help.popup">
- <menuitem label="stub" />
- </menupopup>
-</menu>
-
-<!-- The Help menu on the main menu -->
-<menu id="main.menu.admin" label="&staff.main.menu.admin.label;" accesskey="&staff.main.menu.admin.accesskey;" old_accesskey="&staff.main.menu.admin.key;">
- <menupopup id="main.menu.admin.popup">
- <menuitem id="oc_menuitem" label="&staff.main.menu.admin.change_session.label;" label_orig="&staff.main.menu.admin.change_session.label;"
- accesskey="O" command="cmd_change_session"/>
- <menuitem label="&staff.main.menu.admin.offline_xacts.label;" accesskey="&staff.main.menu.admin.offline_xacts.accesskey;" command="cmd_manage_offline_xacts"/>
- <menuitem label="&staff.main.menu.admin.download_patrons.label;" accesskey="&staff.main.menu.admin.download_patrons.accesskey;" command="cmd_download_patrons"/>
- <menuseparator />
- <menuitem label="&staff.main.menu.admin.local_admin.label;" accesskey="&staff.main.menu.admin.local_admin.accesskey;" command="cmd_local_admin"/>
- <menuitem label="&staff.server.admin.index.conify;" command="cmd_open_conify"/>
- <menuitem label="&staff.main.menu.admin.user_edit.label;" accesskey="&staff.main.menu.admin.user_edit.accesskey;" command="cmd_adv_user_edit"/>
- <menuitem label="&staff.main.menu.admin.template_edit.label;" accesskey="&staff.main.menu.admin.template_edit.accesskey;" command="cmd_print_list_template_edit"/>
- <menuitem label="&staff.main.menu.admin.survey_wizard.label;" accesskey="&staff.main.menu.admin.survey_wizard.accesskey;" command="cmd_survey_wizard"/>
- <menuseparator />
- <menu id="main.menu.admin.sub" accesskey="&staff.main.menu.admin.developer.accesskey;" label="&staff.main.menu.admin.developer.label;">
- <menupopup id="main.menu.admin.sub.popup">
- <menuitem label="&staff.main.menu.admin.stat_cat_edit.label;" accesskey="&staff.main.menu.admin.stat_cat_edit.accesskey;" command="cmd_stat_cat_edit"/>
- <menuitem label="&staff.main.menu.admin.non_cat_type_edit.label;" accesskey="&staff.main.menu.admin.non_cat_type_edit.accesskey;" command="cmd_non_cat_type_edit"/>
- <menuitem label="&staff.main.menu.admin.copy_location_edit.label;" accesskey="&staff.main.menu.admin.copy_location_edit.accesskey;" command="cmd_copy_location_edit"/>
- <menuitem label="&staff.main.menu.admin.browse_holds.label;" command="cmd_browse_holds" accesskey="&staff.main.menu.admin.browse_holds.accesskey;"/>
- <menuseparator />
- <menuitem label="&staff.main.menu.admin.public_opac.label;" command="cmd_public_opac" accesskey="&staff.main.menu.admin.public_opac.accesskey;"/>
- <menuitem label="&staff.main.menu.admin.cmd_test.label;" old_accesskey="T" command="cmd_test"/>
- <menuitem label="&staff.main.menu.admin.xuleditor.label;" accesskey="&staff.main.menu.admin.xuleditor.accesskey;" command="cmd_xuleditor"/>
- <menuitem label="&staff.main.menu.admin.fieldmapper.label;" accesskey="&staff.main.menu.admin.fieldmapper.accesskey;" command="cmd_fieldmapper"/>
- <menuitem label="&staff.main.menu.admin.cmd_console.label;" accesskey="&staff.main.menu.admin.cmd_console.accesskey;" command="cmd_console"/>
- <menuitem label="&staff.main.menu.admin.cmd_shell.label;" accesskey="&staff.main.menu.admin.cmd_shell.accesskey;" command="cmd_shell"/>
- <menuitem label="server/main/test.html" accesskey="1" command="cmd_test_html"/>
- <menuitem label="server/main/test.xul" accesskey="2" command="cmd_test_xul"/>
- <menuitem label="&staff.main.menu.admin.clear_cache.label;" accesskey="&staff.main.menu.admin.clear_cache.accesskey;" command="cmd_clear_cache"/>
- <menuitem label="&staff.main.menu.admin.restore_all_tabs.label;" command="cmd_restore_all_tabs"/>
- <menuitem label="&staff.main.menu.admin.extension_manager.label;" command="cmd_extension_manager"/>
- <menuitem label="&staff.main.menu.admin.theme_manager.label;" command="cmd_theme_manager"/>
- <menuitem label="&staff.main.menu.admin.about_config.label;" command="cmd_about_config"/>
- <menuitem label="&staff.main.menu.admin.venkman.label;" oncommand="try{start_venkman();}catch(E){alert(E);}"/>
- </menupopup>
- </menu>
- </menupopup>
-</menu>
-
-
-</overlay>
Deleted: branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/menu_frame_overlay.xul
===================================================================
--- branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/menu_frame_overlay.xul 2009-01-26 04:03:59 UTC (rev 11960)
+++ branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/menu_frame_overlay.xul 2009-01-26 04:08:02 UTC (rev 11961)
@@ -1,59 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE overlay SYSTEM "chrome://open_ils_staff_client/locale/lang.dtd">
-<?xul-overlay href="chrome://open_ils_staff_client/content/main/menu_frame_menus.xul"?>
-<!--
-<?xul-overlay href="/xul/server/main/menu_frame_menus.xul"?>
--->
-<overlay id="menu_frame_overlay"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
-<script>dump('loading menu_frame_overlay.xul\n');</script>
-
-<commandset id="universal_cmds" />
-<keyset id="menu_frame_keys" />
-
-<!-- The top level widget for the staff client -->
-<box id="menu_frame_main" flex="1" orient="vertical">
- <toolbox id="main_toolbox"/>
- <tabbox id="main_tabbox" flex="1" eventnode="window" handleCtrlTab="true">
- <tabs id="main_tabs" closebutton="true">
- <tab id="tab_1" accesskey="&staff.chrome.menu_frame_overlay.tab1.accesskey;" label="&staff.chrome.menu_frame_overlay.tab1.label;" hidden="true" />
- <tab id="tab_2" accesskey="&staff.chrome.menu_frame_overlay.tab2.accesskey;" label="&staff.chrome.menu_frame_overlay.tab2.label;" hidden="true" />
- <tab id="tab_3" accesskey="&staff.chrome.menu_frame_overlay.tab3.accesskey;" label="&staff.chrome.menu_frame_overlay.tab3.label;" hidden="true" />
- <tab id="tab_4" accesskey="&staff.chrome.menu_frame_overlay.tab4.accesskey;" label="&staff.chrome.menu_frame_overlay.tab4.label;" hidden="true" />
- <tab id="tab_5" accesskey="&staff.chrome.menu_frame_overlay.tab5.accesskey;" label="&staff.chrome.menu_frame_overlay.tab5.label;" hidden="true" />
- <tab id="tab_6" accesskey="&staff.chrome.menu_frame_overlay.tab6.accesskey;" label="&staff.chrome.menu_frame_overlay.tab6.label;" hidden="true" />
- <tab id="tab_7" accesskey="&staff.chrome.menu_frame_overlay.tab7.accesskey;" label="&staff.chrome.menu_frame_overlay.tab7.label;" hidden="true" />
- <tab id="tab_8" accesskey="&staff.chrome.menu_frame_overlay.tab8.accesskey;" label="&staff.chrome.menu_frame_overlay.tab8.label;" hidden="true" />
- <tab id="tab_9" accesskey="&staff.chrome.menu_frame_overlay.tab9.accesskey;" label="&staff.chrome.menu_frame_overlay.tab9.label;" hidden="true" />
- </tabs>
- <tabpanels id="main_panels" flex="1">
- <tabpanel id="panel_1"><label value="panel_1"/></tabpanel>
- <tabpanel id="panel_2"><label value="panel_2"/></tabpanel>
- <tabpanel id="panel_3"><label value="panel_3"/></tabpanel>
- <tabpanel id="panel_4"><label value="panel_4"/></tabpanel>
- <tabpanel id="panel_5"><label value="panel_5"/></tabpanel>
- <tabpanel id="panel_6"><label value="panel_6"/></tabpanel>
- <tabpanel id="panel_7"><label value="panel_7"/></tabpanel>
- <tabpanel id="panel_8"><label value="panel_8"/></tabpanel>
- <tabpanel id="panel_9"><label value="panel_9"/></tabpanel>
- </tabpanels>
- </tabbox>
- <toolbox id="entity_toolbox"/>
-</box>
-
-<!-- The main top level menubar -->
-<toolbox id="main_toolbox">
- <menubar id="main_menubar">
- <menu id="main.menu.file" />
- <menu id="main.menu.edit" />
- <menu id="main.menu.search" />
- <menu id="main.menu.circ" />
- <menu id="main.menu.cat" />
- <spacer flex="1" />
- <menu id="main.menu.admin" />
- <menu id="main.menu.help" />
- </menubar>
-</toolbox>
-
-</overlay>
Copied: branches/staff-client-experiment/Open-ILS/xul/staff_client/server/main/menu.js (from rev 11959, branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/menu.js)
===================================================================
--- branches/staff-client-experiment/Open-ILS/xul/staff_client/server/main/menu.js (rev 0)
+++ branches/staff-client-experiment/Open-ILS/xul/staff_client/server/main/menu.js 2009-01-26 04:08:02 UTC (rev 11961)
@@ -0,0 +1,949 @@
+dump('entering main/menu.js\n');
+// vim:noet:sw=4:ts=4:
+
+var offlineStrings;
+offlineStrings = document.getElementById('offlineStrings');
+
+if (typeof main == 'undefined') main = {};
+main.menu = function () {
+
+ JSAN.use('util.error'); this.error = new util.error();
+ JSAN.use('util.window'); this.window = new util.window();
+
+ this.w = window;
+}
+
+main.menu.prototype = {
+
+ 'id_incr' : 0,
+
+ 'url_prefix' : function(url) {
+ if (url.match(/^\//)) url = urls.remote + url;
+ if (! url.match(/^(http|chrome):\/\//) && ! url.match(/^data:/) ) url = 'http://' + url;
+ dump('url_prefix = ' + url + '\n');
+ return url;
+ },
+
+ 'init' : function( params ) {
+
+ urls.remote = params['server'];
+
+ var obj = this;
+
+ JSAN.use('OpenILS.data'); obj.data = new OpenILS.data(); obj.data.init({'via':'stash'});
+
+ var cmd_map = {
+ 'cmd_broken' : [
+ ['oncommand'],
+ function() { alert(offlineStrings.getString('common.unimplemented')); }
+ ],
+
+ /* File Menu */
+ 'cmd_close_window' : [
+ ['oncommand'],
+ function() { window.close(); }
+ ],
+ 'cmd_new_window' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ obj.window.open(
+ obj.url_prefix(urls.XUL_MENU_FRAME)
+ + '?server='+window.escape(urls.remote),
+ 'main' + obj.window.window_name_increment(),
+ 'chrome,resizable');
+ }
+ ],
+ 'cmd_new_tab' : [
+ ['oncommand'],
+ function() { obj.new_tab(null,{'focus':true},null); }
+ ],
+ 'cmd_close_tab' : [
+ ['oncommand'],
+ function() { obj.close_tab(); }
+ ],
+ 'cmd_close_all_tabs' : [
+ ['oncommand'],
+ function() { obj.close_all_tabs(); }
+ ],
+
+ /* Edit Menu */
+ 'cmd_edit_copy_buckets' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ obj.set_tab(obj.url_prefix(urls.XUL_COPY_BUCKETS),{'tab_name':offlineStrings.getString('menu.cmd_edit_copy_buckets.tab')},{});
+ }
+ ],
+ 'cmd_edit_volume_buckets' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ obj.set_tab(obj.url_prefix(urls.XUL_VOLUME_BUCKETS),{'tab_name':offlineStrings.getString('menu.cmd_edit_volume_buckets.tab')},{});
+ }
+ ],
+ 'cmd_edit_record_buckets' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ obj.set_tab(obj.url_prefix(urls.XUL_RECORD_BUCKETS),{'tab_name':offlineStrings.getString('menu.cmd_edit_record_buckets.tab')},{});
+ }
+ ],
+ 'cmd_edit_user_buckets' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ obj.set_tab(obj.url_prefix(urls.XUL_USER_BUCKETS),{'tab_name':offlineStrings.getString('menu.cmd_edit_user_buckets.tab')},{});
+ }
+ ],
+
+
+ 'cmd_replace_barcode' : [
+ ['oncommand'],
+ function() {
+ try {
+ JSAN.use('util.network');
+ var network = new util.network();
+
+ var old_bc = window.prompt(offlineStrings.getString('menu.cmd_replace_barcode.prompt'),'',offlineStrings.getString('menu.cmd_replace_barcode.label'));
+ if (!old_bc) return;
+
+ var copy;
+ try {
+ copy = network.simple_request('FM_ACP_RETRIEVE_VIA_BARCODE',[ old_bc ]);
+ if (typeof copy.ilsevent != 'undefined') throw(copy);
+ if (!copy) throw(copy);
+ } catch(E) {
+ alert(offlineStrings.getFormattedString('menu.cmd_replace_barcode.retrieval.error', [old_bc]) + '\n');
+ return;
+ }
+
+ // Why did I want to do this twice? Because this copy is more fleshed?
+ try {
+ copy = network.simple_request('FM_ACP_RETRIEVE',[ copy.id() ]);
+ if (typeof copy.ilsevent != 'undefined') throw(copy);
+ if (!copy) throw(copy);
+ } catch(E) {
+ try { alert(offlineStrings.getFormattedString('menu.cmd_replace_barcode.retrieval.error', [old_bc]) + '\n' + (typeof E.ilsevent == 'undefined' ? '' : E.textcode + ' : ' + E.desc)); } catch(F) { alert(E + '\n' + F); }
+ return;
+ }
+
+ var new_bc = window.prompt(offlineStrings.getString('menu.cmd_replace_barcode.replacement.prompt'),'',offlineStrings.getString('menu.cmd_replace_barcode.replacement.label'));
+ new_bc = String( new_bc ).replace(/\s/g,'');
+ if (!new_bc) {
+ alert(offlineStrings.getString('menu.cmd_replace_barcode.blank.error'));
+ return;
+ }
+
+ var test = network.simple_request('FM_ACP_RETRIEVE_VIA_BARCODE',[ new_bc ]);
+ if (typeof test.ilsevent == 'undefined') {
+ alert(offlineStrings.getFormattedString('menu.cmd_replace_barcode.duplicate.error', [new_bc]));
+ return;
+ } else {
+ if (test.ilsevent != 1502 /* ASSET_COPY_NOT_FOUND */) {
+ obj.error.standard_unexpected_error_alert(offlineStrings.getFormattedString('menu.cmd_replace_barcode.testing.error', [new_bc]),test);
+ return;
+ }
+ }
+
+ copy.barcode(new_bc); copy.ischanged('1');
+ var r = network.simple_request('FM_ACP_FLESHED_BATCH_UPDATE', [ ses(), [ copy ] ]);
+ if (typeof r.ilsevent != 'undefined') {
+ if (r.ilsevent != 0) {
+ if (r.ilsevent == 5000 /* PERM_FAILURE */) {
+ alert(offlineStrings.getString('menu.cmd_replace_barcode.permission.error'));
+ } else {
+ obj.error.standard_unexpected_error_alert(offlineStrings.getString('menu.cmd_replace_barcode.renaming.error'),r);
+ }
+ }
+ }
+ } catch(E) {
+ obj.error.standard_unexpected_error_alert(offlineStrings.getString('menu.cmd_replace_barcode.renaming.failure'),copy);
+ }
+ }
+ ],
+
+ /* Search Menu */
+ 'cmd_patron_search' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ obj.set_tab(obj.url_prefix(urls.XUL_PATRON_DISPLAY),{},{});
+ }
+ ],
+ 'cmd_search_opac' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ var content_params = { 'session' : ses(), 'authtime' : ses('authtime') };
+ obj.set_tab(obj.url_prefix(urls.XUL_OPAC_WRAPPER), {'tab_name':offlineStrings.getString('menu.cmd_search_opac.tab')}, content_params);
+ }
+ ],
+ 'cmd_search_tcn' : [
+ ['oncommand'],
+ function() {
+ var tcn = prompt(offlineStrings.getString('menu.cmd_search_tcn.tab'),'',offlineStrings.getString('menu.cmd_search_tcn.prompt'));
+
+ function spawn_tcn(r) {
+ for (var i = 0; i < r.count; i++) {
+ var id = r.ids[i];
+ var opac_url = obj.url_prefix( urls.opac_rdetail ) + '?r=' + id;
+ obj.data.stash_retrieve();
+ var content_params = {
+ 'session' : ses(),
+ 'authtime' : ses('authtime'),
+ 'opac_url' : opac_url,
+ };
+ if (i == 0) {
+ obj.set_tab(
+ obj.url_prefix(urls.XUL_OPAC_WRAPPER),
+ {'tab_name':tcn},
+ content_params
+ );
+ } else {
+ obj.new_tab(
+ obj.url_prefix(urls.XUL_OPAC_WRAPPER),
+ {'tab_name':tcn},
+ content_params
+ );
+ }
+ }
+ }
+
+ if (tcn) {
+ JSAN.use('util.network');
+ var network = new util.network();
+ var robj = network.simple_request('FM_BRE_ID_SEARCH_VIA_TCN',[tcn]);
+ if (robj.count != robj.ids.length) throw('FIXME -- FM_BRE_ID_SEARCH_VIA_TCN = ' + js2JSON(robj));
+ if (robj.count == 0) {
+ var robj2 = network.simple_request('FM_BRE_ID_SEARCH_VIA_TCN',[tcn,1]);
+ if (robj2.count == 0) {
+ alert(offlineStrings.getFormattedString('menu.cmd_search_tcn.not_found.error', [tcn]));
+ } else {
+ if ( window.confirm(offlineStrings.getFormattedString('menu.cmd_search_tcn.deleted.error', [tcn])) ) {
+ spawn_tcn(robj2);
+ }
+ }
+ } else {
+ spawn_tcn(robj);
+ }
+ }
+ }
+ ],
+ 'cmd_search_bib_id' : [
+ ['oncommand'],
+ function() {
+ var bib_id = prompt(offlineStrings.getString('menu.cmd_search_bib_id.tab'),'',offlineStrings.getString('menu.cmd_search_bib_id.prompt'));
+ if (!bib_id) return;
+
+ var opac_url = obj.url_prefix( urls.opac_rdetail ) + '?r=' + bib_id;
+ var content_params = {
+ 'session' : ses(),
+ 'authtime' : ses('authtime'),
+ 'opac_url' : opac_url,
+ };
+ obj.set_tab(
+ obj.url_prefix(urls.XUL_OPAC_WRAPPER),
+ {'tab_name':'#' + bib_id},
+ content_params
+ );
+ }
+ ],
+ 'cmd_copy_status' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ obj.set_tab(obj.url_prefix(urls.XUL_COPY_STATUS),{},{});
+ }
+ ],
+
+ /* Circulation Menu */
+ 'cmd_patron_register' : [
+ ['oncommand'],
+ function() {
+ function spawn_editor(p) {
+ var url = urls.XUL_PATRON_EDIT;
+ var param_count = 0;
+ for (var i in p) {
+ if (param_count++ == 0) url += '?'; else url += '&';
+ url += i + '=' + window.escape(p[i]);
+ }
+ var loc = obj.url_prefix( urls.XUL_REMOTE_BROWSER ) + '?url=' + window.escape( url );
+ obj.new_tab(
+ loc,
+ {},
+ {
+ 'show_print_button' : true ,
+ 'tab_name' : offline.getString('menu.cmd_patron_register.related.tab'),
+ 'passthru_content_params' : {
+ 'spawn_search' : function(s) { obj.spawn_search(s); },
+ 'spawn_editor' : spawn_editor,
+ }
+ }
+ );
+ }
+
+ obj.data.stash_retrieve();
+ var loc = obj.url_prefix( urls.XUL_REMOTE_BROWSER )
+ + '?url=' + window.escape( urls.XUL_PATRON_EDIT + '?ses=' + window.escape( ses() ) );
+ obj.set_tab(
+ loc,
+ {},
+ {
+ 'show_print_button' : true ,
+ 'tab_name' : offlineStrings.getString('menu.cmd_patron_register.tab'),
+ 'passthru_content_params' : {
+ 'spawn_search' : function(s) { obj.spawn_search(s); },
+ 'spawn_editor' : spawn_editor,
+ }
+ }
+ );
+ }
+ ],
+ 'cmd_circ_checkin' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ obj.set_tab(obj.url_prefix(urls.XUL_CHECKIN),{},{});
+ }
+ ],
+ 'cmd_circ_checkout' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ obj.set_tab(obj.url_prefix(urls.XUL_PATRON_BARCODE_ENTRY),{},{});
+ }
+ ],
+ 'cmd_circ_hold_capture' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ obj.set_tab(obj.url_prefix(urls.XUL_CHECKIN)+'?hold_capture=1',{},{});
+ }
+ ],
+ 'cmd_browse_holds' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ obj.set_tab(obj.url_prefix(urls.XUL_HOLDS_BROWSER),{ 'tab_name' : offlineStrings.getString('menu.cmd_browse_holds.tab') },{});
+ }
+ ],
+ 'cmd_browse_holds_shelf' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ obj.set_tab(obj.url_prefix(urls.XUL_HOLDS_BROWSER)+'?shelf=1',{ 'tab_name' : offlineStrings.getString('menu.cmd_browse_holds_shelf.tab') },{});
+ }
+ ],
+ 'cmd_circ_hold_pull_list' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ var loc = urls.XUL_REMOTE_BROWSER + '?url=' + window.escape(
+ obj.url_prefix(urls.XUL_HOLD_PULL_LIST) + '?ses='+window.escape(ses())
+ );
+ obj.set_tab( loc, {'tab_name' : offlineStrings.getString('menu.cmd_browse_hold_pull_list.tab')}, { 'show_print_button' : true } );
+ }
+ ],
+
+ 'cmd_in_house_use' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ obj.set_tab(obj.url_prefix(urls.XUL_IN_HOUSE_USE),{},{});
+ }
+ ],
+
+ 'cmd_standalone' : [
+ ['oncommand'],
+ function() {
+ obj.set_tab(obj.url_prefix(urls.XUL_STANDALONE),{},{});
+ }
+ ],
+
+ 'cmd_local_admin' : [
+ ['oncommand'],
+ function() {
+ //obj.set_tab(obj.url_prefix(urls.XUL_LOCAL_ADMIN)+'?ses='+window.escape(ses())+'&session='+window.escape(ses()),{},{});
+ var loc = urls.XUL_REMOTE_BROWSER + '?url=' + window.escape(
+ urls.XUL_LOCAL_ADMIN+'?ses='+window.escape(ses())+'&session='+window.escape(ses())
+ );
+ obj.set_tab(
+ loc,
+ {'tab_name' : offlineStrings.getString('menu.cmd_local_admin.tab'), 'browser' : true },
+ { 'no_xulG' : false, 'show_nav_buttons' : true, 'show_print_button' : true }
+ );
+
+ }
+ ],
+
+ 'cmd_open_vandelay' : [
+ ['oncommand'],
+ function() {
+ var loc = urls.XUL_REMOTE_BROWSER + '?url=' +
+ window.escape(urls.VANDELAY+'?ses='+window.escape(ses()));
+ obj.set_tab(
+ loc,
+ {'tab_name' : offlineStrings.getString('menu.cmd_open_vandelay.tab'), 'browser' : true },
+ {'no_xulG' : false, 'show_print_button' : false }
+ );
+
+ }
+ ],
+
+ 'cmd_open_conify' : [
+ ['oncommand'],
+ function() {
+ var loc = urls.XUL_REMOTE_BROWSER + '?url=' +
+ window.escape(urls.CONIFY+'?ses='+window.escape(ses()));
+ obj.set_tab(
+ loc,
+ {'tab_name' : offlineStrings.getString('menu.cmd_open_conify.tab'), 'browser' : true },
+ {'no_xulG' : false, 'show_print_button' : false }
+ );
+
+ }
+ ],
+
+ 'cmd_reprint' : [
+ ['oncommand'],
+ function() {
+ try {
+ JSAN.use('util.print'); var print = new util.print();
+ print.reprint_last();
+ } catch(E) {
+ alert(E);
+ }
+ }
+ ],
+
+ 'cmd_retrieve_last_patron' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ if (!obj.data.last_patron) {
+ alert(offlineStrings.getString('menu.cmd_retrieve_last_patron.session.error'));
+ return;
+ }
+ var url = obj.url_prefix( urls.XUL_PATRON_DISPLAY ); // + '?id=' + window.escape( obj.data.last_patron ) );
+ obj.set_tab( url, {}, { 'id' : obj.data.last_patron } );
+ }
+ ],
+
+ 'cmd_retrieve_last_record' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ if (!obj.data.last_record) {
+ alert(offlineStrings.getString('menu.cmd_retrieve_last_record.session.error'));
+ return;
+ }
+ var opac_url = obj.url_prefix( urls.opac_rdetail ) + '?r=' + obj.data.last_record;
+ var content_params = {
+ 'session' : ses(),
+ 'authtime' : ses('authtime'),
+ 'opac_url' : opac_url,
+ };
+ obj.set_tab(
+ obj.url_prefix(urls.XUL_OPAC_WRAPPER),
+ {'tab_name' : offlineStrings.getString('menu.cmd_retrieve_last_record.status')},
+ content_params
+ );
+ }
+ ],
+
+ 'cmd_verify_credentials' : [
+ ['oncommand'],
+ function() {
+ obj.set_tab(
+ obj.url_prefix(urls.XUL_VERIFY_CREDENTIALS),
+ { 'tab_name' : offlineStrings.getString('menu.cmd_verify_credentials.tabname') },
+ {}
+ );
+ }
+ ],
+
+ /* Cataloging Menu */
+ 'cmd_z39_50_import' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ obj.set_tab(obj.url_prefix(urls.XUL_Z3950_IMPORT),{},{});
+ }
+ ],
+ 'cmd_create_marc' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ obj.set_tab(obj.url_prefix(urls.XUL_MARC_NEW),{},{});
+ }
+ ],
+
+ /* Admin menu */
+ 'cmd_change_session' : [
+ ['oncommand'],
+ function() {
+ try {
+ obj.data.stash_retrieve();
+ JSAN.use('util.network'); var network = new util.network();
+ var x = document.getElementById('oc_menuitem');
+ var x_label = x.getAttribute('label_orig');
+ var temp_au = js2JSON( obj.data.list.au[0] );
+ var temp_ses = js2JSON( obj.data.session );
+ if (obj.data.list.au.length > 1) {
+ obj.data.list.au = [ obj.data.list.au[1] ];
+ obj.data.stash('list');
+ network.reset_titlebars( obj.data );
+ x.setAttribute('label', x_label );
+ network.simple_request('AUTH_DELETE', [ obj.data.session.key ] );
+ obj.data.session = obj.data.previous_session;
+ obj.data.stash('session');
+ try {
+ var ios = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService);
+ var cookieUri = ios.newURI("http://" + obj.data.server_unadorned, null, null);
+ var cookieUriSSL = ios.newURI("https://" + obj.data.server_unadorned, null, null);
+ var cookieSvc = Components.classes["@mozilla.org/cookieService;1"].getService(Components.interfaces.nsICookieService);
+
+ cookieSvc.setCookieString(cookieUri, null, "ses="+obj.data.session.key, null);
+ cookieSvc.setCookieString(cookieUriSSL, null, "ses="+obj.data.session.key, null);
+
+ } catch(E) {
+ alert(offlineStrings.getFormattedString(main.session_cookie.error, [E]));
+ }
+
+ removeCSSClass(document.getElementById('main_tabbox'),'operator_change');
+ } else {
+ if (network.get_new_session(offlineStrings.getString('menu.cmd_chg_session.label'),{'url_prefix':obj.url_prefix})) {
+ obj.data.stash_retrieve();
+ obj.data.list.au[1] = JSON2js( temp_au );
+ obj.data.stash('list');
+ obj.data.previous_session = JSON2js( temp_ses );
+ obj.data.stash('previous_session');
+ x.setAttribute('label', offlineStrings.getFormattedString('menu.cmd_chg_session.operator.label', [obj.data.list.au[1].usrname()]) );
+ addCSSClass(document.getElementById('main_tabbox'),'operator_change');
+ }
+ }
+ } catch(E) {
+ obj.error.standard_unexpected_error_alert('cmd_change_session',E);
+ }
+ }
+ ],
+ 'cmd_manage_offline_xacts' : [
+ ['oncommand'],
+ function() {
+ obj.set_tab(obj.url_prefix(urls.XUL_OFFLINE_MANAGE_XACTS), {'tab_name' : offlineStrings.getString('menu.cmd_manage_offline_xacts.tab')}, {});
+ }
+ ],
+ 'cmd_download_patrons' : [
+ ['oncommand'],
+ function() {
+ try {
+ netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
+ var x = new XMLHttpRequest();
+ var url = 'http://' + XML_HTTP_SERVER + '/standalone/list.txt';
+ x.open("GET",url,false);
+ x.send(null);
+ if (x.status == 200) {
+ JSAN.use('util.file'); var file = new util.file('offline_patron_list');
+ file.write_content('truncate',x.responseText);
+ file.close();
+ file = new util.file('offline_patron_list.date');
+ file.write_content('truncate',new Date());
+ file.close();
+ alert(offlineStrings.getString('menu.cmd_download_patrons.complete.status'));
+ } else {
+ alert(offlineStrings.getFormattedString('menu.cmd_download_patrons.error', [x.status, x.statusText]));
+ }
+ } catch(E) {
+ obj.error.standard_unexpected_error_alert('cmd_download_patrons',E);
+ }
+ }
+ ],
+ 'cmd_adv_user_edit' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ obj.set_tab(obj.url_prefix(urls.XUL_PATRON_BARCODE_ENTRY), {}, { 'perm_editor' : true });
+ }
+ ],
+ 'cmd_print_list_template_edit' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ obj.set_tab(obj.url_prefix(urls.XUL_PRINT_LIST_TEMPLATE_EDITOR), {}, {});
+ }
+ ],
+ 'cmd_stat_cat_edit' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ obj.set_tab(obj.url_prefix(urls.XUL_STAT_CAT_EDIT) + '?ses='+window.escape(ses()), {'tab_name' : offlineStrings.getString('menu.cmd_stat_cat_edit.tab')},{});
+ }
+ ],
+ 'cmd_non_cat_type_edit' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ obj.set_tab(obj.url_prefix(urls.XUL_NON_CAT_LABEL_EDIT) + '?ses='+window.escape(ses()), {'tab_name' : offlineStrings.getString('menu.cmd_non_cat_type_edit.tab')},{});
+ }
+ ],
+ 'cmd_copy_location_edit' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ obj.set_tab(obj.url_prefix(urls.XUL_COPY_LOCATION_EDIT) + '?ses='+window.escape(ses()),{'tab_name' : offlineStrings.getString('menu.cmd_copy_location_edit.tab')},{});
+ }
+ ],
+ 'cmd_test' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ var content_params = { 'session' : ses(), 'authtime' : ses('authtime') };
+ obj.set_tab(obj.url_prefix(urls.XUL_OPAC_WRAPPER), {}, content_params);
+ }
+ ],
+ 'cmd_test_html' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ obj.set_tab(obj.url_prefix(urls.TEST_HTML) + '?ses='+window.escape(ses()),{ 'browser' : true },{});
+ }
+ ],
+ 'cmd_test_xul' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ obj.set_tab(obj.url_prefix(urls.TEST_XUL) + '?ses='+window.escape(ses()),{ 'browser' : true },{});
+ }
+ ],
+ 'cmd_console' : [
+ ['oncommand'],
+ function() {
+ obj.set_tab(obj.url_prefix(urls.XUL_DEBUG_CONSOLE),{'tab_name' : offlineStrings.getString('menu.cmd_console.tab')},{});
+ }
+ ],
+ 'cmd_shell' : [
+ ['oncommand'],
+ function() {
+ obj.set_tab(obj.url_prefix(urls.XUL_DEBUG_SHELL),{'tab_name' : offlineStrings.getString('menu.cmd_shell.tab')},{});
+ }
+ ],
+ 'cmd_xuleditor' : [
+ ['oncommand'],
+ function() {
+ obj.set_tab(obj.url_prefix(urls.XUL_DEBUG_XULEDITOR),{'tab_name' : offlineStrings.getString('menu.cmd_xuleditor.tab')},{});
+ }
+ ],
+ 'cmd_fieldmapper' : [
+ ['oncommand'],
+ function() {
+ obj.set_tab(obj.url_prefix(urls.XUL_DEBUG_FIELDMAPPER),{'tab_name' : offlineStrings.getString('menu.cmd_fieldmapper.tab')},{});
+ }
+ ],
+ 'cmd_survey_wizard' : [
+ ['oncommand'],
+ function() {
+ obj.data.stash_retrieve();
+ obj.window.open(obj.url_prefix(urls.XUL_SURVEY_WIZARD),'survey_wizard','chrome');
+ }
+ ],
+ 'cmd_public_opac' : [
+ ['oncommand'],
+ function() {
+ var loc = urls.XUL_REMOTE_BROWSER + '?url=' + window.escape(
+ urls.remote
+ );
+ obj.set_tab(
+ loc,
+ {'tab_name' : offlineStrings.getString('menu.cmd_public_opac.tab'), 'browser' : true},
+ { 'no_xulG' : true, 'show_nav_buttons' : true, 'show_print_button' : true }
+ );
+ }
+ ],
+ 'cmd_clear_cache' : [
+ ['oncommand'],
+ function clear_the_cache() {
+ try {
+ var cacheClass = Components.classes["@mozilla.org/network/cache-service;1"];
+ var cacheService = cacheClass.getService(Components.interfaces.nsICacheService);
+ cacheService.evictEntries(Components.interfaces.nsICache.STORE_ON_DISK);
+ cacheService.evictEntries(Components.interfaces.nsICache.STORE_IN_MEMORY);
+ } catch(E) {
+ dump(E+'\n');alert(E);
+ }
+ }
+ ],
+ 'cmd_restore_all_tabs' : [
+ ['oncommand'],
+ function() {
+ var tabs = obj.controller.view.tabs;
+ for (var i = 0; i < tabs.childNodes.length; i++) {
+ tabs.childNodes[i].hidden = false;
+ }
+ }
+ ],
+ 'cmd_extension_manager' : [
+ ['oncommand'],
+ function() {
+ obj.set_tab('chrome://mozapps/content/extensions/extensions.xul?type=extensions',{'tab_name' : offlineStrings.getString('menu.cmd_extension_manager.tab')},{});
+ }
+ ],
+ 'cmd_theme_manager' : [
+ ['oncommand'],
+ function() {
+ obj.set_tab('chrome://mozapps/content/extensions/extensions.xul?type=themes',{'tab_name' : offlineStrings.getString('menu.cmd_theme_manager.tab')},{});
+ }
+ ],
+ 'cmd_about_config' : [
+ ['oncommand'],
+ function() {
+ obj.set_tab('chrome://global/content/config.xul',{'tab_name' : 'about:config'},{});
+ }
+ ],
+ 'cmd_shutdown' : [
+ ['oncommand'],
+ function() {
+ if (window.confirm(offlineStrings.getString('menu.cmd_shutdown.prompt'))) {
+ var windowManager = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService();
+ var windowManagerInterface = windowManager.QueryInterface(Components.interfaces.nsIWindowMediator);
+ var enumerator = windowManagerInterface.getEnumerator(null);
+ var w; // close all other windows
+ while ( w = enumerator.getNext() ) {
+ if (w != window) w.close();
+ }
+ window.close();
+ }
+ }
+ ],
+ };
+
+ JSAN.use('util.controller');
+ var cmd;
+ obj.controller = new util.controller();
+ obj.controller.init( { 'window_knows_me_by' : 'g.menu.controller', 'control_map' : cmd_map } );
+
+ obj.controller.view.tabbox = window.document.getElementById('main_tabbox');
+ obj.controller.view.tabs = obj.controller.view.tabbox.firstChild;
+ obj.controller.view.panels = obj.controller.view.tabbox.lastChild;
+
+ obj.new_tab(null,{'focus':true},null);
+
+ obj.init_tab_focus_handlers();
+ },
+
+ 'spawn_search' : function(s) {
+ var obj = this;
+ obj.error.sdump('D_TRACE', offlineStrings.getFormattedString('menu.spawn_search.msg', [js2JSON(s)]) );
+ obj.data.stash_retrieve();
+ var loc = obj.url_prefix(urls.XUL_PATRON_DISPLAY);
+ loc += '?doit=1&query=' + window.escape(js2JSON(s));
+ obj.new_tab( loc, {}, {} );
+ },
+
+ 'init_tab_focus_handlers' : function() {
+ var obj = this;
+ for (var i = 0; i < obj.controller.view.tabs.childNodes.length; i++) {
+ var tab = obj.controller.view.tabs.childNodes[i];
+ var panel = obj.controller.view.panels.childNodes[i];
+ tab.addEventListener(
+ 'command',
+ function(p) {
+ return function() {
+ try {
+ if (p
+ && p.firstChild
+ && ( p.firstChild.nodeName == 'iframe' || p.firstChild.nodeName == 'browser' )
+ && p.firstChild.contentWindow
+ ) {
+ if (typeof p.firstChild.contentWindow.default_focus == 'function') {
+ p.firstChild.contentWindow.default_focus();
+ } else {
+ //p.firstChild.contentWindow.firstChild.focus();
+ }
+ }
+ } catch(E) {
+ obj.error.sdump('D_ERROR','init_tab_focus_handler: ' + js2JSON(E));
+ }
+ }
+ }(panel),
+ false
+ );
+ }
+ },
+
+ 'close_all_tabs' : function() {
+ var obj = this;
+ try {
+ var count = obj.controller.view.tabs.childNodes.length;
+ for (var i = 0; i < count; i++) obj.close_tab();
+ setTimeout( function(){ obj.controller.view.tabs.firstChild.focus(); }, 0);
+ } catch(E) {
+ obj.error.standard_unexpected_error_alert(offlineStrings.getString('menu.close_all_tabs.error'),E);
+ }
+ },
+
+ 'close_tab' : function () {
+ var idx = this.controller.view.tabs.selectedIndex;
+ var tab = this.controller.view.tabs.childNodes[idx];
+ var panel = this.controller.view.panels.childNodes[ idx ];
+ while ( panel.lastChild ) panel.removeChild( panel.lastChild );
+ if (idx == 0) {
+ try {
+ this.controller.view.tabs.advanceSelectedTab(+1);
+ } catch(E) {
+ this.error.sdump('D_TAB','failed tabs.advanceSelectedTab(+1):'+js2JSON(E) + '\n');
+ try {
+ this.controller.view.tabs.advanceSelectedTab(-1);
+ } catch(E) {
+ this.error.sdump('D_TAB','failed again tabs.advanceSelectedTab(-1):'+
+ js2JSON(E) + '\n');
+ }
+ }
+ } else {
+ try {
+ this.controller.view.tabs.advanceSelectedTab(-1);
+ } catch(E) {
+ this.error.sdump('D_TAB','failed tabs.advanceSelectedTab(-1):'+js2JSON(E) + '\n');
+ try {
+ this.controller.view.tabs.advanceSelectedTab(+1);
+ } catch(E) {
+ this.error.sdump('D_TAB','failed again tabs.advanceSelectedTab(+1):'+
+ js2JSON(E) + '\n');
+ }
+ }
+
+ }
+
+ this.error.sdump('D_TAB','\tnew tabbox.selectedIndex = ' + this.controller.view.tabbox.selectedIndex + '\n');
+
+ this.controller.view.tabs.childNodes[ idx ].hidden = true;
+ this.error.sdump('D_TAB','tabs.childNodes[ ' + idx + ' ].hidden = true;\n');
+
+ // Make sure we keep at least one tab open.
+ var tab_flag = true;
+ for (var i = 0; i < this.controller.view.tabs.childNodes.length; i++) {
+ var tab = this.controller.view.tabs.childNodes[i];
+ if (!tab.hidden)
+ tab_flag = false;
+ }
+ if (tab_flag) {
+ this.controller.view.tabs.selectedIndex = 0;
+ this.new_tab();
+ }
+ },
+
+ 'find_free_tab' : function() {
+ var last_not_hidden = -1;
+ for (var i = 0; i<this.controller.view.tabs.childNodes.length; i++) {
+ var tab = this.controller.view.tabs.childNodes[i];
+ if (!tab.hidden)
+ last_not_hidden = i;
+ }
+ if (last_not_hidden == this.controller.view.tabs.childNodes.length - 1)
+ last_not_hidden = -1;
+ // If the one next to last_not_hidden is hidden, we want it.
+ // Basically, we fill in tabs after existing tabs for as
+ // long as possible.
+ var idx = last_not_hidden + 1;
+ var candidate = this.controller.view.tabs.childNodes[ idx ];
+ if (candidate.hidden)
+ return idx;
+ // Alright, find the first hidden then
+ for (var i = 0; i<this.controller.view.tabs.childNodes.length; i++) {
+ var tab = this.controller.view.tabs.childNodes[i];
+ if (tab.hidden)
+ return i;
+ }
+ return -1;
+ },
+
+ 'new_tab' : function(url,params,content_params) {
+ var tc = this.find_free_tab();
+ if (tc == -1) { return null; } // 9 tabs max
+ var tab = this.controller.view.tabs.childNodes[ tc ];
+ tab.hidden = false;
+ if (!content_params) content_params = {};
+ if (!params) params = {};
+ if (!params.tab_name) params.tab_name = offlineStrings.getString('menu.new_tab.tab');
+ if (!params.nofocus) params.focus = true; /* make focus the default */
+ try {
+ if (params.focus) this.controller.view.tabs.selectedIndex = tc;
+ params.index = tc;
+ this.set_tab(url,params,content_params);
+ } catch(E) {
+ this.error.sdump('D_ERROR',E);
+ }
+ },
+
+ 'set_tab' : function(url,params,content_params) {
+ var obj = this;
+ if (!url) url = '/xul/server/';
+ if (!url.match(/:\/\//) && !url.match(/^data:/)) url = urls.remote + url;
+ if (!params) params = {};
+ if (!content_params) content_params = {};
+ var idx = this.controller.view.tabs.selectedIndex;
+ if (params && typeof params.index != 'undefined') idx = params.index;
+ var tab = this.controller.view.tabs.childNodes[ idx ];
+ if (params.focus) tab.focus();
+ var panel = this.controller.view.panels.childNodes[ idx ];
+ while ( panel.lastChild ) panel.removeChild( panel.lastChild );
+
+ content_params.new_tab = function(a,b,c) { return obj.new_tab(a,b,c); };
+ content_params.set_tab = function(a,b,c) { return obj.set_tab(a,b,c); };
+ content_params.set_tab_name = function(name) { tab.setAttribute('label',(idx + 1) + ' ' + name); };
+ content_params.open_chrome_window = function(a,b,c) { return obj.window.open(a,b,c); };
+ content_params.url_prefix = function(url) { return obj.url_prefix(url); };
+ if (params && params.tab_name) content_params.set_tab_name( params.tab_name );
+
+ var frame;
+ try {
+ if (params && typeof params.browser != 'undefined') {
+ obj.id_incr++;
+ frame = this.w.document.createElement('browser');
+ frame.setAttribute('flex','1');
+ frame.setAttribute('type','content');
+ frame.setAttribute('id','frame_'+obj.id_incr);
+ panel.appendChild(frame);
+ try {
+ dump('creating browser with src = ' + url + '\n');
+ JSAN.use('util.browser');
+ var b = new util.browser();
+ b.init(
+ {
+ 'url' : url,
+ 'push_xulG' : true,
+ 'alt_print' : false,
+ 'browser_id' : 'frame_'+obj.id_incr,
+ 'passthru_content_params' : content_params,
+ }
+ );
+ } catch(E) {
+ alert(E);
+ }
+ } else {
+ frame = this.w.document.createElement('iframe');
+ frame.setAttribute('flex','1');
+ panel.appendChild(frame);
+ dump('creating iframe with src = ' + url + '\n');
+ frame.setAttribute('src',url);
+ try {
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+ var cw = frame.contentWindow;
+ if (typeof cw.wrappedJSObject != 'undefined') cw = cw.wrappedJSObject;
+ cw.IAMXUL = true;
+ cw.xulG = content_params;
+ } catch(E) {
+ this.error.sdump('D_ERROR', 'main.menu: ' + E);
+ }
+ }
+ } catch(E) {
+ this.error.sdump('D_ERROR', 'main.menu:2: ' + E);
+ alert(offlineStrings.getString('menu.set_tab.error'));
+ }
+
+ return frame;
+ }
+
+}
+
+dump('exiting main/menu.js\n');
Copied: branches/staff-client-experiment/Open-ILS/xul/staff_client/server/main/menu_frame.xul (from rev 11959, branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/menu_frame.xul)
===================================================================
--- branches/staff-client-experiment/Open-ILS/xul/staff_client/server/main/menu_frame.xul (rev 0)
+++ branches/staff-client-experiment/Open-ILS/xul/staff_client/server/main/menu_frame.xul 2009-01-26 04:08:02 UTC (rev 11961)
@@ -0,0 +1,96 @@
+<?xml version="1.0"?>
+<!-- Application: Evergreen Staff Client -->
+<!-- Screen: Main, Menu and Tab Navigation -->
+<!--
+ vim:noet:sw=4:ts=4:
+-->
+
+<!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
+<!-- STYLESHEETS -->
+<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
+<?xml-stylesheet href="chrome://open_ils_staff_client/skin/global.css" type="text/css"?>
+<!--
+<?xml-stylesheet href="/xul/server/skin/global.css" type="text/css"?>
+<?xml-stylesheet href="/xul/server/skin/menu_frame.css" type="text/css"?>
+-->
+
+<!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
+<!-- LOCALIZATION -->
+<!DOCTYPE window SYSTEM "chrome://open_ils_staff_client/locale/lang.dtd">
+
+<!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
+<!-- OVERLAYS -->
+<?xul-overlay href="chrome://open_ils_staff_client/content/main/menu_frame_overlay.xul"?>
+<?xul-overlay href="chrome://open_ils_staff_client/content/OpenILS/util_overlay_chrome.xul"?>
+<!--
+<?xul-overlay href="/xul/server/main/menu_frame_overlay.xul"?>
+<?xul-overlay href="/xul/server/OpenILS/util_overlay.xul"?>
+-->
+
+<window id="menu_frame_win"
+ onload="try { my_init(); } catch(E) { alert(E); }"
+ orient="vertical" width="800" height="500"
+ sizemode="maximized" persist="width height" title="&staff.main.menu.title;"
+ 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; var g = {};</script>
+ <scripts id="openils_util_scripts"/>
+
+ <script type="text/javascript" src="JSAN.js"/>
+ <script type="text/javascript" src="constants.js"/>
+ <script type="text/javascript" src="../OpenILS/util/fmall.js"/>
+ <script type="text/javascript">
+ <![CDATA[
+ function my_init() {
+ try {
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+ if (typeof JSAN == 'undefined') { throw(document.getElementById('offlineStrings').getString('common.jsan.missing')); }
+ JSAN.errorLevel = "die"; // none, warn, or die
+ /*
+ JSAN.addRepository('/xul/server/');
+ */
+ JSAN.addRepository('..');
+ JSAN.use('util.error'); g.error = new util.error();
+ g.error.sdump('D_TRACE','my_init() for menu_frame.xul');
+
+ g.cgi = new CGI();
+
+ JSAN.use('main.menu'); g.menu = new main.menu();
+ g.menu.init( {
+ 'server' : g.cgi.param('server'),
+ } );
+
+ JSAN.use('util.window'); g.window = new util.window();
+
+ JSAN.use('OpenILS.data'); g.data = new OpenILS.data(); g.data.init({'via':'stash'});
+ XML_HTTP_SERVER = g.data.server_unadorned;
+
+ document.title = g.window.appshell_name_increment() + ': ' + g.data.list.au[0].usrname() + '@' + g.data.ws_name + '.' + g.data.server_unadorned;
+
+ } catch(E) {
+ var err_msg = document.getElementById("offlineStrings").getFormattedString("common.exception", ["menu_frame.xul", E]);
+ try { g.error.sdump('D_ERROR',err_msg); } catch(E) { dump(err_msg); }
+ alert(err_msg);
+ }
+ }
+ ]]>
+ </script>
+ <script src="chrome://venkman/content/venkman-overlay.js"/>
+
+ <messagecatalog id="offlineStrings" src="chrome://open_ils_staff_client/locale/offline.properties" />
+
+ <commandset id="universal_cmds" />
+
+ <keyset id="menu_frame_keys" />
+
+ <popupset id="universal_popupset" />
+
+ <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
+ <!-- CONTENT -->
+
+ <box id="menu_frame_main" class="my_overflow"/>
+
+</window>
+
Copied: branches/staff-client-experiment/Open-ILS/xul/staff_client/server/main/menu_frame_menus.xul (from rev 11959, branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/menu_frame_menus.xul)
===================================================================
--- branches/staff-client-experiment/Open-ILS/xul/staff_client/server/main/menu_frame_menus.xul (rev 0)
+++ branches/staff-client-experiment/Open-ILS/xul/staff_client/server/main/menu_frame_menus.xul 2009-01-26 04:08:02 UTC (rev 11961)
@@ -0,0 +1,237 @@
+<?xml version="1.0"?>
+<!DOCTYPE overlay SYSTEM "chrome://open_ils_staff_client/locale/lang.dtd">
+<overlay id="menu_frame_menus"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+<script>dump('loading menu_frame_menus.xul\n');</script>
+
+<commandset id="universal_cmds">
+ <command id="cmd_forward"/>
+ <command id="cmd_back"/>
+ <command id="cmd_close_window" key="close-window-key" />
+ <command id="cmd_new_window" key="new-window-key" />
+ <command id="cmd_new_tab" key="new-tab-key" />
+ <command id="cmd_close_tab" key="close-tab-key" />
+ <command id="cmd_close_all_tabs" key="close-all-tabs-key" />
+ <command id="cmd_shutdown" />
+
+ <command id="cmd_edit_copy_buckets" />
+ <command id="cmd_edit_volume_buckets" />
+ <command id="cmd_edit_record_buckets" />
+ <command id="cmd_edit_user_buckets" />
+
+ <command id="cmd_cat_main" key="cat-main-key" />
+ <command id="cmd_create_marc" />
+ <command id="cmd_circ_checkout" key="circ-checkout-key" />
+ <command id="cmd_patron_search" key="patron-search-key" />
+ <command id="cmd_circ_checkin" key="circ-checkin-key" />
+ <command id="cmd_circ_hold_capture" key="circ-hold-capture-key" />
+ <command id="cmd_circ_hold_pull_list" />
+ <command id="cmd_browse_holds" />
+ <command id="cmd_browse_holds_shelf" />
+ <command id="cmd_in_house_use" key="circ-in-house-use" />
+ <command id="cmd_copy_status" key="copy-status-key" />
+ <command id="cmd_search_opac" key="search-opac-key" />
+ <command id="cmd_public_opac" />
+ <command id="cmd_search_tcn" />
+ <command id="cmd_search_bib_id" />
+ <command id="cmd_patron_register" key="patron-register-key" />
+ <command id="cmd_standalone" />
+ <command id="cmd_survey_wizard" />
+ <command id="cmd_stat_cat_edit" />
+ <command id="cmd_non_cat_type_edit" />
+ <command id="cmd_copy_location_edit" />
+ <command id="cmd_print_list_template_edit" />
+ <command id="cmd_z39_50_import" />
+ <command id="cmd_create_new_marc_book" />
+ <command id="cmd_replace_barcode" />
+ <command id="cmd_reprint" />
+ <command id="cmd_retrieve_last_patron" />
+ <command id="cmd_retrieve_last_record" />
+ <command id="cmd_verify_credentials" />
+
+ <command id="cmd_change_session" />
+ <command id="cmd_manage_offline_xacts" />
+ <command id="cmd_download_patrons" />
+ <command id="cmd_local_admin" />
+
+ <command id="cmd_extension_manager"/>
+ <command id="cmd_theme_manager"/>
+ <command id="cmd_about_config"/>
+
+ <command id="cmd_adv_user_edit" />
+ <command id="cmd_console" />
+ <command id="cmd_shell" />
+ <command id="cmd_xuleditor" />
+ <command id="cmd_fieldmapper" />
+ <command id="cmd_test_html" />
+ <command id="cmd_test_xul" />
+ <command id="cmd_clear_cache" />
+ <command id="cmd_restore_all_tabs" />
+
+ <command id="cmd_test" />
+ <command id="cmd_broken" disabled="true" />
+ <command id="cmd_open_vandelay" />
+ <command id="cmd_open_conify" />
+</commandset>
+
+
+<!-- Accelerator Keys (Accessor Keys are in DTD's) -->
+<keyset id="menu_frame_keys">
+ <key id="new-window-key" modifiers="accel" key="N" command="cmd_new_window"/>
+ <key id="new-tab-key" modifiers="accel" key="T" command="cmd_new_tab"/>
+ <key id="open-key" modifiers="accel" key="O" command=""/>
+ <key id="save-key" modifiers="accel" key="S" command=""/>
+ <key id="close-tab-key" modifiers="accel" key="W" command="cmd_close_tab"/>
+ <key id="close-all-tabs-key" modifiers="accel,shift" key="W" command="cmd_close_all_tabs"/>
+ <key id="close-window-key" modifiers="accel" key="Q" command="cmd_close_window"/>
+ <key id="circ-checkout-key" keycode="VK_F1" command="cmd_circ_checkout"/>
+ <key id="circ-checkin-key" keycode="VK_F2" command="cmd_circ_checkin"/>
+ <key id="reprint-receipt-key" keycode="VK_F9" command="cmd_reprint"/>
+ <key id="search-opac-key" keycode="VK_F3" command="cmd_search_opac"/>
+ <key id="search-tcn-key" keycode="VK_F3" modifiers="shift" command="cmd_search_tcn"/>
+ <key id="patron-search-key" keycode="VK_F4" command="cmd_patron_search"/>
+ <key id="copy-status-key" keycode="VK_F5" command="cmd_copy_status"/>
+ <key id="circ-in-house-use-key" keycode="VK_F6" command="cmd_in_house_use"/>
+ <key id="circ-hold-capture-key" keycode="VK_F2" modifiers="shift" command="cmd_circ_hold_capture"/>
+ <key id="patron-register-key" keycode="VK_F1" modifiers="shift" command="cmd_patron_register"/>
+ <key id="retrieve_last_patron_key" keycode="VK_F8" command="cmd_retrieve_last_patron"/>
+ <key id="retrieve_last_record_key" keycode="VK_F8" modifiers="shift" command="cmd_retrieve_last_record"/>
+</keyset>
+
+
+<!-- The File menu on the main menu -->
+<menu id="main.menu.file" label="&staff.main.menu.file.label;" accesskey="&staff.main.menu.file.accesskey;" >
+ <menupopup id="main.menu.file.popup">
+ <menuitem label="&staff.main.menu.file.new.label;" accesskey="&staff.main.menu.file.new.accesskey;" key="new-window-key" command="cmd_new_window"/>
+ <menuitem label="&staff.main.menu.file.new_tab.label;" accesskey="&staff.main.menu.file.new_tab.accesskey;" key="new-tab-key" command="cmd_new_tab"/>
+ <menuseparator />
+ <menuitem label="&staff.main.menu.file.close_tab.label;" accesskey="&staff.main.menu.file.close_tab.accesskey;" oldaccesskey="&staff.main.menu.file.close_tab.key;" key="close-tab-key" command="cmd_close_tab"/>
+ <menuitem label="&staff.main.menu.tabs.close;" accesskey="&staff.main.menu.tabs.close.accesskey;" key="close-all-tabs-key" command="cmd_close_all_tabs"/>
+ <menuitem label="&staff.main.menu.file.close.label;" accesskey="&staff.main.menu.file.close.accesskey;" oldaccesskey="&staff.main.menu.file.close.key;" key="close-window-key" command="cmd_close_window"/>
+ <menuseparator />
+ <menuitem label="&staff.main.menu.quit;" accesskey="&staff.main.menu.quit.accesskey;" command="cmd_shutdown"/>
+ </menupopup>
+</menu>
+
+<!-- The Edit menu on the main menu -->
+<menu id="main.menu.edit" label="&staff.main.menu.edit.label;" accesskey="&staff.main.menu.edit.accesskey;">
+ <menupopup id="main.menu.edit.popup">
+ <menuitem label="&staff.main.menu.edit.buckets.copies;" command="cmd_edit_copy_buckets" accesskey="&staff.main.menu.edit.buckets.copies.accesskey;"/>
+ <menuitem label="&staff.main.menu.edit.buckets.volumes;" command="cmd_edit_volume_buckets" accesskey="&staff.main.menu.edit.buckets.volumes.accesskey;"/>
+ <menuitem label="&staff.main.menu.edit.buckets.records;" command="cmd_edit_record_buckets" accesskey="&staff.main.menu.edit.buckets.records.accesskey;"/>
+ <menuitem label="&staff.main.menu.edit.buckets.users;" command="cmd_edit_user_buckets" accesskey="&staff.main.menu.edit.buckets.users.accesskey;"/>
+ <menuseparator />
+ <menuitem label="&staff.main.menu.replace_barcode.label;" command="cmd_replace_barcode"/>
+ </menupopup>
+</menu>
+
+<!-- The Circulation menu on the main menu -->
+<menu id="main.menu.circ" label="&staff.main.menu.circ.label;" accesskey="&staff.main.menu.circ.accesskey;">
+ <menupopup id="main.menu.circ.popup">
+ <menuitem label="&staff.main.menu.circ.checkout.label;" accesskey="&staff.main.menu.circ.checkout.accesskey;" key="circ-checkout-key" command="cmd_circ_checkout"/>
+ <menuitem label="&staff.main.menu.circ.checkin.label;" accesskey="&staff.main.menu.circ.checkin.accesskey;" key="circ-checkin-key" command="cmd_circ_checkin"/>
+ <menuitem label="&staff.main.menu.circ.patron_registration.label;" accesskey="&staff.main.menu.circ.patron_registration.accesskey;" key="patron-register-key" command="cmd_patron_register"/>
+ <menuitem label="&staff.main.menu.circ.patron_retrieve.label;" accesskey="&staff.main.menu.circ.patron_retrieve.accesskey;" command="cmd_retrieve_last_patron" key="retrieve_last_patron_key"/>
+ <menuseparator />
+ <menuitem label="&staff.main.menu.circ.hold_capture.label;" accesskey="&staff.main.menu.circ.hold_capture.accesskey;" key="circ-hold-capture-key" command="cmd_circ_hold_capture"/>
+ <menuitem label="&staff.main.menu.circ.hold_pull.label;" accesskey="&staff.main.menu.circ.hold_pull.accesskey;" command="cmd_circ_hold_pull_list"/>
+ <menuitem label="&staff.main.menu.circ.hold_browse.label;" command="cmd_browse_holds_shelf" accesskey="&staff.main.menu.circ.hold_browse.accesskey;"/>
+ <menuitem label="&staff.main.menu.circ.place_hold.label;" accesskey="&staff.main.menu.circ.place_hold.accesskey;" key="search-opac-key" command="cmd_search_opac"/>
+ <menuseparator />
+ <menuitem label="&staff.main.menu.circ.barcode.show_item;" accesskey="&staff.main.menu.circ.barcode.show_item.accesskey;" key="copy-status-key" command="cmd_copy_status"/>
+ <menuitem label="&staff.main.menu.circ.barcode.retrieve_patron;" accesskey="&staff.main.menu.circ.barcode.retrieve_patron.accesskey;" key="circ-checkout-key" command="cmd_circ_checkout"/>
+ <menuitem label="&staff.main.menu.circ.verify_credentials;" accesskey="&staff.main.menu.circ.verify_credentials.accesskey;" command="cmd_verify_credentials"/>
+ <menuitem label="&staff.main.menu.replace_barcode.label;" command="cmd_replace_barcode"/>
+ <menuitem label="&staff.main.menu.circ.in_house.label;" accesskey="&staff.main.menu.circ.in_house.accesskey;" key="circ-in-house-use-key" command="cmd_in_house_use"/>
+ <menuseparator />
+ <menuitem label="&staff.main.menu.circ.reprint.label;" accesskey="&staff.main.menu.circ.reprint.accesskey;" key="reprint-receipt-key" command="cmd_reprint"/>
+ <menuitem label="&staff.main.menu.circ.offline.label;" command="cmd_standalone" accesskey="&staff.main.menu.circ.offline.accesskey;"/>
+ </menupopup>
+</menu>
+
+<!-- The Cataloging menu on the main menu -->
+<menu id="main.menu.cat" label="&staff.main.menu.cat.label;" accesskey="&staff.main.menu.cat.accesskey;">
+ <menupopup id="main.menu.cat.popup">
+ <menuitem label="&staff.main.menu.cat.bib_search.label;" accesskey="&staff.main.menu.cat.bib_search.accesskey;" key="search-opac-key" command="cmd_search_opac"/>
+ <menuitem label="&staff.main.menu.cat.search_tcn.label;" accesskey="&staff.main.menu.cat.search_tcn.accesskey;" key="search-tcn-key" command="cmd_search_tcn" />
+ <menuitem label="&staff.main.menu.cat.search_bib_id.label;" accesskey="&staff.main.menu.cat.search_bib_id.accesskey;" key="search-bib-id-key" command="cmd_search_bib_id" />
+ <menuitem label="&staff.main.menu.cat.copy_status.label;" accesskey="&staff.main.menu.cat.copy_status.accesskey;" key="copy-status-key" command="cmd_copy_status"/>
+ <menuseparator />
+ <!--
+ <menuitem disabled="true" label="&staff.main.menu.cat.dedup.label;" accesskey="&staff.main.menu.cat.dedup.accesskey;" command="cmd_broken"/>
+ -->
+ <menuitem label="&staff.main.menu.cat.edit_copy_buckets.label;" command="cmd_edit_copy_buckets" accesskey="&staff.main.menu.cat.edit_copy_buckets.accesskey;"/>
+ <menuitem label="&staff.main.menu.cat.edit_volume_buckets.label;" command="cmd_edit_volume_buckets" accesskey="&staff.main.menu.cat.edit_volume_buckets.accesskey;"/>
+ <menuitem label="&staff.main.menu.cat.edit_record_buckets.label;" command="cmd_edit_record_buckets" accesskey="&staff.main.menu.cat.edit_record_buckets.accesskey;"/>
+ <menuseparator />
+ <menuitem label="&staff.main.menu.cat.create_marc.label;" accesskey="&staff.main.menu.cat.create_marc.accesskey;" command="cmd_create_marc"/>
+ <menuitem label="&staff.main.menu.cat.z39_50_import.label;" accesskey="&staff.main.menu.cat.z39_50_import.accesskey;" command="cmd_z39_50_import"/>
+ <menuseparator />
+ <menuitem label="&staff.main.menu.replace_barcode.label;" command="cmd_replace_barcode"/>
+ <menuitem label="&staff.main.menu.cat.retrieve_last_record.label;" accesskey="&staff.main.menu.cat.retrieve_last_record.accesskey;" command="cmd_retrieve_last_record" key="retrieve_last_record_key"/>
+ <menuitem label="&staff.main.menu.cat.vandelay.label;" command="cmd_open_vandelay"/>
+ </menupopup>
+</menu>
+
+<!-- The Search menu on the main menu -->
+<menu id="main.menu.search" label="&staff.main.menu.search.label;" accesskey="&staff.main.menu.search.accesskey;">
+ <menupopup id="main.menu.search.popup">
+ <menuitem label="&staff.main.menu.search.patrons.label;" accesskey="&staff.main.menu.search.patrons.accesskey;" key="patron-search-key" command="cmd_patron_search" />
+ <menuitem label="&staff.main.menu.search.catalog.label;" accesskey="&staff.main.menu.search.catalog.accesskey;" key="search-opac-key" command="cmd_search_opac" />
+ <menuitem label="&staff.main.menu.search.record.label;" accesskey="&staff.main.menu.search.record.accesskey;" key="search-tcn-key" command="cmd_search_tcn" />
+ <menuitem label="&staff.main.menu.search.record_via_id.label;" accesskey="&staff.main.menu.search.record_via_id.accesskey;" key="search-bib-id-key" command="cmd_search_bib_id" />
+ <menuitem label="&staff.main.menu.search.copies.label;" accesskey="&staff.main.menu.search.copies.accesskey;" key="copy-status-key" command="cmd_copy_status"/>
+ <menuitem label="&staff.main.menu.search.patrons_barcode.label;" accesskey="&staff.main.menu.search.patrons_barcode.accesskey;" key="circ-checkout-key" command="cmd_circ_checkout"/>
+ </menupopup>
+</menu>
+
+<!-- The Help menu on the main menu -->
+<menu id="main.menu.help" label="&staff.main.menu.help.label;" accesskey="&staff.main.menu.help.accesskey;">
+ <menupopup id="main.menu.help.popup">
+ <menuitem label="stub" />
+ </menupopup>
+</menu>
+
+<!-- The Help menu on the main menu -->
+<menu id="main.menu.admin" label="&staff.main.menu.admin.label;" accesskey="&staff.main.menu.admin.accesskey;" old_accesskey="&staff.main.menu.admin.key;">
+ <menupopup id="main.menu.admin.popup">
+ <menuitem id="oc_menuitem" label="&staff.main.menu.admin.change_session.label;" label_orig="&staff.main.menu.admin.change_session.label;"
+ accesskey="O" command="cmd_change_session"/>
+ <menuitem label="&staff.main.menu.admin.offline_xacts.label;" accesskey="&staff.main.menu.admin.offline_xacts.accesskey;" command="cmd_manage_offline_xacts"/>
+ <menuitem label="&staff.main.menu.admin.download_patrons.label;" accesskey="&staff.main.menu.admin.download_patrons.accesskey;" command="cmd_download_patrons"/>
+ <menuseparator />
+ <menuitem label="&staff.main.menu.admin.local_admin.label;" accesskey="&staff.main.menu.admin.local_admin.accesskey;" command="cmd_local_admin"/>
+ <menuitem label="&staff.server.admin.index.conify;" command="cmd_open_conify"/>
+ <menuitem label="&staff.main.menu.admin.user_edit.label;" accesskey="&staff.main.menu.admin.user_edit.accesskey;" command="cmd_adv_user_edit"/>
+ <menuitem label="&staff.main.menu.admin.template_edit.label;" accesskey="&staff.main.menu.admin.template_edit.accesskey;" command="cmd_print_list_template_edit"/>
+ <menuitem label="&staff.main.menu.admin.survey_wizard.label;" accesskey="&staff.main.menu.admin.survey_wizard.accesskey;" command="cmd_survey_wizard"/>
+ <menuseparator />
+ <menu id="main.menu.admin.sub" accesskey="&staff.main.menu.admin.developer.accesskey;" label="&staff.main.menu.admin.developer.label;">
+ <menupopup id="main.menu.admin.sub.popup">
+ <menuitem label="&staff.main.menu.admin.stat_cat_edit.label;" accesskey="&staff.main.menu.admin.stat_cat_edit.accesskey;" command="cmd_stat_cat_edit"/>
+ <menuitem label="&staff.main.menu.admin.non_cat_type_edit.label;" accesskey="&staff.main.menu.admin.non_cat_type_edit.accesskey;" command="cmd_non_cat_type_edit"/>
+ <menuitem label="&staff.main.menu.admin.copy_location_edit.label;" accesskey="&staff.main.menu.admin.copy_location_edit.accesskey;" command="cmd_copy_location_edit"/>
+ <menuitem label="&staff.main.menu.admin.browse_holds.label;" command="cmd_browse_holds" accesskey="&staff.main.menu.admin.browse_holds.accesskey;"/>
+ <menuseparator />
+ <menuitem label="&staff.main.menu.admin.public_opac.label;" command="cmd_public_opac" accesskey="&staff.main.menu.admin.public_opac.accesskey;"/>
+ <menuitem label="&staff.main.menu.admin.cmd_test.label;" old_accesskey="T" command="cmd_test"/>
+ <menuitem label="&staff.main.menu.admin.xuleditor.label;" accesskey="&staff.main.menu.admin.xuleditor.accesskey;" command="cmd_xuleditor"/>
+ <menuitem label="&staff.main.menu.admin.fieldmapper.label;" accesskey="&staff.main.menu.admin.fieldmapper.accesskey;" command="cmd_fieldmapper"/>
+ <menuitem label="&staff.main.menu.admin.cmd_console.label;" accesskey="&staff.main.menu.admin.cmd_console.accesskey;" command="cmd_console"/>
+ <menuitem label="&staff.main.menu.admin.cmd_shell.label;" accesskey="&staff.main.menu.admin.cmd_shell.accesskey;" command="cmd_shell"/>
+ <menuitem label="server/main/test.html" accesskey="1" command="cmd_test_html"/>
+ <menuitem label="server/main/test.xul" accesskey="2" command="cmd_test_xul"/>
+ <menuitem label="&staff.main.menu.admin.clear_cache.label;" accesskey="&staff.main.menu.admin.clear_cache.accesskey;" command="cmd_clear_cache"/>
+ <menuitem label="&staff.main.menu.admin.restore_all_tabs.label;" command="cmd_restore_all_tabs"/>
+ <menuitem label="&staff.main.menu.admin.extension_manager.label;" command="cmd_extension_manager"/>
+ <menuitem label="&staff.main.menu.admin.theme_manager.label;" command="cmd_theme_manager"/>
+ <menuitem label="&staff.main.menu.admin.about_config.label;" command="cmd_about_config"/>
+ <menuitem label="&staff.main.menu.admin.venkman.label;" oncommand="try{start_venkman();}catch(E){alert(E);}"/>
+ </menupopup>
+ </menu>
+ </menupopup>
+</menu>
+
+
+</overlay>
Copied: branches/staff-client-experiment/Open-ILS/xul/staff_client/server/main/menu_frame_overlay.xul (from rev 11959, branches/staff-client-experiment/Open-ILS/xul/staff_client/chrome/content/main/menu_frame_overlay.xul)
===================================================================
--- branches/staff-client-experiment/Open-ILS/xul/staff_client/server/main/menu_frame_overlay.xul (rev 0)
+++ branches/staff-client-experiment/Open-ILS/xul/staff_client/server/main/menu_frame_overlay.xul 2009-01-26 04:08:02 UTC (rev 11961)
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<!DOCTYPE overlay SYSTEM "chrome://open_ils_staff_client/locale/lang.dtd">
+<?xul-overlay href="chrome://open_ils_staff_client/content/main/menu_frame_menus.xul"?>
+<!--
+<?xul-overlay href="/xul/server/main/menu_frame_menus.xul"?>
+-->
+<overlay id="menu_frame_overlay"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+<script>dump('loading menu_frame_overlay.xul\n');</script>
+
+<commandset id="universal_cmds" />
+<keyset id="menu_frame_keys" />
+
+<!-- The top level widget for the staff client -->
+<box id="menu_frame_main" flex="1" orient="vertical">
+ <toolbox id="main_toolbox"/>
+ <tabbox id="main_tabbox" flex="1" eventnode="window" handleCtrlTab="true">
+ <tabs id="main_tabs" closebutton="true">
+ <tab id="tab_1" accesskey="&staff.chrome.menu_frame_overlay.tab1.accesskey;" label="&staff.chrome.menu_frame_overlay.tab1.label;" hidden="true" />
+ <tab id="tab_2" accesskey="&staff.chrome.menu_frame_overlay.tab2.accesskey;" label="&staff.chrome.menu_frame_overlay.tab2.label;" hidden="true" />
+ <tab id="tab_3" accesskey="&staff.chrome.menu_frame_overlay.tab3.accesskey;" label="&staff.chrome.menu_frame_overlay.tab3.label;" hidden="true" />
+ <tab id="tab_4" accesskey="&staff.chrome.menu_frame_overlay.tab4.accesskey;" label="&staff.chrome.menu_frame_overlay.tab4.label;" hidden="true" />
+ <tab id="tab_5" accesskey="&staff.chrome.menu_frame_overlay.tab5.accesskey;" label="&staff.chrome.menu_frame_overlay.tab5.label;" hidden="true" />
+ <tab id="tab_6" accesskey="&staff.chrome.menu_frame_overlay.tab6.accesskey;" label="&staff.chrome.menu_frame_overlay.tab6.label;" hidden="true" />
+ <tab id="tab_7" accesskey="&staff.chrome.menu_frame_overlay.tab7.accesskey;" label="&staff.chrome.menu_frame_overlay.tab7.label;" hidden="true" />
+ <tab id="tab_8" accesskey="&staff.chrome.menu_frame_overlay.tab8.accesskey;" label="&staff.chrome.menu_frame_overlay.tab8.label;" hidden="true" />
+ <tab id="tab_9" accesskey="&staff.chrome.menu_frame_overlay.tab9.accesskey;" label="&staff.chrome.menu_frame_overlay.tab9.label;" hidden="true" />
+ </tabs>
+ <tabpanels id="main_panels" flex="1">
+ <tabpanel id="panel_1"><label value="panel_1"/></tabpanel>
+ <tabpanel id="panel_2"><label value="panel_2"/></tabpanel>
+ <tabpanel id="panel_3"><label value="panel_3"/></tabpanel>
+ <tabpanel id="panel_4"><label value="panel_4"/></tabpanel>
+ <tabpanel id="panel_5"><label value="panel_5"/></tabpanel>
+ <tabpanel id="panel_6"><label value="panel_6"/></tabpanel>
+ <tabpanel id="panel_7"><label value="panel_7"/></tabpanel>
+ <tabpanel id="panel_8"><label value="panel_8"/></tabpanel>
+ <tabpanel id="panel_9"><label value="panel_9"/></tabpanel>
+ </tabpanels>
+ </tabbox>
+ <toolbox id="entity_toolbox"/>
+</box>
+
+<!-- The main top level menubar -->
+<toolbox id="main_toolbox">
+ <menubar id="main_menubar">
+ <menu id="main.menu.file" />
+ <menu id="main.menu.edit" />
+ <menu id="main.menu.search" />
+ <menu id="main.menu.circ" />
+ <menu id="main.menu.cat" />
+ <spacer flex="1" />
+ <menu id="main.menu.admin" />
+ <menu id="main.menu.help" />
+ </menubar>
+</toolbox>
+
+</overlay>
More information about the open-ils-commits
mailing list