/[webpac2]/Webpacus/root/editor/editor.js
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /Webpacus/root/editor/editor.js

Parent Directory Parent Directory | Revision Log Revision Log


Revision 244 - (show annotations)
Wed Dec 14 23:04:13 2005 UTC (18 years, 4 months ago) by dpavlin
File MIME type: application/javascript
File size: 4908 byte(s)
 r11695@llin:  dpavlin | 2005-12-15 01:35:43 +0100
 restored editor to work with default database [0.18]

1 /*
2 Webpacus template editor
3 */
4
5 var rec = null;
6 var url = null;
7 var template_filename = null;
8
9 var pending_js = null;
10
11 var css_rnd = 0;
12
13 function _ts(text) {
14 var el = $('div_template_status');
15 if (el) el.innerHTML = text;
16 }
17
18 function _cs(text) {
19 var el = $('div_css_status');
20 if (el) el.innerHTML = text;
21 }
22
23 function load_rec(nr, tmp_template_filename) {
24
25 if (! nr) {
26 Logger.error('load_rec called without nr');
27 return false;
28 }
29
30 var rec_uri = $F('rec_uri_prefix');
31 if (! rec_uri) Logger.error('rec_uri_prefix field not found in form!');
32 rec_uri += '/' + nr;
33
34 if (! tmp_template_filename) tmp_template_filename = template_filename;
35 Logger.info('load_rec '+rec_uri+' in '+tmp_template_filename);
36
37 if (loading.record) {
38 Logger.info('loading of record '+rec_uri+' skipped, load in progress');
39 return false;
40 }
41
42 show_working();
43 $('record_nr').disabled = 'true';
44
45 if (nr == 1) {
46 Element.addClassName('a_left_arr', 'nav_disable');
47 } else {
48 Element.removeClassName('a_left_arr', 'nav_disable');
49 }
50
51 var args = '?record_uri='+rec_uri+'&template_filename='+tmp_template_filename;
52
53 new Ajax.Updater( 'div_record', url+'record'+args, {
54 asynchronous: 1,
55 onLoading: function(request) {
56 loading.record = 1;
57 Logger.info('load_rec.onLoading: '+nr);
58 },
59 onLoaded: function(request) {
60 loading.record = 0;
61 hide_working();
62 $('record_nr').value = nr;
63 $('record_nr').disabled = '';
64 rec = nr;
65 Logger.info('load_rec.onLoaded: '+nr);
66 }
67 } ) ;
68
69 return false;
70 }
71
72 function inc_rec() {
73 show_working();
74 rec++;
75 load_rec(rec);
76 hide_working();
77 return false;
78 }
79
80 function dec_rec() {
81 if (rec > 1) {
82 show_working();
83 rec--;
84 load_rec(rec);
85 hide_working();
86 }
87 return false;
88 }
89
90 function reload_rec() {
91 show_working();
92 load_rec(rec);
93 hide_working();
94 return false;
95 }
96
97 var current_edit = '';
98
99 function edit_template() {
100 Element.hide('row_css');
101
102 Element.removeClassName('a_css', 'tab_selected');
103 Element.addClassName('a_template', 'tab_selected');
104
105 Element.show('row_template');
106
107 Logger.debug("switched to template editor");
108 var c = $('template_content');
109 if (c) c.focus();
110 Logger.debug('zIndex template:'+$('row_template').style.zIndex+' css:'+$('row_css').style.zIndex);
111 return false;
112 }
113
114 function edit_css() {
115
116 Element.hide('row_template');
117
118 Element.removeClassName('a_template', 'tab_selected');
119 Element.addClassName('a_css', 'tab_selected');
120
121 Element.show('row_css');
122
123 Logger.debug("switched to CSS editor");
124 var c = $('css_content');
125 if (c) c.focus();
126 Logger.debug('zIndex template:'+$('row_template').style.zIndex+' css:'+$('row_css').style.zIndex);
127 return false;
128 }
129
130 function switch_template(new_template_filename) {
131
132 Logger.info('switch_template to '+new_template_filename);
133 show_working();
134
135 Logger.debug('load template editor');
136 template_filename = new_template_filename;
137 load_template(new_template_filename);
138
139 Logger.debug('refresh record');
140 load_rec(rec);
141
142 edKill('template_content');
143
144 hide_working();
145
146 return false;
147 }
148
149 var loading = {
150 template: 0,
151 css: 0,
152 record: 0
153 };
154
155 function load_template( template_filename ) {
156
157 if (loading.template) {
158 Logger.info('loading of template '+template_filename+' skipped, load in progress');
159 return;
160 }
161
162 show_working();
163
164 var args = '?template_filename='+template_filename;
165
166 new Ajax.Updater( 'row_template', url+'template'+args, {
167 asynchronous: 1,
168 onLoading: function(request) {
169 loading.template = 1;
170 Logger.info('load_template.onLoading: '+template_filename);
171 },
172 onLoaded: function(request) {
173 loading.template = 0;
174 hide_working();
175 Logger.info('load_template.onLoaded: '+template_filename);
176 }
177 } ) ;
178 }
179
180 function load_css( css_filename ) {
181
182 if (loading.css) {
183 Logger.info('loading of css '+css_filename+' skipped, load in progress');
184 return;
185 }
186
187 var css_url = url + 'css?css_filename='+css_filename;
188
189 Logger.info('load_css '+css_url);
190
191 show_working();
192
193 new Ajax.Updater( 'row_css', css_url, {
194 asynchronous: 1,
195 onLoading: function(request) {
196 loading.css = 1;
197 Logger.info('load_css.onLoading: '+css_filename);
198 },
199 onLoaded: function(request) {
200 loading.css = 0;
201 hide_working();
202 Logger.info('load_css.onLoaded: '+css_filename);
203 reload_css( css_filename );
204 }
205 } ) ;
206 };
207
208 function reload_css( css_filename ) {
209
210 if (! css_filename) css_filename = 'user.css';
211
212 css_rnd++;
213 var css_url = '/css/' + css_filename + '?' + css_rnd;
214 Logger.info('reload_css from '+css_url);
215 $('user_css_link').href = css_url;
216
217 return false;
218 }
219
220 var working_count = 0;
221
222 function show_working() {
223 working_count++;
224 if (working_count > 1) Element.show('working');
225 Logger.debug('show_working, count = '+working_count);
226 }
227
228 function hide_working() {
229 working_count--;
230 if (working_count < 1) Element.hide('working');
231 Logger.debug('hide_working, count = '+working_count);
232 }
233
234 function init_page() {
235 show_working();
236
237 edit_template();
238
239 hide_working();
240 }
241

  ViewVC Help
Powered by ViewVC 1.1.26