123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241 |
- /*
- [Discuz!] (C)2001-2099 Comsenz Inc.
- This is NOT a freeware, use is subject to license terms
- $Id: space_diy.js 23838 2011-08-11 06:51:58Z monkey $
- */
- var drag = new Drag();
- drag.extend({
- setDefalutMenu : function () {
- this.addMenu('default', '删除', 'drag.removeBlock(event)');
- this.addMenu('block', '属性', 'drag.openBlockEdit(event)');
- },
- removeBlock : function (e) {
- if ( typeof e !== 'string') {
- e = Util.event(e);
- id = e.aim.id.replace('cmd_','');
- } else {
- id = e;
- }
- if (!confirm('您确实要删除吗,删除以后将不可恢复')) return false;
- $(id).parentNode.removeChild($(id));
- var el = $('chk'+id);
- if (el != null) el.className = '';
- this.initPosition();
- this.initChkBlock();
- },
- initChkBlock : function (data) {
- if (typeof name == 'undefined' || data == null ) data = this.data;
- if ( data instanceof Frame) {
- this.initChkBlock(data['columns']);
- } else if (data instanceof Block) {
- var el = $('chk'+data.name);
- if (el != null) el.className = 'activity';
- } else if (typeof data == 'object') {
- for (var i in data) {
- this.initChkBlock(data[i]);
- }
- }
- },
- toggleBlock : function (blockname) {
- var el = $('chk'+blockname);
- if (el != null) {
- if (el.className == '') {
- this.getBlockData(blockname);
- el.className = 'activity';
- } else {
- this.removeBlock(blockname);
- this.initPosition();
- }
- this.setClose();
- }
- },
- getBlockData : function (blockname) {
- var el = $(blockname);
- if (el != null) {
- Util.show(blockname);
- } else {
- var x = new Ajax();
- x.get('home.php?mod=spacecp&ac=index&op=getblock&blockname='+blockname+'&inajax=1',function(s) {
- if (s) {
- el = document.createElement("div");
- el.className = drag.blockClass + ' ' + drag.moveableObject;
- el.id = blockname;
- s = s.replace(/\<script.*\<\/script\>/ig,'<font color="red"> [javascript脚本保存后显示] </font>');
- el.innerHTML = s;
- var id = drag.data['diypage'][0]['columns']['frame1_left']['children'][0]['name'];
- $('frame1_left').insertBefore(el,$(id));
- drag.initPosition();
- }
- });
- }
- },
- openBlockEdit : function (e) {
- e = Util.event(e);
- var blockname = e.aim.id.replace('cmd_','');
- this.removeMenu();
- showWindow('showblock', 'home.php?mod=spacecp&ac=index&op=edit&blockname='+blockname,'get',0);
- }
- });
- var spaceDiy = new DIY();
- spaceDiy.extend({
- save:function () {
- drag.clearClose();
- document.diyform.spacecss.value = this.getSpacecssStr();
- document.diyform.style.value = this.style;
- document.diyform.layoutdata.value = drag.getPositionStr();
- document.diyform.currentlayout.value = this.currentLayout;
- document.diyform.submit();
- },
- getdiy : function (type) {
- var type_ = type == 'image' ? 'diy' : type;
- if (type_) {
- var nav = $('controlnav').children;
- for (var i in nav) {
- if (nav[i].className == 'current') {
- nav[i].className = '';
- }
- }
- $('nav'+type_).className = 'current';
- var para = '&op='+type;
- if (arguments.length > 1) {
- for (i = 1; i < arguments.length; i++) {
- para += '&' + arguments[i] + '=' + arguments[++i];
- }
- }
- var ajaxtarget = type == 'image' ? 'diyimages' : '';
- var x = new Ajax();
- x.showId = ajaxtarget;
- x.get('home.php?mod=spacecp&ac=index'+para+'&inajax=1&ajaxtarget='+ajaxtarget,function(s) {
- if (s) {
- drag.deleteFrame(['pb', 'bpb', 'tpb', 'lpb']);
- if (type == 'image') {
- $('diyimages').innerHTML = s;
- } else {
- $('controlcontent').innerHTML = s;
- x.showId = 'controlcontent';
- }
- if (type_ == 'block') {
- drag.initPosition();
- drag.initChkBlock();
- } else if (type_ == 'layout') {
- $('layout'+spaceDiy.currentLayout).className = 'activity';
- } else if (type_ == 'diy' && type != 'image') {
- spaceDiy.setCurrentDiy(spaceDiy.currentDiy);
- if (spaceDiy.styleSheet.rules.length > 0) {
- Util.show('recover_button');
- }
- }
- var evaled = false;
- if(s.indexOf('ajaxerror') != -1) {
- evalscript(s);
- evaled = true;
- }
- if(!evaled && (typeof ajaxerror == 'undefined' || !ajaxerror)) {
- if(x.showId) {
- ajaxupdateevents($(x.showId));
- }
- }
- if(!evaled) evalscript(s);
- }
- });
- }
- },
- menuChange : function (tabs, menu) {
- var tabobj = $(tabs);
- var aobj = tabobj.getElementsByTagName("li");
- for(i=0; i<aobj.length; i++) {
- aobj[i].className = '';
- $(aobj[i].id+'_content').style.display = 'none';
- }
- $(menu).className = 'a';
- $(menu+'_content').style.display="block";
- doane(null);
- },
- delIframe : function (){
- drag.deleteFrame(['m_ctc', 'm_bc', 'm_fc']);
- },
- showEditSpaceInfo : function () {
- $('spaceinfoshow').style.display='none';
- if (!$('spaceinfoedit')) {
- var dom = document.createElement('h2');
- dom.id = 'spaceinfoedit';
- Util.insertBefore(dom, $('spaceinfoshow'));
- }
- ajaxget('home.php?mod=spacecp&ac=index&op=getspaceinfo','spaceinfoedit');
- },
- spaceInfoCancel : function () {
- if ($('spaceinfoedit')) $('spaceinfoedit').style.display = 'none';
- if ($('spaceinfoshow')) $('spaceinfoshow').style.display = 'inline';
- },
- spaceInfoSave : function () {
- ajaxpost('savespaceinfo','spaceinfoshow');
- },
- init : function () {
- drag.init();
- this.style = document.diyform.style.value;
- this.currentLayout = typeof document.diyform.currentlayout == 'undefined' ? '' : document.diyform.currentlayout.value;
- this.initStyleSheet();
- if (this.styleSheet.rules) this.initDiyStyle();
- this.initSpaceInfo();
- },
- initSpaceInfo : function () {
- this.spaceInfoCancel();
- if ($('spaceinfoshow')) {
- if (!$('infoedit')) {
- var dom = document.createElement('em');
- dom.id = 'infoedit';
- dom.innerHTML = '编辑';
- $('spacename').appendChild(dom);
- }
- $('spaceinfoshow').onmousedown = function () {spaceDiy.showEditSpaceInfo();};
- }
- if ($('nv')) {
- if(!$('nv').getElementsByTagName('li').length) {
- $('nv').getElementsByTagName('ul')[0].className = 'mininv';
- }
- $('nv').onmouseover = function () {spaceDiy.showEditNvInfo();};
- $('nv').onmouseout = function () {spaceDiy.hideEditNvInfo();};
- }
- },
- showEditNvInfo : function () {
- var nv = $('editnvinfo');
- if(!nv) {
- var dom = document.createElement('div');
- dom.innerHTML = '<span id="editnvinfo" class="edit" style="background-color:#336699;" onclick="spaceDiy.opNvEditInfo();">设置</span>';
- $('nv').appendChild(dom.childNodes[0]);
- } else {
- nv.style.display = '';
- }
- },
- hideEditNvInfo : function () {
- var nv = $('editnvinfo');
- if(nv) {
- nv.style.display = 'none';
- }
- },
- opNvEditInfo : function () {
- showWindow('showpersonalnv', 'home.php?mod=spacecp&ac=index&op=editnv','get',0);
- },
- getPersonalNv : function (show) {
- var x = new Ajax();
- show = !show ? '' : '&show=1';
- x.get('home.php?mod=spacecp&ac=index&op=getpersonalnv&inajax=1'+show, function(s) {
- if($('nv')) {
- $('hd').removeChild($('nv'));
- }
- var dom = document.createElement('div');
- dom.innerHTML = !s ? ' ' : s;
- $('hd').appendChild(dom.childNodes[0]);
- spaceDiy.initSpaceInfo();
- });
- }
- });
- spaceDiy.init();
|