From 6b82c1f1e63db4420d356fe1b44af0001ebc00bd Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Mon, 19 May 2025 16:59:17 +0400 Subject: [PATCH] doc: toggle filter --- docs/features/plugin/functions/filter.mdx | 6 ++++-- .../features/plugin/functions/toggle-filter.png | Bin 0 -> 24979 bytes 2 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 static/images/features/plugin/functions/toggle-filter.png diff --git a/docs/features/plugin/functions/filter.mdx b/docs/features/plugin/functions/filter.mdx index 4bf8fa8..b9987a9 100644 --- a/docs/features/plugin/functions/filter.mdx +++ b/docs/features/plugin/functions/filter.mdx @@ -96,7 +96,7 @@ class Filter: { "type": "status", "data": { - "description": "Toggled!!", + "description": "Toggled!", "done": True, "hidden": False, }, @@ -108,7 +108,9 @@ class Filter: #### 🖼️ What’s happening? - **toggle = True** creates a switch UI in Open WebUI—users can manually enable or disable the filter in real time. - **icon** (with a Data URI) will show up as a little image next to the filter’s name. You can use any SVG as long as it’s Data URI encoded! -- **The `inlet` function** uses the `__event_emitter__` special argument to broadcast feedback/status to the UI, such as a little toast/notification that reads "Toggled!!" +- **The `inlet` function** uses the `__event_emitter__` special argument to broadcast feedback/status to the UI, such as a little toast/notification that reads "Toggled!" + +![Toggle Filter](/images/features/plugin/functions/toggle-filter.png) You can use these mechanisms to make your filters dynamic, interactive, and visually unique within Open WebUI’s plugin ecosystem. diff --git a/static/images/features/plugin/functions/toggle-filter.png b/static/images/features/plugin/functions/toggle-filter.png new file mode 100644 index 0000000000000000000000000000000000000000..519cdfa6b9c0b4e8876bf85695b7e07e4a0245be GIT binary patch literal 24979 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 o{xwN{zT5v=lK;<@