📄 admin_template_custom_main_page.js
字号:
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()" /> <input type="button" value="上 移"onclick="' + _ref + '.moveUp()" /> <input type="button" value="下 移"onclick="' + _ref + '.moveDown()" /> <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 + -