Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 
 
 

80 righe
1.7 KiB

  1. // PAGE
  2. var pages=[];
  3. var stylesheets = [];
  4. function Page(page_name, content) {
  5. var me = this;
  6. this.name = page_name;
  7. this.onshow = function() {
  8. // default set_title
  9. set_title(me.doc.page_title ? me.doc.page_title : me.name);
  10. // onshow
  11. try {
  12. if(pscript['onshow_'+me.name]) pscript['onshow_'+me.name](); // onload
  13. } catch(e) { submit_error(e); }
  14. // clear cur_frm
  15. cur_frm = null;
  16. }
  17. this.wrapper = page_body.add_page(page_name, this.onshow);
  18. this.cont = this.wrapper // bc
  19. if(content)
  20. this.wrapper.innerHTML = content;
  21. if(page_name == home_page)
  22. pages['_home'] = this;
  23. return this;
  24. }
  25. function render_page(page_name, menuitem) {
  26. if(!page_name)return;
  27. if((!locals['Page']) || (!locals['Page'][page_name])) {
  28. // no page, go home
  29. loadpage('_home');
  30. return;
  31. }
  32. var pdoc = locals['Page'][page_name];
  33. // style
  34. if(pdoc.style) set_style(pdoc.style)
  35. // stylesheet
  36. if(pdoc.stylesheet) { set_style(locals.Stylesheet[pdoc.stylesheet].stylesheet); stylesheets.push(pdoc.stylesheet); }
  37. // create page
  38. var p = new Page(page_name, pdoc._Page__content?pdoc._Page__content:pdoc.content);
  39. // script
  40. var script = pdoc.__script ? pdoc.__script : pdoc.script;
  41. p.doc = pdoc;
  42. if(script) {
  43. eval(script);
  44. }
  45. // change
  46. page_body.change_to(page_name);
  47. // run onload
  48. try {
  49. if(pscript['onload_'+page_name]) pscript['onload_'+page_name](); // onload
  50. } catch(e) { submit_error(e); }
  51. //setTimeout('page_body.pages[cur_page].set_page_height()', 100);
  52. return p;
  53. }
  54. function refresh_page(page_name) {
  55. var fn = function(r, rt) {
  56. render_page(page_name)
  57. }
  58. $c('webnotes.widgets.page.getpage', {'name':page_name, stylesheets:JSON.stringify(stylesheets)}, fn);
  59. }