From c226fd7936ee7d2ed165fc96ac8bc3b7468ee636 Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Fri, 19 Aug 2022 21:22:34 +0300 Subject: [PATCH] popover fix --- client/src/ui.js | 12 ++++++++++-- .../views/admin/field-manager/modals/add-field.js | 1 - client/src/views/record/detail.js | 8 ++++---- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/client/src/ui.js b/client/src/ui.js index 6562e52c4a..154a7a0d3c 100644 --- a/client/src/ui.js +++ b/client/src/ui.js @@ -783,7 +783,7 @@ function (/** marked~ */marked, /** DOMPurify~ */ DOMPurify) { * @typedef {Object} Espo.Ui~PopoverOptions * * @property {'bottom'|'top'} [placement='bottom'] A placement. - * @property {string} [container='body'] A container selector. + * @property {string|JQuery} [container] A container selector. * @property {string} [content] An HTML content. * @property {string} [text] A text. * @property {'manual'|'click'|'hover'|'focus'} [trigger='manual'] A trigger type. @@ -805,10 +805,18 @@ function (/** marked~ */marked, /** DOMPurify~ */ DOMPurify) { let content = o.content || Handlebars.Utils.escapeExpression(o.text || ''); let isShown = false; + let container = o.container; + + if (!container) { + let $modalBody = $el.closest('.modal-body'); + + container = $modalBody.length ? $modalBody : 'body'; + } + $el .popover({ placement: o.placement || 'bottom', - container: o.container || 'body', + container: container, html: true, content: content, trigger: o.trigger || 'manual', diff --git a/client/src/views/admin/field-manager/modals/add-field.js b/client/src/views/admin/field-manager/modals/add-field.js index f071ddc1c9..6fdf79b38b 100644 --- a/client/src/views/admin/field-manager/modals/add-field.js +++ b/client/src/views/admin/field-manager/modals/add-field.js @@ -91,7 +91,6 @@ define('views/admin/field-manager/modals/add-field', ['views/modal'], function ( Espo.Ui.popover($el, { content: text, placement: 'left', - container: this.$el.find('.modal-body'), }, this); }); }, diff --git a/client/src/views/record/detail.js b/client/src/views/record/detail.js index 9a68327f23..22cc4933eb 100644 --- a/client/src/views/record/detail.js +++ b/client/src/views/record/detail.js @@ -1335,10 +1335,10 @@ function (Dep, ViewRecordHelper, ActionItemSetup) { $containers.addClass('stick-sub'); $block.show(); - $('.popover').each((i, el) => { + /*$('.popover').each((i, el) => { let $el = $(el); $el.css('top', ($el.position().top - blockHeight) + 'px'); - }); + });*/ } $navbarRight.addClass('has-sticked-bar'); @@ -1353,10 +1353,10 @@ function (Dep, ViewRecordHelper, ActionItemSetup) { $navbarRight.removeClass('has-sticked-bar'); $block.hide(); - $('.popover').each((i, el) => { + /*$('.popover').each((i, el) => { let $el = $(el); $el.css('top', ($el.position().top + blockHeight) + 'px'); - }); + });*/ } $containers.show();