Вопрос

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

Добрый день!

 

Необходимо скрыть кнопку добавить с детали (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

        }

    };

});

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

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

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