From 477adc3f30e57ec9a979b0280401e13d2a152a0f Mon Sep 17 00:00:00 2001 From: mertsincan Date: Tue, 17 Jan 2023 09:52:01 +0000 Subject: [PATCH] Fixed #3549 - ZIndexUtils is not working as expected on the overlays --- components/tooltip/Tooltip.js | 2 -- components/utils/ZIndexUtils.js | 16 ++++++++++------ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/components/tooltip/Tooltip.js b/components/tooltip/Tooltip.js index 565f31714..67e3dc188 100755 --- a/components/tooltip/Tooltip.js +++ b/components/tooltip/Tooltip.js @@ -347,8 +347,6 @@ const Tooltip = { target.$_ptooltipScrollHandler.destroy(); target.$_ptooltipScrollHandler = null; } - - ZIndexUtils.clear(el); }, updated(el, options) { let target = getTarget(el); diff --git a/components/utils/ZIndexUtils.js b/components/utils/ZIndexUtils.js index 744a4094e..78e115899 100644 --- a/components/utils/ZIndexUtils.js +++ b/components/utils/ZIndexUtils.js @@ -1,9 +1,9 @@ function handler() { let zIndexes = []; - const generateZIndex = (key, baseZIndex) => { - let lastZIndex = zIndexes.length > 0 ? zIndexes[zIndexes.length - 1] : { key, value: baseZIndex }; - let newZIndex = lastZIndex.value + (lastZIndex.key === key ? 0 : baseZIndex) + 1; + const generateZIndex = (key, baseZIndex = 999) => { + const lastZIndex = getLastZIndex(key, baseZIndex); + const newZIndex = lastZIndex.value + (lastZIndex.key === key ? 0 : baseZIndex) + 1; zIndexes.push({ key, value: newZIndex }); @@ -14,8 +14,12 @@ function handler() { zIndexes = zIndexes.filter((obj) => obj.value !== zIndex); }; - const getCurrentZIndex = () => { - return zIndexes.length > 0 ? zIndexes[zIndexes.length - 1].value : 0; + const getCurrentZIndex = (key) => { + return getLastZIndex(key).value; + }; + + const getLastZIndex = (key, baseZIndex = 0) => { + return [...zIndexes].reverse().find((obj) => obj.key === key) || { key, value: baseZIndex }; }; const getZIndex = (el) => { @@ -35,7 +39,7 @@ function handler() { el.style.zIndex = ''; } }, - getCurrent: () => getCurrentZIndex() + getCurrent: (key) => getCurrentZIndex(key) }; }