Merge remote-tracking branch 'refs/remotes/ckcz123/v2.0' into editor-table-add-delete
This commit is contained in:
commit
440f384e0c
@ -92,17 +92,9 @@ editor_mode = function (editor) {
|
|||||||
* @param {Object} pcobj
|
* @param {Object} pcobj
|
||||||
*/
|
*/
|
||||||
var recursionParse = function (pfield, pcfield, pvobj, pcobj) {
|
var recursionParse = function (pfield, pcfield, pvobj, pcobj) {
|
||||||
var keysForTableOrder={};
|
// 1. 按照pcobj排序生成
|
||||||
var voidMark={};
|
// 2. 对每个pvobj且不在pcobj的,再添加到最后
|
||||||
if (pcobj && pcobj['_data']){
|
var generate = function (ii) {
|
||||||
for (var ii in pcobj['_data']) keysForTableOrder[ii]=voidMark;
|
|
||||||
}
|
|
||||||
keysForTableOrder=Object.assign(keysForTableOrder,pvobj)
|
|
||||||
for (var ii in keysForTableOrder) {
|
|
||||||
if(keysForTableOrder[ii]===voidMark){
|
|
||||||
alert('comment和data不匹配,请把工程打包发至 HTML5造塔技术交流群 959329661')
|
|
||||||
throw Error('comment和data不匹配,请把工程打包发至 HTML5造塔技术交流群 959329661')
|
|
||||||
}
|
|
||||||
var field = pfield + "['" + ii + "']";
|
var field = pfield + "['" + ii + "']";
|
||||||
var cfield = pcfield + "['_data']['" + ii + "']";
|
var cfield = pcfield + "['_data']['" + ii + "']";
|
||||||
var vobj = pvobj[ii];
|
var vobj = pvobj[ii];
|
||||||
@ -122,7 +114,7 @@ editor_mode = function (editor) {
|
|||||||
if (cobj[key] instanceof Function) cobj[key] = cobj[key](args);
|
if (cobj[key] instanceof Function) cobj[key] = cobj[key](args);
|
||||||
}
|
}
|
||||||
// 标记为_hide的属性不展示
|
// 标记为_hide的属性不展示
|
||||||
if (cobj._hide)continue;
|
if (cobj._hide) return;
|
||||||
if (!cobj._leaf) {
|
if (!cobj._leaf) {
|
||||||
// 不是叶节点时, 插入展开的标记并继续遍历, 此处可以改成按钮用来添加新项或折叠等
|
// 不是叶节点时, 插入展开的标记并继续遍历, 此处可以改成按钮用来添加新项或折叠等
|
||||||
outstr.push(["<tr><td>----</td><td>----</td><td>", field, "</td></tr>\n"].join(''));
|
outstr.push(["<tr><td>----</td><td>----</td><td>", field, "</td></tr>\n"].join(''));
|
||||||
@ -133,6 +125,18 @@ editor_mode = function (editor) {
|
|||||||
outstr.push(leafnode[0]);
|
outstr.push(leafnode[0]);
|
||||||
guids.push(leafnode[1]);
|
guids.push(leafnode[1]);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var done = {};
|
||||||
|
if (pcobj && pcobj['_data']) {
|
||||||
|
for (var ii in pcobj['_data']) {
|
||||||
|
generate(ii);
|
||||||
|
done[ii] = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (var ii in pvobj) {
|
||||||
|
if (done[ii]) continue;
|
||||||
|
generate(ii);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 开始遍历
|
// 开始遍历
|
||||||
@ -297,6 +301,7 @@ editor_mode = function (editor) {
|
|||||||
|
|
||||||
editor_mode.prototype.objToTd_ = function (obj, commentObj, field, cfield, vobj, cobj) {
|
editor_mode.prototype.objToTd_ = function (obj, commentObj, field, cfield, vobj, cobj) {
|
||||||
var thiseval = vobj;
|
var thiseval = vobj;
|
||||||
|
if (thiseval === undefined) thiseval = null;
|
||||||
if (cobj._select) {
|
if (cobj._select) {
|
||||||
var values = cobj._select.values;
|
var values = cobj._select.values;
|
||||||
var outstr = ['<select>\n', "<option value='", JSON.stringify(thiseval), "'>", JSON.stringify(thiseval), '</option>\n'];
|
var outstr = ['<select>\n', "<option value='", JSON.stringify(thiseval), "'>", JSON.stringify(thiseval), '</option>\n'];
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user