Переопределить кнопку копировать
14 ноября 2018 14:10
Добрый день, коллеги. Подскажите, пожалуйста, как переопределить кнопку копировать в реестре и определить какая именно запись была скопирована? Заранее благодарен за помощь.
Нравится
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
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать