fixes to main app to support reports

This commit is contained in:
Oliver Gorwits
2013-03-10 23:40:53 +00:00
parent 55a0f3d8dc
commit 13af853582
6 changed files with 25 additions and 2 deletions

View File

@@ -5,6 +5,9 @@ use Dancer ':syntax';
get '/report/*' => sub {
my ($tag) = splat;
# trick the ajax into working as if this were a tabbed page
params->{tab} = $tag;
var(nav => 'reports');
template 'report', {
report => setting('reports')->{ $tag },

View File

@@ -44,7 +44,8 @@ function do_search (event, tab) {
// update browser search history with the new query.
// however if it's the same tab, this is a *replace* of the query url.
if (window.History && window.History.enabled) {
// and just skip this bit if it's the reports display.
if (path != 'report' && window.History && window.History.enabled) {
is_from_history_plugin = 1;
window.History.replaceState(
{name: tab, fields: $(form).serializeArray()},

View File

@@ -7,6 +7,11 @@
$('[% "#${tab.tag}_form" %]').submit(function(event){ do_search(event, '[% tab.tag %]'); });
[% END %]
// and for the reports page
[% IF report %]
$('[% "#${report.tag}_form" %]').submit(function(event){ do_search(event, '[% report.tag %]'); });
[% END %]
// on page load, load the content for the active tab
[% IF params.tab %]
$('#[% params.tab %]_form').trigger("submit");

View File

@@ -0,0 +1,11 @@
// used by the tabbing interface to make sure the correct
// ajax content is loaded
var path = 'report';
// this is called by do_search to support local code
// here, when tab changes need to strike/unstrike the navbar search
function inner_view_processing(tab) { }
// on load, check initial Device Search Options form state,
// and on each change to the form fields
$(document).ready(function() { });

View File

@@ -12,7 +12,6 @@
<div id="[% report.tag %]_search" class="tab-pane active">
<form id="[% report.tag %]_form" class="nd_sidesearchform form-stacked"
method="get" action="[% uri_for('/report') %]">
<input name="tab" value="[% report.tag %]" type="hidden"/>
[% TRY %]
[% INCLUDE "sidebar/report/${report.tag}.tt" %]
<script type="text/javascript">has_sidebar["[% report.tag %]"] = 1;</script>
@@ -33,3 +32,7 @@
<div class="tab-pane active" id="[% report.tag %]_pane"></div>
</div>
</div>
<script type="text/javascript">
[%+ INCLUDE 'js/report.js' -%]
</script>