wire:offline
The wire:offline
directive enables you to create responsive user interfaces that gracefully handle network connectivity changes, providing visual feedback when users go offline or come back online.
Basic Usage
This simple component demonstrates wire:offline
for showing content when offline, adding CSS classes, and removing CSS classes:
// wires/OfflineDemo.bx
class extends="cbwire.models.Component" {
data = {};
}
<!-- wires/offlineDemo.bxm -->
<bx:output>
<div class="app">
<!-- Connection status indicator -->
<div wire:offline.class="offline" wire:offline.class.remove="online"
class="status-indicator online">
<span class="status-text">Connected</span>
</div>
<!-- Offline message - only shows when offline -->
<div wire:offline class="offline-banner">
<h3>You're currently offline</h3>
<p>Some features may be unavailable.</p>
</div>
<!-- Button that gets disabled when offline -->
<button wire:offline.class="disabled" class="sync-button">
Sync Data
</button>
</div>
</bx:output>
What wire:offline Does
When you add wire:offline
to an element, CBWIRE automatically:
Detects connectivity changes: Monitors browser online/offline status in real-time
Shows/hides elements: Makes elements visible only when the user goes offline
Toggles CSS classes: Adds or removes specified classes based on connection state
Provides immediate feedback: Updates the UI instantly when connectivity changes
Available Modifiers
You can customize offline behavior with these modifiers:
Class addition:
.class="offline-style"
- Add CSS classes when offlineClass removal:
.class.remove="online-style"
- Remove CSS classes when offline
Combine both modifiers: wire:offline.class="offline".class.remove="online"
Last updated
Was this helpful?