isomorfeus-react 16.12.2 → 16.12.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -2
- data/lib/lucid_func/native_component_constructor.rb +5 -4
- data/lib/lucid_material/func/native_component_constructor.rb +5 -4
- data/lib/react.rb +7 -1
- data/lib/react/component/event_handler.rb +1 -0
- data/lib/react/function_component/native_component_constructor.rb +5 -1
- data/lib/react/memo_component/native_component_constructor.rb +5 -1
- data/lib/react/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 16b27da18f07ffa5532831f4eb7223e2811186de76a311b6b6c5382daa31e07b
|
4
|
+
data.tar.gz: 94216067a6cd36e0eda714fbe5c5d807432b478da1cdb0ae193312659f879a21
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4b8414d7467dc8b04f3838db146e497556ac68d7a4016f38b4c1b445c5a035a3c157c6f9bc53d8937444677660596e6049da71865bb0681d77c5400b3c22bf75
|
7
|
+
data.tar.gz: cbf406f15a160204347a20cdb8f38293b431a0517537c80eaf742191849386fadb4bda6c56810b8b00b08c28712630a3b070915f0e50d6113f9970ed4a0c3df7
|
data/README.md
CHANGED
@@ -39,7 +39,7 @@ Which component to use?
|
|
39
39
|
- Usually LucidApp and LucidComponent along with some imported javascript components.
|
40
40
|
- For MaterialUI LucidMaterial::App and LucidMaterial::Component along with some imported javascript components.
|
41
41
|
|
42
|
-
Specific to Class,
|
42
|
+
Specific to Class, Lucid and LucidMaterial Components:
|
43
43
|
- [Events](https://github.com/isomorfeus/isomorfeus-react/blob/master/ruby/docs/events.md)
|
44
44
|
- [Lifecycle Callbacks](https://github.com/isomorfeus/isomorfeus-react/blob/master/ruby/docs/lifecycle_callbacks.md)
|
45
45
|
- [Props](https://github.com/isomorfeus/isomorfeus-react/blob/master/ruby/docs/props.md)
|
@@ -63,7 +63,6 @@ Other Features:
|
|
63
63
|
- [Server Side Rendering](https://github.com/isomorfeus/isomorfeus-react/blob/master/ruby/docs/server_side_rendering.md)
|
64
64
|
- [Using React Router](https://github.com/isomorfeus/isomorfeus-react/blob/master/ruby/docs/react_router.md)
|
65
65
|
- [Isomorfeus Helpers](https://github.com/isomorfeus/isomorfeus-react/blob/master/ruby/docs/isomorfeus_helpers.md)
|
66
|
-
- [Reducing Asset Size](https://github.com/isomorfeus/isomorfeus-react/blob/master/ruby/docs/reducing_asset_size.md)
|
67
66
|
|
68
67
|
### Development Tools
|
69
68
|
The React Developer Tools allow for analyzing, debugging and profiling components. A very helpful toolset and working very nice with isomorfeus-react:
|
@@ -6,10 +6,11 @@ module LucidFunc
|
|
6
6
|
base.store_updates = true;
|
7
7
|
base.equality_checker = null;
|
8
8
|
base.instance_init = function(initial) {
|
9
|
-
let
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
let ruby_state = { instance: #{base.new(`{}`)} };
|
10
|
+
ruby_state.instance.__ruby_instance = ruby_state.instance;
|
11
|
+
ruby_state.instance.data_access = function() { return this.props.store; }
|
12
|
+
ruby_state.instance.data_access.bind(ruby_state.instance);
|
13
|
+
return ruby_state;
|
13
14
|
}
|
14
15
|
base.instance_reducer = function(state, action) { return state; }
|
15
16
|
base.react_component = Opal.global.React.memo(function(props) {
|
@@ -7,10 +7,11 @@ module LucidMaterial
|
|
7
7
|
base.store_updates = true;
|
8
8
|
base.equality_checker = null;
|
9
9
|
base.instance_init = function(initial) {
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
10
|
+
let ruby_state = { instance: #{base.new(`{}`)} };
|
11
|
+
ruby_state.instance.__ruby_instance = ruby_state.instance;
|
12
|
+
ruby_state.instance.data_access = function() { return this.props.store; }
|
13
|
+
ruby_state.instance.data_access.bind(ruby_state.instance);
|
14
|
+
return ruby_state;
|
14
15
|
}
|
15
16
|
base.instance_reducer = function(state, action) { return state; }
|
16
17
|
base.react_component = Opal.global.React.memo(function(props) {
|
data/lib/react.rb
CHANGED
@@ -37,7 +37,13 @@ module React
|
|
37
37
|
if (key[0] === 'o' && key[1] === 'n' && key[2] === '_') {
|
38
38
|
let handler = ruby_style_props['$[]'](key);
|
39
39
|
if (typeof handler === "function") {
|
40
|
-
|
40
|
+
let active_c = self.active_component();
|
41
|
+
result[Opal.React.lower_camelize(key)] = function(event, info) {
|
42
|
+
let ruby_event;
|
43
|
+
if (typeof event === "object") { #{ruby_event = ::React::SyntheticEvent.new(`event`)}; }
|
44
|
+
else { #{ruby_event = `event`}; }
|
45
|
+
#{`active_c.__ruby_instance`.instance_exec(ruby_event, `info`, &`handler`)};
|
46
|
+
}
|
41
47
|
} else {
|
42
48
|
let active_component = Opal.React.active_component();
|
43
49
|
result[Opal.React.lower_camelize(key)] = active_component[handler];
|
@@ -9,6 +9,7 @@ module React
|
|
9
9
|
event_handlers << name
|
10
10
|
%x{
|
11
11
|
var fun = function(event, info) {
|
12
|
+
let ruby_event;
|
12
13
|
if (typeof event === "object") { #{ruby_event = ::React::SyntheticEvent.new(`event`)}; }
|
13
14
|
else { #{ruby_event = `event`}; }
|
14
15
|
#{`this.__ruby_instance`.instance_exec(ruby_event, `info`, &block)};
|
@@ -4,7 +4,11 @@ module React
|
|
4
4
|
def self.extended(base)
|
5
5
|
component_name = base.to_s
|
6
6
|
%x{
|
7
|
-
base.instance_init = function(initial) {
|
7
|
+
base.instance_init = function(initial) {
|
8
|
+
let ruby_state = { instance: #{base.new(`{}`)} };
|
9
|
+
ruby_state.instance.__ruby_instance = ruby_state.instance;
|
10
|
+
return ruby_state;
|
11
|
+
}
|
8
12
|
base.instance_reducer = function(state, action) { return state; }
|
9
13
|
base.react_component = function(props) {
|
10
14
|
const oper = Opal.React;
|
@@ -4,7 +4,11 @@ module React
|
|
4
4
|
def self.extended(base)
|
5
5
|
component_name = base.to_s
|
6
6
|
%x{
|
7
|
-
base.instance_init = function(initial) {
|
7
|
+
base.instance_init = function(initial) {
|
8
|
+
let ruby_state = { instance: #{base.new(`{}`)} };
|
9
|
+
ruby_state.instance.__ruby_instance = ruby_state.instance;
|
10
|
+
return ruby_state;
|
11
|
+
}
|
8
12
|
base.instance_reducer = function(state, action) { return state; }
|
9
13
|
base.equality_checker = null;
|
10
14
|
base.react_component = Opal.global.React.memo(function(props) {
|
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.12.
|
4
|
+
version: 16.12.3
|
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-12-
|
11
|
+
date: 2019-12-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: concurrent-ruby
|