/[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

Annotation of /Webpacus/root/editor/editor.js

Parent Directory Parent Directory | Revision Log Revision Log


Revision 191 - (hide annotations)
Tue Nov 29 13:04:44 2005 UTC (18 years, 5 months ago) by dpavlin
File MIME type: application/javascript
File size: 4961 byte(s)
fix reload_css and firefox warnings

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

  ViewVC Help
Powered by ViewVC 1.1.26