portal_diy_data.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. /*
  2. [Discuz!] (C)2001-2099 Comsenz Inc.
  3. This is NOT a freeware, use is subject to license terms
  4. $Id: portal_diy_data.js 24360 2011-09-14 08:38:06Z zhangguosheng $
  5. */
  6. var drag = new Drag();
  7. drag.extend({
  8. 'getBlocksTimer' : '',
  9. 'blocks' : [],
  10. 'blockDefaultClass' : [],
  11. 'frameDefaultClass' : [],
  12. setSampleMenu : function () {
  13. this.addMenu('block', '数据', 'drag.openBlockEdit(event,"data")');
  14. this.addMenu('block', '更新', 'drag.blockForceUpdate(event)');
  15. },
  16. openBlockEdit : function (e,op) {
  17. e = Util.event(e);
  18. op = (op=='data') ? 'data' : 'block';
  19. var bid = e.aim.id.replace('cmd_portal_block_','');
  20. this.removeMenu();
  21. showWindow('showblock', 'portal.php?mod=portalcp&ac=block&op='+op+'&bid='+bid+'&tpl='+document.diyform.template.value, 'get', -1);
  22. },
  23. getBlockData : function (blockname) {
  24. var bid = this.dragObj.id;
  25. var eleid = bid;
  26. if (bid.indexOf('portal_block_') != -1) {
  27. eleid = 0;
  28. }else {
  29. bid = 0;
  30. }
  31. showWindow('showblock', 'portal.php?mod=portalcp&ac=block&op=block&classname='+blockname+'&bid='+bid+'&eleid='+eleid+'&tpl='+document.diyform.template.value,'get',-1);
  32. drag.initPosition();
  33. this.fn = '';
  34. return true;
  35. },
  36. stopSlide : function (id) {
  37. if (typeof slideshow == 'undefined' || typeof slideshow.entities == 'undefined') return false;
  38. var slidebox = $C('slidebox',$(id));
  39. if(slidebox && slidebox.length > 0) {
  40. if(slidebox[0].id) {
  41. var timer = slideshow.entities[slidebox[0].id].timer;
  42. if(timer) clearTimeout(timer);
  43. slideshow.entities[slidebox[0].id] = '';
  44. }
  45. }
  46. },
  47. init : function (sampleMode) {
  48. this.initCommon();
  49. $('samplepanel').innerHTML = '可直接管理模块数据 [<a href="javascript:;" onclick="spaceDiy.cancel();return false;" class="xi2">退出</a>]';
  50. this.setSampleMode(sampleMode);
  51. this.initSample();
  52. return true;
  53. },
  54. setClose : function () {},
  55. blockForceUpdate : function (e,all) {
  56. if ( typeof e !== 'string') {
  57. e = Util.event(e);
  58. var id = e.aim.id.replace('cmd_','');
  59. } else {
  60. var id = e;
  61. }
  62. if ($(id) == null) return false;
  63. var bid = id.replace('portal_block_', '');
  64. var bcontent = $(id+'_content');
  65. if (!bcontent) {
  66. bcontent = document.createElement('div');
  67. bcontent.id = id+'_content';
  68. bcontent.className = this.contentClass;
  69. }
  70. this.stopSlide(id);
  71. var height = Util.getFinallyStyle(bcontent, 'height');
  72. bcontent.style.lineHeight = height == 'auto' ? '' : (height == '0px' ? '20px' : height);
  73. var boldcontent = bcontent.innerHTML;
  74. bcontent.innerHTML = '<center>正在加载内容...</center>';
  75. var x = new Ajax();
  76. x.get('portal.php?mod=portalcp&ac=block&op=getblock&forceupdate=1&inajax=1&bid='+bid+'&tpl='+document.diyform.template.value, function(s) {
  77. if(s.indexOf('errorhandle_') != -1) {
  78. bcontent.innerHTML = boldcontent;
  79. runslideshow();
  80. showDialog('抱歉,您没有权限添加或编辑模块', 'alert');
  81. doane();
  82. } else {
  83. var obj = document.createElement('div');
  84. obj.innerHTML = s;
  85. bcontent.parentNode.removeChild(bcontent);
  86. $(id).innerHTML = obj.childNodes[0].innerHTML;
  87. evalscript(s);
  88. if(s.indexOf('runslideshow()') != -1) {runslideshow();}
  89. drag.initPosition();
  90. if (all) {drag.getBlocks();}
  91. }
  92. });
  93. }
  94. });
  95. var spaceDiy = new DIY();
  96. spaceDiy.init(1);
  97. function succeedhandle_diyform (url, message, values) {
  98. if (values['rejs'] == '1') {
  99. document.diyform.rejs.value = '';
  100. parent.$('preview_form').submit();
  101. }
  102. spaceDiy.enablePreviewButton();
  103. return false;
  104. }