prodev-essestials
Reactive icon

ProDev Essenstials

Stable version 1.0.0 (Compatible with OutSystems 11)
Uploaded
 on 11 Feb
 by 
0.0
 (0 ratings)
prodev-essestials

ProDev Essenstials

Documentation
1.0.0

📘 Component Documentation: Essentials Library

Version: 1.0.0

Category: Logic Orchestration, Performance & Security

🚀 Overview

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.


🛠️ Core Pillar: FlowMediator (Call Blocking & Logic Control)

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.


🔒 Core Pillar: Security (Safe Injection)

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.


📱 Core Pillar: Device Essentials

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.


💻 Technical Implementation Example: The Synchronous Gate

To use the LogicHaltPopup as a blocking gate:

  1. Drag the Action into your Client Action.

  2. Configuration: Define your Title and Message.

  3. Visual Logic: If you provide a SecondaryLabel, the library automatically enforces the Red-Left / Green-Right button layout.

  4. Halt & Resolve: The logic flow will physically stop at this node. It only proceeds once a button is clicked, returning a Result (Boolean).

  5. Condition: Follow the node with an If widget: LogicHaltPopup.Result.


🏷️ Forge Search Tags

Rate Limiter, Max Call Blocker, Synchronous Logic, TrustedHTML, Debounce, Throttle, Security Gateway, Haptics, Network Profiler.