diff options
author | Jochen Topf <jochen@topf.org> | 2013-01-19 12:05:43 +0100 |
---|---|---|
committer | Jochen Topf <jochen@topf.org> | 2013-01-19 12:05:43 +0100 |
commit | c6ba4011089fc1dd964ef42edd90deff59104866 (patch) | |
tree | 3ac32daab7ef27d7fba786be9f7a6cea0711aa04 /web/lib | |
parent | 253b55a53212ea59cd188418ef138dcbbbaba718 (diff) | |
download | taginfo-c6ba4011089fc1dd964ef42edd90deff59104866.tar taginfo-c6ba4011089fc1dd964ef42edd90deff59104866.tar.gz |
Include fewer js files
Diffstat (limited to 'web/lib')
-rw-r--r-- | web/lib/javascript.rb | 24 | ||||
-rw-r--r-- | web/lib/ui/keys_tags.rb | 3 | ||||
-rw-r--r-- | web/lib/ui/relation.rb | 2 | ||||
-rw-r--r-- | web/lib/ui/reports.rb | 1 | ||||
-rw-r--r-- | web/lib/ui/search.rb | 1 |
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 |