|
function positioning() {
var grid = (document.getElementById('Grid') as any).ej2_instances[0];
var valError = getObject('valErrorPlacement', grid.editModule).bind(grid.editModule);
grid.editModule.formObj.customPlacement = function (input, error) {
debugger;
valError(input, error);
var leftPOS = '-1px';
var topPOS = '-1px';
var elem = document.getElementById(input.name + '_Error');
var tooltipWidth = elem.offsetWidth;
var formWidth = parentsUntil(input, 'e-gridform').getBoundingClientRect().width;
var inputElem = null;
if (document.querySelector('#' + grid.element.id + input.name)) {
inputElem = document.querySelector('#' + grid.element.id + input.name);
} else if (document.querySelector('#' + input.name)) {
inputElem = document.querySelector('#' + input.name);
}
var pos = inputElem.getBoundingClientRect();
leftPOS = (pos.left - tooltipWidth - 16).toString() + 'px'; // for left side pop
topPOS = (pos.top).toString() + 'px';
//elem.style.left = leftPOS;
elem.style.top = topPOS;
elem.style.position = 'fixed';
}
}
function cellEdit(args) { //cellEdit event of Grid
args.cell.addEventListener("keydown", e => { //bind keydownevent to the cell
if(e.key === "Enter") {
positioning();
}
});
args.cell.addEventListener("focusout", e => { //bind focusout event to the cell
positioning();
});
}
|
|
Index.html
<style>
body{
touch-action:none;
}
.e-gridform .e-arrow-tip.e-tip-top {
transform: rotate(180deg);
top: 21px;
}
</style>
|