Toutes les sous classe de composant peuvent maintenant être configuré en tant que flottant en utilisant la variable floating:true pour spécifier qu'il flotte au-dessus du flux de documents. Les composants flottant peuvent être configurés comme déplaçable et / ou redimensionnable en utilisant les configs standard. Ils peuvent également être ajouté comme éléments enfants d'un conteneur, dans ce cas, ils ne s'integreront pas dans le conteneur, mais il flotteront au-dessus.
Tous les composants flottants ont désormais leur z-index gérée par un ZIndexManager . C'est le successeur de la classe Extjs3 WindowGroup . Par défaut, les composants flottante (comme Windows) qui sont rendues dans le corps du document en ayant leur méthode show sont gérés par le singleton Ext.WindowMgr. Tous les composants flottants ont donc une méthode toFront
et Toback qui invoque la ZIndexManager.
Les composants flottant qui sont ajoutés à un Container particulier recuperent un ZIndexManager de référence au moment du rendu. Ils cherchent un ancêtre de conteneurs à partir duquel est faite la demande de gestion d'indice de z. Habituellement, il sera fourni par le singleton Ext.WindowMgr , mais si la composante flotant est le descendant d'un Container flottant comme une fenêtre, cette fenêtre va créer son propre ZIndexManager, et tous les composants au sein du flottant sera géré par rapport au z-index de cette fentre.
Il s'agit d'une énorme amélioration par rapport aux versions précédentes de ExtJs, dans laquelle des arrangements complexes de conteneurs flottant pouvait rapidement conduire un conflits d'index entre les différentes composantes. Maintenant, par exemple, les listes déroulantes qui sont contenus dans une fenêtre seront toujours correctement géré au-dessus de cette fenêtre.