]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/xul/staff_client/chrome/content/util/widget_prompt.js
Merge branch 'opac-tt-poc' of git+ssh://yeti.esilibrary.com/home/evergreen/evergreen...
[Evergreen.git] / Open-ILS / xul / staff_client / chrome / content / util / widget_prompt.js
1 var xulG = {};
2 var widget;
3
4 function my_init() {
5     try {
6         netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
7         if (typeof JSAN == 'undefined') { throw( "The JSAN library object is missing."); }
8         JSAN.errorLevel = "die"; // none, warn, or die
9         JSAN.addRepository('/xul/server/');
10         JSAN.use('util.error'); g.error = new util.error();
11         g.error.sdump('D_TRACE','my_init() for widget_prompt.xul');
12
13         widget = xul_param('widget',{'modal_xulG':true});
14         if (widget) {
15             $('widget_prompt_main').appendChild(widget);
16         }
17
18         var ok_label = xul_param('ok_label',{'modal_xulG':true}) || offlineStrings.getString('common.ok.label');
19         $('ok_btn').setAttribute('label',ok_label);
20
21         var ok_accesskey = xul_param('ok_accesskey',{'modal_xulG':true}) || offlineStrings.getString('common.ok.accesskey');
22         $('ok_btn').setAttribute('accesskey',ok_accesskey);
23
24         var cancel_label = xul_param('cancel_label',{'modal_xulG':true}) || offlineStrings.getString('common.cancel.label');
25         $('cancel_btn').setAttribute('label',cancel_label);
26
27         var cancel_accesskey = xul_param('cancel_accesskey',{'modal_xulG':true}) || offlineStrings.getString('common.cancel.accesskey');
28         $('cancel_btn').setAttribute('accesskey',cancel_accesskey);
29
30         var desc = xul_param('desc',{'modal_xulG':true});
31         if (desc) {
32             $('desc').appendChild( document.createTextNode( desc ) );
33         }
34
35         $('ok_btn').addEventListener('command',widget_save,false);
36         $('cancel_btn').addEventListener('command',function(ev) { window.close(); },false);
37
38         if (xul_param('title',{'modal_xulG':true})) {
39             try { window.title = xul_param('title',{'modal_xulG':true}); } catch(E) {}
40             try { document.title = xul_param('title',{'modal_xulG':true}); } catch(E) {}
41         }
42
43         xulG[ 'status' ] = 'incomplete';
44         update_modal_xulG(xulG);
45
46         try { widget.focus(); } catch(E) {}
47
48     } catch(E) {
49         alert('Error in widget_prompt.js, my_init(): ' + E);
50     }
51 }
52
53 function widget_save(ev) {
54     try {
55         if (widget) {
56             switch( xul_param('access',{'modal_xulG':true}) ) {
57                 case 'method' :
58                     xulG[ 'value' ] = xulG[ 'method' ]();
59                 break;
60                 case 'attribute':
61                     xulG[ 'value' ] = widget.getAttribute('value');
62                 break;
63                 case 'property':
64                 default:
65                     xulG[ 'value'  ] = widget.value;
66                 break;
67             }
68         }
69         xulG[ 'status' ] = 'complete';
70
71         update_modal_xulG(xulG);
72
73         window.close();
74     } catch(E) {
75         alert('Error in widget_prompt.js, widget_save(): ' + E);
76     }
77 }
78