Version: 1.0.0
Category: Logic Orchestration, Performance & Security
The Essentials Library is a robust toolkit for OutSystems developers to manage complex client-side behaviors. It provides advanced patterns for synchronous logic flow, performance optimization through call-blocking, and high-security DOM manipulation.
These components are designed to manage when and how often your logic executes.
Debounce (Max Call Blocker): Prevents an action from being called too frequently by waiting for a "silence" period before execution. Ideal for search-as-you-type inputs to block unnecessary server requests.
Throttle (Rate Limiter): Enforces a maximum number of times an action can be called over a specific period. Essential for high-frequency events like window resizing or scrolling.
LogicHaltPopup: A synchronous "Gate" that pauses the OutSystems Client Action flow. It stops execution entirely until the user provides a response, ensuring critical steps aren't skipped.
Engineered for applications with strict Content Security Policies (CSP).
GateWay (TrustedHTML Validator): Used to safely inject dynamic content or styles into the UI. Unlike standard methods that might be blocked by "TrustedHTML" policies, GateWay uses secure, compliant DOM creation to ensure your UI remains functional and secure.
Crypto: Handles local-side encryption for sensitive data before it is committed to browser storage or cookies.
Native-like utility tools for enhanced user experience.
HapticSound: Provides physical and auditory confirmation of actions (e.g., a subtle vibration and tone on a successful "Save").
NetworkSpeedCheck: A connectivity profiler used to detect connection quality, allowing you to block heavy data syncs on poor networks.
GetBatteryDetails: Monitors device power status to optimize the performance of background syncs.
To use the LogicHaltPopup as a blocking gate:
Drag the Action into your Client Action.
Configuration: Define your Title and Message.
Title
Message
Visual Logic: If you provide a SecondaryLabel, the library automatically enforces the Red-Left / Green-Right button layout.
SecondaryLabel
Halt & Resolve: The logic flow will physically stop at this node. It only proceeds once a button is clicked, returning a Result (Boolean).
Result
Condition: Follow the node with an If widget: LogicHaltPopup.Result.
LogicHaltPopup.Result
Rate Limiter, Max Call Blocker, Synchronous Logic, TrustedHTML, Debounce, Throttle, Security Gateway, Haptics, Network Profiler.
Rate Limiter
Max Call Blocker
Synchronous Logic
TrustedHTML
Debounce
Throttle
Security Gateway
Haptics
Network Profiler