/[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 194 - (show annotations)
Tue Nov 29 14:42:28 2005 UTC (18 years, 5 months ago) by dpavlin
File MIME type: application/javascript
File size: 4863 byte(s)
minor tweaks for css (still doesn't work in FF 1.0.7)

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

  ViewVC Help
Powered by ViewVC 1.1.26