view_component_reflex 2.3.6 → 2.3.12

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: e937fd7ba932deab56c293b8144506f734d1a4c5dc44e74d9facfcc07b789599
4
- data.tar.gz: f0fbd8dd07122877e370629f4d65387e79129c7b8b5528cb052b1040452d3f14
3
+ metadata.gz: cd84d332d4e687111e200c5ce5ee21714aff7b96e3911527b2a6b0fe1957fa4c
4
+ data.tar.gz: 3402b8dd84bf2b1dd4e3d11053916aaa62c0e583f3605a0c2a89c321668673ef
5
5
  SHA512:
6
- metadata.gz: 4d00f0ff02d17d4067436df5577de2aa84021ec28a509122bfef518862f46f77558c30745da154b56126b1506a056ff0abc4580a2f051d7f473b6b3f7b89b679
7
- data.tar.gz: 7217133fd36a2cc2d4fc6cba7fd6ebce9ee6e16a4935d54dcc8502beb9ca7bdc9620f1ae6c45ad29a590066b86c3fea27f5cb521ae90ca81ab26075e0a80595c
6
+ metadata.gz: 515a31e4d242bdd381e537d5b4dac20322a8318895cba609ef39cba068940a3b3e931b5862cf6404364794bea1bfbf0ed6ad6ce71cef9f9032bc7ddf7fc2499a
7
+ data.tar.gz: cd1040ec6bac0ee57ef3050c2cd1d0cfaa79daa21cbe141efec01ca97f5bdcba6553cb384a752294ba7149e299eb3e2a5631a4ccf2204557d7c3a2eecca41b28
data/README.md CHANGED
@@ -324,7 +324,7 @@ The gem is available as open source under the terms of the [MIT License](https:/
324
324
 
325
325
  ## Caveats
326
326
 
327
- State uses session to maintain state as of right now. It also assumes your component view is written with the file extension `.html.erb`
327
+ State uses session to maintain state as of right now. It also assumes your component view is written with a file extension of either `.html.erb`, `.html.haml` or `.html.slim`.
328
328
 
329
329
  ## Support me
330
330
 
@@ -139,6 +139,10 @@ module ViewComponentReflex
139
139
  []
140
140
  end
141
141
 
142
+ # def receive_params(old_state, params)
143
+ # # no op
144
+ # end
145
+
142
146
  def key
143
147
  # initialize session state
144
148
  if !stimulus_reflex? || ViewComponentReflex::Engine.state_adapter.state(request, @key).empty?
@@ -147,8 +151,12 @@ module ViewComponentReflex
147
151
 
148
152
  ViewComponentReflex::Engine.state_adapter.store_state(request, @key, new_state)
149
153
  ViewComponentReflex::Engine.state_adapter.store_state(request, "#{@key}_initial", new_state)
150
- else
154
+ elsif !@initialized_state
151
155
  initial_state = ViewComponentReflex::Engine.state_adapter.state(request, "#{@key}_initial")
156
+
157
+ # incoming_params = safe_instance_variables.each_with_object({}) { |var, obj| obj[var] = instance_variable_get(var) }
158
+ # receive_params(ViewComponentReflex::Engine.state_adapter.state(request, @key), incoming_params)
159
+
152
160
  ViewComponentReflex::Engine.state_adapter.state(request, @key).each do |k, v|
153
161
  instance_value = instance_variable_get(k)
154
162
  if permit_parameter?(initial_state[k], instance_value)
@@ -158,6 +166,7 @@ module ViewComponentReflex
158
166
  instance_variable_set(k, v)
159
167
  end
160
168
  end
169
+ @initialized_state = true
161
170
  end
162
171
  @key
163
172
  end
@@ -172,7 +181,7 @@ module ViewComponentReflex
172
181
  [
173
182
  :@view_context, :@lookup_context, :@view_renderer, :@view_flow,
174
183
  :@virtual_path, :@variant, :@current_template, :@output_buffer, :@key,
175
- :@helpers, :@controller, :@request, :@tag_builder
184
+ :@helpers, :@controller, :@request, :@tag_builder, :@initialized_state
176
185
  ]
177
186
  end
178
187
 
@@ -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.inner_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!
@@ -1,3 +1,3 @@
1
1
  module ViewComponentReflex
2
- VERSION = '2.3.6'
2
+ VERSION = '2.3.12'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: view_component_reflex
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.6
4
+ version: 2.3.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joshua LeBlanc
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-02 00:00:00.000000000 Z
11
+ date: 2020-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -16,20 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 6.0.3
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: 6.0.3.1
19
+ version: '5.2'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - "~>"
28
25
  - !ruby/object:Gem::Version
29
- version: 6.0.3
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- version: 6.0.3.1
26
+ version: '5.2'
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: stimulus_reflex
35
29
  requirement: !ruby/object:Gem::Requirement