Skip to content
Snippets Groups Projects
Commit 766895f7 authored by S.Listl's avatar S.Listl
Browse files

Attribute types MEMO and VOID

parent 9d1adce5
No related branches found
No related tags found
No related merge requests found
Showing
with 176 additions and 131 deletions
...@@ -17,6 +17,24 @@ ...@@ -17,6 +17,24 @@
<column name="ISACTIVE" valueNumeric="1"/> <column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="1"/> <column name="ISESSENTIAL" valueNumeric="1"/>
</insert> </insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="ee893a1c-d007-46fe-a190-727124c4467b"/>
<column name="KEYID" value="MEMO"/>
<column name="TITLE" value="Memo"/>
<column name="CONTAINER" value="AttributeType"/>
<column name="SORTING" valueNumeric="8"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="1"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="191d7293-3b3f-4dc7-bbe2-9da1a897f7df"/>
<column name="KEYID" value="VOID"/>
<column name="TITLE" value="Void"/>
<column name="CONTAINER" value="AttributeType"/>
<column name="SORTING" valueNumeric="9"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="1"/>
</insert>
<rollback> <rollback>
<delete tableName="AB_KEYWORD_ENTRY"> <delete tableName="AB_KEYWORD_ENTRY">
<where>AB_KEYWORD_ENTRYID = ?</where> <where>AB_KEYWORD_ENTRYID = ?</where>
...@@ -24,6 +42,18 @@ ...@@ -24,6 +42,18 @@
<param value="9d2f9605-1a5e-47d3-8920-168f5637e37f"/> <param value="9d2f9605-1a5e-47d3-8920-168f5637e37f"/>
</whereParams> </whereParams>
</delete> </delete>
<delete tableName="AB_KEYWORD_ENTRY">
<where>AB_KEYWORD_ENTRYID = ?</where>
<whereParams>
<param value="ee893a1c-d007-46fe-a190-727124c4467b"/>
</whereParams>
</delete>
<delete tableName="AB_KEYWORD_ENTRY">
<where>AB_KEYWORD_ENTRYID = ?</where>
<whereParams>
<param value="191d7293-3b3f-4dc7-bbe2-9da1a897f7df"/>
</whereParams>
</delete>
</rollback> </rollback>
</changeSet> </changeSet>
</databaseChangeLog> </databaseChangeLog>
\ No newline at end of file
...@@ -82,8 +82,9 @@ ...@@ -82,8 +82,9 @@
<title>Value</title> <title>Value</title>
<contentTypeProcess>%aditoprj%/entity/AttributeRelationTree_entity/entityfields/value/contentTypeProcess.js</contentTypeProcess> <contentTypeProcess>%aditoprj%/entity/AttributeRelationTree_entity/entityfields/value/contentTypeProcess.js</contentTypeProcess>
<resolution>DAY</resolution> <resolution>DAY</resolution>
<mandatory v="true" /> <mandatoryProcess>%aditoprj%/entity/AttributeRelationTree_entity/entityfields/value/mandatoryProcess.js</mandatoryProcess>
<possibleItemsProcess>%aditoprj%/entity/AttributeRelationTree_entity/entityfields/value/possibleItemsProcess.js</possibleItemsProcess> <possibleItemsProcess>%aditoprj%/entity/AttributeRelationTree_entity/entityfields/value/possibleItemsProcess.js</possibleItemsProcess>
<stateProcess>%aditoprj%/entity/AttributeRelationTree_entity/entityfields/value/stateProcess.js</stateProcess>
</entityField> </entityField>
<entityConsumer> <entityConsumer>
<name>SpecificAttribute</name> <name>SpecificAttribute</name>
......
import("system.vars");
import("system.result");
import("Attribute_lib");
var attributeType = AttributeUtil.getAttributeType(vars.get("$field.AB_ATTRIBUTE_ID"));
result.string(AttributeTypeUtil.getContentType(attributeType) != null);
\ No newline at end of file
...@@ -42,5 +42,6 @@ else if (attrType == $AttributeTypes.KEYWORD) ...@@ -42,5 +42,6 @@ else if (attrType == $AttributeTypes.KEYWORD)
{ {
return [row[0], translate.text(row[1])]; return [row[0], translate.text(row[1])];
}); });
result.object(keywords); result.object(keywords);
} }
\ No newline at end of file
import("system.neon");
import("system.vars");
import("system.result");
import("Attribute_lib");
var attributeType = AttributeUtil.getAttributeType(vars.get("$field.AB_ATTRIBUTE_ID"));
result.string(AttributeTypeUtil.getContentType(attributeType));
var fieldState;
if (AttributeTypeUtil.getContentType(attributeType) != null)
fieldState = neon.COMPONENTSTATE_EDITABLE;
else
fieldState = neon.COMPONENTSTATE_READONLY;
result.string(fieldState);
\ No newline at end of file
...@@ -8,9 +8,7 @@ var objectType = vars.get("$param.ObjectType_param"); ...@@ -8,9 +8,7 @@ var objectType = vars.get("$param.ObjectType_param");
var rowId = vars.get("$param.ObjectRowId_param"); var rowId = vars.get("$param.ObjectRowId_param");
var attributeObj = {}; var attributeObj = {};
var allAttributes = []; var allAttributes = [];
var sqlSelect = "select AB_ATTRIBUTEID, ATTRIBUTE_PARENT_ID, ATTRIBUTE_NAME, ATTRIBUTE_NAME, ATTRIBUTE_NAME, ATTRIBUTE_NAME, ATTRIBUTE_TYPE from AB_ATTRIBUTE"; var sqlSelect = "select AB_ATTRIBUTEID, ATTRIBUTE_PARENT_ID, '', '', AB_ATTRIBUTEID, ATTRIBUTE_NAME, ATTRIBUTE_TYPE from AB_ATTRIBUTE";
var attrCond = SqlCondition.begin() var attrCond = SqlCondition.begin()
.andPrepare("AB_ATTRIBUTERELATION.OBJECT_ROWID", rowId); .andPrepare("AB_ATTRIBUTERELATION.OBJECT_ROWID", rowId);
...@@ -19,8 +17,10 @@ if (objectType != null) ...@@ -19,8 +17,10 @@ if (objectType != null)
var defaultFields = [ var defaultFields = [
"AB_ATTRIBUTERELATIONID", "AB_ATTRIBUTERELATIONID",
"AB_ATTRIBUTE_ID", "AB_ATTRIBUTE.AB_ATTRIBUTEID",
"AB_ATTRIBUTE.ATTRIBUTE_PARENT_ID",
"AB_ATTRIBUTE.ATTRIBUTE_TYPE", "AB_ATTRIBUTE.ATTRIBUTE_TYPE",
"AB_ATTRIBUTE.ATTRIBUTE_NAME",
"AB_ATTRIBUTE.KEYWORD_CONTAINER", "AB_ATTRIBUTE.KEYWORD_CONTAINER",
"COMBOVAL.ATTRIBUTE_NAME" "COMBOVAL.ATTRIBUTE_NAME"
]; ];
...@@ -33,15 +33,15 @@ var attributeNameMap = {}; ...@@ -33,15 +33,15 @@ var attributeNameMap = {};
var attributeValues = db.table(attributeSql).map(function (row) var attributeValues = db.table(attributeSql).map(function (row)
{ {
let attributeId = row[1]; let attributeId = row[1];
let attributeName = ""; let attributeName = row[4];
let value = row[AttributeTypeUtil.getTypeColumnIndex(row[2]) + defaultFields.length]; let value = row[AttributeTypeUtil.getTypeColumnIndex(row[3]) + defaultFields.length];
let viewValue; let viewValue;
if (row[2].trim() == $AttributeTypes.COMBO) if (row[3].trim() == $AttributeTypes.COMBO)
viewValue = row[4]; viewValue = row[6];
else else
viewValue = AttributeTypeUtil.getAttributeViewValue(row[2].trim(), value, row[3]); viewValue = AttributeTypeUtil.getAttributeViewValue(row[3].trim(), value, row[5]);
return [row[0], attributeId, value, viewValue, attributeId, attributeName, row[2]]; return [row[0], row[2], value, viewValue, attributeId, attributeName, row[3]];
}); });
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
<title>Attribute Relation</title> <title>Attribute Relation</title>
<majorModelMode>DISTRIBUTED</majorModelMode> <majorModelMode>DISTRIBUTED</majorModelMode>
<documentation>%aditoprj%/entity/AttributeRelation_entity/documentation.adoc</documentation> <documentation>%aditoprj%/entity/AttributeRelation_entity/documentation.adoc</documentation>
<afterOperatingState>%aditoprj%/entity/AttributeRelation_entity/afterOperatingState.js</afterOperatingState>
<recordContainer>db</recordContainer> <recordContainer>db</recordContainer>
<entityFields> <entityFields>
<entityProvider> <entityProvider>
...@@ -41,8 +40,10 @@ ...@@ -41,8 +40,10 @@
<title>Value</title> <title>Value</title>
<contentTypeProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/valueproxy/contentTypeProcess.js</contentTypeProcess> <contentTypeProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/valueproxy/contentTypeProcess.js</contentTypeProcess>
<resolution>DAY</resolution> <resolution>DAY</resolution>
<mandatory v="true" /> <mandatory v="false" />
<mandatoryProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/valueproxy/mandatoryProcess.js</mandatoryProcess>
<possibleItemsProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/valueproxy/possibleItemsProcess.js</possibleItemsProcess> <possibleItemsProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/valueproxy/possibleItemsProcess.js</possibleItemsProcess>
<stateProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/valueproxy/stateProcess.js</stateProcess>
<valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/valueproxy/valueProcess.js</valueProcess> <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/valueproxy/valueProcess.js</valueProcess>
<displayValueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/valueproxy/displayValueProcess.js</displayValueProcess> <displayValueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/valueproxy/displayValueProcess.js</displayValueProcess>
<onValueChange>%aditoprj%/entity/AttributeRelation_entity/entityfields/valueproxy/onValueChange.js</onValueChange> <onValueChange>%aditoprj%/entity/AttributeRelation_entity/entityfields/valueproxy/onValueChange.js</onValueChange>
......
import("system.vars");
import("system.neon");
if (vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_VIEW)
neon.refresh();
\ No newline at end of file
import("system.vars");
import("system.result");
import("Attribute_lib");
var attributeType = AttributeUtil.getAttributeType(vars.get("$field.AB_ATTRIBUTE_ID"));
result.string(AttributeTypeUtil.getContentType(attributeType) != null);
\ No newline at end of file
...@@ -9,25 +9,27 @@ attrValue = ProcessHandlingUtils.getOnValidationValue(attrValue); ...@@ -9,25 +9,27 @@ attrValue = ProcessHandlingUtils.getOnValidationValue(attrValue);
if (attrValue != null) if (attrValue != null)
{ {
var attributeType = AttributeUtil.getAttributeType(vars.get("$field.AB_ATTRIBUTE_ID")); var attributeType = AttributeUtil.getAttributeType(vars.get("$field.AB_ATTRIBUTE_ID"));
var attrField = (function () var attrField = (function (pType)
{ {
switch (this) switch (pType)
{ {
case $AttributeTypes.TEXT: case $AttributeTypes.TEXT.toString():
case $AttributeTypes.MEMO.toString():
return "$field.CHAR_VALUE"; return "$field.CHAR_VALUE";
case $AttributeTypes.DATE: case $AttributeTypes.DATE.toString():
return "$field.DATE_VALUE"; return "$field.DATE_VALUE";
case $AttributeTypes.NUMBER: case $AttributeTypes.NUMBER.toString():
return "$field.NUMBER_VALUE"; return "$field.NUMBER_VALUE";
case $AttributeTypes.BOOLEAN: case $AttributeTypes.BOOLEAN.toString():
return "$field.INT_VALUE"; return "$field.INT_VALUE";
case $AttributeTypes.COMBO: case $AttributeTypes.COMBO.toString():
case $AttributeTypes.KEYWORD: case $AttributeTypes.KEYWORD.toString():
return "$field.ID_VALUE"; return "$field.ID_VALUE";
default: default:
return null; return null;
} }
}).call(attributeType); }).call(null, attributeType);
if (attrField) if (attrField)
neon.setFieldValue(attrField, attrValue); neon.setFieldValue(attrField, attrValue);
} }
\ No newline at end of file
import("system.neon");
import("system.vars");
import("system.result");
import("Attribute_lib");
var attributeType = AttributeUtil.getAttributeType(vars.get("$field.AB_ATTRIBUTE_ID"));
result.string(AttributeTypeUtil.getContentType(attributeType));
var fieldState;
if (AttributeTypeUtil.getContentType(attributeType) != null)
fieldState = neon.COMPONENTSTATE_EDITABLE;
else
fieldState = neon.COMPONENTSTATE_READONLY;
result.string(fieldState);
\ No newline at end of file
import("system.logging");
import("system.neon"); import("system.neon");
import("system.result"); import("system.result");
import("system.vars"); import("system.vars");
...@@ -9,33 +8,33 @@ if(vars.get("$sys.recordstate") != neon.OPERATINGSTATE_NEW) ...@@ -9,33 +8,33 @@ if(vars.get("$sys.recordstate") != neon.OPERATINGSTATE_NEW)
var rowId = vars.get("$param.ObjectRowId_param"); var rowId = vars.get("$param.ObjectRowId_param");
var objectType = vars.get("$param.ObjectType_param"); var objectType = vars.get("$param.ObjectType_param");
var attributeId = vars.get("$field.AB_ATTRIBUTE_ID"); var attributeId = vars.get("$field.AB_ATTRIBUTE_ID");
logging.log(AttributeRelationUtils.getAttribute(attributeId, rowId, objectType))
logging.log(AttributeRelationUtils.getAttribute(attributeId, rowId, objectType, true))
var attributeType = AttributeUtil.getAttributeType(vars.get("$field.AB_ATTRIBUTE_ID")); var attributeType = AttributeUtil.getAttributeType(vars.get("$field.AB_ATTRIBUTE_ID"));
var attrField = (function () var attrField = (function (type)
{ {
switch (this) switch (type)
{ {
case $AttributeTypes.TEXT: case $AttributeTypes.TEXT.toString():
case $AttributeTypes.MEMO.toString():
return "$field.CHAR_VALUE"; return "$field.CHAR_VALUE";
case $AttributeTypes.DATE: case $AttributeTypes.DATE.toString():
return "$field.DATE_VALUE"; return "$field.DATE_VALUE";
case $AttributeTypes.NUMBER: case $AttributeTypes.NUMBER.toString():
return "$field.NUMBER_VALUE"; return "$field.NUMBER_VALUE";
case $AttributeTypes.BOOLEAN: case $AttributeTypes.BOOLEAN.toString():
return "$field.INT_VALUE"; return "$field.INT_VALUE";
case $AttributeTypes.COMBO: case $AttributeTypes.COMBO.toString():
case $AttributeTypes.KEYWORD: case $AttributeTypes.KEYWORD.toString():
return "$field.ID_VALUE"; return "$field.ID_VALUE";
} }
}).call(attributeType); }).call(null, attributeType);
var value = null; var value = null;
if (attrField != null) //load the value from the correct field for the type if (attrField != null) //load the value from the correct field for the type
value = vars.get(attrField); value = vars.get(attrField);
if(value != null && value != "") if(value != null && value != "")
result.string(value); result.string(value);
else if (attributeType == $AttributeTypes.VOID)
result.string("");
} }
...@@ -28,11 +28,6 @@ ...@@ -28,11 +28,6 @@
<displayValueProcess>%aditoprj%/entity/Attribute_entity/entityfields/attribute_type/displayValueProcess.js</displayValueProcess> <displayValueProcess>%aditoprj%/entity/Attribute_entity/entityfields/attribute_type/displayValueProcess.js</displayValueProcess>
<onValueChange>%aditoprj%/entity/Attribute_entity/entityfields/attribute_type/onValueChange.js</onValueChange> <onValueChange>%aditoprj%/entity/Attribute_entity/entityfields/attribute_type/onValueChange.js</onValueChange>
</entityField> </entityField>
<entityField>
<name>AB_ATTRIBUTEID</name>
<searchable v="false" />
<valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/ab_attributeid/valueProcess.js</valueProcess>
</entityField>
<entityField> <entityField>
<name>ATTRIBUTE_PARENT_ID</name> <name>ATTRIBUTE_PARENT_ID</name>
<title>Superordinate Attribute</title> <title>Superordinate Attribute</title>
...@@ -93,9 +88,6 @@ ...@@ -93,9 +88,6 @@
<name>AttrParentId_param</name> <name>AttrParentId_param</name>
<expose v="true" /> <expose v="true" />
</entityParameter> </entityParameter>
<entityParameter>
<name>GetGroups_param</name>
</entityParameter>
</children> </children>
</entityProvider> </entityProvider>
<entityParameter> <entityParameter>
...@@ -146,14 +138,6 @@ ...@@ -146,14 +138,6 @@
</entityParameter> </entityParameter>
</children> </children>
</entityConsumer> </entityConsumer>
<entityField>
<name>ATTRIBUTE_LEVEL</name>
<title>Level</title>
<description>The level is required in the order-by to make sure that superordinate attributes come before their subordinates for the tree</description>
<contentType>NUMBER</contentType>
<state>INVISIBLE</state>
<valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/attribute_level/valueProcess.js</valueProcess>
</entityField>
<entityField> <entityField>
<name>KEYWORD_CONTAINER</name> <name>KEYWORD_CONTAINER</name>
<title>Keyword</title> <title>Keyword</title>
...@@ -175,7 +159,7 @@ ...@@ -175,7 +159,7 @@
<entityProvider> <entityProvider>
<name>SpecificAttribute</name> <name>SpecificAttribute</name>
<fieldType>DEPENDENCY_IN</fieldType> <fieldType>DEPENDENCY_IN</fieldType>
<lookupIdfield>AB_ATTRIBUTEID</lookupIdfield> <lookupIdfield>UID</lookupIdfield>
<dependencies> <dependencies>
<entityDependency> <entityDependency>
<name>342e8ba6-db61-411b-9f79-e9271335b00f</name> <name>342e8ba6-db61-411b-9f79-e9271335b00f</name>
...@@ -309,7 +293,6 @@ ...@@ -309,7 +293,6 @@
<onDelete>%aditoprj%/entity/Attribute_entity/recordcontainers/jdito/onDelete.js</onDelete> <onDelete>%aditoprj%/entity/Attribute_entity/recordcontainers/jdito/onDelete.js</onDelete>
<recordFields> <recordFields>
<element>UID.value</element> <element>UID.value</element>
<element>AB_ATTRIBUTEID.value</element>
<element>ATTRIBUTE_ACTIVE.value</element> <element>ATTRIBUTE_ACTIVE.value</element>
<element>ATTRIBUTE_NAME.value</element> <element>ATTRIBUTE_NAME.value</element>
<element>ATTRIBUTE_PARENT_ID.value</element> <element>ATTRIBUTE_PARENT_ID.value</element>
......
import("system.util"); import("system.util");
import("system.db"); import("system.db");
import("system.neon"); import("system.neon");
import("system.vars"); import("system.vars");
import("Context_lib"); import("Context_lib");
import("Attribute_lib"); import("Attribute_lib");
if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW
&& vars.get("$field.ATTRIBUTE_TYPE").trim() != $AttributeTypes.COMBOVALUE && vars.get("$field.ATTRIBUTE_TYPE").trim() != $AttributeTypes.COMBOVALUE
&& vars.exists("$param.AttrParentId_param") && vars.get("$param.AttrParentId_param")) && vars.exists("$param.AttrParentId_param") && vars.get("$param.AttrParentId_param"))
{ {
var parentId = vars.get("$param.AttrParentId_param"); var parentId = vars.get("$param.AttrParentId_param");
var attributeId = vars.get("$field.AB_ATTRIBUTEID"); var attributeId = vars.get("$field.UID");
var usageSql = SqlCondition.begin() var usageSql = SqlCondition.begin()
.andPrepare("AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID", parentId) .andPrepare("AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID", parentId)
.buildSql("select OBJECT_TYPE from AB_ATTRIBUTEUSAGE", "1=0"); .buildSql("select OBJECT_TYPE from AB_ATTRIBUTEUSAGE", "1=0");
var usages = db.array(db.COLUMN, usageSql); var usages = db.array(db.COLUMN, usageSql);
//preset the usages with the ones from the parent //preset the usages with the ones from the parent
usages.forEach(function (usage) usages.forEach(function (usage)
{ {
neon.addRecord(null, "AttributeUsages", { neon.addRecord(null, "AttributeUsages", {
"OBJECT_TYPE" : usage "OBJECT_TYPE" : usage
}); });
}); });
} }
\ No newline at end of file
import("system.util");
import("system.result");
import("system.neon");
import("system.vars");
if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
result.string(util.getNewUUID());
\ No newline at end of file
import("system.db"); import("system.db");
import("system.neon"); import("system.neon");
import("system.result"); import("system.result");
import("system.vars"); import("system.vars");
import("Attribute_lib"); import("Attribute_lib");
import("Sql_lib"); import("Sql_lib");
var type = vars.get("$field.ATTRIBUTE_TYPE").trim(); var type = vars.get("$field.ATTRIBUTE_TYPE").trim();
var state = neon.COMPONENTSTATE_AUTO var state = neon.COMPONENTSTATE_AUTO
if (type == $AttributeTypes.COMBOVALUE) if (type == $AttributeTypes.COMBOVALUE)
{ {
state = neon.COMPONENTSTATE_READONLY; state = neon.COMPONENTSTATE_READONLY;
} }
else if (type == $AttributeTypes.GROUP || type == $AttributeTypes.COMBO) else if (AttributeTypeUtil.isGroupType(type))
{ {
var hasSubordinate = db.cell(SqlCondition.begin() var hasSubordinate = db.cell(SqlCondition.begin()
.andPrepareVars("AB_ATTRIBUTE.AB_ATTRIBUTEID", "$field.AB_ATTRIBUTEID") .andPrepareVars("AB_ATTRIBUTE.AB_ATTRIBUTEID", "$field.UID")
.buildSql( .buildSql(
"select exists (" "select exists ("
+ "select SUB.AB_ATTRIBUTEID from AB_ATTRIBUTE SUB " + "select SUB.AB_ATTRIBUTEID from AB_ATTRIBUTE SUB "
+ "where SUB.ATTRIBUTE_PARENT_ID = AB_ATTRIBUTE.AB_ATTRIBUTEID" + "where SUB.ATTRIBUTE_PARENT_ID = AB_ATTRIBUTE.AB_ATTRIBUTEID"
+ ") from AB_ATTRIBUTE", "1=2" + ") from AB_ATTRIBUTE", "1=2"
) )
) == "true"; ) == "true";
if (hasSubordinate) if (hasSubordinate)
state = neon.COMPONENTSTATE_READONLY; state = neon.COMPONENTSTATE_READONLY;
} }
else if (AttributeUtil.hasRelations(vars.get("$field.AB_ATTRIBUTEID"))) else if (AttributeUtil.hasRelations(vars.get("$field.UID")))
state = neon.COMPONENTSTATE_READONLY; state = neon.COMPONENTSTATE_READONLY;
result.string(state) result.string(state)
\ No newline at end of file
...@@ -8,8 +8,8 @@ if (vars.exists("$local.rows")) ...@@ -8,8 +8,8 @@ if (vars.exists("$local.rows"))
var row = JSON.parse(vars.get("$local.rows")); var row = JSON.parse(vars.get("$local.rows"));
var type = row[0].ATTRIBUTE_TYPE.trim(); var type = row[0].ATTRIBUTE_TYPE.trim();
if (type == $AttributeTypes.GROUP || type == $AttributeTypes.COMBO) if (AttributeTypeUtil.isGroupType(type))
params["AttrParentId_param"] = row[0].AB_ATTRIBUTEID; params["AttrParentId_param"] = row[0].UID;
else if (row[0].ATTRIBUTE_PARENT_ID) else if (row[0].ATTRIBUTE_PARENT_ID)
params["AttrParentId_param"] = row[0].ATTRIBUTE_PARENT_ID; params["AttrParentId_param"] = row[0].ATTRIBUTE_PARENT_ID;
} }
......
...@@ -3,5 +3,5 @@ import("system.result"); ...@@ -3,5 +3,5 @@ import("system.result");
import("Attribute_lib"); import("Attribute_lib");
var type = vars.get("$field.ATTRIBUTE_TYPE").trim(); var type = vars.get("$field.ATTRIBUTE_TYPE").trim();
if (type == $AttributeTypes.GROUP || type == $AttributeTypes.COMBO) if (AttributeTypeUtil.isGroupType(type))
result.string(vars.getString("$field.AB_ATTRIBUTEID")); result.string(vars.getString("$field.UID"));
...@@ -4,7 +4,7 @@ import("system.vars"); ...@@ -4,7 +4,7 @@ import("system.vars");
import("Attribute_lib"); import("Attribute_lib");
var type = vars.get("$field.ATTRIBUTE_TYPE").trim(); var type = vars.get("$field.ATTRIBUTE_TYPE").trim();
if (type == $AttributeTypes.GROUP || type == $AttributeTypes.COMBO) if (AttributeTypeUtil.isGroupType(type))
result.string(neon.COMPONENTSTATE_EDITABLE); result.string(neon.COMPONENTSTATE_EDITABLE);
else else
result.string(neon.COMPONENTSTATE_INVISIBLE); result.string(neon.COMPONENTSTATE_INVISIBLE);
\ No newline at end of file
import("system.vars"); import("system.vars");
import("system.result"); import("system.result");
result.string(vars.get("$field.AB_ATTRIBUTEID")); result.string(vars.get("$field.UID"));
\ No newline at end of file \ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment