Здравствуйте. Нужна помощь. На странице редактирования контакты, добавил кнопку. Ее задача проста, скрывать или показывать "Деталь". С этой функцией, она полностью справляется(PAGE и SECTION). Нужно что бы при скрытии детали, кнопка становилась зеленой, и при показе красной. Написать метод в PAGE я смог, а вот с SECTION как то не очень. код следующий
Это код для PAGE
attributes: {
"onOpenEnabled": {
"dataValueType": Terrasoft.DataValueType.BOOLEAN,
"type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
"value": false
},
},
messages: {
"onOpenClick": {
mode: Terrasoft.MessageMode.PTP,
direction: Terrasoft.MessageDirectionType.SUBSCRIBE
},
"onColorClick": {
mode: Terrasoft.MessageMode.PTP,
direction: Terrasoft.MessageDirectionType.PUBLISH
}
},
methods: {
subscriberButton: function() {
this.sandbox.subscribe("onOpenClick", function(value) {
this.OnOpenClick();
}, this, [this.sandbox.id]);
},
OnOpenClick: function() {
var test = this.get("onOpenEnabled");
this.set("onOpenEnabled", !test);
},
ColorOption: function(){
this.sandbox.publish("onColorClick", this.get("onOpenEnabled"),
[this.sandbox.id]);
var col;
var res = this.get("onOpenEnabled");
if(res === true){
col = this.Terrasoft.controls.ButtonEnums.style.GREEN;
}
else{
col = this.Terrasoft.controls.ButtonEnums.style.RED;
}
return col;
},
init: function() {
this.callParent(arguments);
this.subscriberButton();
}
},
Нравится
Не совсем понимаю, где в разделе можно добавить кнопку, скрывающую деталь, ведь их видно только при открытии карточки.
В любом случае, если логика перекраски не отрабатывает, можно добавить две кнопки с разными названиями, цветами и логикой, в которой при нажатии одной она скрывается, а другая показывается, как и наоборот.