closure 1.1.692 → 1.2.701
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.
- 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>
|