Привязка названия к атрибуту в разделе
21 декабря 2022 12:32
Пытаюсь привязать аттрибут TimerCaption к значению кнопки, но почему то не получается это сделать, при этом если привязывать таким же способом аттрибут к видимости все работает нормально, подскажите , где я ошибся?
define("ActivitySectionV2", [], function () {
return {
entitySchemaName: "Activity",
details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
attributes: {},
diff: /**SCHEMA_DIFF*/[
{ // добавление самой кнопки
"operation": "insert",
"name": "DataGridActiveRowCallTimer",
"parentName": "DataGrid",
"propertyName": "activeRowActions",
"values": {
"className": "Terrasoft.Button",
"style": Terrasoft.controls.ButtonEnums.style.GREEN,
"caption": {
"bindTo": "TimerCaption"
},
"tag": "onCallTimer",
"visible": true
}
}
]/**SCHEMA_DIFF*/,
methods: {
setCaptionTimer: function (state) {
const caption = state ? this.get("Resources.Strings.TimerOnButtonCaption") : this.get("Resources.Strings.TimerOffButtonCaption");
this.set("TimerCaption", caption);
},
onActiveRowAction: function (buttonTag, primaryColumnValue) {
const activeRow = this.getActiveRow();
const activeRowId = activeRow.get("Id");
switch (buttonTag) {
case "onCallTimer":
this.callActivityTimerService(activeRowId);
break;
default:
this.callParent(arguments);
break;
}
},
onActiveRowChange: function() {
var gridData = this.getGridData();
var activeRow = this.get("ActiveRow");
if(gridData && activeRow) {
var currentRow = gridData.get(activeRow);
this.setCaptionTimer(true);
return;
}
},
}
};
});
Нравится
2 комментария
22 декабря 2022 16:25
Добрый день!
В вашем случае будет лучше работать напрямую с локализируемыми строками.
"caption": { bindTo: "Resources.Strings.TimerOnButtonCaption" },
init: function () {
this.callParent(arguments);
this.set("Resources.Strings.TimerOnButtonCaption", "NewValue")
},
23 декабря 2022 13:19
Дима Вовченко,
проблема в том, что даже с строками не работает(
только если явно указать значение(
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать