From e587a022a2962c984925fe31ee2f0e870f752aa9 Mon Sep 17 00:00:00 2001 From: Russell Edens Date: Wed, 16 Jun 2021 17:11:44 -0400 Subject: [PATCH] doc: add halted to demo If a event chain is halted, it fires the 'V:eventsHalted' event. That can be handled so that the default error handling does not kick in and you can handle it yourself. The post was issuing a multi-part post with body. That is a malformed request and starting with Rack 2.2.2 will generate an exception. https://github.com/rack/rack/issues/1603 This fixes that issue. --- app/demo/events/halted.pom | 23 +++++++++++++++++++++++ app/demo/events/nav/drawer.pom | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 app/demo/events/halted.pom diff --git a/app/demo/events/halted.pom b/app/demo/events/halted.pom new file mode 100644 index 00000000..12f7a8ef --- /dev/null +++ b/app/demo/events/halted.pom @@ -0,0 +1,23 @@ +Voom::Presenters.define(:halted) do + helpers Demo::Helpers::IndentedGrid + attach :top_nav + attach :events_drawer + + indented_grid do + display 'Halted Events' + body 'This demonstrates how to respond to failed, or halted events' + + content do + button :failed_post do + event :click do + posts '_echo_', status: 500 + end + event 'V:eventsHalted' do + snackbar 'That did not work! Please try again later.' + end + end + + end + end + attach :code, file: __FILE__ +end diff --git a/app/demo/events/nav/drawer.pom b/app/demo/events/nav/drawer.pom index efe10818..5a08368f 100644 --- a/app/demo/events/nav/drawer.pom +++ b/app/demo/events/nav/drawer.pom @@ -1,7 +1,7 @@ Coprl::Presenters.define(:events_drawer) do helpers Coprl::Presenters::Helpers::Inflector - events = %i[field_level_events form_level_events tagged_input parallel_events].sort + events = %i[field_level_events form_level_events tagged_input parallel_events halted].sort actions = %i[dialog replaces loads toggle_visibility snackbar updates deletes posts clear last_response prompt_if_dirty].sort drawer 'Events' do