Вопрос

Скрытие кнопки "Добавить" в детали

Добрый день!

 

Необходимо скрыть кнопку добавить с детали (https://db.tt/ecrKWQAcZv) на странице Юр. лица, в зависимости от определенных условий (например от типа Физ. лица текущего пользователя). Подскажите, пожалуйста, каким образом это можно реализовать?

Нравится

6 комментариев

 код кнопки из 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
        }
    };
});

Литвинко Павел,

 не работает. + не убрался

Показать все комментарии