view_component_reflex 2.3.8 → 2.3.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 54cdc12281c11a0b058eefe438c7b672e338997ffca8e5f6220a24c6da88e583
4
- data.tar.gz: f896c75ef8915be19a001fd9a176e44dc4f3124745cc31dc3813427de9326cb5
3
+ metadata.gz: 2b6e88d3f5132ffcc19a942cf831abdc6e6ca80efce2ff119851f9a3d0db1eb4
4
+ data.tar.gz: 687bf75b4531066806def843b8f11c9e6018c16913915dc007a5f077d8359f20
5
5
  SHA512:
6
- metadata.gz: 765f82d92616ae01862554996225495f8d629ede123422d4b3ca28a2cc3f048d0d57a0de79626b7cb737cce89bc037f91b9e8972ae7fa8b5e447fa8f243c3f45
7
- data.tar.gz: 93c25d2aeff681f0742a2eef636918a0a91574f6d8498274e05176b4906e87c8e2a3682effbb691d9bea679896d068725c72b3df4cd9a5f868054ea821b7c4f3
6
+ metadata.gz: 591744149c2029b0fee4edbf4df3fe3197339f7c63bb3d78e5d3e907464e7dfa7f2f768b065822436a2d135fa8a1a7f102caf1b7644a0f9a0c8dd0f2634bdfee
7
+ data.tar.gz: d193b6e638108985fa1aa1b2f7caf124a137497c02ca6a9ec1118923cb06bdce5b60580a5cf92ab2393d65ceb31b9d4f0ea0c09daa747802c048da7e72a69294
@@ -20,12 +20,18 @@ module ViewComponentReflex
20
20
  [primary_selector, *rest].each do |s|
21
21
  html = document.css(s)
22
22
  if html.present?
23
- morph(s, html.to_html)
23
+ cable_ready[channel.stream_name].morph(
24
+ selector: s,
25
+ html: html.inner_html,
26
+ children_only: true,
27
+ permanent_attribute_name: "data-reflex-permanent"
28
+ )
24
29
  end
25
30
  end
26
31
  else
27
32
  refresh_component!
28
33
  end
34
+ cable_ready.broadcast
29
35
  end
30
36
 
31
37
  def refresh_component!
@@ -35,7 +41,12 @@ module ViewComponentReflex
35
41
  end
36
42
  end
37
43
  document = Nokogiri::HTML(controller.render_component_to_string(component))
38
- morph selector, document.css(selector).inner_html
44
+ cable_ready[channel.stream_name].morph(
45
+ selector: selector,
46
+ children_only: true,
47
+ html: document.css(selector).inner_html,
48
+ permanent_attribute_name: "data-reflex-permanent"
49
+ )
39
50
  end
40
51
 
41
52
  def refresh_all!
@@ -57,7 +68,19 @@ module ViewComponentReflex
57
68
  !!name.to_proc
58
69
  end
59
70
 
71
+ # this is copied out of stimulus_reflex/reflex.rb and modified
72
+ def morph(selectors, html = "")
73
+ case selectors
74
+ when :nothing
75
+ @broadcaster = StimulusReflex::NothingBroadcaster.new(self)
76
+ else
77
+ @broadcaster = StimulusReflex::SelectorBroadcaster.new(self) unless broadcaster.selector?
78
+ broadcaster.morphs << [selectors, html]
79
+ end
80
+ end
81
+
60
82
  def method_missing(name, *args)
83
+ morph :nothing
61
84
  super unless respond_to_missing?(name)
62
85
  state.each do |k, v|
63
86
  component.instance_variable_set(k, v)
@@ -1,3 +1,3 @@
1
1
  module ViewComponentReflex
2
- VERSION = '2.3.8'
2
+ VERSION = '2.3.9'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: view_component_reflex
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.8
4
+ version: 2.3.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joshua LeBlanc