Делаю форму фильтрации отчета фаст репорта, нужно сделать подписку на изменение поля(настройка видимости, доступности, автозаполнения)
Подписка не срабатывает. Кто сталкивался с подобным и какие есть варианты исправить?
return { messages: {}, attributes: { "IsContract": { "dataValueType": Terrasoft.DataValueType.BOOLEAN, "type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN, "value": false, "dependencies": [ { "columns": ["WiseSectionSettlements"], "methodName": "RecalcIsContract" } ] }, ... methods: { RecalcIsContract: function() { this.set("IsContract", (this.get("WiseSectionSettlements") && this.get("WiseSectionSettlements").value === "5cfa748e-185e-40fa-ab0e-a29ab91aa10d")); },
Нравится
Странный у вас код в методе RecalcIsContract. Надо делать в два атрибута в IsContract изначальное состояние, и дополнительный атрибут с пересчитанным состоянием IsContract относительно условий.
Либо через конвертер, в BasePageV2 есть пример
{
"operation": "insert",
"name": "CardContentWrapper",
"values": {
"id": "CardContentWrapper",
"selectors": {"wrapEl": "#CardContentWrapper"},
"itemType": Terrasoft.ViewItemType.CONTAINER,
"wrapClass": ["card-content-container"],
"items": [],
"markerValue": {
"bindTo": "IsEntityInitialized",
"bindConfig": {
"converter": "getCardContentContainerMarkerValue"
}
}
}
}
getCardContentContainerMarkerValue: function() {
return this.get("IsEntityInitialized") ? "EntityLoaded" : "EntityLoading";
}