Hi there.
The goal is to adjust visibility of row toolbar Item depending on the value of the field of corresponding record. I added necessary column (ClvSaleStatus) to the list in Freedom UI designer, so all the changes to viewConfigDiff, viewModelConfigDiff and modelConfigDiff look to be present. But nevertheless, If i hide that column manually in the list page then corresponding attribute has undefined value and toolbar item is not visible
viewConfigDiff: /**SCHEMA_VIEW_CONFIG_DIFF*/[
{
"operation": "merge",
"name": "DataTable",
"values": {
"columns": [
...
{
"id": "791d9bca-eac2-a585-0b1f-8ebacf4e2fa4",
"code": "PDS_ClvSaleStatus",
"path": "ClvSaleStatus",
"caption": "#ResourceString(PDS_ClvSaleStatus)#",
"dataValueType": 10,
"referenceSchemaName": "ClvSaleStatus"
}
],
"rowToolbarItems": [
...
{
"type": "crt.MenuItem",
"caption": "#ResourceString(ReserveObjectMenuItemCaption)#",
"icon": "open-button-icon",
"disabled": "$Items.PrimaryModelMode | crt.IsEqual : 'create'",
"visible": "$Items.PDS_ClvSaleStatus | clv.IsObjectForSaleConverter",
"clicked": {
"request": "crt.ClvReserveObjectRequest",
"params": {
"itemsAttributeName": "Items",
"recordId": "$Items.PDS_Id"
}
}
}
]
}
}
...
]/**SCHEMA_VIEW_CONFIG_DIFF*/
viewModelConfigDiff: /**SCHEMA_VIEW_MODEL_CONFIG_DIFF*/[
...
{
"operation": "merge",
"path": [
"attributes",
"Items",
"viewModelConfig",
"attributes"
],
"values": {
...
"PDS_ClvSaleStatus": {
"modelConfig": {
"path": "PDS.ClvSaleStatus"
}
}
}
},
]/**SCHEMA_VIEW_MODEL_CONFIG_DIFF*/
modelConfigDiff: /**SCHEMA_MODEL_CONFIG_DIFF*/[
{
"operation": "merge",
"path": [
"dataSources",
"PDS",
"config"
],
"values": {
"entitySchemaName": "ClvObject",
"attributes": {
...
"ClvSaleStatus": {
"path": "ClvSaleStatus"
}
}
}
}
]/**SCHEMA_MODEL_CONFIG_DIFF*/,
converters: /**SCHEMA_CONVERTERS*/{
"clv.IsObjectForSaleConverter": function(value) {
const result = value?.value == ClvJsConsts.ClvSaleStatus.ForSale;
return result;
}
}/**SCHEMA_CONVERTERS*/,