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 +4 -4
- data/lib/view_component_reflex/reflex.rb +25 -2
- data/lib/view_component_reflex/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2b6e88d3f5132ffcc19a942cf831abdc6e6ca80efce2ff119851f9a3d0db1eb4
|
4
|
+
data.tar.gz: 687bf75b4531066806def843b8f11c9e6018c16913915dc007a5f077d8359f20
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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(
|
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
|
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)
|