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

Diff of /Webpacus/root/editor/editor.js

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

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

Legend:
Removed from v.166  
changed lines
  Added in v.187

  ViewVC Help
Powered by ViewVC 1.1.26