closure 1.1.692 → 1.2.701
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +0 -13
- data/closure-library/alltests.js +1 -1
- data/closure-library/closure/goog/debug/reflect.js +5 -1
- data/closure-library/closure/goog/deps.js +7 -0
- data/closure-library/closure/goog/i18n/messageformat.js +4 -1
- data/closure-library/closure/goog/i18n/messageformat_test.html +11 -0
- data/closure-library/closure/goog/math/vec3.js +0 -19
- data/closure-library/closure/goog/messaging/portcaller.js +150 -0
- data/closure-library/closure/goog/messaging/portcaller_test.html +66 -0
- data/closure-library/closure/goog/messaging/portnetwork.js +78 -0
- data/closure-library/closure/goog/messaging/portnetwork_test.html +64 -0
- data/closure-library/closure/goog/messaging/portoperator.js +196 -0
- data/closure-library/closure/goog/messaging/portoperator_test.html +112 -0
- data/closure-library/closure/goog/messaging/testdata/portchannel_inner.html +28 -0
- data/closure-library/closure/goog/messaging/testdata/portnetwork_inner.html +35 -0
- data/closure-library/closure/goog/messaging/testdata/portnetwork_worker1.js +33 -0
- data/closure-library/closure/goog/messaging/testdata/portnetwork_worker2.js +33 -0
- data/closure-library/closure/goog/testing/functionmock.js +1 -1
- data/closure-library/closure/goog/testing/messaging/mockmessageport.js +85 -0
- data/closure-library/closure/goog/testing/messaging/mockportnetwork.js +64 -0
- data/closure-library/closure/goog/tweak/tweak.js +1 -1
- data/closure-library/closure/goog/ui/advancedtooltip.js +1 -2
- data/closure-library/closure/goog/ui/filteredmenu.js +2 -2
- data/closure-library/closure/goog/ui/menubutton.js +6 -0
- data/closure-library/third_party/closure/goog/dojo/dom/query.js +9 -4
- data/closure.gemspec +1 -2
- data/config.ru +4 -4
- data/lib/closure.rb +3 -1
- data/lib/closure/compiler.rb +11 -24
- data/lib/closure/goog.rb +37 -16
- data/lib/closure/middleware.rb +2 -2
- data/lib/closure/script.rb +12 -4
- data/lib/closure/server.rb +3 -1
- data/lib/closure/show_exceptions.rb +63 -0
- data/lib/closure/sources.rb +22 -6
- data/lib/closure/templates.rb +2 -2
- data/lib/closure/version.rb +1 -1
- data/scripts/demos/compiler.build +1 -0
- data/scripts/demos/compiler.debug +24 -0
- data/scripts/demos/compiler.js.erb +22 -0
- data/scripts/demos/compiler.map +114 -0
- data/scripts/demos/googly.erb +19 -0
- data/scripts/demos/googly.js +24 -0
- data/scripts/demos/helloworld.erb +24 -0
- data/scripts/demos/index.erb +29 -0
- data/scripts/demos/{externs_jquery.js → jquery.js} +0 -0
- data/scripts/demos/rails_ujs.erb +38 -0
- data/scripts/{examples/rails/ujs.js → demos/rails_ujs.js} +0 -0
- data/scripts/externs/jquery-ui.externs +10 -0
- data/scripts/externs/jquery.externs +4 -0
- data/scripts/{demos/externs_jquery.externs → externs/jquery_1_4_2.externs} +1 -1
- data/scripts/index.erb +19 -0
- metadata +36 -24
- data/scripts/demos/compile.js.erb +0 -8
- data/scripts/demos/compile.out +0 -1
- data/scripts/demos/compiler.haml +0 -17
- data/scripts/demos/compiler.js +0 -12
- data/scripts/demos/externs.haml +0 -16
- data/scripts/demos/externs.js.erb +0 -8
- data/scripts/demos/externs.out +0 -1
- data/scripts/demos/externs_jquerytest.js +0 -11
- data/scripts/demos/helloworld.haml +0 -15
- data/scripts/demos/index.haml +0 -21
- data/scripts/demos/rails_ujs.haml +0 -24
- data/scripts/favicon.ico +0 -0
- data/scripts/index.haml +0 -14
data/lib/closure/script.rb
CHANGED
@@ -28,6 +28,8 @@ class Closure
|
|
28
28
|
# you can use for redirects, cookies, and other controller actions.
|
29
29
|
class Script < Rack::Request
|
30
30
|
|
31
|
+
ENV_ERROR_CONTENT_TYPE = 'closure.error.content_type'
|
32
|
+
|
31
33
|
def initialize(env, sources, filename)
|
32
34
|
super(env)
|
33
35
|
@closure_script_render_stack = []
|
@@ -38,12 +40,19 @@ class Closure
|
|
38
40
|
@response.write rendering
|
39
41
|
end
|
40
42
|
rescue ScriptCallStackTooDeepError, ScriptNotFoundError => e
|
41
|
-
|
42
|
-
|
43
|
+
if @closure_script_render_stack.size > 0
|
44
|
+
# Make errors appear from the render instead of the engine.call
|
45
|
+
e.set_backtrace e.backtrace[1..-1]
|
46
|
+
env[ENV_ERROR_CONTENT_TYPE] = @response.finish[1]["Content-Type"] rescue nil
|
47
|
+
raise e
|
48
|
+
end
|
43
49
|
@response.status = 404
|
44
50
|
@response.write "404 Not Found\n"
|
45
51
|
@response.header["X-Cascade"] = "pass"
|
46
52
|
@response.header["Content-Type"] = "text/plain"
|
53
|
+
rescue StandardError, LoadError, SyntaxError => e
|
54
|
+
env[ENV_ERROR_CONTENT_TYPE] = @response.finish[1]["Content-Type"] rescue nil
|
55
|
+
raise e
|
47
56
|
end
|
48
57
|
|
49
58
|
# After rendering, #finish will be sent to the client.
|
@@ -129,8 +138,7 @@ class Closure
|
|
129
138
|
# @param [String]
|
130
139
|
# @return [String]
|
131
140
|
def expand_src(s)
|
132
|
-
|
133
|
-
"#{s}?#{File.mtime(expand_path(s)).to_i}" rescue s
|
141
|
+
@goog.path_for(expand_path(s)) rescue s
|
134
142
|
end
|
135
143
|
|
136
144
|
|
data/lib/closure/server.rb
CHANGED
@@ -71,11 +71,13 @@ class Closure
|
|
71
71
|
# Status 404 with X-Cascade => pass.
|
72
72
|
# @return (Array)[status, headers, body]
|
73
73
|
def not_found
|
74
|
+
return @not_found if @not_found
|
74
75
|
body = "404 Not Found\n"
|
75
|
-
[404, {'Content-Type' => 'text/plain',
|
76
|
+
@not_found = [404, {'Content-Type' => 'text/plain',
|
76
77
|
'Content-Length' => body.size.to_s,
|
77
78
|
'X-Cascade' => 'pass'},
|
78
79
|
[body]]
|
80
|
+
@not_found
|
79
81
|
end
|
80
82
|
|
81
83
|
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
# Copyright 2011 The Closure Script Authors
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
|
16
|
+
class Closure
|
17
|
+
|
18
|
+
# This is Rack middleware to show Ruby exceptions. It is automatically loaded when
|
19
|
+
# using Closure::Middleware. It works very much like Rack::ShowExceptions but will
|
20
|
+
# use the Javascript console when it can detect the request was for javascript.
|
21
|
+
|
22
|
+
class ShowExceptions
|
23
|
+
|
24
|
+
# @private - internal use only
|
25
|
+
class Javascript
|
26
|
+
def initialize(app)
|
27
|
+
@app = app
|
28
|
+
end
|
29
|
+
|
30
|
+
def call(env)
|
31
|
+
@app.call(env)
|
32
|
+
rescue StandardError, LoadError, SyntaxError => e
|
33
|
+
raise e unless env[Script::ENV_ERROR_CONTENT_TYPE] == 'application/javascript'
|
34
|
+
body = 'try{console.error('
|
35
|
+
body += '"Ruby Exception: %s\n\n", '
|
36
|
+
body += "#{e.class.to_s.dump}, "
|
37
|
+
body += "#{e.message.dump}, "
|
38
|
+
body += '"\n\n", '
|
39
|
+
body += "#{e.backtrace.join("\n").dump}"
|
40
|
+
body += ')}catch(err){}'
|
41
|
+
body
|
42
|
+
[200,
|
43
|
+
{"Content-Type" => "application/javascript",
|
44
|
+
"Content-Length" => body.size.to_s},
|
45
|
+
[body]]
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
# @private - internal use only
|
50
|
+
class Html < Rack::ShowExceptions
|
51
|
+
# We may implement our own someday
|
52
|
+
end
|
53
|
+
|
54
|
+
def initialize(app)
|
55
|
+
@app = Html.new(Javascript.new(app))
|
56
|
+
end
|
57
|
+
|
58
|
+
def call(env)
|
59
|
+
@app.call(env)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
data/lib/closure/sources.rb
CHANGED
@@ -88,11 +88,11 @@ class Closure
|
|
88
88
|
end
|
89
89
|
|
90
90
|
|
91
|
-
# Determine the path_info for
|
91
|
+
# Determine the path_info and query_string for loading base_js.
|
92
92
|
# @return [String]
|
93
93
|
def base_js(env={})
|
94
94
|
if (goog = @goog) and @last_been_run
|
95
|
-
return goog[:base_js]
|
95
|
+
return "#{goog[:base_js]}?#{goog[:base_js_mtime].to_i}"
|
96
96
|
end
|
97
97
|
@semaphore.synchronize do
|
98
98
|
refresh(env)
|
@@ -128,13 +128,13 @@ class Closure
|
|
128
128
|
unless @deps[base]
|
129
129
|
response = @deps[base] ||= Rack::Response.new
|
130
130
|
response.write "// Dynamic Deps by Closure Script\n"
|
131
|
-
@files.
|
132
|
-
|
133
|
-
if path.to_s =~ /\.externs$/
|
131
|
+
@files.sort{|a,b|(a[1][:path]||'')<=>(b[1][:path]||'')}.each do |filename, dep|
|
132
|
+
if filename =~ /\.externs$/
|
134
133
|
dep[:provide].each do |dep_provide|
|
135
134
|
response.write "goog.provide(#{dep_provide.dump});\n"
|
136
135
|
end
|
137
|
-
|
136
|
+
elsif dep[:path]
|
137
|
+
path = Pathname.new(dep[:path]).relative_path_from(base)
|
138
138
|
path = "#{path}?#{dep[:mtime].to_i}"
|
139
139
|
response.write "goog.addDependency(#{path.dump}, #{dep[:provide].inspect}, #{dep[:require].inspect});\n"
|
140
140
|
end
|
@@ -198,6 +198,21 @@ class Closure
|
|
198
198
|
end
|
199
199
|
|
200
200
|
|
201
|
+
# Calculate the file server path for a filename
|
202
|
+
# @param (String) filename
|
203
|
+
# @return (String)
|
204
|
+
def path_for(filename, env={})
|
205
|
+
@semaphore.synchronize do
|
206
|
+
refresh(env)
|
207
|
+
f, dep = @files.find {|f, dep| f == filename}
|
208
|
+
unless dep and dep.has_key? :path
|
209
|
+
raise "#{filename.dump} is not available from file server"
|
210
|
+
end
|
211
|
+
"#{dep[:path]}?#{dep[:mtime].to_i}"
|
212
|
+
end
|
213
|
+
end
|
214
|
+
|
215
|
+
|
201
216
|
protected
|
202
217
|
|
203
218
|
# Namespace recursion with circular stop on the filename
|
@@ -271,6 +286,7 @@ class Closure
|
|
271
286
|
goog = {:base_filename => filename}
|
272
287
|
if dep[:path]
|
273
288
|
goog[:base_js] = dep[:path]
|
289
|
+
goog[:base_js_mtime] = mtime
|
274
290
|
goog[:deps_js] = dep[:path].gsub(/base.js$/, 'deps.js')
|
275
291
|
end
|
276
292
|
end
|
data/lib/closure/templates.rb
CHANGED
@@ -45,7 +45,7 @@ class Closure
|
|
45
45
|
ENV_ERRORS = 'closure.template.errors'
|
46
46
|
|
47
47
|
# Creates javascript for errors in a Rack environment.
|
48
|
-
# @private -
|
48
|
+
# @private - internal use only
|
49
49
|
# @param (Hash) env Rack environment.
|
50
50
|
def self.errors_js(env)
|
51
51
|
errors = [env[ENV_ERRORS]].flatten.compact
|
@@ -96,7 +96,7 @@ class Closure
|
|
96
96
|
args_index += 1
|
97
97
|
else
|
98
98
|
arg = args[args_index]
|
99
|
-
if arg =~
|
99
|
+
if arg =~ /\*/
|
100
100
|
args[args_index,1] = Dir.glob arg
|
101
101
|
else
|
102
102
|
args_index += 1
|
data/lib/closure/version.rb
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
var d=this;function f(b,e,a){b=b.split(".");a=a||d;!(b[0]in a)&&a.execScript&&a.execScript("var "+b[0]);for(var c;b.length&&(c=b.shift());)if(!b.length&&e!==undefined)a[c]=e;else a=a[c]?a[c]:a[c]={}};f("jqueryTest",function(){document.write("<p>Javascript jqueryTest() executed.</p>");$(".jqtest").hide()},void 0);f("simpleTest",function(){document.write("<p>Javascript simpleTest() executed.</p>")},void 0);f("helloWorld",function(){document.write("<p>Hello from the Closure Script demo code.</p>")},void 0);
|
@@ -0,0 +1,24 @@
|
|
1
|
+
var $goog$global$$ = this;
|
2
|
+
function $goog$exportPath_$$($name$$43_parts$$, $opt_object$$, $cur_opt_objectToExportTo$$) {
|
3
|
+
$name$$43_parts$$ = $name$$43_parts$$.split(".");
|
4
|
+
$cur_opt_objectToExportTo$$ = $cur_opt_objectToExportTo$$ || $goog$global$$;
|
5
|
+
!($name$$43_parts$$[0] in $cur_opt_objectToExportTo$$) && $cur_opt_objectToExportTo$$.execScript && $cur_opt_objectToExportTo$$.execScript("var " + $name$$43_parts$$[0]);
|
6
|
+
for(var $part$$;$name$$43_parts$$.length && ($part$$ = $name$$43_parts$$.shift());) {
|
7
|
+
if(!$name$$43_parts$$.length && $opt_object$$ !== undefined) {
|
8
|
+
$cur_opt_objectToExportTo$$[$part$$] = $opt_object$$
|
9
|
+
}else {
|
10
|
+
$cur_opt_objectToExportTo$$ = $cur_opt_objectToExportTo$$[$part$$] ? $cur_opt_objectToExportTo$$[$part$$] : $cur_opt_objectToExportTo$$[$part$$] = {}
|
11
|
+
}
|
12
|
+
}
|
13
|
+
}
|
14
|
+
;$goog$exportPath_$$("jqueryTest", function() {
|
15
|
+
document.write("<p>Javascript jqueryTest() executed.</p>");
|
16
|
+
$(".jqtest").hide()
|
17
|
+
}, void 0);
|
18
|
+
$goog$exportPath_$$("simpleTest", function() {
|
19
|
+
document.write("<p>Javascript simpleTest() executed.</p>")
|
20
|
+
}, void 0);
|
21
|
+
$goog$exportPath_$$("helloWorld", function() {
|
22
|
+
document.write("<p>Hello from the Closure Script demo code.</p>")
|
23
|
+
}, void 0);
|
24
|
+
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<% args = %w{
|
2
|
+
--summary_detail_level 3
|
3
|
+
--define goog.DEBUG=false
|
4
|
+
--warning_level VERBOSE
|
5
|
+
--ns googly
|
6
|
+
}
|
7
|
+
|
8
|
+
args << case query_string
|
9
|
+
when 'build': %w{
|
10
|
+
--compilation_level ADVANCED_OPTIMIZATIONS
|
11
|
+
--js_output_file compiler.build
|
12
|
+
--create_source_map compiler.map
|
13
|
+
}
|
14
|
+
when 'debug': %w{
|
15
|
+
--debug true
|
16
|
+
--formatting PRETTY_PRINT
|
17
|
+
--compilation_level ADVANCED_OPTIMIZATIONS
|
18
|
+
--js_output_file compiler.debug
|
19
|
+
}
|
20
|
+
end
|
21
|
+
|
22
|
+
@response = goog.compile(args.flatten).to_response_with_console %>
|
@@ -0,0 +1,114 @@
|
|
1
|
+
/** Begin line maps. **/{ "file" : "/Users/dturnbull/rails/googlyscript/scripts/demos/compiler.map", "count": 1 }
|
2
|
+
[0,0,0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,3,4,4,5,6,5,7,5,8,5,9,11,10,14,13,13,13,13,13,13,12,15,15,15,12,17,17,16,18,16,16,19,21,21,21,23,22,24,22,21,21,25,25,21,20,20,27,26,26,26,26,26,26,26,26,26,26,26,20,20,30,29,29,29,29,29,29,29,29,29,29,29,28,31,31,31,31,31,31,28,33,32,34,32,28,35,35,35,35,35,36,36,36,36,37,35,39,38,38,38,38,38,38,38,35,35,35,40,35,43,42,42,42,42,42,42,41,41,35,35,35,44,44,44,45,47,46,46,46,46,46,46,46,44,44,48,44,44,44,49,49,49,49,49,49,49,49,49,44,52,51,53,51,50,54,44,44,44,44,44,56,56,55,59,58,60,58,57,62,61,63,61,57,65,64,66,64,57,67,67,9,-1,69,68,70,70,70,70,70,70,70,70,70,70,70,70,68,71,71,71,71,71,71,71,71,72,72,73,76,76,76,76,76,76,76,76,75,75,75,75,75,75,74,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,74,81,81,80,82,82,82,82,82,82,82,82,82,80,79,79,79,79,79,78,78,73,68,83,83,83,83,84,84,68,86,86,85,87,87,87,87,87,87,87,87,87,87,87,87,85,88,88,88,88,88,88,88,88,89,89,90,93,93,93,93,93,93,93,93,92,92,92,92,92,92,91,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,91,90,85,95,95,95,95,96,96,85,98,98,97,99,99,99,99,99,99,99,99,99,99,99,99,97,100,100,100,100,100,100,100,100,101,101,102,105,105,105,105,105,105,105,105,104,104,104,104,104,104,103,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,103,102,97,107,107,107,107,108,108,97]
|
3
|
+
/** Begin file information. **/
|
4
|
+
[]
|
5
|
+
/** Begin mapping definitions. **/
|
6
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",45,0]
|
7
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",45,12,"goog.global"]
|
8
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",45,14]
|
9
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",158,27,"goog.exportPath_"]
|
10
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",158,27,""]
|
11
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",158,27]
|
12
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",158,28,"name"]
|
13
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",158,34,"opt_object"]
|
14
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",158,46,"opt_objectToExportTo"]
|
15
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",158,68]
|
16
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",159,6,"parts"]
|
17
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",159,6,"parts"]
|
18
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",159,24]
|
19
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",159,14,"split"]
|
20
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",159,14,"name"]
|
21
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",159,25]
|
22
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",160,6,"cur"]
|
23
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",160,6,"cur"]
|
24
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",160,12,"opt_objectToExportTo"]
|
25
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",160,36,"goog.global"]
|
26
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",165,2]
|
27
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",165,6]
|
28
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",165,8]
|
29
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",165,8,"parts"]
|
30
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",165,14]
|
31
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",165,20,"cur"]
|
32
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",165,28,"execScript"]
|
33
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",165,28,"cur"]
|
34
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",166,18]
|
35
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",166,4,"execScript"]
|
36
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",166,4,"cur"]
|
37
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",166,19]
|
38
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",166,28]
|
39
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",166,28,"parts"]
|
40
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",166,34]
|
41
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",175,2]
|
42
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",175,7]
|
43
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",175,11,"part"]
|
44
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",175,17,"length"]
|
45
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",175,17,"parts"]
|
46
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",175,34,"part"]
|
47
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",175,52]
|
48
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",175,41,"shift"]
|
49
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",175,41,"parts"]
|
50
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",176,4]
|
51
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",176,8]
|
52
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",176,9,"length"]
|
53
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",176,9,"parts"]
|
54
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",176,36,"opt_object"]
|
55
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",730,17,"undefined"]
|
56
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",178,6]
|
57
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",178,6]
|
58
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",178,6,"cur"]
|
59
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",178,10,"part"]
|
60
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",178,18,"opt_object"]
|
61
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",180,10]
|
62
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",180,6,"cur"]
|
63
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",179,11]
|
64
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",179,15]
|
65
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",179,15,"cur"]
|
66
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",179,19,"part"]
|
67
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",180,12]
|
68
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",180,12,"cur"]
|
69
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",180,16,"part"]
|
70
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",182,12]
|
71
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",182,12,"cur"]
|
72
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",182,16,"part"]
|
73
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",182,24]
|
74
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",1342,18]
|
75
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",1342,2,"goog.exportPath_"]
|
76
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",8,18,"publicPath"]
|
77
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",4,28,"googly.jqueryTest"]
|
78
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",4,28,"googly.jqueryTest"]
|
79
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",4,31,"googly.jqueryTest"]
|
80
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",5,16,"googly.jqueryTest"]
|
81
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",5,2,"write"]
|
82
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",5,2,"document"]
|
83
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",5,17,"googly.jqueryTest"]
|
84
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",6,19,"googly.jqueryTest"]
|
85
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",6,2,"hide"]
|
86
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",6,3,"googly.jqueryTest"]
|
87
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",6,2,"$"]
|
88
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",6,4,"googly.jqueryTest"]
|
89
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",1341,49,"opt_objectToExportTo"]
|
90
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",1341,49,"opt_objectToExportTo"]
|
91
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",1342,18]
|
92
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",1342,2,"goog.exportPath_"]
|
93
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",13,18,"publicPath"]
|
94
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",10,28,"googly.simpleTest"]
|
95
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",10,28,"googly.simpleTest"]
|
96
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",10,31,"googly.simpleTest"]
|
97
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",11,16,"googly.simpleTest"]
|
98
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",11,2,"write"]
|
99
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",11,2,"document"]
|
100
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",11,17,"googly.simpleTest"]
|
101
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",1341,49,"opt_objectToExportTo"]
|
102
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",1341,49,"opt_objectToExportTo"]
|
103
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",1342,18]
|
104
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",1342,2,"goog.exportPath_"]
|
105
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",18,18,"publicPath"]
|
106
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",15,28,"googly.helloWorld"]
|
107
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",15,28,"googly.helloWorld"]
|
108
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",15,31,"googly.helloWorld"]
|
109
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",16,16,"googly.helloWorld"]
|
110
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",16,2,"write"]
|
111
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",16,2,"document"]
|
112
|
+
["/Users/dturnbull/rails/googlyscript/scripts/demos/googly.js",16,17,"googly.helloWorld"]
|
113
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",1341,49,"opt_objectToExportTo"]
|
114
|
+
["/Users/dturnbull/rails/googlyscript/closure-library/closure/goog/base.js",1341,49,"opt_objectToExportTo"]
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<script src='<%= expand_src('jquery.js') %>'></script>
|
5
|
+
<script src='compiler.js?<%= query_string %>'></script>
|
6
|
+
</head>
|
7
|
+
<body>
|
8
|
+
<p>Mode: <%= h query_string.empty? ? 'raw' : query_string %></p>
|
9
|
+
<p class='jqtest'>
|
10
|
+
Should not see this. It will be hidden by jQuery.
|
11
|
+
</p>
|
12
|
+
<script type='text/javascript'>
|
13
|
+
//<![CDATA[
|
14
|
+
simpleTest();
|
15
|
+
jqueryTest();
|
16
|
+
//]]>
|
17
|
+
</script>
|
18
|
+
</body>
|
19
|
+
</html>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
goog.provide('googly');
|
2
|
+
goog.require('externs.jQuery');
|
3
|
+
|
4
|
+
googly.jqueryTest = function() {
|
5
|
+
document.write('<p>Javascript jqueryTest() executed.</p>')
|
6
|
+
$('.jqtest').hide()
|
7
|
+
}
|
8
|
+
goog.exportSymbol('jqueryTest', googly.jqueryTest)
|
9
|
+
|
10
|
+
googly.simpleTest = function() {
|
11
|
+
document.write('<p>Javascript simpleTest() executed.</p>')
|
12
|
+
}
|
13
|
+
goog.exportSymbol('simpleTest', googly.simpleTest)
|
14
|
+
|
15
|
+
googly.helloWorld = function() {
|
16
|
+
document.write('<p>Hello from the Closure Script demo code.</p>')
|
17
|
+
}
|
18
|
+
goog.exportSymbol('helloWorld', googly.helloWorld)
|
19
|
+
|
20
|
+
googly.warningNoOp = function(){
|
21
|
+
function warningNoOp(){
|
22
|
+
this.demonstrates = 'warnings in the Javascript console';
|
23
|
+
}
|
24
|
+
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<script src="<%= goog.base_js %>"></script>
|
5
|
+
<script type='text/javascript'>
|
6
|
+
//<![CDATA[
|
7
|
+
goog.require('googly.demos.soy.helloworld');
|
8
|
+
//]]>
|
9
|
+
</script>
|
10
|
+
</head>
|
11
|
+
<body>
|
12
|
+
<script type='text/javascript'>
|
13
|
+
//<![CDATA[
|
14
|
+
// Exercise the .helloWorld template
|
15
|
+
document.write(googly.demos.soy.helloworld.helloWorld());
|
16
|
+
// Exercise the .helloName template
|
17
|
+
document.write('<hr>' + googly.demos.soy.helloworld.helloName({name: 'Ana'}));
|
18
|
+
// Exercise the .helloNames template
|
19
|
+
document.write('<hr>' + googly.demos.soy.helloworld.helloNames(
|
20
|
+
{name: 'Ana', additionalNames: ['Bob', 'Cid', 'Dee']}));
|
21
|
+
//]]>
|
22
|
+
</script>
|
23
|
+
</body>
|
24
|
+
</html>
|
@@ -0,0 +1,29 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Closure Script Demos</title>
|
5
|
+
</head>
|
6
|
+
<body>
|
7
|
+
<h1>Closure Script Demos</h1>
|
8
|
+
<ul>
|
9
|
+
<li>
|
10
|
+
<a href='googly'>Raw Test</a>
|
11
|
+
</li>
|
12
|
+
<li>
|
13
|
+
<a href='googly?build'>Build Test</a>
|
14
|
+
</li>
|
15
|
+
<li>
|
16
|
+
<a href='googly?debug'>Debug Test</a>
|
17
|
+
</li>
|
18
|
+
<li>
|
19
|
+
<a href='deps.js'>Alternate deps</a>
|
20
|
+
</li>
|
21
|
+
<li>
|
22
|
+
<a href='helloworld'>Soy helloworld</a>
|
23
|
+
</li>
|
24
|
+
<li>
|
25
|
+
<a href='rails_ujs'>Rails unobtrusive javascript</a>
|
26
|
+
</li>
|
27
|
+
</ul>
|
28
|
+
</body>
|
29
|
+
</html>
|