Dashing仪表板:发出获取进度条小部件以使用我创建的作业文件

时间:2016-02-19 20:58:53

标签: ruby coffeescript rubygems dashboard dashing

我正在尝试使用其他人创建并在互联网上发布的进度条小部件(https://gist.github.com/mdirienzo/6716905) 我创建了一个作业文件(Ruby),它从Excel文件中提取数据并将其发送到小部件。它将所有数据加载到我的变量中(我可以在history.yml文件中看到)但是小部件显示为一个仅带标题的空白矩形(根本没有条形)。

这是我的工作文件progressbar.rb:

require 'date'
require 'roo'
require 'active_support'
require 'active_support/core_ext'


PROGRESS_FILENAME = 'progressbars.xlsx'

SCHEDULER.every '3s', :first_in => '1s' do
  progress = []
  progress_report = Roo::Excelx.new(PROGRESS_FILENAME)
  (2..progress_report.last_row).each do |row|
    name = progress_report.cell(row, 1)
    name.sub!(/(\S+),\s*(\S+).*/, '\2 \1')

    prog = progress_report.cell(row, 4)

    progress.push({name: name, progress: prog})
  end

  # get next 10 timeline
  progress = progress.sort{|a, b| a[:progress] <=> b[:progress]}[0..9]

  # assemble data to send to client
  progress_data = []
  progress.each do |progress|
    progress_data.push({
      'label' => progress[:name], 
      'value' => progress[:progress].to_i
    })
  end

  send_event('progress', items: progress_data)
end

1 个答案:

答案 0 :(得分:0)

数据正在正确发送,但小部件需要不同的名称。在您关联的网站上,发送活动应与send_event( 'progress_bars', {title: "", progress_items: []}类似,因此请将您的发送活动更改为send_event('progress', progress_items: progress_data)