Skip to content

Commit

Permalink
fixed bug #4257 Hide fractional seconds
Browse files Browse the repository at this point in the history
Signed-off-by: Viduranga Wijesooriya <vpowerrc@gmail.com>
  • Loading branch information
vidurangaw committed Jan 30, 2014
1 parent 024a2d3 commit d483b9f
Show file tree
Hide file tree
Showing 4 changed files with 60 additions and 15 deletions.
6 changes: 3 additions & 3 deletions js/functions.js
Expand Up @@ -208,12 +208,12 @@ function PMA_addDatepicker($this_element, options)
stepMinutes: 1,
stepHours: 1,
showSecond: true,
showMillisec: true,
showMicrosec: true,
showMillisec: false,
showMicrosec: false,
showTimepicker: showTimeOption,
showButtonPanel: false,
dateFormat: 'yy-mm-dd', // yy means year with four digits
timeFormat: 'HH:mm:ss.lc',
timeFormat: 'HH:mm:ss',
constrainInput: false,
altFieldTimeOnly: false,
showAnim: '',
Expand Down
12 changes: 8 additions & 4 deletions js/jquery/jquery-ui-timepicker-addon.js
Expand Up @@ -369,11 +369,15 @@
// Prevent displaying twice
if ($dp.find("div.ui-timepicker-div").length === 0 && o.showTimepicker) {
var noDisplay = ' style="display:none;"',
html = '<div class="ui-timepicker-div'+ (o.isRTL? ' ui-timepicker-rtl' : '') +'"><dl>' + '<dt class="ui_tpicker_time_label"' + ((o.showTime) ? '' : noDisplay) + '>' + o.timeText + '</dt>' +
'<dd class="ui_tpicker_time"' + ((o.showTime) ? '' : noDisplay) + '></dd>';

html = '<div class="ui-timepicker-div'+ (o.isRTL? ' ui-timepicker-rtl' : '') +'"><dl>';
var units_length = this.units.length;
//check for decimal places of seconds
if(units_length > 3){
html += '<dt class="ui_tpicker_time_label"' + ((o.showTime) ? '' : noDisplay) + '>' + o.timeText + '</dt>' +
'<dd class="ui_tpicker_time"' + ((o.showTime) ? '' : noDisplay) + '></dd>';
}
// Create the markup
for(i=0,l=this.units.length; i<l; i++){
for(i = 0, l = units_length; i < l; i++){
litem = this.units[i];
uitem = litem.substr(0,1).toUpperCase() + litem.substr(1);
show = o['show'+uitem] !== null? o['show'+uitem] : this.support[litem];
Expand Down
48 changes: 44 additions & 4 deletions js/makegrid.js
Expand Up @@ -622,6 +622,15 @@ function PMA_makegrid(t, enableResize, enableReorder, enableVisib, enableGridEdi
var new_html = data.isNeedToRecheck
? data.truncatableFieldValue
: $this_field.data('value');

//remove decimal places if column type not supported
if (($this_field.data('decimals') == 0) && ( $this_field.data('type').indexOf('time') != -1)){
new_html = new_html.substring(0, new_html.indexOf('.'));
}
//remove addtional decimal places
if (($this_field.data('decimals') > 0) && ( $this_field.data('type').indexOf('time') != -1)){
new_html = new_html.substring(0, new_html.length - (6 - $this_field.data('decimals')));
}
if ($this_field.is('.truncated')) {
if (new_html.length > g.maxTruncatedLen) {
new_html = new_html.substring(0, g.maxTruncatedLen) + '...';
Expand Down Expand Up @@ -967,7 +976,24 @@ function PMA_makegrid(t, enableResize, enableReorder, enableVisib, enableGridEdi
if ($td.is('.datefield')) {
showTimeOption = false;
}

var showMillisec = false;
var showMicrosec = false;
var timeFormat = 'HH:mm:ss';
// check for decimal places of seconds
if (($td.data('decimals') > 0) && ($td.data('type').indexOf('time') != -1)){
showMillisec = true;
timeFormat = 'HH:mm:ss.lc';
if ($td.data('decimals') > 3) {
showMicrosec = true;
}

}

PMA_addDatepicker($editArea, {
showMillisec: showMillisec,
showMicrosec: showMicrosec,
timeFormat: timeFormat,
altField: $input_field,
showTimepicker: showTimeOption,
onSelect: function (dateText, inst) {
Expand All @@ -994,15 +1020,29 @@ function PMA_makegrid(t, enableResize, enableReorder, enableVisib, enableGridEdi
parseInt(current_datetime_value.substring(5, 7)) - 1,
parseInt(current_datetime_value.substring(8, 10))
);
if (current_datetime_value.match(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{6}$/)) {
if (current_datetime_value.match("^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}\\.\\d{"+ no_decimals +"}$")) {
var hour = current_datetime_value.substring(11, 13);
var min = current_datetime_value.substring(14, 16);
var sec = current_datetime_value.substring(17, 19);
var milli = current_datetime_value.substring(20, 23);
var micro = current_datetime_value.substring(23);

if (no_decimals > 3){
var milli = current_datetime_value.substring(20, 23);
var micro = current_datetime_value.substring(23);
for (var i = 0; i < 6-no_decimals ; i++) {
micro += "0";
}
}
if (no_decimals <= 3){
var milli = current_datetime_value.substring(20);
for (var i = 0; i < 3-no_decimals ; i++) {
milli += "0";
}
var micro = "000";
}

date.setHours(hour, min, sec, milli);
date.setMicroseconds(micro);
}
}
$editArea.datetimepicker('setDate', date);
}
$editArea.append('<div class="cell_edit_hint">' + g.cellEditHint + '</div>');
Expand Down
9 changes: 5 additions & 4 deletions libraries/DisplayResults.class.php
Expand Up @@ -3945,9 +3945,10 @@ private function _getDataCellForNonNumericAndNonBlobColumns(
);
$formatted = true;
}
} elseif ((substr($meta->type, 0, 9) == self::TIMESTAMP_FIELD)
|| ($meta->type == self::DATETIME_FIELD)
|| ($meta->type == self::TIME_FIELD)
} elseif (((substr($meta->type, 0, 9) == self::TIMESTAMP_FIELD)
|| ($meta->type == self::DATETIME_FIELD)
|| ($meta->type == self::TIME_FIELD)
|| ($meta->type == self::TIME_FIELD)) && (strpos ($column,"." ) === TRUE)
) {
$column = PMA_Util::addMicroseconds($column);
}
Expand Down Expand Up @@ -5523,7 +5524,7 @@ private function _getRowData(

$relational_display = $_SESSION['tmpval']['relational_display'];
$printview = $this->__get('printview');
$result = '<td class="'
$result = '<td data-decimals="'.$meta->decimals.'" data-type="'.$meta->type.'" class="'
. $this->_addClass(
$class, $condition_field, $meta, $nowrap,
$is_field_truncated, $transformation_plugin, $default_function
Expand Down

0 comments on commit d483b9f

Please sign in to comment.