Я предлагаю настраиваемый элемент управления, который наследуется от sap.m.Input
.
Этот элемент управления должен иметь новое событие (например, rightPress
), и это событие должно запускаться, когда запускается собственное событие браузера onContextMenu
. Также не должно отображаться собственное контекстное меню.
sap.ui.define([
"sap/m/Input"
], function (Input) {
"use strict";
return Input.extend("gsan.ruleedit.control.MyInput", {
metadata: {
events: {
rightPress: {}
}
},
renderer: {},
oncontextmenu: function(oEvent) {
this.fireRightPress();
oEvent.preventDefault();
}
});
});
Затем вы можете использовать свой настраиваемый элемент управления, как любой другой
<mvc:View xmlns:my="gsan.ruleedit.control"
... />
<my:MyInput value="{CompCode}" rightPress="onContextMenu" />
Рабочий пример: https://plnkr.co/edit/XAfC7SGpdf3RxiDF