diff --git a/lib/datastar/server_sent_event_generator.rb b/lib/datastar/server_sent_event_generator.rb index cdaea2f..d8ce825 100644 --- a/lib/datastar/server_sent_event_generator.rb +++ b/lib/datastar/server_sent_event_generator.rb @@ -34,12 +34,16 @@ class ServerSentEventGenerator DEFAULT_SSE_RETRY_DURATION = 1000 DEFAULT_ELEMENTS_USE_VIEW_TRANSITIONS = false + DEFAULT_ELEMENTS_VIEW_TRANSITION_SELECTOR = '' + DEFAULT_ELEMENTS_NAMESPACE = 'html' DEFAULT_PATCH_SIGNALS_ONLY_IF_MISSING = false SELECTOR_DATALINE_LITERAL = 'selector' MODE_DATALINE_LITERAL = 'mode' ELEMENTS_DATALINE_LITERAL = 'elements' USE_VIEW_TRANSITION_DATALINE_LITERAL = 'useViewTransition' + VIEW_TRANSITION_SELECTOR_DATALINE_LITERAL = 'viewTransitionSelector' + NAMESPACE_DATALINE_LITERAL = 'namespace' SIGNALS_DATALINE_LITERAL = 'signals' ONLY_IF_MISSING_DATALINE_LITERAL = 'onlyIfMissing' @@ -56,6 +60,8 @@ class ServerSentEventGenerator 'retry' => DEFAULT_SSE_RETRY_DURATION, MODE_DATALINE_LITERAL => DEFAULT_ELEMENT_PATCH_MODE, USE_VIEW_TRANSITION_DATALINE_LITERAL => DEFAULT_ELEMENTS_USE_VIEW_TRANSITIONS, + VIEW_TRANSITION_SELECTOR_DATALINE_LITERAL => DEFAULT_ELEMENTS_VIEW_TRANSITION_SELECTOR, + NAMESPACE_DATALINE_LITERAL => DEFAULT_ELEMENTS_NAMESPACE, ONLY_IF_MISSING_DATALINE_LITERAL => DEFAULT_PATCH_SIGNALS_ONLY_IF_MISSING, }.freeze diff --git a/spec/dispatcher_spec.rb b/spec/dispatcher_spec.rb index fbd2640..dd68f8c 100644 --- a/spec/dispatcher_spec.rb +++ b/spec/dispatcher_spec.rb @@ -127,6 +127,50 @@ def wait_for_close(&) expect(socket.lines).to eq([%(event: datastar-patch-elements\nid: 72\nretry: 2000\ndata: useViewTransition true\ndata: elements