From 537a37b5be90c510cdb337ec72628883e1bbd2d3 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Fri, 4 Dec 2020 16:47:11 +0530 Subject: [PATCH] fix: Modal dropdow overflow issue --- .../js/frappe/form/controls/autocomplete.js | 16 ++++++++++++++++ frappe/public/js/frappe/form/controls/link.js | 19 ++++++++++++------- frappe/public/scss/desk/modal.scss | 1 - 3 files changed, 28 insertions(+), 8 deletions(-) diff --git a/frappe/public/js/frappe/form/controls/autocomplete.js b/frappe/public/js/frappe/form/controls/autocomplete.js index 0b31776caf..ddde8ab2f7 100644 --- a/frappe/public/js/frappe/form/controls/autocomplete.js +++ b/frappe/public/js/frappe/form/controls/autocomplete.js @@ -88,6 +88,22 @@ 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.autocomplete_open = true; + }); + + this.$input.on("awesomplete-close", () => { + let modal = this.$input.parents('.modal-dialog')[0]; + if (modal) { + $(modal).addClass("modal-dialog-scrollable"); + } + this.autocomplete_open = false; + }); + this.$input.on('awesomplete-selectcomplete', () => { this.$input.trigger('change'); }); diff --git a/frappe/public/js/frappe/form/controls/link.js b/frappe/public/js/frappe/form/controls/link.js index 56f9430238..3737cd555b 100644 --- a/frappe/public/js/frappe/form/controls/link.js +++ b/frappe/public/js/frappe/form/controls/link.js @@ -230,15 +230,20 @@ frappe.ui.form.ControlLink = frappe.ui.form.ControlData.extend({ } }); - this.$input.on("awesomplete-open", function() { - me.$wrapper.css({"z-index": 100}); - me.$wrapper.find('ul').css({"z-index": 100}); - me.autocomplete_open = true; + this.$input.on("awesomplete-open", () => { + let modal = this.$input.parents('.modal-dialog')[0]; + if (modal) { + $(modal).removeClass("modal-dialog-scrollable"); + } + this.autocomplete_open = true; }); - this.$input.on("awesomplete-close", function() { - me.$wrapper.css({"z-index": 1}); - me.autocomplete_open = false; + this.$input.on("awesomplete-close", () => { + let modal = this.$input.parents('.modal-dialog')[0]; + if (modal) { + $(modal).addClass("modal-dialog-scrollable"); + } + this.autocomplete_open = false; }); this.$input.on("awesomplete-select", function(e) { diff --git a/frappe/public/scss/desk/modal.scss b/frappe/public/scss/desk/modal.scss index e5114862ed..6bdbd358df 100644 --- a/frappe/public/scss/desk/modal.scss +++ b/frappe/public/scss/desk/modal.scss @@ -38,7 +38,6 @@ h5.modal-title { .modal-body { padding: var(--padding-md) var(--padding-lg); - max-height: unquote("min(80vh, 650px)"); } .modal-footer {