It is currently 9 June 2025, 3:39 Advanced search

Z-index popup modale

Domande e risposte su come utilizzare Instant Developer Foundation al meglio

Z-index popup modale

Postby d.termini » 10 July 2024, 15:29

Tema Zen
Ho la necessità di modificare lo z-index del popup modale di InDe perché un componente JS che abbiamo importato usa il suo con z-index = 10001
Quello di InDe pare sia 0 verificando da strumenti del browser.

Se dal popup del componente apro una videata modale di InDe (tramite il giro degli eventi del componente JS), questa me la trovo sotto il popup del componente.

Penso di mettere comunque una classe specifica alle videate che intendo aprire in questo modo, anche perché ho visto che tutte le videate di InDe hanno la stessa classe popup-frame-container
Devo ovviamente cambiare lo z-index anche della popup-modal-frame relativa alla videata aperta

Qualcuno ha una soluzione?
d.termini
 
Posts: 1656
Joined: 13 November 2017, 8:41

Re: Z-index popup modale

Postby d.termini » 11 July 2024, 8:15

A chi dovesse servire...
Code: Select all
// Cerco z-index più alto nella pagina (source: https://bobbyhadz.com/blog/javascript-find-highest-z-index-on-page )
let maxZindex = Math.max(
  ...Array.from(document.querySelectorAll('body *'), el =>
    parseFloat(window.getComputedStyle(el).zIndex),
  ).filter(zIndex => !Number.isNaN(zIndex)),
  0,
);
let popup = document.getElementById('frm:|1');
let popupContainer = popup.closest('.popup-frame-container');
let popupID = popupContainer.id;
popupID = popupID.slice(0, -3);
document.getElementById(popupID+':mb').style.zIndex = maxZindex + 1; // overlay
popupContainer.style.zIndex = maxZindex + 2; // popup modale

Va richiamata con
Code: Select all
app.executeOnclient(formatMessage("codice", Popup.me()))

Preferibilmente in un timer per sicurezza che sia già aperto il popup e ci siano tutti gli elementi necessari.
d.termini
 
Posts: 1656
Joined: 13 November 2017, 8:41


Return to Tips & Tricks - Foundation

Who is online

Users browsing this forum: Bing [Bot], Google [Bot] and 53 guests

cron