diff --git a/js/sql.js b/js/sql.js
index e2199cd06..b5cacea7a 100644
--- a/js/sql.js
+++ b/js/sql.js
@@ -102,16 +102,67 @@ $(document).ready(function() {
if(disp_mode == 'vertical') {
var this_row_index = $(this).index();
var input_siblings = $(this).parents('tbody').find('tr').find('.data_inline_edit:nth('+this_row_index+')');
+ var where_clause = $(this).parents('tbody').find('tr').find('.where_clause:nth('+this_row_index+')').val();
}
else {
var input_siblings = $(this).parent('tr').find('.data_inline_edit');
+ var where_clause = $(this).parent('tr').find('.where_clause').val();
+ }
+
+ if($(this).is('.nonunique')) {
+ var nonunique = true;
+ }
+ else {
+ var nonunique = false;
}
$(input_siblings).each(function() {
var data_value = $(this).html();
if($(this).is(':not(.truncated, .transformed, .relation)')) {
- $(this).html('');
+ //handle non-truncated, non-transformed, non-relation values
+ $(this).html('')
+ .append(''+data_value+'');
+ $(".original_data").hide();
+ }
+ else if($(this).not('.transformed').is('.truncated')) {
+ //handle truncated values
+
+ if(disp_mode == 'vertical') {
+ var this_field = $(this);
+ var field_name = $(this).siblings('th').text();
+ field_name = $.trim(field_name);
+
+ var sql_query = 'SELECT ' + field_name + ' FROM ' + window.parent.table + ' WHERE ' + where_clause;
+
+ $.post('sql.php', {
+ 'token' : window.parent.token,
+ 'db' : window.parent.db,
+ 'ajax_request' : true,
+ 'sql_query' : sql_query,
+ 'inline_edit' : true
+ }, function(data) {
+ if(data.success == true) {
+ $(this_field).html('')
+ .append(''+data_value+'');
+ $(".original_data").hide();
+ }
+ else {
+ PMA_ajaxShowMessage(data.error);
+ }
+ })
+ }
+ else {
+ alert('where clause '+where_clause);
+ //var field_name = $(this).parents('table').find('thead').find('th:nth('+this_row_index+')').html();
+ //alert(field_name);
+ }
+ }
+ else if($(this).is('.transformed')) {
+ //handle transformed values
+ }
+ else if($(this).is('.relation')) {
+ //handle relations
}
})
})
@@ -130,9 +181,9 @@ $(document).ready(function() {
}
$(input_siblings).each(function() {
- var new_data_value = $(this).find('textarea').html();
+ var new_data_value = $(this).find('.original_data').html();
- if($(this).is(':not(.truncated, .transformed, .relation)')) {
+ if($(this).is(':not(.transformed, .relation)')) {
$(this).html(new_data_value);
}
})