/[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 172 - (show annotations)
Sun Nov 27 01:42:33 2005 UTC (18 years, 5 months ago) by dpavlin
File MIME type: application/javascript
File size: 4519 byte(s)
 r11180@llin:  dpavlin | 2005-11-27 02:30:29 +0100
 saving of template and css now work

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

  ViewVC Help
Powered by ViewVC 1.1.26