Добрый день!
Необходимо скрыть кнопку добавить с детали (https://db.tt/ecrKWQAcZv) на странице Юр. лица, в зависимости от определенных условий (например от типа Физ. лица текущего пользователя). Подскажите, пожалуйста, каким образом это можно реализовать?
Нравится
код кнопки из baseGridDetail:
{ "operation": "insert", "name": "AddRecordButton", "parentName": "Detail", "propertyName": "tools", "values": { "itemType": Terrasoft.ViewItemType.BUTTON, "click": {"bindTo": "addRecord"}, "visible": {"bindTo": "getAddRecordButtonVisible"}, "enabled": {"bindTo": "getAddRecordButtonEnabled"}, "style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT, "imageConfig": {"bindTo": "Resources.Images.AddButtonImage"} } },
Вариантов 2: либо замерджить и написать свой bindTo для св-ва visible, либо заместить метод getAddRecordButtonVisible
Данила, перед тем как создать тему мы испробовали данный метод и получили следующий результат - при переопределении метода getAddRecordButtonVisible и указании "return false" то кнопка остается доступна на детали, а если пишем "return true", то добавляется новая кнопка добавления (и их становится две). Есть ли другие способы? возможно это из старых версий?
А мёрдж использовать не получится т.к. у нас динамическое условие.
Сергей Фролов КРОК пишет:
а если пишем "return true", то добавляется новая кнопка добавления (и их становится две).
Судя по всему у вас 2 кнопки. стандартная скрыта, у второй какой-то свой бинд на visible. Надо в схеме ковыряться смотреть на что видимость кнопки установлена.
Если вдруг кому-нибудь понадобиться, то:
В системе, для деталей есть две кнопки добавления - AddRecordButton и AddTypedRecordButton.
AddRecordButton - отображается, если у детали одна карточка редактирования, AddTypedRecordButton - если несколько страниц редактирования.
За отображение первой кнопки отвечает метод getAddRecordButtonVisible, второй - getAddTypedRecordButtonVisible. Оба метода возвращают булевое значение.
Вот рабочий пример, пользуйтесь)
Все лишнее убрано
define("UsrControlEquipmentDetail", [], function() {
return {
entitySchemaName: "UsrControlEquipment",
details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
diff: /**SCHEMA_DIFF*/[
{
"operation": "remove",
"name": "ToolsButton"
},
{
"operation": "remove",
"name": "CardDetail"
},
{
"operation": "remove",
"name": "AddRecordButton"
},
{
"operation": "remove",
"name": "ViewButton"
}
]/**SCHEMA_DIFF*/,
methods: {
getAddRecordButtonVisible: function() {
return false;
},
getAddTypedRecordButtonVisible: function() {
return false;
},
addRecordOperationsMenuItems: Terrasoft.emptyFn
}
};
});