/[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 194 - (hide 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 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 193 Element.hide('row_css');
97    
98 dpavlin 163 Element.removeClassName('a_css', 'tab_selected');
99     Element.addClassName('a_template', 'tab_selected');
100 dpavlin 193
101     Element.show('row_template');
102    
103 dpavlin 163 Logger.debug("switched to template editor");
104 dpavlin 164 var c = $('template_content');
105     if (c) c.focus();
106 dpavlin 193 Logger.debug('zIndex template:'+$('row_template').style.zIndex+' css:'+$('row_css').style.zIndex);
107 dpavlin 134 return false;
108     }
109    
110     function edit_css() {
111 dpavlin 193
112     Element.hide('row_template');
113    
114 dpavlin 163 Element.removeClassName('a_template', 'tab_selected');
115     Element.addClassName('a_css', 'tab_selected');
116 dpavlin 193
117     Element.show('row_css');
118    
119 dpavlin 163 Logger.debug("switched to CSS editor");
120 dpavlin 164 var c = $('css_content');
121     if (c) c.focus();
122 dpavlin 193 Logger.debug('zIndex template:'+$('row_template').style.zIndex+' css:'+$('row_css').style.zIndex);
123 dpavlin 134 return false;
124     }
125    
126 dpavlin 168 function switch_template(new_template_filename) {
127 dpavlin 134
128 dpavlin 168 Logger.info('switch_template to '+new_template_filename);
129 dpavlin 170 show_working();
130 dpavlin 168
131 dpavlin 134 Logger.debug('load template editor');
132 dpavlin 168 template_filename = new_template_filename;
133     load_template(new_template_filename);
134 dpavlin 134
135     Logger.debug('refresh record');
136     load_rec(rec);
137 dpavlin 168
138 dpavlin 175 edKill('template_content');
139    
140 dpavlin 170 hide_working();
141    
142 dpavlin 168 return false;
143 dpavlin 134 }
144    
145     var loading = {
146     template: 0,
147     css: 0,
148 dpavlin 169 record: 0
149     };
150 dpavlin 134
151 dpavlin 167 function load_template( template_filename ) {
152 dpavlin 134
153     if (loading.template) {
154 dpavlin 167 Logger.info('loading of template '+template_filename+' skipped, load in progress');
155 dpavlin 134 return;
156     }
157    
158 dpavlin 172 show_working();
159    
160 dpavlin 165 var args = '?template_filename='+template_filename;
161    
162 dpavlin 193 new Ajax.Updater( 'row_template', url+'template'+args, {
163 dpavlin 134 asynchronous: 1,
164     onLoading: function(request) {
165     loading.template = 1;
166 dpavlin 167 Logger.info('load_template.onLoading: '+template_filename);
167 dpavlin 134 },
168     onLoaded: function(request) {
169     loading.template = 0;
170 dpavlin 170 hide_working();
171 dpavlin 167 Logger.info('load_template.onLoaded: '+template_filename);
172 dpavlin 134 }
173     } ) ;
174     }
175    
176 dpavlin 194 function load_css( css_filename ) {
177 dpavlin 134
178     if (loading.css) {
179 dpavlin 167 Logger.info('loading of css '+css_filename+' skipped, load in progress');
180 dpavlin 134 return;
181     }
182    
183 dpavlin 194 var css_url = url + 'css?css_filename='+css_filename;
184 dpavlin 193
185 dpavlin 194 Logger.info('load_css '+css_url);
186    
187 dpavlin 172 show_working();
188    
189 dpavlin 194 new Ajax.Updater( 'row_css', css_url, {
190 dpavlin 134 asynchronous: 1,
191     onLoading: function(request) {
192     loading.css = 1;
193 dpavlin 167 Logger.info('load_css.onLoading: '+css_filename);
194 dpavlin 134 },
195     onLoaded: function(request) {
196     loading.css = 0;
197 dpavlin 170 hide_working();
198 dpavlin 167 Logger.info('load_css.onLoaded: '+css_filename);
199 dpavlin 193 reload_css( css_filename );
200 dpavlin 134 }
201     } ) ;
202     };
203    
204 dpavlin 193 function reload_css( css_filename ) {
205 dpavlin 172
206 dpavlin 193 if (! css_filename) css_filename = 'user.css';
207    
208 dpavlin 172 css_rnd++;
209 dpavlin 194 var css_url = '/css/' + css_filename + '?' + css_rnd;
210 dpavlin 191 Logger.info('reload_css from '+css_url);
211     $('user_css_link').href = css_url;
212 dpavlin 172
213 dpavlin 170 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 dpavlin 134 function init_page() {
231    
232 dpavlin 170 show_working();
233 dpavlin 134
234 dpavlin 164 edit_template();
235    
236 dpavlin 134 // load css editor
237     load_css();
238    
239     // load template editor and record
240     switch_template(template_filename);
241    
242 dpavlin 170 hide_working();
243    
244 dpavlin 134 }
245    

  ViewVC Help
Powered by ViewVC 1.1.26