isomorfeus-react 16.11.4 → 16.12.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/isomorfeus/top_level.rb +21 -7
- data/lib/react/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 58043bfa06f9868b4f38d21df8e8fcc24e65c976c5b1ccb73394654bdb2eee5d
|
4
|
+
data.tar.gz: 9963861ee02870d4cd95400f15630584891b0f50dbd0757723ede1aeb97b577f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 03df39b6b2ca9e8f0f8d288e8fa88caf93fd2fb01559d7d5d034939d9c3ceaf43d752db7497e30e609f8200207066bf27d9ba8534037345b0eb47d1d14f9a649
|
7
|
+
data.tar.gz: e9a70c65e05158fd364137cafb64f7ed18620203a807cb47bb189a2b2f1d212a39f51aeddf85eeaf1c37b8db62550d0b338a82a97e493f6e4045042a0a3220e5
|
data/lib/isomorfeus/top_level.rb
CHANGED
@@ -10,7 +10,8 @@ module Isomorfeus
|
|
10
10
|
component = nil
|
11
11
|
begin
|
12
12
|
component = component_name.constantize
|
13
|
-
rescue Exception
|
13
|
+
rescue Exception => e
|
14
|
+
`console.warn("Deferring mount: " + #{e.message})`
|
14
15
|
@timeout_start = Time.now unless @timeout_start
|
15
16
|
if (Time.now - @timeout_start) < 10
|
16
17
|
`setTimeout(Opal.Isomorfeus.TopLevel['$mount!'], 100)`
|
@@ -21,14 +22,17 @@ module Isomorfeus
|
|
21
22
|
if component
|
22
23
|
props_json = root_element.JS.getAttribute('data-iso-props')
|
23
24
|
props = `Opal.Hash.$new(JSON.parse(props_json))`
|
24
|
-
|
25
|
+
raw_hydrated = root_element.JS.getAttribute('data-iso-hydrated')
|
26
|
+
hydrated = (raw_hydrated && raw_hydrated == "true")
|
25
27
|
state_json = root_element.JS.getAttribute('data-iso-state')
|
26
28
|
if state_json
|
27
29
|
%x{
|
28
30
|
var state = JSON.parse(state_json);
|
29
31
|
var keys = Object.keys(state);
|
30
32
|
for(var i=0; i < keys.length; i++) {
|
31
|
-
|
33
|
+
if (Object.keys(state[keys[i]]).length > 0) {
|
34
|
+
global.Opal.Isomorfeus.store.native.dispatch({ type: keys[i].toUpperCase(), set_state: state[keys[i]] });
|
35
|
+
}
|
32
36
|
}
|
33
37
|
}
|
34
38
|
end
|
@@ -48,14 +52,24 @@ module Isomorfeus
|
|
48
52
|
end
|
49
53
|
|
50
54
|
def on_ready(&block)
|
51
|
-
# this looks a bit odd but works across _all_ browsers, and no event handler mess
|
52
55
|
%x{
|
53
56
|
function run() { block.$call() };
|
54
|
-
function ready_fun() {
|
55
|
-
|
57
|
+
function ready_fun(fn) {
|
58
|
+
if (document.readyState === "complete" || document.readyState === "interactive") {
|
59
|
+
setTimeout(fn, 1);
|
60
|
+
} else {
|
61
|
+
document.addEventListener("DOMContentLoaded", fn);
|
62
|
+
}
|
56
63
|
}
|
57
|
-
ready_fun();
|
64
|
+
ready_fun(run);
|
58
65
|
}
|
66
|
+
# %x{
|
67
|
+
# function run() { block.$call() };
|
68
|
+
# function ready_fun() {
|
69
|
+
# /in/.test(document.readyState) ? setTimeout(ready_fun,5) : run();
|
70
|
+
# }
|
71
|
+
# ready_fun();
|
72
|
+
# }
|
59
73
|
end
|
60
74
|
|
61
75
|
def on_ready_mount(component, props = nil, element_query = nil)
|
data/lib/react/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: isomorfeus-react
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 16.
|
4
|
+
version: 16.12.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jan Biedermann
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-11-
|
11
|
+
date: 2019-11-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: concurrent-ruby
|
@@ -282,7 +282,7 @@ licenses:
|
|
282
282
|
metadata: {}
|
283
283
|
post_install_message: |2+
|
284
284
|
|
285
|
-
isomorfeus-react 16.
|
285
|
+
isomorfeus-react 16.12.0:
|
286
286
|
Major improvement:
|
287
287
|
Using Zeitwerk and Opal-Zeitwerk for autoloading, may break existing installations which use opal-autoloader.
|
288
288
|
- existing installations may lock isomorfeus-react to 16.11.1 or upgrade to isomorfeus 1.0.0.zeta6
|