<% if params[:name] %>
<%= form_tag kanaui_engine.dashboard_index_path, :class => 'form-horizontal', :method => :get do %>
From:
To:
<% ((@report['variables'] || {})['fields'] || []).each do |definition| %>
<%= definition['name'].titleize %>: <% # TODO Not fully implemented server side %> <% if definition['dataType'] == 'date' %> <% # TODO datepicker breaks :hover %> <% else %> <% end %>
<% end %>
<%= submit_tag 'Refresh', :class => 'btn btn-default' %>
<% end %>
<% end %>

<%= link_to 'Available Reports', kanaui_engine.url_for(:controller => :reports) %>

<%= link_to 'Settings', kanaui_engine.url_for(:controller => :settings) %>
<% if params[:name] %>

<%= @raw_name.titleize %>


<% if @report['reportType'] == 'TABLE' %> Copy URL <% end %> <%= link_to 'Download raw data', kanaui_engine.reports_path(params.to_h.merge(:format => 'csv')), class: 'btn btn-default' %>
    <% if @report['reportType'] == 'TIMELINE' %> <% at_least_two_months = params[:start_date].blank? || params[:end_date].blank? || (params[:end_date].to_date.beginning_of_month - 1.month > params[:start_date].to_date) %> <% at_least_two_weeks = params[:start_date].blank? || params[:end_date].blank? || (params[:end_date].to_date.beginning_of_week - 1.week > params[:start_date].to_date) %> <% if params[:smooth] != 'AVERAGE_WEEKLY' && at_least_two_weeks %>
  • <%= link_to 'Weekly average', kanaui_engine.dashboard_index_path(params.to_h.merge(:smooth => 'AVERAGE_WEEKLY')) %>
  • <% end %> <% if params[:smooth] != 'AVERAGE_MONTHLY' && at_least_two_months %>
  • <%= link_to 'Monthly average', kanaui_engine.dashboard_index_path(params.to_h.merge(:smooth => 'AVERAGE_MONTHLY')) %>
  • <% end %> <% if params[:smooth] != 'SUM_WEEKLY' && at_least_two_weeks %>
  • <%= link_to 'Weekly sum', kanaui_engine.dashboard_index_path(params.to_h.merge(:smooth => 'SUM_WEEKLY')) %>
  • <% end %> <% if params[:smooth] != 'SUM_MONTHLY' && at_least_two_months %>
  • <%= link_to 'Monthly sum', kanaui_engine.dashboard_index_path(params.to_h.merge(:smooth => 'SUM_MONTHLY')) %>
  • <% end %> <% end %> <% filter_fields = ((@report['schema'] || {})['fields'] || []).select { |field| !field['distinctValues'].blank? && field['dataType'] =~ /char/ } # To ignore tenant_record_id %> <% unless filter_fields.empty? %>
  • Slicing & Dicing: <%= form_tag kanaui_engine.dashboard_index_path(params.to_h), :method => :get, :class => 'form-horizontal' do %>
    Filters <% filter_fields.each do |field| %>
    <%= label_tag "filter_#{field['name']}", field['name'], :class => 'col-sm-2 control-label' %>
    <%= select_tag "filter_#{field['name']}", options_for_select(field['distinctValues']), :multiple => true, :class => 'form-control' %>
    <% end %>
    Dimensions to plot <% filter_fields.each do |field| %>
    <%= label_tag "group_#{field['name']}", field['name'], :class => 'col-sm-2 control-label' %>
    <%= select_tag "group_#{field['name']}", options_for_select(field['distinctValues']), :multiple => true, :class => 'form-control' %>
    <% end %>
    <%= submit_tag 'Refresh', :class => 'btn btn-default' %>
    <% end %>
  • Current Analytics query: <%= link_to ''.html_safe, 'http://docs.killbill.io/latest/userguide_analytics.html#_dashboard_api', :target => '_blank' %>
    <%= params[:name] -%>
  • <% end %>
  • <%= link_to 'SQL query', kanaui_engine.reports_path(params.to_h.merge(:sql_only => true)) %>
<% end %>
<%= javascript_tag do %> $(document).ready(function() { $('.calendar-icon').click(function() { $('.form-container').toggle(); }); }); <% end %>