FloatingPopupPro is a high-performance utility block that adds "Desktop-like" window management to your OutSystems Popups. It enables users to drag and resize popups in 8 directions with zero visual flickering.
To ensure the component works correctly with the OutSystems UI lifecycle:
Open the Popup where you want to add the functionality.
Drag the PopupFlexPro block and drop it inside the "Content" placeholder of the Popup.
Note: It is recommended to place it at the very top or very bottom of the Content placeholder to keep your development canvas organized.
Id
MyPopup.Id
"600px"
"80%"
"400px"
"auto"
True
Name your Popup: In the Service Studio, ensure your Popup widget has a Name (e.g., ClientDetailPopup).
ClientDetailPopup
Insert the Block: Drop PopupFlexPro inside that popup.
Map the ID: In the PopupId input of the block, type ClientDetailPopup.Id.
PopupId
ClientDetailPopup.Id
Configure Dimensions:
Set Width to your desired size (e.g., "700px").
Width
"700px"
Set OnCenter to True for a professional entrance.
OnCenter
Publish: Your popup is now draggable via the header and resizable from any edge or corner.
Header Selection: The "Drag" functionality automatically detects the .osui-popup__header or .popup-header classes. Ensure your popup has a title or header area for the best experience.
.osui-popup__header
.popup-header
CSS Conflicts: This component forces position: fixed and transform: none on the popup to allow free movement. It overrides standard OutSystems centering to prevent "jumping" issues.
position: fixed
transform: none
Z-Index: The block sets a z-index of 1001 by default to stay above the standard overlay.
z-index
1001
Cursor not changing? Ensure you don't have a container inside the popup with a fixed width/height that is blocking the edges.
Popup not moving? Check if you passed the correct PopupId. The block needs this to find the specific HTML element in the DOM.