diff --git a/entity/ObjectTree_entity/ObjectTree_entity.aod b/entity/ObjectTree_entity/ObjectTree_entity.aod index e4136413bd8edbec47970e58f1ef613474e5c78f..d940f4a75f04936b121339950f8a4078b5d40c0d 100644 --- a/entity/ObjectTree_entity/ObjectTree_entity.aod +++ b/entity/ObjectTree_entity/ObjectTree_entity.aod @@ -11,6 +11,8 @@ <entityProvider> <name>TreeProvider</name> <fieldType>DEPENDENCY_IN</fieldType> + <targetContextField>TARGET_CONTEXT</targetContextField> + <targetIdField>TARGET_ID</targetIdField> <dependencies> <entityDependency> <name>f4c0605f-3ccb-4ff1-b460-7268e8553857</name> @@ -165,8 +167,9 @@ <name>edit</name> <fieldType>ACTION</fieldType> <onActionProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/alter/children/edit/onActionProcess.js</onActionProcess> - <isSelectionAction v="true" /> <iconId>NEON:PENCIL</iconId> + <state>DISABLED</state> + <stateProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/alter/children/edit/stateProcess.js</stateProcess> </entityActionField> </children> </entityActionGroup> diff --git a/entity/ObjectTree_entity/entityfields/alter/children/edit/onActionProcess.js b/entity/ObjectTree_entity/entityfields/alter/children/edit/onActionProcess.js index 8cbab6477934deb6b65153433d326c1b2b87cbac..c18d22015d610e510b71019881de089a06d1632c 100644 --- a/entity/ObjectTree_entity/entityfields/alter/children/edit/onActionProcess.js +++ b/entity/ObjectTree_entity/entityfields/alter/children/edit/onActionProcess.js @@ -2,16 +2,16 @@ import("ObjectRelation_lib"); import("system.neon"); import("system.vars"); -if (vars.exists("$local.rows") && vars.get("$local.rows")) -{ - var selectedRows = JSON.parse(vars.get("$local.rows")); - var uid = JSON.parse(selectedRows[0]["#LOOKUPID"]); +if (vars.exists("$sys.selection") && vars.get("$sys.selection")) +{ + var selectedRows = JSON.parse(vars.get("$sys.selection")); + var uid = JSON.parse(selectedRows[0]); var isObjectRelationNode = typeof uid[2] == "string"; if (isObjectRelationNode) { var params = { - "Uid_param" : selectedRows[0]["#LOOKUPID"] + "Uid_param" : selectedRows[0] } neon.openContext("ObjectTree", "ObjectTreeEdit_view", null, neon.OPERATINGSTATE_EDIT, params); } diff --git a/entity/ObjectTree_entity/entityfields/alter/children/edit/stateProcess.js b/entity/ObjectTree_entity/entityfields/alter/children/edit/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..60b83bbcbd21fecc83049a4f8909cfd74837fb33 --- /dev/null +++ b/entity/ObjectTree_entity/entityfields/alter/children/edit/stateProcess.js @@ -0,0 +1,30 @@ +import("system.logging"); +import("system.result"); +import("system.neon"); +import("system.vars"); +logging.log("aaaaaaaaaaaaa " + vars.get("$sys.selection")) +logging.log("aaaaaaaaaaaaa " + vars.get("$sys." + "viewmode")) +if (vars.get("$sys." + "viewmode") == neon.FRAME_VIEWMODE_COMPONENT) +if (vars.exists("$sys." + "selection") && vars.get("$sys." + "selection")) +{ + var selectedRows = JSON.parse(vars.get("$sys." + "selection")); + var isObjectRelationNode = false; + if (selectedRows.length > 0) + { + logging.log(selectedRows.toSource()) + var uid = JSON.parse(selectedRows[0]); + logging.log(uid.toSource()) + isObjectRelationNode = typeof uid[2] == "string"; + } + logging.log(isObjectRelationNode) + if (isObjectRelationNode) + { + result.string(neon.COMPONENTSTATE_EDITABLE) + } + else + { + result.string(neon.COMPONENTSTATE_DISABLED) + } +} +else + result.string(neon.COMPONENTSTATE_DISABLED) \ No newline at end of file diff --git a/entity/ObjectTree_entity/recordcontainers/jdito/contentProcess.js b/entity/ObjectTree_entity/recordcontainers/jdito/contentProcess.js index a8f30c3c97bb219f921ff5b460762a0015d23f3a..70b8263604a7974af3221512a62910e4578da340 100644 --- a/entity/ObjectTree_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/ObjectTree_entity/recordcontainers/jdito/contentProcess.js @@ -22,8 +22,7 @@ else if(vars.exists("$local.idvalues") && vars.get("$local.idvalues") && vars.ge if (uidParam) { let uid = JSON.parse(uidParam); - - let isObjectRelationNode = typeof uid[2] == "string"; + let isObjectRelationNode = uid != null && typeof uid[2] == "string"; if (isObjectRelationNode) { @@ -31,6 +30,8 @@ if (uidParam) _insertEntry(tree, _getEntryData(uid[0], relationTypeData[3], relationTypeData[7], relationTypeData[8], undefined, false, uid[6]), "", 0, uid[3], relationTypeData[10]); } + /* else + tree = [["", "", "", "", "", "", "", ""]]*/ } else {