cap-de-jsapi-filters
Domo Client-Side Filters (JS API)
Dynamically filter embedded Domo content from your host page after the embed loads. Unlike server-side programmatic filters (baked into the embed token), client-side filters update instantly without re-fetching tokens.
Use for: UI-driven filtering (dropdowns, date pickers), drill-down responses, syncing filters across multiple embeds, passing context to App Studio apps. For server-side filters, see cap-de-programmatic-filters.
How It Works
Domo iframes communicate with the host page via MessagePort (JSON-RPC 2.0):
- Domo iframe posts a
messageevent with aMessagePortandreferenceId - Host page captures the port and listens for messages
- Host sends RPC calls (filters) through the port; Domo sends events (drills, filter changes) back
Setup
Step 1: Initialize the JS API Listener
Set up a global listener to capture each iframe's MessagePort handshake.
More from stahura/domo-ai-vibe-rules
migrate-lovable
Convert SSR-heavy Lovable/v0 apps into client-only Domo apps.
60domo-js
Use ryuu.js (domo.js) APIs for env, events, navigation, and data calls.
59appdb
Toolkit-first AppDB document CRUD, query operators, and collection wiring.
57html-deck
Build a professional HTML slide deck from source content and convert it to a pixel-perfect PDF. Covers slide architecture, layout patterns, print-safe CSS, Puppeteer PDF conversion, and quality verification. Use when creating presentation decks, converting documents to slide format, or generating PDF decks from HTML.
57data-api
High-level entry skill for Domo data access. Routes detailed query work to dataset-query.
56jsapi-filters
Apply runtime filters to embedded Domo dashboards/cards from the host page via the JS API (MessagePort). Covers dynamic filtering, drill events, filter change listeners, iframe resize, pfilter URL params, overrideFilters, and App Studio appData. Use for any client-side Domo embed interaction. Not for server-side programmatic filters (use programmatic-filters).
56