// dashboard date range picker wip

This commit is contained in:
Kevin Granger
2013-10-28 16:18:43 +01:00
parent 7126397bfe
commit d523d739e7
6 changed files with 180 additions and 132 deletions
File diff suppressed because one or more lines are too long
@@ -16,7 +16,7 @@
.row-padding-top
padding-top: 15px
.thumbnail
.thumbnail, .img-thumbnail
background-color: white
border-color: #ccc!important
+38 -1
View File
@@ -258,6 +258,7 @@ function setPreviousYear() {
$("#date-end-compare").val(endDate.format($("#date-start").data('date-format')));
}
$( document ).ready(function() {
//Instanciate datepickers
datepickerStart = $('.datepicker1').daterangepicker({
@@ -321,7 +322,7 @@ $( document ).ready(function() {
});
$('#datepicker-cancel').click(function() {
$('#datepicker').slideUp(200);
$('#datepicker').addClass('hide');
});
$('#datepicker').show(function() {
@@ -375,4 +376,40 @@ $( document ).ready(function() {
datepickerStart.setCompare(true);
datepickerEnd.setCompare(true);
}
$('#datepickerFrom').click(function() {
$('#datepicker').removeClass('hide');
$('#date-start').focus();
});
$('#datepickerTo').click(function() {
$('#datepicker').removeClass('hide');
$('#date-end').focus();
});
$('.submitDateDay').on('click',function(e){
e.preventDefault;
setDayPeriod();
});
$('.submitDateMonth').on('click',function(e){
e.preventDefault;
setMonthPeriod()
});
$('.submitDateYear').on('click',function(e){
e.preventDefault;
setYearPeriod();
});
$('.submitDateDayPrev').on('click',function(e){
e.preventDefault;
setPreviousDayPeriod();
});
$('.submitDateMonthPrev').on('click',function(e){
e.preventDefault;
setPreviousMonthPeriod();
});
$('.submitDateYearPrev').on('click',function(e){
e.preventDefault;
setPreviousYearPeriod();
});
});
@@ -36,46 +36,67 @@
<div class="col-lg-12">
{if $warning}
<div class="alert alert-warning">{$warning}</div>
{/if}
{/if}
<div id="calendar" class="panel">
<form action="{$action|escape}" method="post" id="calendar_form" name="calendar_form" class="form-inline">
<div class="row">
<div class="col-lg-6">
<div class="btn-group">
<button type="button" name="submitDateDay" class="btn btn-default submitDateDay" onclick="setDayPeriod()">{$translations.Day}</button>
<button type="button" name="submitDateMonth" class="btn btn-default submitDateMonth" onclick="setMonthPeriod()">{$translations.Month}</button>
<button type="button" name="submitDateYear" class="btn btn-default submitDateYear" onclick="setYearPeriod()">{$translations.Year}</button>
<button type="button" name="submitDateDayPrev" class="btn btn-default submitDateDayPrev" onclick="setPreviousDayPeriod()">{$translations.Day}-1</button>
<button type="button" name="submitDateMonthPrev" class="btn btn-default submitDateMonthPrev" onclick="setPreviousMonthPeriod()">{$translations.Month}-1</button>
<button type="button" name="submitDateYearPrev" class="btn btn-default submitDateYearPrev" onclick="setPreviousYearPeriod()">{$translations.Year}-1</button>
<button type="button" name="submitDateDay" class="btn btn-default submitDateDay">
{l s='Day'}
</button>
<button type="button" name="submitDateMonth" class="btn btn-default submitDateMonth">
{l s='Month'}
</button>
<button type="button" name="submitDateYear" class="btn btn-default submitDateYear">
{l s='Year'}
</button>
<button type="button" name="submitDateDayPrev" class="btn btn-default submitDateDayPrev">
{l s='Day'}-1
</button>
<button type="button" name="submitDateMonthPrev" class="btn btn-default submitDateMonthPrev">
{l s='Month'}-1
</button>
<button type="button" name="submitDateYearPrev" class="btn btn-default submitDateYearPrev">
{l s='Year'}-1
</button>
</div>
</div>
<div class="col-lg-6">
<div class="row">
<div class="col-md-8">
<div class="row">
<div class="col-xs-6">
<div class="input-group">
<label class="input-group-addon">{if isset($translations.From)}{$translations.From}{else}{l s='From:'}{/if}</label>
<input type="text" name="datepickerFrom" id="datepickerFrom" value="{$datepickerFrom|escape}" class="form-control">
</div>
</div>
<div class="col-xs-6">
<div class="input-group">
<label class="input-group-addon">{if isset($translations.To)}{$translations.To}{else}{l s='From:'}{/if}</label>
<input type="text" name="datepickerTo" id="datepickerTo" value="{$datepickerTo|escape}" class="form-control">
</div>
</div>
</div>
<div class="form-group">
<div class="input-group fixed-width-lg">
<label class="input-group-addon">{l s='From'}</label>
<input type="text" name="datepickerFrom" id="datepickerFrom" value="{$datepickerFrom|escape}" class="form-control">
</div>
</div>
<div class="form-group">
<div class="input-group fixed-width-lg inline-form-element">
<label class="input-group-addon">{l s='To'}</label>
<input type="text" name="datepickerTo" id="datepickerTo" value="{$datepickerTo|escape}" class="form-control">
</div>
</div>
<div class="form-group">
<p class="form-control-static">
13 Days
</p>
</div>
<div class="form-group">
<p class="checkbox">
<label>
<input type="checkbox">
Compare
</label>
</p>
</div>
<div class="form-group pull-right">
<button class="btn btn-default" type="button">
<i class="icon-calendar-empty"></i>
<i class="icon-caret-down"></i>
</button>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
{$calendar}
</div>
</div>
{$calendar}
</form>
</div>
</div>
@@ -95,14 +116,15 @@
<div class="col-lg-2">
<section class="dash_news panel">
<h4><i class="icon-rss"></i> PrestaShop News</h4>
<h3><i class="icon-rss"></i> PrestaShop News</h3>
</section>
<section id="dash_version" class="visible-lg">
<iframe frameborder="no" scrolling="no" allowtransparency="true" src="{$new_version_url}"></iframe>
</section>
<section class="dash_links panel">
<h4><i class="icon-link"></i> {l s="Useful PrestaShop Links"}</h4>
<h3><i class="icon-link"></i> {l s="Useful Links"}</h3>
<dl>
<dt>{l s="Discover the official documentation"}</dt>
<dd><a href="http://doc.prestashop.com/display/PS16?utm_source=backoffice_dashboard" target="_blank">{l s="Go to doc.prestashop.com"}</a></dd>
@@ -126,17 +148,4 @@
</section>
</div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function() {
$('#datepickerFrom').click(function() {
$('#datepicker').slideDown(200);
$('#date-start').focus();
});
$('#datepickerTo').click(function() {
$('#datepicker').slideDown(200);
$('#date-end').focus();
});
});
</script>
</div>
@@ -1,80 +1,82 @@
<div id="datepicker" class="daterangepicker-days">
<div class="row">
{if $is_rtl}
<div class="col-sm-6 col-lg-4">
<div class="datepicker2" data-date="{$date_to}" data-date-format="{$date_format}"></div>
</div>
<div class="col-sm-6 col-lg-4">
<div class="datepicker1" data-date="{$date_from}" data-date-format="{$date_format}"></div>
</div>
{else}
<div class="col-sm-6 col-lg-4">
<div class="datepicker1" data-date="{$date_from}" data-date-format="{$date_format}"></div>
</div>
<div class="col-sm-6 col-lg-4">
<div class="datepicker2" data-date="{$date_to}" data-date-format="{$date_format}"></div>
</div>
{/if}
<div class="col-lg-4 clearfix">
<div id='datepicker-form' class='form-inline'>
<div id='date-range' class='form-date-group'>
<div class='form-date-heading'>
<span class="title">{l s='Date range'}</span>
{if isset($actions) && $actions|count > 0}
{if $actions|count > 1}
<button class='btn btn-default btn-xs pull-right dropdown-toggle' data-toggle='dropdown' type="button">
{l s='Custom'}
<i class='icon-angle-down'></i>
<div id="datepicker" class="row row-padding-top hide">
<div class="col-lg-12">
<div class="daterangepicker-days">
<div class="row">
{if $is_rtl}
<div class="col-sm-6 col-lg-4">
<div class="datepicker2" data-date="{$date_to}" data-date-format="{$date_format}"></div>
</div>
<div class="col-sm-6 col-lg-4">
<div class="datepicker1" data-date="{$date_from}" data-date-format="{$date_format}"></div>
</div>
{else}
<div class="col-sm-6 col-lg-4">
<div class="datepicker1" data-date="{$date_from}" data-date-format="{$date_format}"></div>
</div>
<div class="col-sm-6 col-lg-4">
<div class="datepicker2" data-date="{$date_to}" data-date-format="{$date_format}"></div>
</div>
{/if}
<div class="col-lg-4 clearfix">
<div id='datepicker-form' class='form-inline'>
<div id='date-range' class='form-date-group'>
<div class='form-date-heading'>
<span class="title">{l s='Date range'}</span>
{if isset($actions) && $actions|count > 0}
{if $actions|count > 1}
<button class='btn btn-default btn-xs pull-right dropdown-toggle' data-toggle='dropdown' type="button">
{l s='Custom'}
<i class='icon-angle-down'></i>
</button>
<ul class='dropdown-menu'>
{foreach from=$actions item=action}
<li><a{if isset($action.href)} href="{$action.href}"{/if}{if isset($action.class)} class="{$action.class}"{/if}>{if isset($action.icon)}<i class="{$action.icon}"></i> {/if}{$action.label}</a></li>
{/foreach}
</ul>
{else}
<a{if isset($actions[0].href)} href="{$actions[0].href}"{/if} class="btn btn-default btn-xs pull-right{if isset($actions[0].class)} {$actions[0].class}{/if}">{if isset($actions[0].icon)}<i class="{$actions[0].icon}"></i> {/if}{$actions[0].label}</a>
{/if}
{/if}
</div>
<div class='form-date-body'>
<label>{l s='From'}</label>
<input class='date-input form-control' id='date-start' placeholder='Start' type='text' name="date_from" value="{$date_from}" data-date-format="{$date_format}" />
<label>{l s='to'}</label>
<input class='date-input form-control' id='date-end' placeholder='End' type='text' name="date_to" value="{$date_to}" data-date-format="{$date_format}" />
</div>
</div>
<div id="date-compare" class='form-date-group'>
<div class='form-date-heading'>
<span class="checkbox-title">
<label >
<input type='checkbox' id="datepicker-compare" name="datepicker_compare"{if isset($compare_date_from) && isset($compare_date_to)} checked="checked"{/if}>
{l s='Compare to'}
</label>
</span>
<select id="compare-options" class="form-control fixed-width-lg pull-right" name="compare_date_option"{if is_null($compare_date_from) || is_null($compare_date_to)} disabled="disabled"{/if}>
<option value="1"{if $compare_option == 1}selected="selected"{/if} label="{l s='Previous period'}">{l s='Previous period'}</option>
<option value="2"{if $compare_option == 2}selected="selected"{/if} label="{l s='Previous Year'}">{l s='Previous Year'}</option>
<option value="3"{if $compare_option == 3}selected="selected"{/if} label="{l s='Custom'}">{l s='Custom'}</option>
</select>
</div>
<div class="form-date-body" id="form-date-body-compare"{if is_null($compare_date_from) || is_null($compare_date_to)} style="display: none;"{/if}>
<label>{l s='From'}</label>
<input id="date-start-compare" class="date-input form-control" type="text" placeholder="Start" name="compare_date_from" value="{$compare_date_from}" data-date-format="{$date_format}" />
<label>{l s='to'}</label>
<input id="date-end-compare" class="date-input form-control" type="text" placeholder="End" name="compare_date_to" value="{$compare_date_to}" data-date-format="{$date_format}" />
</div>
</div>
<div class='form-date-actions'>
<button class='btn btn-default' type='button' id="datepicker-cancel">
<i class='icon-remove text-danger'></i>
{l s='Cancel'}
</button>
<ul class='dropdown-menu'>
{foreach from=$actions item=action}
<li><a{if isset($action.href)} href="{$action.href}"{/if}{if isset($action.class)} class="{$action.class}"{/if}>{if isset($action.icon)}<i class="{$action.icon}"></i> {/if}{$action.label}</a></li>
{/foreach}
</ul>
{else}
<a{if isset($actions[0].href)} href="{$actions[0].href}"{/if} class="btn btn-default btn-xs pull-right{if isset($actions[0].class)} {$actions[0].class}{/if}">{if isset($actions[0].icon)}<i class="{$actions[0].icon}"></i> {/if}{$actions[0].label}</a>
{/if}
{/if}
<button class='btn btn-default pull-right' type='submit' name="submitDateRange">
<i class='icon-ok text-success'></i>
{l s='Apply'}
</button>
</div>
</div>
<div class='form-date-body'>
<label>{l s='From'}</label>
<input class='date-input form-control' id='date-start' placeholder='Start' type='text' name="date_from" value="{$date_from}" data-date-format="{$date_format}" />
<label>{l s='to'}</label>
<input class='date-input form-control' id='date-end' placeholder='End' type='text' name="date_to" value="{$date_to}" data-date-format="{$date_format}" />
</div>
</div>
<div id="date-compare" class='form-date-group'>
<div class='form-date-heading'>
<span class="checkbox-title">
<label >
<input type='checkbox' id="datepicker-compare" name="datepicker_compare"{if isset($compare_date_from) && isset($compare_date_to)} checked="checked"{/if}>
{l s='Compare to'}
</label>
</span>
<select id="compare-options" class="form-control fixed-width-lg pull-right" name="compare_date_option"{if is_null($compare_date_from) || is_null($compare_date_to)} disabled="disabled"{/if}>
<option value="1"{if $compare_option == 1}selected="selected"{/if} label="{l s='Previous period'}">{l s='Previous period'}</option>
<option value="2"{if $compare_option == 2}selected="selected"{/if} label="{l s='Previous Year'}">{l s='Previous Year'}</option>
<option value="3"{if $compare_option == 3}selected="selected"{/if} label="{l s='Custom'}">{l s='Custom'}</option>
</select>
</div>
<div class="form-date-body" id="form-date-body-compare"{if is_null($compare_date_from) || is_null($compare_date_to)} style="display: none;"{/if}>
<label>{l s='From'}</label>
<input id="date-start-compare" class="date-input form-control" type="text" placeholder="Start" name="compare_date_from" value="{$compare_date_from}" data-date-format="{$date_format}" />
<label>{l s='to'}</label>
<input id="date-end-compare" class="date-input form-control" type="text" placeholder="End" name="compare_date_to" value="{$compare_date_to}" data-date-format="{$date_format}" />
</div>
</div>
<div class='form-date-actions'>
<button class='btn btn-default' type='button' id="datepicker-cancel">
<i class='icon-remove text-danger'></i>
{l s='Cancel'}
</button>
<button class='btn btn-default pull-right' type='submit' name="submitDateRange">
<i class='icon-ok text-success'></i>
{l s='Apply'}
</button>
</div>
</div>
</div>
+10 -10
View File
@@ -194,15 +194,15 @@ class AdminDashboardControllerCore extends AdminController
if (Tools::isSubmit('profitability_conf'))
return parent::renderOptions();
$translations = array(
'Calendar' => $this->l('Calendar', 'AdminStatsTab'),
'Day' => $this->l('Day', 'AdminStatsTab'),
'Month' => $this->l('Month', 'AdminStatsTab'),
'Year' => $this->l('Year', 'AdminStatsTab'),
'From' => $this->l('From:', 'AdminStatsTab'),
'To' => $this->l('To:', 'AdminStatsTab'),
'Save' => $this->l('Save', 'AdminStatsTab')
);
// $translations = array(
// 'Calendar' => $this->l('Calendar', 'AdminStatsTab'),
// 'Day' => $this->l('Day', 'AdminStatsTab'),
// 'Month' => $this->l('Month', 'AdminStatsTab'),
// 'Year' => $this->l('Year', 'AdminStatsTab'),
// 'From' => $this->l('From:', 'AdminStatsTab'),
// 'To' => $this->l('To:', 'AdminStatsTab'),
// 'Save' => $this->l('Save', 'AdminStatsTab')
// );
$calendar_helper = new HelperCalendar();
@@ -230,7 +230,7 @@ class AdminDashboardControllerCore extends AdminController
$this->tpl_view_vars = array(
'hookDashboardZoneOne' => Hook::exec('dashboardZoneOne', $params),
'hookDashboardZoneTwo' => Hook::exec('dashboardZoneTwo', $params),
'translations' => $translations,
//'translations' => $translations,
'action' => '#',
'warning' => $this->getWarningDomainName(),
'new_version_url' => Tools::getCurrentUrlProtocolPrefix().'api.prestashop.com/version/check_version.php?v='._PS_VERSION_.'&lang='.$this->context->language->iso_code,