Добрый день, коллеги. Подскажите, пожалуйста, как переопределить кнопку копировать в реестре и определить какая именно запись была скопирована? Заранее благодарен за помощь.
Нравится
3 комментария
Лучший ответ
14 ноября 2018 14:22
Данный метод отвечает за саму кнопку Копировать, само копирование реализовано в copyRecord
getCopyRecordMenuItem: function() { return this.getButtonMenuItem({ Caption: {"bindTo": "Resources.Strings.CopyMenuCaption"}, Click: {"bindTo": "copyRecord"}, Enabled: {bindTo: "getCopyRecordMenuEnabled"}, Visible: {bindTo: "IsEnabled"} }); },
Сам copyRecord
copyRecord: function(editPageUId) { if (!this.isAnySelected()) { return; } var copyPageUid = this._getCopyPageUid(); editPageUId = editPageUId || copyPageUid; if (!editPageUId) { return; } if (!this.getIsCardValid()) { return; } var selectedItems = this.getSelectedItems(); var copiedRecordId = selectedItems[0]; var isNewCard = this.getIsCardNewRecordState(); var isCardChanged = this.getIsCardChanged(); this.setLastActiveRow(copiedRecordId); if (isNewCard || isCardChanged) { this.set("CardState", enums.CardStateV2.COPY); this.set("EditPageUId", editPageUId); this.set("PrimaryValueUId", copiedRecordId); var args = { isSilent: true, messageTags: [this.sandbox.id] }; this.sandbox.publish("SaveRecord", args, [this.sandbox.id]); } else { this.openCard(enums.CardStateV2.COPY, editPageUId, copiedRecordId); } },
14 ноября 2018 14:22
Данный метод отвечает за саму кнопку Копировать, само копирование реализовано в copyRecord
getCopyRecordMenuItem: function() { return this.getButtonMenuItem({ Caption: {"bindTo": "Resources.Strings.CopyMenuCaption"}, Click: {"bindTo": "copyRecord"}, Enabled: {bindTo: "getCopyRecordMenuEnabled"}, Visible: {bindTo: "IsEnabled"} }); },
Сам copyRecord
copyRecord: function(editPageUId) { if (!this.isAnySelected()) { return; } var copyPageUid = this._getCopyPageUid(); editPageUId = editPageUId || copyPageUid; if (!editPageUId) { return; } if (!this.getIsCardValid()) { return; } var selectedItems = this.getSelectedItems(); var copiedRecordId = selectedItems[0]; var isNewCard = this.getIsCardNewRecordState(); var isCardChanged = this.getIsCardChanged(); this.setLastActiveRow(copiedRecordId); if (isNewCard || isCardChanged) { this.set("CardState", enums.CardStateV2.COPY); this.set("EditPageUId", editPageUId); this.set("PrimaryValueUId", copiedRecordId); var args = { isSilent: true, messageTags: [this.sandbox.id] }; this.sandbox.publish("SaveRecord", args, [this.sandbox.id]); } else { this.openCard(enums.CardStateV2.COPY, editPageUId, copiedRecordId); } },
14 ноября 2018 14:34
Henkal Vadym пишет:
Литвинко Павел,
Спасибо, попробую разобраться)
Тут в принципе все должно быть понятно, если что-то конкретное нужно будет спросите, посмотреть методы, которые вызываются здесь, вы можете в BaseGridDetailV2 пакета NUI
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать