Skip to content

Commit 5a0d245

Browse files
committed
get the date and time format based on nextcloud's locale settings
1 parent 9b57cb2 commit 5a0d245

File tree

5 files changed

+44
-52
lines changed

5 files changed

+44
-52
lines changed

js/src/dashboard.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,8 @@ var moment = require("moment");
88

99
require('daterangepicker/daterangepicker.css');
1010
require('../../css/style.css');
11-
var Chart = require("chart.js");
12-
1311

12+
var Chart = require("chart.js");
1413
Chart.plugins.register({
1514
afterDraw: function(chart) {
1615
if (chart.data.datasets.length === 0 || chart.data.datasets[0].data.length === 0) {
@@ -30,6 +29,8 @@ Chart.plugins.register({
3029
}
3130
});
3231

32+
var dtf = require("./dateformat.js");
33+
3334
(function() {
3435
$.ajaxSetup({
3536
headers: { 'RequestToken': OC.requestToken }
@@ -47,9 +48,8 @@ Chart.plugins.register({
4748
var filterClientId = '';
4849
var myDoughnutChart = null;
4950

50-
5151
function cb(start, end) {
52-
$('#report-range span').html(start.format('DD/MM/YY') + ' - ' + end.format('DD/MM/YY'));
52+
$('#report-range span').html(start.format(dtf.dformat()) + ' - ' + end.format(dtf.dformat()));
5353
}
5454
$("#report-range").daterangepicker({
5555
timePicker: false,
@@ -69,7 +69,7 @@ Chart.plugins.register({
6969
'Last 5 years': [moment().startOf('day').subtract(5, 'year'), moment().endOf('day')],
7070
},
7171
locale: {
72-
format: 'DD/MM/YY',
72+
format: dtf.dformat(),
7373
firstDay: firstDay
7474
}
7575
},cb);
@@ -249,4 +249,4 @@ Chart.plugins.register({
249249
}
250250
});
251251
} );
252-
}());
252+
}());

js/src/dateformat.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
var moment = require("moment");
2+
moment.locale(document.documentElement.getAttribute("data-locale") || undefined);
3+
const dformat = moment.localeData().longDateFormat('L');
4+
const tformat = moment.localeData().longDateFormat('LTS');
5+
6+
exports.dformat = function () {
7+
return dformat;
8+
};
9+
10+
exports.tformat = function () {
11+
return tformat;
12+
};
13+
14+
exports.dtformat = function () {
15+
return dformat + ' ' + tformat;
16+
};

js/src/reports.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ import 'select2/dist/js/select2.full.js'
1111
require('select2/dist/css/select2.css');
1212
require('../../css/style.css');
1313

14+
var dtf = require("./dateformat.js");
15+
1416
(function() {
1517
$.ajaxSetup({
1618
headers: { 'RequestToken': OC.requestToken }
@@ -32,7 +34,7 @@ require('../../css/style.css');
3234
var start = moment().subtract(29, 'days');
3335
var end = moment();
3436
function cb(start, end) {
35-
$('#report-range span').html(start.format('DD/MM/YY') + ' - ' + end.format('DD/MM/YY'));
37+
$('#report-range span').html(start.format(dtf.dformat()) + ' - ' + end.format(dtf.dformat()));
3638
}
3739
$("#report-range").daterangepicker({
3840
timePicker: false,
@@ -53,7 +55,7 @@ require('../../css/style.css');
5355

5456
},
5557
locale: {
56-
format: 'DD/MM/YY',
58+
format: dtf.dformat(),
5759
firstDay: firstDay
5860
}
5961
},cb);
@@ -184,7 +186,7 @@ require('../../css/style.css');
184186
if (group1 != '' || group2 != '' || group3 != ''){
185187
row.ended = '*';
186188
} else {
187-
var ended = moment(time, 'YYYY-MM-DD hh:mm:ss').add(duration,"seconds").format('YYYY-MM-DD HH:mm');
189+
var ended = moment(time, dtf.dtformat()).add(duration,"seconds").format(dtf.dtformat());
188190
row.ended = ended;
189191

190192
}
@@ -249,7 +251,7 @@ require('../../css/style.css');
249251
}
250252
var time = cell.getRow().getData().time;
251253
var duration = cell.getRow().getData().totalDuration;
252-
var ended = moment(time, 'YYYY-MM-DD hh:mm:ss').add(duration,"seconds").format('YYYY-MM-DD HH:mm');
254+
var ended = moment(time, dtf.dtformat()).add(duration,"seconds").format(dtf.dtformat());
253255
return ended;
254256

255257
}},

js/src/timelines.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ import 'select2/dist/js/select2.full.js'
1111
require('select2/dist/css/select2.css');
1212
require('../../css/style.css');
1313

14+
var dtf = require("./dateformat.js");
15+
1416
(function() {
1517
$.ajaxSetup({
1618
headers: { 'RequestToken': OC.requestToken }
@@ -24,7 +26,6 @@ require('../../css/style.css');
2426
var filterProjectId = "";
2527
var filterClientId = "";
2628

27-
2829
function timeConverter(UNIX_timestamp){
2930
var a = new Date(UNIX_timestamp * 1000);
3031
var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
@@ -47,7 +48,7 @@ require('../../css/style.css');
4748
var start = moment().subtract(29, 'days');
4849
var end = moment();
4950
function cb(start, end) {
50-
$('#report-range span').html(start.format('DD/MM/YY') + ' - ' + end.format('DD/MM/YY'));
51+
$('#report-range span').html(start.format(dtf.dformat()) + ' - ' + end.format(dtf.dformat()));
5152
}
5253
$("#report-range").daterangepicker({
5354
timePicker: false,
@@ -68,7 +69,7 @@ require('../../css/style.css');
6869

6970
},
7071
locale: {
71-
format: 'DD/MM/YY',
72+
format: dtf.dformat(),
7273
firstDay: firstDay
7374
}
7475
},cb);

js/src/timer.js

Lines changed: 12 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ require('select2/dist/css/select2.css');
1010
require('daterangepicker/daterangepicker.css');
1111
require('../../css/style.css');
1212

13+
var dtf = require("./dateformat.js");
1314

1415
(
1516

@@ -29,7 +30,7 @@ function() {
2930
var end = moment().endOf('day');
3031

3132
function cb(start, end) {
32-
$('#report-range span').html(start.format('DD/MM/YY') + ' - ' + end.format('DD/MM/YY'));
33+
$('#report-range span').html(start.format(dtf.dformat()) + ' - ' + end.format(dtf.dformat()));
3334
}
3435
$("#report-range").daterangepicker({
3536
timePicker: false,
@@ -48,7 +49,7 @@ function() {
4849
'Last 5 years': [moment().startOf('day').subtract(5, 'year'), moment().endOf('day')],
4950
},
5051
locale: {
51-
format: 'DD/MM/YY',
52+
format: dtf.dformat(),
5253
firstDay: firstDay
5354
}
5455
},cb);
@@ -98,11 +99,9 @@ function() {
9899
});
99100
var picker = $("#hours-manual-entry").daterangepicker({
100101
timePicker: true,
101-
//startDate:tsToDate($(this).data('start-date')),
102-
//endDate:tsToDate($(this).data('end-date')),
103102
timePicker24Hour: true,
104103
locale: {
105-
format: 'DD/MM/YY hh:mm:ss',
104+
format: dtf.dtformat(),
106105
firstDay: firstDay
107106
}
108107
});
@@ -129,8 +128,8 @@ function() {
129128

130129
var jqxhr = $.post( baseUrl,
131130
{
132-
start:picker.data('daterangepicker').startDate.format('DD/MM/YY HH:mm'),
133-
end:picker.data('daterangepicker').endDate.format('DD/MM/YY HH:mm'),
131+
start:picker.data('daterangepicker').startDate.format(dtf.dtformat()),
132+
end:picker.data('daterangepicker').endDate.format(dtf.dtformat()),
134133
tzoffset: new Date().getTimezoneOffset(),
135134
async: true,
136135
details:$('#details-manual-entry').val()} ,function() {
@@ -215,34 +214,8 @@ function() {
215214
return pad(hours,2)+':'+pad(minutes,2)+':'+pad(seconds,2);
216215
}
217216
}
218-
function tsToDate(ts){
219-
var date = new Date(ts*1000);
220-
// Hours part from the timestamp
221-
var hours = date.getHours();
222-
// Minutes part from the timestamp
223-
var minutes = "0" + date.getMinutes();
224-
// Seconds part from the timestamp
225-
var seconds = "0" + date.getSeconds();
226-
var year = date.getFullYear() % 100;
227-
//var year = date.getYear();
228-
var month = date.getMonth()+1;
229-
var day = date.getDate();
230-
// Will display time in 10:30:23 format
231-
var formattedTime = day+"/"+month+"/"+year+" "+hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2);
232-
return formattedTime;
233-
}
234-
function tsToHour(ts){
235-
var date = new Date(ts*1000);
236-
// Hours part from the timestamp
237-
var hours = date.getHours();
238-
// Minutes part from the timestamp
239-
var minutes = "0" + date.getMinutes();
240-
// Seconds part from the timestamp
241-
var seconds = "0" + date.getSeconds();
242-
243-
// Will display time in 10:30:23 format
244-
var formattedTime = hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2);
245-
return formattedTime;
217+
function tsToHour(ts) {
218+
return moment.unix(ts).format(dtf.tformat());
246219
}
247220
function getWorkItems() {
248221
var baseUrl = OC.generateUrl('/apps/timetracker/ajax/work-intervals?from='+start.unix()+'&to='+end.unix());
@@ -346,18 +319,18 @@ function() {
346319
$(".wi-child-hours").each(function(){
347320
$(this).daterangepicker({
348321
timePicker: true,
349-
startDate:tsToDate($(this).data('start-date')),
350-
endDate:tsToDate($(this).data('end-date')),
322+
startDate:moment.unix($(this).data('start-date')).format(dtf.dtformat()),
323+
endDate:moment.unix($(this).data('end-date')).format(dtf.dtformat()),
351324
timePicker24Hour: true,
352325
locale: {
353-
format: 'DD/MM/YY hh:mm:ss',
326+
format: dtf.dtformat(),
354327
firstDay: firstDay
355328
}
356329
});
357330

358331
$(this).on('apply.daterangepicker', function(ev, picker) {
359332
var id = $(this).data('myid');
360-
var jqxhr = $.post( "ajax/update-work-interval/"+id,{start:picker.startDate.format('DD/MM/YY HH:mm'), end:picker.endDate.format('DD/MM/YY HH:mm'), tzoffset: new Date().getTimezoneOffset()}, function() {
333+
var jqxhr = $.post( "ajax/update-work-interval/"+id,{start:picker.startDate.format(dtf.dtformat()), end:picker.endDate.format(dtf.dtformat()), tzoffset: new Date().getTimezoneOffset()}, function() {
361334
})
362335
.done(function(data, status, jqXHR) {
363336
var response = data;

0 commit comments

Comments
 (0)