opal-jquery 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +2 -2
- data/Rakefile +2 -25
- data/config.ru +31 -0
- data/lib/assets/javascripts/opal-jquery.js.erb +3 -0
- data/lib/assets/javascripts/opal/jquery.rb +6 -0
- data/lib/assets/javascripts/opal/jquery/element.rb +21 -22
- data/lib/assets/javascripts/opal/jquery/event.rb +13 -0
- data/lib/assets/javascripts/opal/jquery/http.rb +13 -1
- data/lib/opal/jquery/version.rb +1 -1
- data/spec/autorun.rb +3 -0
- data/spec/element_spec.rb +2 -2
- data/spec/http_spec.rb +1 -1
- data/spec/local_storage_spec.rb +1 -1
- data/spec/spec_helper.rb +4 -5
- metadata +8 -7
- data/lib/assets/javascripts/opal-jquery.js +0 -1
- data/lib/assets/javascripts/opal/jquery.js +0 -6
- data/spec/index.html +0 -10
data/Gemfile
CHANGED
data/Rakefile
CHANGED
@@ -1,28 +1,5 @@
|
|
1
1
|
require 'bundler'
|
2
2
|
Bundler.require
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
File.open('build/opal-jquery.js', 'w+') do |out|
|
7
|
-
out.puts Opal.process('opal-jquery')
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
desc "Build example specs ready to run"
|
12
|
-
task :build_specs => [:dir] do
|
13
|
-
Opal.append_path File.join(File.dirname(__FILE__), 'spec')
|
14
|
-
|
15
|
-
File.open('build/specs.js', 'w+') do |out|
|
16
|
-
out.puts Opal.process('spec_helper')
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
task :dir do
|
21
|
-
FileUtils.mkdir_p 'build'
|
22
|
-
end
|
23
|
-
|
24
|
-
task :test do
|
25
|
-
OpalSpec.runner
|
26
|
-
end
|
27
|
-
|
28
|
-
task :default => [:build_specs, :test]
|
4
|
+
require 'opal/spec/rake_task'
|
5
|
+
Opal::Spec::RakeTask.new(:default)
|
data/config.ru
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'bundler'
|
2
|
+
Bundler.require
|
3
|
+
|
4
|
+
html = <<-HTML
|
5
|
+
<!DOCTYPE html>
|
6
|
+
<html>
|
7
|
+
<head>
|
8
|
+
<title>opal-jquery specs</title>
|
9
|
+
</head>
|
10
|
+
<body>
|
11
|
+
<script src="/assets/autorun.js"></script>
|
12
|
+
</body>
|
13
|
+
</html>
|
14
|
+
HTML
|
15
|
+
|
16
|
+
map '/assets' do
|
17
|
+
env = Opal::Environment.new
|
18
|
+
env.append_path 'vendor' # for jquery
|
19
|
+
env.append_path 'spec'
|
20
|
+
run env
|
21
|
+
end
|
22
|
+
|
23
|
+
map '/' do
|
24
|
+
run lambda { |env|
|
25
|
+
if env['PATH_INFO'] == '/'
|
26
|
+
[200, {'Content-Type' => 'text/html'}, [html]]
|
27
|
+
else
|
28
|
+
Rack::Directory.new('spec').call(env)
|
29
|
+
end
|
30
|
+
}
|
31
|
+
end
|
@@ -226,6 +226,12 @@ class Element < `jQuery`
|
|
226
226
|
}
|
227
227
|
end
|
228
228
|
|
229
|
+
alias_native :blur, :blur
|
230
|
+
|
231
|
+
alias_native :closest, :closest
|
232
|
+
|
233
|
+
alias_native :data, :data
|
234
|
+
|
229
235
|
# Yields each element in #{self} collection in turn. The yielded element
|
230
236
|
# is wrapped as a `DOM` instance.
|
231
237
|
#
|
@@ -342,45 +348,38 @@ class Element < `jQuery`
|
|
342
348
|
|
343
349
|
alias_native :siblings, :siblings
|
344
350
|
|
345
|
-
def
|
351
|
+
def on(name, selector = nil, &handler)
|
346
352
|
%x{
|
347
|
-
if (
|
348
|
-
handler
|
349
|
-
#{self}.off(event_name, handler._jq);
|
353
|
+
if (selector === nil) {
|
354
|
+
#{self}.on(name, handler);
|
350
355
|
}
|
351
356
|
else {
|
352
|
-
#{self}.
|
357
|
+
#{self}.on(name, selector, handler);
|
353
358
|
}
|
359
|
+
|
360
|
+
return handler;
|
354
361
|
}
|
355
|
-
|
356
|
-
handler
|
357
362
|
end
|
358
363
|
|
359
|
-
def
|
360
|
-
return unless block_given?
|
361
|
-
|
362
|
-
# The choice of allowing a maximum of four parameters is arbitrary. arg1 is typically the
|
363
|
-
# event object and the rest are parameters passed by trigger(). For example, Rails 3 AJAX
|
364
|
-
# event handlers get passed up to three additional parameters in addition to the event object.
|
364
|
+
def off(name, selector = nil, &handler)
|
365
365
|
%x{
|
366
|
-
var handler = function(arg1, arg2, arg3, arg4) {
|
367
|
-
return #{ block.call `arg1, arg2, arg3, arg4` }
|
368
|
-
};
|
369
|
-
block._jq = handler;
|
370
|
-
|
371
366
|
if (selector === nil) {
|
372
|
-
#{self}.
|
367
|
+
return #{self}.off(name, handler);
|
373
368
|
}
|
374
369
|
else {
|
375
|
-
#{self}.
|
370
|
+
return #{self}.off(name, selector, handler);
|
376
371
|
}
|
377
372
|
}
|
378
|
-
|
379
|
-
block
|
380
373
|
end
|
381
374
|
|
375
|
+
alias_native :remove_attr, :removeAttr
|
376
|
+
|
382
377
|
alias_native :parent, :parent
|
383
378
|
|
379
|
+
alias_native :parents, :parents
|
380
|
+
|
381
|
+
alias_native :prepend, :prepend
|
382
|
+
|
384
383
|
alias_native :prev, :prev
|
385
384
|
|
386
385
|
alias_native :remove, :remove
|
@@ -10,6 +10,11 @@ class Event < `$.Event`
|
|
10
10
|
|
11
11
|
alias_native :default_prevented?, :isDefaultPrevented
|
12
12
|
|
13
|
+
def kill
|
14
|
+
stop_propagation
|
15
|
+
prevent_default
|
16
|
+
end
|
17
|
+
|
13
18
|
alias_native :prevent_default, :preventDefault
|
14
19
|
|
15
20
|
def page_x
|
@@ -30,6 +35,14 @@ class Event < `$.Event`
|
|
30
35
|
`$(#{self}.target)`
|
31
36
|
end
|
32
37
|
|
38
|
+
def touch_x
|
39
|
+
`#{self}.originalEvent.touches[0].pageX`
|
40
|
+
end
|
41
|
+
|
42
|
+
def touch_y
|
43
|
+
`#{self}.originalEvent.touches[0].pageY`
|
44
|
+
end
|
45
|
+
|
33
46
|
def type
|
34
47
|
`#{self}.type`
|
35
48
|
end
|
@@ -19,11 +19,16 @@ class HTTP
|
|
19
19
|
self.new(url, :POST, opts, block).send!
|
20
20
|
end
|
21
21
|
|
22
|
+
def self.put(url, opts={}, &block)
|
23
|
+
self.new(url, :PUT, opts, block).send!
|
24
|
+
end
|
25
|
+
|
22
26
|
def initialize(url, method, options, handler=nil)
|
23
27
|
@url = url
|
24
28
|
@method = method
|
25
29
|
@ok = true
|
26
30
|
http = self
|
31
|
+
payload = options.delete :payload
|
27
32
|
settings = options.to_native
|
28
33
|
|
29
34
|
if handler
|
@@ -31,7 +36,14 @@ class HTTP
|
|
31
36
|
end
|
32
37
|
|
33
38
|
%x{
|
34
|
-
|
39
|
+
if (typeof(payload) === 'string') {
|
40
|
+
settings.data = payload;
|
41
|
+
}
|
42
|
+
else if (payload !== nil) {
|
43
|
+
settings.data = payload.$to_json();
|
44
|
+
settings.contentType = 'application/json';
|
45
|
+
}
|
46
|
+
|
35
47
|
settings.url = url;
|
36
48
|
settings.type = method;
|
37
49
|
|
data/lib/opal/jquery/version.rb
CHANGED
data/spec/autorun.rb
ADDED
data/spec/element_spec.rb
CHANGED
@@ -65,14 +65,14 @@ describe Element do
|
|
65
65
|
foo.trigger(:click)
|
66
66
|
end
|
67
67
|
|
68
|
-
it 'has an Event instance, plus
|
68
|
+
it 'has an Event instance, plus any additional parameters passed to the handler' do
|
69
69
|
foo = Document['#foo']
|
70
70
|
foo.on :bozo do |event, foo, bar, baz, buz|
|
71
71
|
event.should be_kind_of(Event)
|
72
72
|
foo.should == 'foo'
|
73
73
|
bar.should == 'bar'
|
74
74
|
baz.should == 'baz'
|
75
|
-
buz.should
|
75
|
+
buz.should == 'buz'
|
76
76
|
end
|
77
77
|
foo.trigger(:bozo, ['foo', 'bar', 'baz', 'buz'])
|
78
78
|
end
|
data/spec/http_spec.rb
CHANGED
data/spec/local_storage_spec.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
#= require_tree .
|
1
|
+
require 'jquery'
|
2
|
+
require 'opal-spec'
|
3
|
+
require 'opal-jquery'
|
5
4
|
|
6
5
|
module OpalSpec
|
7
6
|
class ExampleGroup
|
@@ -34,4 +33,4 @@ module OpalSpec
|
|
34
33
|
end
|
35
34
|
end
|
36
35
|
|
37
|
-
|
36
|
+
Opal::Spec::Runner.autorun
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opal-jquery
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-02-
|
12
|
+
date: 2013-02-08 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Opal DOM library for jquery
|
15
15
|
email: adam.beynon@gmail.com
|
@@ -23,8 +23,9 @@ files:
|
|
23
23
|
- LICENSE
|
24
24
|
- README.md
|
25
25
|
- Rakefile
|
26
|
-
-
|
27
|
-
- lib/assets/javascripts/opal
|
26
|
+
- config.ru
|
27
|
+
- lib/assets/javascripts/opal-jquery.js.erb
|
28
|
+
- lib/assets/javascripts/opal/jquery.rb
|
28
29
|
- lib/assets/javascripts/opal/jquery/document.rb
|
29
30
|
- lib/assets/javascripts/opal/jquery/element.rb
|
30
31
|
- lib/assets/javascripts/opal/jquery/event.rb
|
@@ -35,6 +36,7 @@ files:
|
|
35
36
|
- lib/opal/jquery.rb
|
36
37
|
- lib/opal/jquery/version.rb
|
37
38
|
- opal-jquery.gemspec
|
39
|
+
- spec/autorun.rb
|
38
40
|
- spec/data/simple.txt
|
39
41
|
- spec/data/user.json
|
40
42
|
- spec/document_spec.rb
|
@@ -55,7 +57,6 @@ files:
|
|
55
57
|
- spec/element_spec.rb
|
56
58
|
- spec/event_spec.rb
|
57
59
|
- spec/http_spec.rb
|
58
|
-
- spec/index.html
|
59
60
|
- spec/local_storage_spec.rb
|
60
61
|
- spec/spec_helper.rb
|
61
62
|
- vendor/jquery.js
|
@@ -79,11 +80,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
79
80
|
version: '0'
|
80
81
|
requirements: []
|
81
82
|
rubyforge_project:
|
82
|
-
rubygems_version: 1.8.
|
83
|
+
rubygems_version: 1.8.23
|
83
84
|
signing_key:
|
84
85
|
specification_version: 3
|
85
86
|
summary: Opal access to jquery
|
86
87
|
test_files:
|
88
|
+
- spec/autorun.rb
|
87
89
|
- spec/data/simple.txt
|
88
90
|
- spec/data/user.json
|
89
91
|
- spec/document_spec.rb
|
@@ -104,6 +106,5 @@ test_files:
|
|
104
106
|
- spec/element_spec.rb
|
105
107
|
- spec/event_spec.rb
|
106
108
|
- spec/http_spec.rb
|
107
|
-
- spec/index.html
|
108
109
|
- spec/local_storage_spec.rb
|
109
110
|
- spec/spec_helper.rb
|
@@ -1 +0,0 @@
|
|
1
|
-
//= require opal/jquery
|