From 2f7f542b28a583f63642580e862d32cf38f25bf3 Mon Sep 17 00:00:00 2001 From: Jason Etheridge Date: Sun, 3 Apr 2011 23:52:52 -0400 Subject: [PATCH] add tooltips and click-handlers to statusbar panels --- .../xul/staff_client/chrome/content/main/menu.js | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/Open-ILS/xul/staff_client/chrome/content/main/menu.js b/Open-ILS/xul/staff_client/chrome/content/main/menu.js index 6800f8eda1..5462d841f4 100644 --- a/Open-ILS/xul/staff_client/chrome/content/main/menu.js +++ b/Open-ILS/xul/staff_client/chrome/content/main/menu.js @@ -1708,9 +1708,26 @@ main.menu.prototype = { content_params.url_prefix = function(url) { return obj.url_prefix(url); }; content_params.network_meter = obj.network_meter; content_params.page_meter = obj.page_meter; - content_params.set_statusbar = function(slot,text) { + content_params.set_statusbar = function(slot,text,tooltiptext,click_handler) { var e = document.getElementById('statusbarpanel'+slot); - if (e) { e.setAttribute('label',text); } + if (e) { + var p = e.parentNode; + var sbp = document.createElement('statusbarpanel'); + sbp.setAttribute('id','statusbarpanel'+slot); + p.replaceChild(sbp,e); // destroy and replace the statusbarpanel as a poor man's way of clearing event handlers + + sbp.setAttribute('label',text); + if (tooltiptext) { + sbp.setAttribute('tooltiptext',tooltiptext); + } + if (click_handler) { + sbp.addEventListener( + 'click', + click_handler, + false + ); + } + } }; content_params.chrome_xulG = xulG; content_params._data = xulG._data; -- 2.11.0