holderdeord/hdo-site

View on GitHub
app/views/admin/dashboard/index.html.erb

Summary

Maintainability
Test Coverage
<% page_title "Dashboard - Admin - #{t('app.title')}" %>

<div class="container-fluid">
  <h2>Hei <%= current_user.first_name %>!</h2>

  <div class="row-fluid">
    <div class="span4">
      <p>Du er redaktør for <strong><%= current_user.percentage_of_issues %>%</strong> av HDOs saker!</p>
    </div>

    <div class="span4">
      <p><strong><%= @issue_proposition_percentage %>%</strong> av alle forslag er koblet til en publisert sak.</p>
    </div>

    <div class="span4">
      <p><strong><%= @issue_promise_percentage %>%</strong> av alle løfter er koblet til en publisert sak.</p>
    </div>
  </div>

  <div class="row-fluid hidden-phone">
    <div class="span4">
      <canvas class="percentage-chart" data-json='<%= percentage_chart_json_for(@issue_user_percentage).html_safe %>'></canvas>
    </div>

    <div class="span4">
      <canvas class="percentage-chart" data-json='<%= percentage_chart_json_for(@issue_proposition_percentage).html_safe %>'></canvas>
    </div>

    <div class="span4">
      <canvas class="percentage-chart" data-json='<%= percentage_chart_json_for(@issue_promise_percentage).html_safe %>'></canvas>
    </div>
  </div>

  <div class="row-fluid">
    <h3>Aktivitet på Stortinget, siste 6 måneder</h3>
    <canvas class="line-chart" data-json='<%= @proposition_histogram.to_json.html_safe %>'></canvas>
  </div>

  <hr class="soften">

  <div class="row-fluid">
    <div class="span6">
      <h4>Dine saker</h4>
      <ul>
        <% current_user.issues.each do |issue| %>
          <li>
            <% if issue.published? %>
              <strong><%= link_to issue.title, issue %></strong>
            <% else %>
              <%= link_to issue.title, issue %>
            <% end %>
          </li>
        <% end %>
      </ul>
    </div>
  </div>

  <hr>
</div>

<%= content_for :document_ready do %>
  <script>
    $(function () {
        function drawCharts() {
            $(".percentage-chart").each(function () {
                var el      = $(this);
                var dataset = el.data('json');
                var ctx     = el.get(0).getContext('2d');

                el.attr('width', el.parent().width()).attr('height', 120);

                new Chart(ctx).Doughnut(dataset);
            })

                $(".line-chart").each(function () {
                    var el      = $(this);
                    var dataset = el.data('json');
                    var ctx     = el.get(0).getContext('2d');

                    el.attr('width', el.parent().width()).attr('height', 200);

                    var params = {
                        labels: dataset.labels,
                        datasets: [
                            {
                                scaleShowGridLines: false,
                                fillColor : "rgba(151,187,205,0.5)",
                                strokeColor : "rgba(151,187,205,1)",
                                pointColor : "rgba(151,187,205,1)",
                                pointStrokeColor : "#fff",
                                data: dataset.data
                            }
                        ]
                    }

                    new Chart(ctx).Line(params)
                })
                    }

        $(window).resize(drawCharts);
        drawCharts();
    })
  </script>
<% end %>