Доброго времени суток.
Возникла проблема при разработке клиентского модуля - необходимо динамически менять "родителя" детали в зависимости от условий.
В случае, если на карточке редактирования присутствует вкладка с определенным ключом - необходимо "привязать" к ней деталь из diff (код ниже)
В случае, если вкладка найдена не была - добавить вкладку с привязкой детали (то есть выполнить процедуру вставки на основе diff)
Есть ли возможность динамически изменить свойство "parentName" у детали? (или как получить объектное представление детали для изменения свойства)
define("SomeModuleName", [], function() { return { details: { "DetailName": { "schemaName": "schemaName", "entitySchemaName": "entitySchemaName", "filter": { "detailColumn": "detailColumn", "masterColumn": "Id" } } }, diff: /**SCHEMA_DIFF*/[ { "operation": "insert", "name": "AddedTabName", "values": { "items": [], "caption": { "bindTo": "Resources.Strings.AddedTabNameCaption" }, }, "parentName": "Tabs", "propertyName": "tabs", "index": 1 }, { "operation": "insert", "name": "CardDetail", "values": { "itemType": this.Terrasoft.ViewItemType.DETAIL, "visible": { "bindTo": "CardDetailVisible" } }, "parentName": "AddedTabName", "propertyName": "items", "index": 0 }, ]/**SCHEMA_DIFF*/, methods: { onEntityInitialized: function() { this.callParent(arguments); // myMethodToUpdateVisibility(); }, } }; });
Вкладка (tab) на которую надо перенести деталь также динамически (также из кода клиентского модуля) добавляется сторонним пакетом.
Спасибо
Нравится
Добрый день! Возможно, проще добавить 2 детали на разные вкладки, и в зависимости от условий ненужное скрывать, чем динамически вставлять\перемещать
Добрый день! Возможно, проще добавить 2 детали на разные вкладки, и в зависимости от условий ненужное скрывать, чем динамически вставлять\перемещать
Лопатин Константин,
Спасибо за ваш вариант, попробую такой подход.
или как предложил Лопатин Константин или технически есть возможность закидывать и изымать элемент через ext, если вам вдруг не хватает геморроя в вашем проекте)