]> git.sur5r.net Git - contagged/blob - js/gui.js
more redesign and code cleanup
[contagged] / js / gui.js
1
2 function tedit_showEditor(dn){
3   // if the editor already exists cancel it
4   if($('tedit_editor') !== null){
5     tedit_cleanUp();
6     return;
7   }
8
9   var tags = $('tedit_out').innerHTML;
10   tags = tags.replace(/>[ \n\r]+<a/g,'>, <a');
11   tags = tags.stripTags();
12   tags = tags.replace(/[ \n\r]{2,}/g,' ');
13   tags = tags.replace(/^ /,'');
14   tags = tags.replace(/ $/,'');
15
16   var editor  = '<div id="tedit_editor"><form accept-charset="utf-8">';
17       editor += '<textarea id="tedit_edit">'+tags+'</textarea>';
18       editor += '<div id="tedit_completion" class="autocomplete"></div>';
19       editor += '<img src="pix/accept.png" width="16" height="16" id="tedit_save" class="click" alt="save" /><br />';
20       editor += '<img src="pix/cancel.png" width="16" height="16" id="tedit_cancel" class="click" alt="cancel" />';
21       editor += '</form></div>';
22
23   Element.hide('tedit_out');
24   new Insertion.Top($('tedit_insert'), editor);
25
26   new Ajax.Autocompleter('tedit_edit','tedit_completion', 'ajax.php', {paramName: 'taglookup', tokens: ','});
27
28   Event.observe('tedit_save', 'click', function(){ tedit_saveChanges(dn) }, false);
29   Event.observe('tedit_cancel', 'click', tedit_cleanUp, false);
30   $('tedit_edit').focus();
31 }
32
33 function tedit_cleanUp(){
34   Element.remove('tedit_editor');
35   Element.show('tedit_out');
36 }
37
38 function tedit_saveChanges(dn){
39   var content = encodeURI($F('tedit_edit'));
40   dn = encodeURI(dn);
41
42   $('tedit_editor').innerHTML = "Saving...";
43
44   var success = function(resp){tedit_complete(resp)};
45   var failure = function(resp){tedit_failed(resp)};
46   var pars    = 'settags='+dn+'&tags='+content;
47
48   var ajax = new Ajax.Request('ajax.php', {method:'post',postBody:pars,onSuccess:success,onFailure:failure});
49 }
50
51 function tedit_complete(resp){
52   $('tedit_out').innerHTML = resp.responseText;
53   tedit_cleanUp();
54 }
55
56 function tedit_failed(resp){
57   tedit_cleanUp();
58   alert("Saving failed.");
59 }
60
61
62
63 // --------------------------------------------------------------------
64
65 /**
66  * Create the editor component
67  */
68 function nedit_showEditor(type,dn,name){
69   // if the editor already exists cancel it
70   if($('nedit_editor') !== null){
71     nedit_cleanUp();
72     return;
73   }
74
75   var editor = '<div id="nedit_editor"><form accept-charset="utf-8">';
76   editor += '<textarea id="nedit_edit">';
77   if(type=='call'){
78     editor += '**Call** ';
79   }else if(type=='mail'){
80     editor += '**Mail** ';
81   }else if(type=='todo'){
82     editor += '**Todo** ';
83   }else if(type=='note'){
84     editor += '**Note** ';
85   }
86
87   var dt = new Date();
88   editor += '//'+dt.formatDate('j. M y H:i')+' '+name+'//: ';
89   editor += '</textarea>';
90
91   editor += '<img src="pix/accept.png" width="16" height="16" id="nedit_save" class="click" alt="save" /><br />';
92   editor += '<img src="pix/cancel.png" width="16" height="16" id="nedit_cancel" class="click" alt="cancel" />';
93   editor += '</form></div>';
94
95   new Insertion.Top($('nedit_insert'), editor);
96
97   Event.observe('nedit_save', 'click', function(){ nedit_saveChanges(dn) }, false);
98   Event.observe('nedit_cancel', 'click', nedit_cleanUp, false);
99   $('nedit_edit').focus();
100 };
101
102 function nedit_cleanUp(){
103   Element.remove('nedit_editor');
104 }
105
106 function nedit_saveChanges(dn){
107   var content = encodeURI($F('nedit_edit'));
108   dn = encodeURI(dn);
109   
110   $('nedit_editor').innerHTML = "Saving...";
111
112   var success = function(resp){nedit_complete(resp)};
113   var failure = function(resp){nedit_failed(resp)};
114   var pars    = 'addnote='+dn+'&note='+content;
115
116   var ajax = new Ajax.Request('ajax.php', {method:'post',postBody:pars,onSuccess:success,onFailure:failure});
117 }
118
119 function nedit_complete(resp){
120   nedit_cleanUp();
121   $('nedit_insert').innerHTML = resp.responseText;
122 }
123
124 function nedit_failed(resp){
125   nedit_cleanUp();
126   alert("Saving failed.");
127 }
128
129
130
131 /**
132  * initializes all the JS GUI-Stuff
133  */
134 function init(){
135   if($('taglookup') !== null)
136     new Ajax.Autocompleter('taglookup','tagresult', 'ajax.php', {paramName: 'taglookup', tokens: ','});
137   if($('tageditlookup') !== null)
138     new Ajax.Autocompleter('tageditlookup','tageditresult', 'ajax.php', {paramName: 'taglookup', tokens: ','});
139
140   if($('searchfield') !== null)
141     $('searchfield').focus();
142
143   if($('firstfield') !== null)
144     $('firstfield').focus();
145 }
146
147 Event.observe(window, 'load', init, false);
148