⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 admin_template_custom_main_page.js

📁 动网论坛系列产品倍受用户赞誉的就是强大的功能和出色的用户体验表现
💻 JS
📖 第 1 页 / 共 2 页
字号:
	this.toHtmlString = function (fixDataStruct) {
		function _toHtmlString(destObj, parentContainer)
		{
			if (0 == destObj.Count)
			{
				return '';
			}
			var retvl = '<table cellpadding="3" cellspacing="3" border="0" width="100%"><tr>';
			for (var key in destObj.Items)
			{
				if ('undefined' === typeof(destObj.Items[key].Width))
				{
					continue;
				}
				retvl += '<td width="' + destObj.Items[key].Width + '"><select id="' + key + '" size="10" style="width: 100%;" onclick="' + _ref + '._ItemClick(this)" _parentContainer="' + parentContainer + '" _topContainer="' + destObj.Items[key].TopContainer + '" _leftContainer="' + destObj.Items[key].LeftContainer + '" _rightContainer="' + destObj.Items[key].RightContainer + '" _bottomContainer="' + destObj.Items[key].BottomContainer + '">';
				for (var key2 in destObj.Items[key].Items)
				{
					if ('undefined' === typeof(destObj.Items[key].Items[key2].LabelType))
					{
						continue;
					}
					retvl += '<option value="' + destObj.Items[key].Items[key2].Value + '" _label_type="' + destObj.Items[key].Items[key2].LabelType + '">' + destObj.Items[key].Items[key2].Text + '</option>';
				}
				retvl += '</select></td>';
			}
			retvl += '</tr></table>';
			return retvl;
		}
		
		// 修复数据结构
		if (true === fixDataStruct)
		{
			_FixDataStruct();
		}
		
		var retvl = '<div id="' + _GUID + 'container" style="width: 100%;">';
		retvl += _toHtmlString(_dataStruct.TopContainer, 'TopContainer');
		retvl += _toHtmlString(_dataStruct[_dataStruct.SelectedLayout], _dataStruct.SelectedLayout);
		retvl += _toHtmlString(_dataStruct.BottomContainer, 'BottomContainer');
		retvl += '<div style="width: 100%; height: auto; text-align: center;"><input type="button" value="左  移" onclick="' + _ref + '.moveLeft()" />&nbsp;&nbsp;<input type="button" value="上  移"onclick="' + _ref + '.moveUp()" />&nbsp;&nbsp;<input type="button" value="下  移"onclick="' + _ref + '.moveDown()" />&nbsp;&nbsp;<input type="button" value="右  移"onclick="' + _ref + '.moveRight()" /></div></div>';
		return retvl;
	};

	// 返回可用于表单提交的字符串数据
		// _dataStruct 的数据结构还有些问题,在 var middle 中的注释行取不到值
	this.getSubmitString = function () {
		// 一列版式处理函数
		function _OneCol()
		{
			_Common();
		}
		
		// 两列对称版式处理函数
		function _SymmetricTwoCol()
		{
			_Common();
		}
		
		// 三列,中间宽版式处理函数
		function _ClassicThreeCol()
		{
			_Common();
		}
		
		// 两列,左列窄版式处理函数
		function _ClassicTwoCol()
		{
		// 顶部区域
			var top_area = _dataStruct.TopContainer.Items[_GUID + 'TopContainer'];
			for (var key in top_area.Items)
			{
				if ('undefined' === typeof(top_area.Items[key].Value))
				{
					continue;
				}
				retvl += '{$' + top_area.Items[key].Value + '}';
			}
			
		// 中部区域
			// 中部区域容器开始
			retvl += '<div id="nav_top">';
			
			// 中部左列区域
			retvl += '<div id="page_right" style="float: left;">';
			var left_area = _dataStruct[_dataStruct.SelectedLayout].Items[_GUID + 'Container_0'];
			for (var key in left_area.Items)
			{
				if ('undefined' === typeof(left_area.Items[key].Value))
				{
					continue;
				}
				retvl += '{$' + left_area.Items[key].Value + '}';
			}
			retvl += '</div>';
			
			// 中部右列区域
			retvl += '<div id="page_left" style="float: right; margin-right: auto; margin-left: 10px;">';
			var right_area = _dataStruct[_dataStruct.SelectedLayout].Items[_GUID + 'Container_1'];
			for (var key in right_area.Items)
			{
				if ('undefined' === typeof(right_area.Items[key].Value))
				{
					continue;
				}
				retvl += '{$' + right_area.Items[key].Value + '}';
			}
			retvl += '</div>';
			
			// 中部区域容器结束
			retvl += '</div>';
			
		// 底部区域
			var bottom_area = _dataStruct.BottomContainer.Items[_GUID + 'BottomContainer'];
			for (var key in bottom_area.Items)
			{
				if ('undefined' === typeof(bottom_area.Items[key].Value))
				{
					continue;
				}
				retvl += '{$' + bottom_area.Items[key].Value + '}';
			}
		}
		
		/**
		 *	两列,右列窄版式处理函数
		 *	默认版式
		 */
		function _BackwardsTwoCol()
		{
		// 顶部区域
			var top_area = _dataStruct.TopContainer.Items[_GUID + 'TopContainer'];
			for (var key in top_area.Items)
			{
				if ('undefined' === typeof(top_area.Items[key].Value))
				{
					continue;
				}
				retvl += '{$' + top_area.Items[key].Value + '}';
			}
			
		// 中部区域
			// 中部区域容器开始
			retvl += '<div id="nav_top">';
			
			// 中部右列区域
			retvl += '<div id="page_right">';
			var right_area = _dataStruct[_dataStruct.SelectedLayout].Items[_GUID + 'Container_1'];
			for (var key in right_area.Items)
			{
				if ('undefined' === typeof(right_area.Items[key].Value))
				{
					continue;
				}
				retvl += '{$' + right_area.Items[key].Value + '}';
			}
			retvl += '</div>';
			
			// 中部左列区域
			retvl += '<div id="page_left">';
			var left_area = _dataStruct[_dataStruct.SelectedLayout].Items[_GUID + 'Container_0'];
			for (var key in left_area.Items)
			{
				if ('undefined' === typeof(left_area.Items[key].Value))
				{
					continue;
				}
				retvl += '{$' + left_area.Items[key].Value + '}';
			}
			retvl += '</div>';
			
			// 中部区域容器结束
			retvl += '</div>';
			
		// 底部区域
			var bottom_area = _dataStruct.BottomContainer.Items[_GUID + 'BottomContainer'];
			for (var key in bottom_area.Items)
			{
				if ('undefined' === typeof(bottom_area.Items[key].Value))
				{
					continue;
				}
				retvl += '{$' + bottom_area.Items[key].Value + '}';
			}
		}
		
		// 三列,左列窄版式处理函数
		function _RightHeavyThreeCol()
		{
			_Common();
		}
		
		// 四个对称列版式处理函数
		function _SymmetricFourCol()
		{
			_Common();
		}		

		function _Common()
		{
			var top = _dataStruct.TopContainer.Items[_GUID + 'TopContainer'];
			retvl += '<div id="nav_top"><table border="0" align="center" cellpadding="0" cellspacing="0">';
			for (var key in top.Items)
			{
				if ('undefined' === typeof(top.Items[key].Value))
				{
					continue;
				}
				retvl += '<tr><td>{$' + top.Items[key].Value + '}</td></tr>';
			}
			retvl += '</table>';

			var middle = _dataStruct[_dataStruct.SelectedLayout];
			retvl += '<table border="0" cellpadding="0" cellspacing="0"><tr>';
			var per_width = (100 / _dataStruct[_dataStruct.SelectedLayout].Count) + '%';
			for (var key in middle.Items)
			{
				if ('undefined' === typeof(middle.Items[key].Items) || 'undefined' === middle.Items[key].Items.Width)
				{
					continue;
				}
				retvl += '<td width="' + per_width + '"><table border="0" width="100%" cellpadding="0" cellspacing="0">';

				var id = document.getElementById(key);
				if (!id)
				{
					continue;
				}
				for (var i = 0; i < id.options.length; i++)
				{
					retvl += '<tr><td>{$' + id.options[i].value + '}</td></tr>';
				}

	//			retvl += '<td width="' + per_width + '"><table border="0" width="100%" cellpadding="0" cellspacing="0">';
	//			for (var key2 in middle.Items[key].Items)
	//			{
	//				if ('undefined' === typeof(top_area.Items[key].Value))
	//				{
	//					continue;
	//				}
	//				retvl += '<tr><td>{$' + middle.Items[key].Items[key2].Value + '}</td></tr>';
	//			}
				retvl += '</table></td>';
			}
			retvl += '</tr></table>';

			var bottom = _dataStruct.BottomContainer.Items[_GUID + 'BottomContainer'];
			retvl += '<table border="0" cellpadding="0" cellspacing="0">';
			for (var key in bottom.Items)
			{
				if ('undefined' === typeof(bottom.Items[key].Value))
				{
					continue;
				}
				retvl += '<tr><td>{$' + bottom.Items[key].Value + '}</td></tr>';
			}
			retvl += '</table></div>';
		}
		
		// 修复数据结构
		_FixDataStruct();
		
	// 执行操作
		var retvl = '<!--#include file="_header.html" -->';
		
		eval('_' + _dataStruct.SelectedLayout + '();');
		
		retvl += '<!--#include file="_footer.html" -->';
		
		return retvl;
	};

	// 返回已使用的系统标签的列表
	this.getSystemOptions = function () {
		function _findSysOptions(destObj)
		{
			for (var key in destObj.Items)
			{
				if ('undefined' === typeof(destObj.Items[key].Width))
				{
					continue;
				}
				for (var key2 in destObj.Items[key].Items)
				{
					if ('undefined' === typeof(destObj.Items[key].Items[key2].LabelType))
					{
						continue;
					}
					if (1 == destObj.Items[key].Items[key2].LabelType)
					{
						retvl[retvl.length] = destObj.Items[key].Items[key2].Value;
					}
				}
			}
		}
		
		// 修复数据结构
		_FixDataStruct();
		
		var retvl = [];
		_findSysOptions(_dataStruct.TopContainer);
		_findSysOptions(_dataStruct[_dataStruct.SelectedLayout]);
		_findSysOptions(_dataStruct.BottomContainer);
		return retvl;
	};
	// 返回已使用的非系统标签的列表
	this.getCommonOptions = function () {
		// 修复数据结构
		_FixDataStruct();
		
		var retvl = [];
		_findSysOptions(_dataStruct.TopContainer);
		_findSysOptions(_dataStruct[_dataStruct.SelectedLayout]);
		_findSysOptions(_dataStruct.BottomContainer);
		function _findSysOptions(destObj)
		{
			for (var key in destObj.Items)
			{
				if ('undefined' === typeof(destObj.Items[key].Width))
				{
					continue;
				}
				for (var key2 in destObj.Items[key].Items)
				{
					if ('undefined' === typeof(destObj.Items[key].Items[key2].LabelType))
					{
						continue;
					}
					if (1 != destObj.Items[key].Items[key2].LabelType)
					{
						retvl[retvl.length] = destObj.Items[key].Items[key2].Value;
					}
				}
			}
		}
		return retvl;
	};

	// 返回 JSON 格式的字符串
	this.toJSONString = function () {
		// 修复数据结构
		_FixDataStruct();
		
		return _dataStruct.toJSONString();
	}

	// 当下拉菜单被点击时,将会触发此函数
	this._ItemClick = function (oSelect) {
		if (oSelect.selectedIndex >= 0)
		{
			_selectedItem = oSelect.options[oSelect.selectedIndex];
		}
		return true;
	}

	// 左移
	this.moveLeft = function () {
		if (!_selectedItem)
		{
			return;
		}
		var raw_item = _selectedItem;
		var parent = _selectedItem.parentNode;
		var left_container = document.getElementById(parent.getAttribute('_leftContainer'));
		if (!left_container)
		{
			return;
		}
		left_container.insertBefore(_selectedItem);
	};

	// 上移
	this.moveUp = function () {
		if (!_selectedItem)
		{
			return;
		}
		var raw_item = _selectedItem;
		var parent = _selectedItem.parentNode;
		var prev_sibling = _selectedItem.previousSibling;
		if (prev_sibling)
		{
			parent.insertBefore(_selectedItem, prev_sibling);
			return;
		}
		var prev_container = document.getElementById(parent.getAttribute('_topContainer'));
		if (!prev_container)
		{
			return;
		}
		if (0 == prev_container.options.length)
		{
			prev_container.insertBefore(_selectedItem);
		}
		else
		{
			var option = prev_container.options[prev_container.options.length - 1];
			prev_container.insertBefore(_selectedItem, option);
			prev_container.insertBefore(option, _selectedItem);
		}
	};

	// 下移
	this.moveDown = function () {
		if (!_selectedItem)
		{
			return;
		}
		var raw_item = _selectedItem;
		var parent = _selectedItem.parentNode;
		var next_sibling = _selectedItem.nextSibling;
		if (next_sibling)
		{
			parent.insertBefore(next_sibling, _selectedItem);
			return;
		}
		var next_container = document.getElementById(parent.getAttribute('_bottomContainer'));
		if (!next_container)
		{
			return;
		}
		next_container.insertBefore(_selectedItem);
	};

	// 右移
	this.moveRight = function () {
		if (!_selectedItem)
		{
			return;
		}
		var raw_item = _selectedItem;
		var parent = _selectedItem.parentNode;
		var right_container = document.getElementById(parent.getAttribute('_rightContainer'));
		if (!right_container)
		{
			return;
		}
		right_container.insertBefore(_selectedItem);
	};
})();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -