Skip to content
Snippets Groups Projects
Commit b0c3404c authored by Robert Goldmann's avatar Robert Goldmann
Browse files

Fixed #588 - added new quick date options for charts

parent 31449339
No related branches found
No related tags found
No related merge requests found
......@@ -498,6 +498,11 @@ chart.quick.this.month=Diesen Monat
chart.quick.this.year=Dieses Jahr
chart.quick.all=Alle
chart.quick.last.week=Letzte Woche
chart.quick.last.month=Letzter Monat
chart.quick.last.year=Letztes Jahr
chart.quick.until.endOfLastYear=Alle bis Ende letzten Jahres
chart.quick.last.week.days=Letzte 7 Tage
chart.quick.last.month.days=Letzte 30 Tage
chart.quick.last.year.days=Letzte 365 Tage
......
......@@ -496,6 +496,11 @@ chart.quick.this.month=This month
chart.quick.this.year=This year
chart.quick.all=All
chart.quick.last.week=Last week
chart.quick.last.month=Last month
chart.quick.last.year=Last year
chart.quick.until.endOfLastYear=Until end of last year
chart.quick.last.week.days=Last 7 days
chart.quick.last.month.days=Last 30 days
chart.quick.last.year.days=Last 365 days
......
let modalFilter;
let chartPickerStartDate;
let chartPickerEndDate;
$(document).ready(function()
{
let modalFilter;
let pickerStartDate;
let pickerEndDate;
if($("#chart-script").length)
{
......@@ -26,7 +27,7 @@ $(document).ready(function()
if($(".datepicker").length)
{
pickerStartDate = M.Datepicker.init(document.getElementById('chart-datepicker'), {
chartPickerStartDate = M.Datepicker.init(document.getElementById('chart-datepicker'), {
yearRange: 25,
firstDay: 1,
showClearBtn: false,
......@@ -55,10 +56,11 @@ $(document).ready(function()
onSelect: function()
{
if(typeof pickerEndDate !== "undefined")
if(typeof chartPickerEndDate !== "undefined")
{
pickerEndDate.destroy();
pickerEndDate = createDatePickerEnd(this.date, pickerEndDate.date);
let selectedDate = chartPickerEndDate.date;
chartPickerEndDate.destroy();
chartPickerEndDate = createDatePickerEnd(this.date, selectedDate);
}
}
});
......@@ -66,10 +68,27 @@ $(document).ready(function()
// picker end date
if(typeof endDate !== "undefined")
{
pickerEndDate = createDatePickerEnd(pickerStartDate.date, endDate);
chartPickerEndDate = createDatePickerEnd(chartPickerStartDate.date, endDate);
}
}
$(".filter-button-close").click(function()
{
applyFilter(modalFilter);
});
$(".filter-button-reset").click(function()
{
resetFilter();
applyFilter(modalFilter);
});
$(".quick-date").click(function()
{
handleQuickDate(this);
});
});
function createDatePickerEnd(minDate, selectedDate)
{
if(selectedDate < minDate)
......@@ -107,23 +126,6 @@ $(document).ready(function()
});
}
$(".filter-button-close").click(function()
{
applyFilter(modalFilter);
});
$(".filter-button-reset").click(function()
{
resetFilter();
applyFilter(modalFilter);
});
$(".quick-date").click(function()
{
handleQuickDate(this, pickerStartDate, pickerEndDate);
});
});
function applyFilter(modal)
{
let filterButton = document.getElementById("modalFilterTrigger");
......@@ -156,7 +158,7 @@ function resetFilter()
$("#filter-name").val('');
}
function handleQuickDate(element, pickerStartDate, pickerEndDate)
function handleQuickDate(element)
{
let quickType = element.dataset.quick;
let startDate;
......@@ -181,31 +183,47 @@ function handleQuickDate(element, pickerStartDate, pickerEndDate)
endDate = moment("2100-01-01");
break;
case '4':
startDate = moment().subtract(1,'weeks').startOf('isoWeek');
endDate = moment().subtract(1,'weeks').endOf('isoWeek');
break;
case '5':
startDate = moment().subtract(1,'months').startOf('month');
endDate = moment().subtract(1,'months').endOf('month');
break;
case '6':
startDate = moment().subtract(1,'years').startOf('year');
endDate = moment().subtract(1,'years').endOf('year');
break;
case '7':
startDate = moment("2000-01-01");
endDate = moment().subtract(1, 'years').endOf('year');
break;
case '8':
startDate = moment().subtract(7, 'days');
endDate = moment();
break;
case '5':
case '9':
startDate = moment().subtract(30, 'days');
endDate = moment();
break;
case '6':
case '10':
startDate = moment().subtract(365, 'days');
endDate = moment();
break;
case '7':
case '11':
startDate = moment("2000-01-01");
endDate = moment();
break;
}
setDateRange(startDate, endDate, pickerStartDate, pickerEndDate);
setDateRange(startDate, endDate);
}
function setDateRange(startDate, endDate, pickerStartDate, pickerEndDate)
function setDateRange(startDate, endDate)
{
pickerStartDate.setDate(startDate.toDate());
pickerStartDate.setInputValue();
chartPickerStartDate.setDate(startDate.startOf('day').toDate());
chartPickerStartDate.setInputValue();
pickerEndDate.setDate(endDate.toDate());
pickerEndDate.setInputValue();
chartPickerEndDate.destroy();
chartPickerEndDate = createDatePickerEnd(chartPickerStartDate.date, endDate.startOf('day').toDate());
}
\ No newline at end of file
......@@ -162,10 +162,16 @@
<td class="quick-date" data-quick="3">${locale.getString("chart.quick.all")}</td>
</tr>
<tr>
<td class="quick-date" data-quick="4">${locale.getString("chart.quick.last.week.days")}</td>
<td class="quick-date" data-quick="5">${locale.getString("chart.quick.last.month.days")}</td>
<td class="quick-date" data-quick="6">${locale.getString("chart.quick.last.year.days")}</td>
<td class="quick-date" data-quick="7">${locale.getString("chart.quick.until.today")}</td>
<td class="quick-date" data-quick="4">${locale.getString("chart.quick.last.week")}</td>
<td class="quick-date" data-quick="5">${locale.getString("chart.quick.last.month")}</td>
<td class="quick-date" data-quick="6">${locale.getString("chart.quick.last.year")}</td>
<td class="quick-date" data-quick="7">${locale.getString("chart.quick.until.endOfLastYear")}</td>
</tr>
<tr>
<td class="quick-date" data-quick="8">${locale.getString("chart.quick.last.week.days")}</td>
<td class="quick-date" data-quick="9">${locale.getString("chart.quick.last.month.days")}</td>
<td class="quick-date" data-quick="10">${locale.getString("chart.quick.last.year.days")}</td>
<td class="quick-date" data-quick="11">${locale.getString("chart.quick.until.today")}</td>
</tr>
</table>
</div>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment