summaryrefslogtreecommitdiff
path: root/web/lib
diff options
context:
space:
mode:
authorJochen Topf <jochen@topf.org>2013-01-19 12:05:43 +0100
committerJochen Topf <jochen@topf.org>2013-01-19 12:05:43 +0100
commitc6ba4011089fc1dd964ef42edd90deff59104866 (patch)
tree3ac32daab7ef27d7fba786be9f7a6cea0711aa04 /web/lib
parent253b55a53212ea59cd188418ef138dcbbbaba718 (diff)
downloadtaginfo-c6ba4011089fc1dd964ef42edd90deff59104866.tar
taginfo-c6ba4011089fc1dd964ef42edd90deff59104866.tar.gz
Include fewer js files
Diffstat (limited to 'web/lib')
-rw-r--r--web/lib/javascript.rb24
-rw-r--r--web/lib/ui/keys_tags.rb3
-rw-r--r--web/lib/ui/relation.rb2
-rw-r--r--web/lib/ui/reports.rb1
-rw-r--r--web/lib/ui/search.rb1
5 files changed, 28 insertions, 3 deletions
diff --git a/web/lib/javascript.rb b/web/lib/javascript.rb
index 27b9790..18e6b50 100644
--- a/web/lib/javascript.rb
+++ b/web/lib/javascript.rb
@@ -6,11 +6,33 @@ def javascript(url=nil, &block)
end
def javascript_tags
- @javascript.map{ |js| js.to_html }.join("\n")
+ @javascript.flatten.uniq.map{ |js| js.to_html }.join("\n")
+end
+
+def javascript_for(*ids)
+ (@javascript ||= [] ) << Javascript.init(ids)
end
class Javascript
+ @@js_files = {
+ :jquery => [ 'jquery-1.9.0.min', 'jquery-ui-1.9.2.custom.min', 'customSelect.jquery.min', 'jquery.tipsy-minified' ],
+ :taginfo => [ 'taginfo' ],
+ :flexigrid => [ 'jquery-migrate-1.0.0.min', 'flexigrid-minified' ],
+ :d3 => [ 'd3/d3.v3.min' ],
+ :d3_cloud => [ 'd3/d3.layout.cloud' ],
+ }
+
+ def self.init(ids)
+ js = []
+ ids.each do |id|
+ @@js_files[id].each do |file|
+ js << self.new(file)
+ end
+ end
+ js
+ end
+
def initialize(file)
if file.nil?
c = ''
diff --git a/web/lib/ui/keys_tags.rb b/web/lib/ui/keys_tags.rb
index d944e91..9e2962f 100644
--- a/web/lib/ui/keys_tags.rb
+++ b/web/lib/ui/keys_tags.rb
@@ -62,7 +62,7 @@ class Taginfo < Sinatra::Base
@img_width = TaginfoConfig.get('geodistribution.width') * TaginfoConfig.get('geodistribution.scale_image')
@img_height = TaginfoConfig.get('geodistribution.height') * TaginfoConfig.get('geodistribution.scale_image')
- javascript 'd3/d3.v3.min'
+ javascript_for(:flexigrid, :d3)
javascript "#{ r18n.locale.code }/key"
erb :key
end
@@ -117,6 +117,7 @@ class Taginfo < Sinatra::Base
@image_url = build_image_url(row)
end
+ javascript_for(:flexigrid)
javascript "#{ r18n.locale.code }/tag"
erb :tag
end
diff --git a/web/lib/ui/relation.rb b/web/lib/ui/relation.rb
index 27a0ea1..d2df9cc 100644
--- a/web/lib/ui/relation.rb
+++ b/web/lib/ui/relation.rb
@@ -50,7 +50,7 @@ class Taginfo < Sinatra::Base
end
end
- javascript 'd3/d3.v3.min'
+ javascript_for(:flexigrid, :d3)
javascript "#{ r18n.locale.code }/relation"
erb :relation
end
diff --git a/web/lib/ui/reports.rb b/web/lib/ui/reports.rb
index 5096a4f..e3698e1 100644
--- a/web/lib/ui/reports.rb
+++ b/web/lib/ui/reports.rb
@@ -13,6 +13,7 @@ class Taginfo < Sinatra::Base
if File.exists?("viewsjs/reports/#{ report.name }.js.erb")
javascript "#{ r18n.locale.code }/reports/#{ report.name }"
end
+ javascript_for(:flexigrid)
erb ('reports/' + report.name).to_sym
end
end
diff --git a/web/lib/ui/search.rb b/web/lib/ui/search.rb
index 1aac663..a5c5b7e 100644
--- a/web/lib/ui/search.rb
+++ b/web/lib/ui/search.rb
@@ -7,6 +7,7 @@ class Taginfo < Sinatra::Base
javascript "#{ r18n.locale.code }/search"
@query = params[:q]
+ javascript_for(:flexigrid)
if @query =~ /(.*)=(.*)/
erb :search_tags
else