// Add date subtitle
This commit is contained in:
@@ -51,6 +51,7 @@ Date.parseDate = function(date, format) {
|
||||
switch(formatParts[i]) {
|
||||
case 'dd':
|
||||
case 'd':
|
||||
case 'j':
|
||||
date.setDate(parseInt(parts[i], 10)||1);
|
||||
break;
|
||||
|
||||
@@ -121,6 +122,7 @@ Date.prototype.format = function(format) {
|
||||
switch(formatParts[i]) {
|
||||
case 'dd':
|
||||
case 'd':
|
||||
case 'j':
|
||||
result += this.getDate() + formatSeparator;
|
||||
break;
|
||||
|
||||
|
||||
@@ -294,6 +294,14 @@ function removeQuotes(value)
|
||||
return value;
|
||||
}
|
||||
|
||||
function sprintf(format)
|
||||
{
|
||||
for(var i=1; i < arguments.length; i++)
|
||||
format = format.replace(/%s/, arguments[i]);
|
||||
|
||||
return format;
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a MessageBox
|
||||
* @param {string} msg
|
||||
|
||||
@@ -65,12 +65,22 @@ class Dashactivity extends Module
|
||||
public function hookDisplayBackOfficeHeader()
|
||||
{
|
||||
if (get_class($this->context->controller) == 'AdminDashboardController')
|
||||
{
|
||||
if (method_exists($this->context->controller, 'addJquery'))
|
||||
$this->context->controller->addJquery();
|
||||
|
||||
$this->context->controller->addJs($this->_path.'views/js/'.$this->name.'.js');
|
||||
$this->context->controller->addJs(_PS_JS_DIR_.'date.js');
|
||||
}
|
||||
}
|
||||
|
||||
public function hookDashboardZoneOne($params)
|
||||
{
|
||||
$this->context->smarty->assign(array_merge(array('dashactivity_config_form' => $this->renderConfigForm()), $this->getConfigFieldsValues()));
|
||||
$this->context->smarty->assign(array_merge(array(
|
||||
'dashactivity_config_form' => $this->renderConfigForm(),
|
||||
'date_subtitle' => $this->l('From %s to %s'),
|
||||
'date_format' => $this->context->language->date_format_lite
|
||||
), $this->getConfigFieldsValues()));
|
||||
return $this->display(__FILE__, 'dashboard_zone_one.tpl');
|
||||
}
|
||||
|
||||
|
||||
@@ -15,4 +15,109 @@ function pie_chart_trends(widget_name, chart_details)
|
||||
nv.utils.windowResize(chart.update);
|
||||
return chart;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
//TODO unify this with other function in calenda.js and replace date.js functions
|
||||
Date.parseDate = function(date, format) {
|
||||
if (format === undefined)
|
||||
format = 'Y-m-d';
|
||||
|
||||
var formatSeparator = format.match(/[.\/\-\s].*?/);
|
||||
var formatParts = format.split(/\W+/);
|
||||
var parts = date.split(formatSeparator);
|
||||
var date = new Date();
|
||||
|
||||
if (parts.length === formatParts.length) {
|
||||
date.setHours(0);
|
||||
date.setMinutes(0);
|
||||
date.setSeconds(0);
|
||||
date.setMilliseconds(0);
|
||||
|
||||
for (var i=0; i<=formatParts.length; i++) {
|
||||
switch(formatParts[i]) {
|
||||
case 'dd':
|
||||
case 'd':
|
||||
case 'j':
|
||||
date.setDate(parseInt(parts[i], 10)||1);
|
||||
break;
|
||||
|
||||
case 'mm':
|
||||
case 'm':
|
||||
date.setMonth((parseInt(parts[i], 10)||1) - 1);
|
||||
break;
|
||||
|
||||
case 'yy':
|
||||
case 'y':
|
||||
date.setFullYear(2000 + (parseInt(parts[i], 10)||1));
|
||||
break;
|
||||
|
||||
case 'yyyy':
|
||||
case 'Y':
|
||||
date.setFullYear(parseInt(parts[i], 10)||1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return date;
|
||||
};
|
||||
|
||||
Date.prototype.format = function(format) {
|
||||
if (format === undefined)
|
||||
return this.toString();
|
||||
|
||||
var formatSeparator = format.match(/[.\/\-\s].*?/);
|
||||
var formatParts = format.split(/\W+/);
|
||||
var result = '';
|
||||
|
||||
for (var i=0; i<=formatParts.length; i++) {
|
||||
switch(formatParts[i]) {
|
||||
case 'dd':
|
||||
case 'd':
|
||||
case 'j':
|
||||
result += this.getDate() + formatSeparator;
|
||||
break;
|
||||
|
||||
case 'mm':
|
||||
case 'm':
|
||||
result += (this.getMonth() + 1) + formatSeparator;
|
||||
break;
|
||||
|
||||
case 'yy':
|
||||
case 'y':
|
||||
result += this.getFullYear() + formatSeparator;
|
||||
break;
|
||||
|
||||
case 'yyyy':
|
||||
case 'Y':
|
||||
result += this.getFullYear() + formatSeparator;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return result.slice(0, -1);
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
if (date_subtitle === undefined)
|
||||
date_subtitle = 'From %s to %s';
|
||||
|
||||
if (date_format === undefined)
|
||||
date_format = 'Y-m-d';
|
||||
|
||||
$('#date-start').change(function() {
|
||||
start = Date.parseDate($('#date-start').val(), 'Y-m-d');
|
||||
end = Date.parseDate($('#date-end').val(), 'Y-m-d');
|
||||
|
||||
$('#customers-newsletters-subtitle').html(sprintf(date_subtitle, start.format(date_format), end.format(date_format)));
|
||||
$('#traffic-subtitle').html(sprintf(date_subtitle, start.format(date_format), end.format(date_format)));
|
||||
});
|
||||
|
||||
$('#date-end').change(function() {
|
||||
start = Date.parseDate($('#date-start').val(), 'Y-m-d');
|
||||
end = Date.parseDate($('#date-end').val(), 'Y-m-d');
|
||||
|
||||
$('#customers-newsletters-subtitle').html(sprintf(date_subtitle, start.format(date_format), end.format(date_format)));
|
||||
$('#traffic-subtitle').html(sprintf(date_subtitle, start.format(date_format), end.format(date_format)));
|
||||
});
|
||||
});
|
||||
@@ -126,7 +126,7 @@
|
||||
{/if}
|
||||
{if $DASHACTIVITY_SHOW_CUSTOMERS}
|
||||
<section id="dash_customers" class="loading">
|
||||
<header><i class="icon-user"></i> {l s='Customers & Newsletters' mod='dashactivity'}</header>
|
||||
<header><i class="icon-user"></i> {l s='Customers & Newsletters' mod='dashactivity'} <span class="subtitle small" id="customers-newsletters-subtitle"><span></header>
|
||||
<ul class="data_list">
|
||||
<li>
|
||||
<span class="data_label">{l s='New Customers' mod='dashactivity'}</span>
|
||||
@@ -151,7 +151,7 @@
|
||||
{/if}
|
||||
{if $DASHACTIVITY_SHOW_TRAFFIC}
|
||||
<section id="dash_traffic" class="loading">
|
||||
<header><i class="icon-globe"></i> {l s='Traffic' mod='dashactivity'}</header>
|
||||
<header><i class="icon-globe"></i> {l s='Traffic' mod='dashactivity'} <span class="subtitle small" id="traffic-subtitle"><span></header>
|
||||
<ul class="data_list">
|
||||
<li>
|
||||
<span class="data_label">{l s='Visits' mod='dashactivity'}</span>
|
||||
@@ -177,3 +177,8 @@
|
||||
</section>
|
||||
{/if}
|
||||
</section>
|
||||
|
||||
<script type="text/javascript">
|
||||
date_subtitle = "{$date_subtitle}";
|
||||
date_format = "{$date_format}";
|
||||
</script>
|
||||
Reference in New Issue
Block a user