class PostRunner::ActivityView
Public Class Methods
new(activity, unit_system)
click to toggle source
Calls superclass method
# File lib/postrunner/ActivityView.rb, line 28 def initialize(activity, unit_system) @activity = activity ffs = @activity.store['file_store'] @unit_system = unit_system views = ffs.views views.current_page = nil # Sort activities in reverse order so the newest one is considered the # last report by the pagin buttons. activities = ffs.activities.sort do |a1, a2| a1.timestamp <=> a2.timestamp end pages = PagingButtons.new( activities.map { |a| a.html_file_name(false) }, false) pages.current_page = @activity.html_file_name(false) super("PostRunner Activity: #{@activity.name}", views, pages) generate_html(@doc) write(@activity.html_file_name) end
Private Instance Methods
generate_html(doc)
click to toggle source
# File lib/postrunner/ActivityView.rb, line 53 def generate_html(doc) doc.unique(:activityview_style) { doc.head { [ 'jquery/jquery-3.5.1.min.js', 'flot/jquery.flot.js', #'flot/jquery.flot.time.js' ].each do |js| 'flot/jquery.flot.time.js' ].each do |js| doc.script({ 'language' => 'javascript', 'type' => 'text/javascript', 'src' => js }) end doc.style(style) } } #doc.meta({ 'name' => 'viewport', # 'content' => 'width=device-width, ' + # 'initial-scale=1.0, maximum-scale=1.0, ' + # 'user-scalable=0' }) body { doc.body { # The main area with the 2 column layout. doc.div({ :class => 'main' }) { doc.div({ :class => 'left_col' }) { ActivitySummary.new(@activity, @unit_system, { :name => @activity.name, :type => @activity.activity_type, :sub_type => @activity.activity_sub_type }).to_html(doc) TrackView.new(@activity).to_html(doc) UserProfileView.new(@activity.fit_activity, @unit_system). to_html(doc) DeviceList.new(@activity.fit_activity).to_html(doc) } doc.div({ :class => 'right_col' }) { ChartView.new(@activity, @unit_system).to_html(doc) EventList.new(@activity, @unit_system).to_html(doc) } } doc.div({ :class => 'two_col' }) { DataSources.new(@activity, @unit_system).to_html(doc) } } } end
style()
click to toggle source
# File lib/postrunner/ActivityView.rb, line 97 def style <<EOT body { font-family: verdana,arial,sans-serif; margin: 0px; } .main { width: 1210px; margin: 0 auto; } .left_col { float: left; width: 600px; } .right_col { float: right; width: 600px; } .two_col { margin: 0 auto; clear: both; width: 1210px; } EOT end