スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

バージョンガントチャートPlugin作成(作業記録) その4

バージョンガントチャートPluginは、ロードマップ画面のグラフがガントチャート画面に階段状に表示されるイメージなので、今回はロードマップに表示されるバーの書き方を調べてみました。

ロードマップ描画に関連するファイル


app/views/versions/show.rhtml
app/views/versions/_overview.rhtml
app/helpers/application_helper.rb [module ApplicationHelper]
public/stylesheets/application.css

show.rhtmlの中で_overview.rhtmlを使ってロードマップを表示している(たぶん)。
overview.rhtmlからApplicationHelperで定義しているprogress_barを呼び出している。
application.cssの中でclass(closed,done,todo)を定義している。

ロードマップ描画方法


progress_barの引数と戻り値は、こんな感じ。
 引数:( [closeの割合,close+doneの割合], {:width=>幅,:legend=>説明文} )
 戻り値:<table/><p>説明文</p>

戻り値のテーブルタグでバーを描いている。
<table class="progress" width="幅(初期値100px)">
<tr>
<td width="closeの割合" class="closed"></td>
<td width="doneの割合" class="done"></td>
<td width="100-close-done" class="todo"></td>
</tr>
</table>
<p>説明文</p>

※たprogress_barの中で使っているcontent_tagというヘルパー関数についてはココの説明がわかりやすかった。

実際に描いてみた


前回までで終了割合と作業済み割合は取得済みなので、今回調べた結果を使ってバーを描いてみました。

プログレスバーの表示


vendor/plugins/redmine_version_gantt_chart/app/views/version_gantt_chart/index.html.erb
<ul class="version_gantt_chart">
<% @user_tasks_list.each do |user_task| -%>
<li>
<%= "#{user_task.user.name}" %>
<ul>
<% user_task.version_list.each do |version| -%>
<li>
<% close_percent = user_task.complete_percent(version) -%>
<% done_percent = user_task.done_percent(version) -%>
<% version_legend = "#{version.name} - #{version.project.name}" -%>
<%= progress_bar([close_percent,close_percent+done_percent],{:legend=>version_legend}) -%>
<ul>
<li><%= "最遅開始日 #{user_task.latest_start_day(version)}" -%></li>
<li><%= "期日 #{version.due_date}" -%></li>
<li><%= "完了予想日 #{user_task.able_day(version)}" -%></li>
<li><%= "終了割合 #{user_task.complete_percent(version)} %" -%></li>
<li><%= "作業済み割合 #{user_task.done_percent(version)} %" -%></li>
</ul>
</li>
<% end -%>
</ul>
</li>
<% end -%>
</ul>


次回は、ガントチャートの年月日ヘッダを表示して、その中にバージョンごとのバーを表示する予定。
スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

コメント

Secret

プロフィール

tenma

Author:tenma


AI好きのプログラマ
基本伊豆ダイバー(100本達成)
ゲーム実況好きのニコ厨(プレミアム会員)


follow _tenma at http://twitter.com

最新記事
最新コメント
最新トラックバック
カテゴリ
検索フォーム
リンク
FC2カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。