hyper-component 1.0.alpha1.1 → 1.0.alpha1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +13 -13
- data/lib/hyperstack/component.rb +18 -0
- data/lib/hyperstack/component/version.rb +1 -1
- data/lib/hyperstack/internal/component/class_methods.rb +18 -3
- data/lib/hyperstack/internal/component/instance_methods.rb +0 -4
- data/lib/hyperstack/internal/component/props_wrapper.rb +1 -0
- data/lib/hyperstack/internal/component/top_level_rails_component.rb +4 -0
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 32f892af1c88068a155f6a7de78fe37ec32f157fe6e3e20d1a06db63501a43af
|
4
|
+
data.tar.gz: 031e39966cb44433d836a82e563236b985b59def309a9bfb39107ac1cc151e08
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0ef39af06f446589c0b2ce1137d0403d0125c21657b857e7c3785921c800e9aaa1cb2975cd06e104de4bb45612bc510b0b3fe8ba0233dc68902b2d877bb1d430
|
7
|
+
data.tar.gz: b3a8f74fecb413e0fa82eb7ce97de80123b7e67fd9da9b3a5d9bff2d6a7f287f03aad6a8b62703cb776b14fa0233c602964ca20e56d9225a774be11e59bae9c8
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: ../hyper-spec
|
3
3
|
specs:
|
4
|
-
hyper-spec (1.0.alpha1)
|
4
|
+
hyper-spec (1.0.alpha1.2)
|
5
5
|
capybara
|
6
6
|
chromedriver-helper (= 1.2.0)
|
7
7
|
libv8 (~> 6.3.0)
|
@@ -20,22 +20,22 @@ PATH
|
|
20
20
|
PATH
|
21
21
|
remote: ../hyper-state
|
22
22
|
specs:
|
23
|
-
hyper-state (1.0.alpha1)
|
24
|
-
hyperstack-config (= 1.0.alpha1)
|
23
|
+
hyper-state (1.0.alpha1.2)
|
24
|
+
hyperstack-config (= 1.0.alpha1.2)
|
25
25
|
opal (>= 0.11.0, < 0.12.0)
|
26
26
|
|
27
27
|
PATH
|
28
28
|
remote: ../hyper-store
|
29
29
|
specs:
|
30
|
-
hyper-store (1.0.alpha1)
|
31
|
-
hyper-state (= 1.0.alpha1)
|
32
|
-
hyperstack-config (= 1.0.alpha1)
|
30
|
+
hyper-store (1.0.alpha1.2)
|
31
|
+
hyper-state (= 1.0.alpha1.2)
|
32
|
+
hyperstack-config (= 1.0.alpha1.2)
|
33
33
|
opal (>= 0.11.0, < 0.12.0)
|
34
34
|
|
35
35
|
PATH
|
36
36
|
remote: ../hyperstack-config
|
37
37
|
specs:
|
38
|
-
hyperstack-config (1.0.alpha1)
|
38
|
+
hyperstack-config (1.0.alpha1.2)
|
39
39
|
libv8 (~> 6.3.0)
|
40
40
|
listen (~> 3.0)
|
41
41
|
mini_racer (~> 0.1.15)
|
@@ -47,9 +47,9 @@ PATH
|
|
47
47
|
PATH
|
48
48
|
remote: .
|
49
49
|
specs:
|
50
|
-
hyper-component (1.0.alpha1)
|
51
|
-
hyper-state (= 1.0.alpha1)
|
52
|
-
hyperstack-config (= 1.0.alpha1)
|
50
|
+
hyper-component (1.0.alpha1.2)
|
51
|
+
hyper-state (= 1.0.alpha1.2)
|
52
|
+
hyperstack-config (= 1.0.alpha1.2)
|
53
53
|
libv8 (~> 6.3.0)
|
54
54
|
mini_racer (~> 0.1.15)
|
55
55
|
opal (>= 0.11.0, < 0.12.0)
|
@@ -115,7 +115,7 @@ GEM
|
|
115
115
|
babel-source (>= 4.0, < 6)
|
116
116
|
execjs (~> 2.0)
|
117
117
|
builder (3.2.3)
|
118
|
-
capybara (3.
|
118
|
+
capybara (3.11.0)
|
119
119
|
addressable
|
120
120
|
mini_mime (>= 0.1.3)
|
121
121
|
nokogiri (~> 1.8)
|
@@ -152,7 +152,7 @@ GEM
|
|
152
152
|
rails-dom-testing (>= 1, < 3)
|
153
153
|
railties (>= 4.2.0)
|
154
154
|
thor (>= 0.14, < 2.0)
|
155
|
-
libv8 (6.3.292.48.1
|
155
|
+
libv8 (6.3.292.48.1)
|
156
156
|
listen (3.1.5)
|
157
157
|
rb-fsevent (~> 0.9, >= 0.9.4)
|
158
158
|
rb-inotify (~> 0.9, >= 0.9.7)
|
@@ -262,7 +262,7 @@ GEM
|
|
262
262
|
execjs
|
263
263
|
railties (>= 3.2)
|
264
264
|
tilt
|
265
|
-
regexp_parser (1.
|
265
|
+
regexp_parser (1.3.0)
|
266
266
|
rspec-core (3.8.0)
|
267
267
|
rspec-support (~> 3.8.0)
|
268
268
|
rspec-expectations (3.8.2)
|
data/lib/hyperstack/component.rb
CHANGED
@@ -28,6 +28,24 @@ module Hyperstack
|
|
28
28
|
define_callback(:after_error) { Hyperstack::Internal::Component::ReactWrapper.add_after_error_hook(base) }
|
29
29
|
end
|
30
30
|
base.extend(Hyperstack::Internal::Component::ClassMethods)
|
31
|
+
unless `Opal.__hyperstack_component_original_defn`
|
32
|
+
%x{
|
33
|
+
Opal.__hyperstack_component_original_defn = Opal.defn
|
34
|
+
Opal.defn = function(klass, name, fn) {
|
35
|
+
#{
|
36
|
+
if `klass`.respond_to?(:hyper_component?) && !(`klass` < Hyperstack::Component::NativeLibrary)
|
37
|
+
if `name == '$render'` && !`klass`.allow_deprecated_render_definition?
|
38
|
+
Hyperstack.deprecation_warning(`klass`, 'Do not directly define the render method. Use the render macro instead.')
|
39
|
+
elsif `name == '$__hyperstack_component_render'`
|
40
|
+
`name = '$render'`
|
41
|
+
end
|
42
|
+
end
|
43
|
+
}
|
44
|
+
Opal.__hyperstack_component_original_defn(klass, name, fn)
|
45
|
+
}
|
46
|
+
}
|
47
|
+
nil
|
48
|
+
end
|
31
49
|
end
|
32
50
|
|
33
51
|
def self.mounted_components
|
@@ -20,6 +20,10 @@ module Hyperstack
|
|
20
20
|
true
|
21
21
|
end
|
22
22
|
|
23
|
+
def allow_deprecated_render_definition?
|
24
|
+
false
|
25
|
+
end
|
26
|
+
|
23
27
|
def mounted_components
|
24
28
|
Hyperstack::Component.mounted_components.select { |c| c.class <= self }
|
25
29
|
end
|
@@ -39,13 +43,14 @@ module Hyperstack
|
|
39
43
|
end
|
40
44
|
|
41
45
|
def render(container = nil, params = {}, &block)
|
46
|
+
Tags.included(self)
|
42
47
|
if container
|
43
48
|
container = container.type if container.is_a? Hyperstack::Component::Element
|
44
|
-
define_method :
|
49
|
+
define_method :__hyperstack_component_render do
|
45
50
|
RenderingContext.render(container, params) { instance_eval(&block) if block }
|
46
51
|
end
|
47
52
|
else
|
48
|
-
define_method(:
|
53
|
+
define_method(:__hyperstack_component_render) { instance_eval(&block) }
|
49
54
|
end
|
50
55
|
end
|
51
56
|
|
@@ -125,6 +130,10 @@ module Hyperstack
|
|
125
130
|
options[:default] ||= nil
|
126
131
|
options[:allow_nil] = true unless options.key?(:allow_nil)
|
127
132
|
end
|
133
|
+
if name == :class
|
134
|
+
name = :className
|
135
|
+
options[:alias] ||= :Class
|
136
|
+
end
|
128
137
|
if options[:default]
|
129
138
|
validator.optional(name, options)
|
130
139
|
else
|
@@ -141,7 +150,13 @@ module Hyperstack
|
|
141
150
|
|
142
151
|
def triggers(name, opts = {})
|
143
152
|
aka = opts[:alias] || "#{name}!"
|
144
|
-
name = name =~ /^<(.+)>$/
|
153
|
+
name = if name =~ /^<(.+)>$/
|
154
|
+
name.gsub(/^<(.+)>$/, '\1')
|
155
|
+
elsif Hyperstack::Component::Event::BUILT_IN_EVENTS.include?("on#{name.event_camelize}")
|
156
|
+
"on#{name.event_camelize}"
|
157
|
+
else
|
158
|
+
"on_#{name}"
|
159
|
+
end
|
145
160
|
validator.event(name)
|
146
161
|
define_method(aka) { |*args| props[name]&.call(*args) }
|
147
162
|
end
|
@@ -23,10 +23,6 @@ module Hyperstack
|
|
23
23
|
Hash.new(`#{@__hyperstack_component_native}.props`)
|
24
24
|
end
|
25
25
|
|
26
|
-
def refs
|
27
|
-
Hash.new(`#{@__hyperstack_component_native}.refs`)
|
28
|
-
end
|
29
|
-
|
30
26
|
def dom_node
|
31
27
|
`ReactDOM.findDOMNode(#{self}.__hyperstack_component_native)` # react >= v0.15.0
|
32
28
|
end
|
@@ -42,6 +42,7 @@ module Hyperstack
|
|
42
42
|
param_definitions[name] = lambda do |props|
|
43
43
|
@component.instance_variable_set :"@#{var_name}", fetch_from_cache(name, param_type, props)
|
44
44
|
end
|
45
|
+
return if param_accessor_style == :hyperstack
|
45
46
|
if param_type == Proc
|
46
47
|
define_method(meth_name.to_sym) do |*args, &block|
|
47
48
|
props[name].call(*args, &block) if props[name]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hyper-component
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.alpha1.
|
4
|
+
version: 1.0.alpha1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Chang
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2018-11-
|
15
|
+
date: 2018-11-16 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: hyper-state
|
@@ -20,28 +20,28 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - '='
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: 1.0.alpha1.
|
23
|
+
version: 1.0.alpha1.2
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
26
|
version_requirements: !ruby/object:Gem::Requirement
|
27
27
|
requirements:
|
28
28
|
- - '='
|
29
29
|
- !ruby/object:Gem::Version
|
30
|
-
version: 1.0.alpha1.
|
30
|
+
version: 1.0.alpha1.2
|
31
31
|
- !ruby/object:Gem::Dependency
|
32
32
|
name: hyperstack-config
|
33
33
|
requirement: !ruby/object:Gem::Requirement
|
34
34
|
requirements:
|
35
35
|
- - '='
|
36
36
|
- !ruby/object:Gem::Version
|
37
|
-
version: 1.0.alpha1.
|
37
|
+
version: 1.0.alpha1.2
|
38
38
|
type: :runtime
|
39
39
|
prerelease: false
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
41
|
requirements:
|
42
42
|
- - '='
|
43
43
|
- !ruby/object:Gem::Version
|
44
|
-
version: 1.0.alpha1.
|
44
|
+
version: 1.0.alpha1.2
|
45
45
|
- !ruby/object:Gem::Dependency
|
46
46
|
name: libv8
|
47
47
|
requirement: !ruby/object:Gem::Requirement
|
@@ -158,14 +158,14 @@ dependencies:
|
|
158
158
|
requirements:
|
159
159
|
- - '='
|
160
160
|
- !ruby/object:Gem::Version
|
161
|
-
version: 1.0.alpha1.
|
161
|
+
version: 1.0.alpha1.2
|
162
162
|
type: :development
|
163
163
|
prerelease: false
|
164
164
|
version_requirements: !ruby/object:Gem::Requirement
|
165
165
|
requirements:
|
166
166
|
- - '='
|
167
167
|
- !ruby/object:Gem::Version
|
168
|
-
version: 1.0.alpha1.
|
168
|
+
version: 1.0.alpha1.2
|
169
169
|
- !ruby/object:Gem::Dependency
|
170
170
|
name: jquery-rails
|
171
171
|
requirement: !ruby/object:Gem::Requirement
|