From 28d6ea45b49db7b759f529d8e6d1bd0116e98d19 Mon Sep 17 00:00:00 2001 From: Johannes Hoermann <j.hoermann@adito.de> Date: Fri, 10 May 2019 10:21:57 +0200 Subject: [PATCH] fix ObjectTree --- .../alter/children/edit/onActionProcess.js | 4 +- .../alter/children/edit/stateProcess.js | 5 +- .../alter/children/insert/onActionProcess.js | 51 ++++++++++--------- .../alter/children/insert/stateProcess.js | 7 +-- .../recordcontainers/jdito/contentProcess.js | 7 ++- 5 files changed, 41 insertions(+), 33 deletions(-) diff --git a/entity/ObjectTree_entity/entityfields/alter/children/edit/onActionProcess.js b/entity/ObjectTree_entity/entityfields/alter/children/edit/onActionProcess.js index c18d22015d6..6fb67aef23f 100644 --- a/entity/ObjectTree_entity/entityfields/alter/children/edit/onActionProcess.js +++ b/entity/ObjectTree_entity/entityfields/alter/children/edit/onActionProcess.js @@ -4,10 +4,10 @@ import("system.vars"); if (vars.exists("$sys.selection") && vars.get("$sys.selection")) { - var selectedRows = JSON.parse(vars.get("$sys.selection")); + var selectedRows = JSON.parse(vars.getString("$sys.selection")); var uid = JSON.parse(selectedRows[0]); var isObjectRelationNode = typeof uid[2] == "string"; - + if (isObjectRelationNode) { var params = { diff --git a/entity/ObjectTree_entity/entityfields/alter/children/edit/stateProcess.js b/entity/ObjectTree_entity/entityfields/alter/children/edit/stateProcess.js index e46436ab939..7f715f0c5d8 100644 --- a/entity/ObjectTree_entity/entityfields/alter/children/edit/stateProcess.js +++ b/entity/ObjectTree_entity/entityfields/alter/children/edit/stateProcess.js @@ -4,9 +4,10 @@ import("system.vars"); if (vars.exists("$sys.selection") && vars.get("$sys.selection")) { - var selectedRows = JSON.parse(vars.get("$sys.selection")); + var selectedRows = JSON.parse(vars.getString("$sys.selection")); var isObjectRelationNode = false; - if (selectedRows.length > 0) + + if (selectedRows.length > 0 && selectedRows[0] && selectedRows[0].length > 0 && selectedRows[0][0] == "[") { var uid = JSON.parse(selectedRows[0]); isObjectRelationNode = typeof uid[2] == "string"; diff --git a/entity/ObjectTree_entity/entityfields/alter/children/insert/onActionProcess.js b/entity/ObjectTree_entity/entityfields/alter/children/insert/onActionProcess.js index cbeeeb007e4..673ecacc816 100644 --- a/entity/ObjectTree_entity/entityfields/alter/children/insert/onActionProcess.js +++ b/entity/ObjectTree_entity/entityfields/alter/children/insert/onActionProcess.js @@ -2,32 +2,35 @@ import("system.result"); import("system.neon"); import("system.vars"); -if (vars.exists("$sys.selection") && vars.get("$sys.selection")) -{ - var selectedRows = JSON.parse(vars.get("$sys.selection")); - var isObjectRelationNode = false; - if (selectedRows.length > 0) - { - var uid = JSON.parse(selectedRows[0]); - isObjectRelationNode = typeof uid[2] == "string"; - - if (isObjectRelationNode) +if (!(vars.exists("$param.Uid_param") && vars.get("$param.Uid_param")) && !(vars.exists("$local.idvalues") && vars.get("$local.idvalues") && vars.get("$local.idvalues").length > 0)) +{ + if (vars.exists("$sys.selection") && vars.get("$sys.selection")) + { + var selectedRows = JSON.parse(vars.getString("$sys.selection")); + var isObjectRelationNode = false; + if (selectedRows.length > 0) { - parentId = uid[0]; - parentObjectType = uid[3]; - } - else - { - parentId = vars.getString("$param.ObjectId_param"); - parentObjectType = vars.getString("$param.ObjectType_param"); - } + var uid = JSON.parse(selectedRows[0]); + isObjectRelationNode = typeof uid[2] == "string"; - var params = { - "ObjectId_param" : parentId, - "ObjectType_param" : parentObjectType, - "RelationType_param" : vars.get("$field.OBJECTRELATIONTYPEID") - }; + if (isObjectRelationNode) + { + parentId = uid[0]; + parentObjectType = uid[3]; + } + else + { + parentId = vars.getString("$param.ObjectId_param"); + parentObjectType = vars.getString("$param.ObjectType_param"); + } - neon.openContext("ObjectTree", "ObjectTreeEdit_view", null, neon.OPERATINGSTATE_NEW, params); + var params = { + "ObjectId_param" : parentId, + "ObjectType_param" : parentObjectType, + "RelationType_param" : vars.get("$field.OBJECTRELATIONTYPEID") + }; + + neon.openContext("ObjectTree", "ObjectTreeEdit_view", null, neon.OPERATINGSTATE_NEW, params); + } } } \ No newline at end of file diff --git a/entity/ObjectTree_entity/entityfields/alter/children/insert/stateProcess.js b/entity/ObjectTree_entity/entityfields/alter/children/insert/stateProcess.js index 5e1e7308c70..da862179ab9 100644 --- a/entity/ObjectTree_entity/entityfields/alter/children/insert/stateProcess.js +++ b/entity/ObjectTree_entity/entityfields/alter/children/insert/stateProcess.js @@ -5,9 +5,10 @@ import("system.neon"); if (vars.exists("$sys.selection") && vars.get("$sys.selection")) { - var selectedRows = JSON.parse(vars.get("$sys.selection")); + var selectedRows = JSON.parse(vars.getString("$sys.selection")); var isObjectRelationNode = false; - if (selectedRows.length > 0) + + if (selectedRows.length > 0 && selectedRows[0] && selectedRows[0].length > 0 && selectedRows[0][0] == "[") { var uid = JSON.parse(selectedRows[0]); isObjectRelationNode = typeof uid[2] == "string"; @@ -23,4 +24,4 @@ if (vars.exists("$sys.selection") && vars.get("$sys.selection")) result.string(neon.COMPONENTSTATE_DISABLED); } else - result.string(neon.COMPONENTSTATE_DISABLED); \ No newline at end of file + result.string(neon.COMPONENTSTATE_DISABLED); diff --git a/entity/ObjectTree_entity/recordcontainers/jdito/contentProcess.js b/entity/ObjectTree_entity/recordcontainers/jdito/contentProcess.js index b7e9b9983dd..a4243ae51f8 100644 --- a/entity/ObjectTree_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/ObjectTree_entity/recordcontainers/jdito/contentProcess.js @@ -43,9 +43,12 @@ else selectedRelationType = filter.childs[0].value; } } - var originalObjectId = vars.get("$param.ObjectId_param"); + if (vars.exists("$param.ObjectId_param") && vars.get("$param.ObjectId_param")) + { + var originalObjectId = vars.get("$param.ObjectId_param"); - _loadObjectRelationTree(originalObjectId, vars.get("$param.ObjectType_param"), selectedRelationType); + _loadObjectRelationTree(originalObjectId, vars.get("$param.ObjectType_param"), selectedRelationType); + } } result.object(tree); -- GitLab