From 5eed025419b18b3e666f151e3fb3144391994d06 Mon Sep 17 00:00:00 2001 From: Tomasz Sowa Date: Fri, 8 Nov 2024 13:35:54 +0100 Subject: [PATCH] add trigger_htmx_event(...) methods to FunctionBase --- winixd/functions/functionbase.cpp | 30 ++++++++++++++++++++++++++++++ winixd/functions/functionbase.h | 5 +++++ 2 files changed, 35 insertions(+) diff --git a/winixd/functions/functionbase.cpp b/winixd/functions/functionbase.cpp index 85a02d6..7662178 100644 --- a/winixd/functions/functionbase.cpp +++ b/winixd/functions/functionbase.cpp @@ -1124,6 +1124,36 @@ void FunctionBase::redirect_if_needed(bool was_url_changed) } +void FunctionBase::trigger_htmx_event(const wchar_t * event_name, bool value) +{ + if( cur->request->is_htmx_request ) + { + pt::Space & trigger = cur->request->out_headers.get_add_space(L"HX-Trigger"); + trigger.add(event_name, value); + } +} + + +void FunctionBase::trigger_htmx_event(const wchar_t * event_name, int value) +{ + if( cur->request->is_htmx_request ) + { + pt::Space & trigger = cur->request->out_headers.get_add_space(L"HX-Trigger"); + trigger.add(event_name, value); + } +} + + +void FunctionBase::trigger_htmx_event(const wchar_t * event_name, long value) +{ + if( cur->request->is_htmx_request ) + { + pt::Space & trigger = cur->request->out_headers.get_add_space(L"HX-Trigger"); + trigger.add(event_name, value); + } +} + + /* * DEPRACATED * for backward compatibility diff --git a/winixd/functions/functionbase.h b/winixd/functions/functionbase.h index 71f24bb..f4733b7 100644 --- a/winixd/functions/functionbase.h +++ b/winixd/functions/functionbase.h @@ -239,6 +239,11 @@ public: virtual void redirect_if_needed(bool was_url_changed = false); + virtual void trigger_htmx_event(const wchar_t * event_name, bool value); + virtual void trigger_htmx_event(const wchar_t * event_name, int value); + virtual void trigger_htmx_event(const wchar_t * event_name, long value); + + /* * DEPRECATED