From f0ac60e30071c7c83afa4952218da3cce9703974 Mon Sep 17 00:00:00 2001 From: Johannes Hoermann <j.hoermann@adito.de> Date: Mon, 8 Apr 2019 17:06:23 +0200 Subject: [PATCH] oibjectrelation edit state Process --- .../ObjectTree_entity/ObjectTree_entity.aod | 5 +++- .../alter/children/edit/onActionProcess.js | 10 +++---- .../alter/children/edit/stateProcess.js | 30 +++++++++++++++++++ .../recordcontainers/jdito/contentProcess.js | 5 ++-- 4 files changed, 42 insertions(+), 8 deletions(-) create mode 100644 entity/ObjectTree_entity/entityfields/alter/children/edit/stateProcess.js diff --git a/entity/ObjectTree_entity/ObjectTree_entity.aod b/entity/ObjectTree_entity/ObjectTree_entity.aod index e4136413bd..d940f4a75f 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 8cbab64779..c18d22015d 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 0000000000..60b83bbcbd --- /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 a8f30c3c97..70b8263604 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 { -- GitLab