]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/xul/staff_client/server/OpenILS/symbol_overlay.js
LP#1398926: Allow symbol popup to trigger on new marc fields
[Evergreen.git] / Open-ILS / xul / staff_client / server / OpenILS / symbol_overlay.js
1 dump('entering symbol/clipboard.js\n');
2
3 function $(id) { return document.getElementById(id); }
4
5 var el = {};
6
7 dojo.addOnLoad(
8     function(){
9         dojo.query('.plain').forEach(function(node,index,arr){
10             addSymbolTrigger(node);
11         });
12     }
13 );
14
15 function addSymbolTrigger(node) {
16     if (!node.getAttribute('eg_has_symbol_trigger')) {
17         node.addEventListener(
18             "keypress",
19             function(event) { 
20                 if (event.charCode == 115 && event.ctrlKey){
21                     setNod(node);
22                     $('symbol-panel').openPopup(node, 'after_pointer' );
23                 }
24             },
25             true);
26         node.setAttribute('eg_has_symbol_trigger', 1);
27     }
28 }
29
30 function setNod(elm){
31     el = elm;
32 }
33
34 function ret(ins, e){
35     if (e.button == 0){
36         $('symbol-panel').hidePopup();
37         n = el;
38         
39         if (n.getAttribute('readonly')=='true') return;
40         
41         var v = n.value;
42         var start = n.selectionStart;
43         var end = n.selectionEnd;
44         n.value = v.substring(0, start) + ins + v.substring(end, v.length);
45         n.setSelectionRange(start + ins.length,start + ins.length);
46     }
47 }