Merge pull request #37145 from GursheenK/autocomplete-editable-grid

fix: autocomplete field dropdown in editable grid row
This commit is contained in:
Ejaaz Khan 2026-02-18 11:13:34 +05:30 committed by GitHub
commit b1c5977ee4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1061,33 +1061,28 @@ export default class GridRow {
.on("focusin", function (event) {
if (is_focused) return;
is_focused = true;
if (df.fieldtype === "Link" || df.fieldtype === "Dynamic Link") {
frappe.utils.sleep(300).then(() => {
let $dropdown = $(this).find(".awesomplete > ul:first-of-type");
let $grid_field = $dropdown.closest(".grid-field");
if (["Link", "Dynamic Link", "Autocomplete"].includes(df.fieldtype)) {
let $dropdown = $(this).find(".awesomplete > ul:first-of-type");
let $grid_field = $dropdown.closest(".grid-field");
if ($grid_field.length) {
let $wrapper = $grid_field.find("div.awesomplete");
$wrapper = $(
`<div class="awesomplete ${$dropdown.attr("id")}"></div>`
);
$grid_field.append($wrapper);
$wrapper.append($dropdown);
if ($grid_field.length) {
let $wrapper = $grid_field.find("div.awesomplete");
$wrapper = $(`<div class="awesomplete ${$dropdown.attr("id")}"></div>`);
$grid_field.append($wrapper);
$wrapper.append($dropdown);
let element_position = event.target.getBoundingClientRect();
let element_position = event.target.getBoundingClientRect();
let left_difference =
element_position.left - $grid_field.offset().left;
let top_difference =
element_position.top - $grid_field.offset().top + 30;
$wrapper.css({
position: "absolute",
top: `${top_difference + 10}px`,
left: `${left_difference}px`,
width: "250px",
});
}
});
let left_difference = element_position.left - $grid_field.offset().left;
let top_difference = element_position.top - $grid_field.offset().top + 30;
$wrapper.css({
position: "absolute",
top: `${top_difference + 10}px`,
left: `${left_difference}px`,
minWidth: "250px",
width: `${element_position.width}px`,
});
}
}
})
.on("click", function (event) {