From f86335551b824d776567b49b60d0dc62308334a5 Mon Sep 17 00:00:00 2001 From: prssanna Date: Tue, 9 Feb 2021 13:30:12 +0530 Subject: [PATCH] fix: dropdown hidden in grid form --- .../public/js/frappe/form/controls/autocomplete.js | 14 ++++++-------- frappe/public/js/frappe/form/controls/data.js | 4 ++++ frappe/public/js/frappe/form/controls/link.js | 14 ++++++-------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/frappe/public/js/frappe/form/controls/autocomplete.js b/frappe/public/js/frappe/form/controls/autocomplete.js index ddde8ab2f7..27ebad24c3 100644 --- a/frappe/public/js/frappe/form/controls/autocomplete.js +++ b/frappe/public/js/frappe/form/controls/autocomplete.js @@ -89,18 +89,16 @@ frappe.ui.form.ControlAutocomplete = frappe.ui.form.ControlData.extend({ }); this.$input.on("awesomplete-open", () => { - let modal = this.$input.parents('.modal-dialog')[0]; - if (modal) { - $(modal).removeClass("modal-dialog-scrollable"); - } + this.toggle_container_scroll('.modal-dialog', 'modal-dialog-scrollable'); + this.toggle_container_scroll('.grid-form-body .form-area', 'scrollable'); + this.autocomplete_open = true; }); this.$input.on("awesomplete-close", () => { - let modal = this.$input.parents('.modal-dialog')[0]; - if (modal) { - $(modal).addClass("modal-dialog-scrollable"); - } + this.toggle_container_scroll('.modal-dialog', 'modal-dialog-scrollable', true); + this.toggle_container_scroll('.grid-form-body .form-area', 'scrollable', true); + this.autocomplete_open = false; }); diff --git a/frappe/public/js/frappe/form/controls/data.js b/frappe/public/js/frappe/form/controls/data.js index 48b4d9da35..f381d1b4a2 100644 --- a/frappe/public/js/frappe/form/controls/data.js +++ b/frappe/public/js/frappe/form/controls/data.js @@ -129,5 +129,9 @@ frappe.ui.form.ControlData = frappe.ui.form.ControlInput.extend({ } else { return v; } + }, + toggle_container_scroll: function(el_class, scroll_class, add=false) { + let el = this.$input.parents(el_class)[0]; + if (el) $(el).toggleClass(scroll_class, add); } }); diff --git a/frappe/public/js/frappe/form/controls/link.js b/frappe/public/js/frappe/form/controls/link.js index 4ed0c40d33..aae4af03dc 100644 --- a/frappe/public/js/frappe/form/controls/link.js +++ b/frappe/public/js/frappe/form/controls/link.js @@ -236,18 +236,16 @@ frappe.ui.form.ControlLink = frappe.ui.form.ControlData.extend({ }); this.$input.on("awesomplete-open", () => { - let modal = this.$input.parents('.modal-dialog')[0]; - if (modal) { - $(modal).removeClass("modal-dialog-scrollable"); - } + this.toggle_container_scroll('.modal-dialog', 'modal-dialog-scrollable'); + this.toggle_container_scroll('.grid-form-body .form-area', 'scrollable'); + this.autocomplete_open = true; }); this.$input.on("awesomplete-close", () => { - let modal = this.$input.parents('.modal-dialog')[0]; - if (modal) { - $(modal).addClass("modal-dialog-scrollable"); - } + this.toggle_container_scroll('.modal-dialog', 'modal-dialog-scrollable', true); + this.toggle_container_scroll('.grid-form-body .form-area', 'scrollable', true); + this.autocomplete_open = false; });