Skip to content

Commit d1d85af

Browse files
committed
Merge pull request #36 from lotholf/master
Adding hour parsing and fixing no data cell bug in datetime type for X axis
2 parents b208df2 + 32bbcfd commit d1d85af

File tree

1 file changed

+18
-8
lines changed

1 file changed

+18
-8
lines changed

jquery.highchartTable.js

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,9 @@
217217
var serie = series[column.indexTd];
218218

219219
if (rawCellValue.length==0) {
220-
serie.data.push(null);
220+
if (!isGraphDatetime) {
221+
serie.data.push(null);
222+
}
221223
} else {
222224
var cleanedCellValue = rawCellValue.replace(/ /g, '').replace(/,/, '.');
223225
cellValue = Math.round(parseFloat(cleanedCellValue) * column.scale * 100) / 100;
@@ -226,8 +228,7 @@
226228

227229
if (isGraphDatetime) {
228230
dataGraphX = $('td', $(row)).first().text();
229-
var dateInfos = dataGraphX.split('-');
230-
var date = parseDate(dateInfos);
231+
var date = parseDate(dataGraphX);
231232
dataGraphX = date.getTime() - date.getTimezoneOffset()*60*1000;
232233
}
233234

@@ -460,17 +461,26 @@
460461
var value = $(table).data('graph-xaxis-'+minOrMax);
461462
if (typeof value != 'undefined') {
462463
if ($(table).data('graph-xaxis-type') == 'datetime') {
463-
var dateInfos = value.split('-');
464-
var date = parseDate(dateInfos);
464+
var date = parseDate(value);
465465
return date.getTime() - date.getTimezoneOffset()*60*1000;
466466
}
467467
return value;
468468
}
469469
return null;
470470
};
471471

472-
var parseDate = function(dateInfos) {
473-
return new Date(parseInt(dateInfos[0], 10), parseInt(dateInfos[1], 10)-1, parseInt(dateInfos[2], 10));
472+
var parseDate = function(datetime) {
473+
var calculatedateInfos = datetime.split(' ');
474+
var dateDayInfos = calculatedateInfos[0].split('-');
475+
var min = null;
476+
var hour = null;
477+
// If hour and minute are available in the datetime string
478+
if(calculatedateInfos[1]) {
479+
var dateHourInfos = calculatedateInfos[1].split(':');
480+
min = parseInt(dateHourInfos[0], 10);
481+
hour = parseInt(dateHourInfos[1], 10);
482+
}
483+
return new Date(parseInt(dateDayInfos[0], 10), parseInt(dateDayInfos[1], 10)-1, parseInt(dateDayInfos[2], 10), min, hour);
474484
};
475485

476-
})(jQuery);
486+
})(jQuery);

0 commit comments

Comments
 (0)