diff --git a/js/config.js b/js/config.js index b4f44ddd8c..e551f531a8 100644 --- a/js/config.js +++ b/js/config.js @@ -333,9 +333,12 @@ function displayErrors(error_list) var errors = error_list[field_id]; var field = $('#' + field_id); var isFieldset = field.attr('tagName') == 'FIELDSET'; - var errorCnt = isFieldset - ? field.find('dl.errors') - : field.siblings('.inline_errors'); + var errorCnt; + if (isFieldset) { + errorCnt = field.find('dl.errors'); + } else { + errorCnt = field.siblings('.inline_errors'); + } // remove empty errors (used to clear error list) errors = $.grep(errors, function (item) { @@ -406,16 +409,19 @@ function validate_fieldset(fieldset, isKeyUp, errors) */ function validate_field(field, isKeyUp, errors) { + var args, result; field = $(field); var field_id = field.attr('id'); errors[field_id] = []; var functions = getFieldValidators(field_id, isKeyUp); for (var i = 0; i < functions.length; i++) { - var args = functions[i][1] !== null - ? functions[i][1].slice(0) - : []; + if (functions[i][1] !== null) { + args = functions[i][1].slice(0); + } else { + args = []; + } args.unshift(isKeyUp); - var result = functions[i][0].apply(field[0], args); + result = functions[i][0].apply(field[0], args); if (result !== true) { if (typeof result == 'string') { result = [result]; @@ -621,7 +627,7 @@ AJAX.registerOnload('config.js', function () { restoreField(field_sel.substr(1)); } else { field_sel = href.match(/^[^=]+/)[0]; - var value = href.match(/=(.+)$/)[1]; + var value = href.match(/\=(.+)$/)[1]; setFieldValue($(field_sel), 'text', value); } $(field_sel).trigger('change'); @@ -652,9 +658,12 @@ AJAX.registerOnload('config.js', function () { .add('#export_text_file, #import_text_file') .click(function () { var enable_id = $(this).attr('id'); - var disable_id = enable_id.match(/local_storage$/) - ? enable_id.replace(/local_storage$/, 'text_file') - : enable_id.replace(/text_file$/, 'local_storage'); + var disable_id; + if (enable_id.match(/local_storage$/)) { + disable_id = enable_id.replace(/local_storage$/, 'text_file'); + } else { + disable_id = enable_id.replace(/text_file$/, 'local_storage'); + } $('#opts_' + disable_id).addClass('disabled').find('input').prop('disabled', true); $('#opts_' + enable_id).removeClass('disabled').find('input').prop('disabled', false); }); @@ -753,11 +762,11 @@ function updatePrefsDate() */ function formatDate(d) { - return d.getFullYear() + '-' - + (d.getMonth() < 10 ? '0' + d.getMonth() : d.getMonth()) - + '-' + (d.getDate() < 10 ? '0' + d.getDate() : d.getDate()) - + ' ' + (d.getHours() < 10 ? '0' + d.getHours() : d.getHours()) - + ':' + (d.getMinutes() < 10 ? '0' + d.getMinutes() : d.getMinutes()); + return d.getFullYear() + '-' + + (d.getMonth() < 10 ? '0' + d.getMonth() : d.getMonth()) + + '-' + (d.getDate() < 10 ? '0' + d.getDate() : d.getDate()) + + ' ' + (d.getHours() < 10 ? '0' + d.getHours() : d.getHours()) + + ':' + (d.getMinutes() < 10 ? '0' + d.getMinutes() : d.getMinutes()); } /** diff --git a/js/db_structure.js b/js/db_structure.js index 565a4214ea..63d6f43ee6 100644 --- a/js/db_structure.js +++ b/js/db_structure.js @@ -57,6 +57,7 @@ function PMA_adjustTotals() { $allTr.each(function () { var $this = $(this); + var i, tmpVal; // Get the number of rows for this SQL table var strRows = $this.find('.tbl_rows').text(); // If the value is approximated @@ -65,7 +66,7 @@ function PMA_adjustTotals() { // The approximated value contains a preceding ~ and a following 2 (Eg 100 --> ~1002) strRows = strRows.substring(1, strRows.length - 1); } - strRows = strRows.replace(/[,.]/g , ''); + strRows = strRows.replace(/[,.]/g, ''); var intRow = parseInt(strRows, 10); if (! isNaN(intRow)) { rowsSum += intRow; @@ -79,16 +80,16 @@ function PMA_adjustTotals() { var strOverheadUnit = $.trim($this.find('.tbl_overhead span.unit').text()); // Given a value and a unit, such as 100 and KiB, for the table size // and overhead calculate their numeric values in bytes, such as 102400 - for (var i = 0; i < byteUnits.length; i++) { + for (i = 0; i < byteUnits.length; i++) { if (strSizeUnit == byteUnits[i]) { - var tmpVal = parseFloat(strSize); + tmpVal = parseFloat(strSize); valSize = tmpVal * Math.pow(1024, i); break; } } - for (var i = 0; i < byteUnits.length; i++) { + for (i = 0; i < byteUnits.length; i++) { if (strOverheadUnit == byteUnits[i]) { - var tmpVal = parseFloat(strOverhead); + tmpVal = parseFloat(strOverhead); valOverhead = tmpVal * Math.pow(1024, i); break; } @@ -196,9 +197,8 @@ AJAX.registerOnload('db_structure.js', function () { /** * @var question String containing the question to be asked for confirmation */ - var question = - PMA_messages.strTruncateTableStrongWarning + ' ' - + $.sprintf(PMA_messages.strDoYouReally, 'TRUNCATE ' + escapeHtml(curr_table_name)); + var question = PMA_messages.strTruncateTableStrongWarning + ' ' + + $.sprintf(PMA_messages.strDoYouReally, 'TRUNCATE ' + escapeHtml(curr_table_name)); $this_anchor.PMA_confirm(question, $this_anchor.attr('href'), function (url) { @@ -253,9 +253,8 @@ AJAX.registerOnload('db_structure.js', function () { */ var question; if (! is_view) { - question = - PMA_messages.strDropTableStrongWarning + ' ' - + $.sprintf(PMA_messages.strDoYouReally, 'DROP TABLE ' + escapeHtml(curr_table_name)); + question = PMA_messages.strDropTableStrongWarning + ' ' + + $.sprintf(PMA_messages.strDoYouReally, 'DROP TABLE ' + escapeHtml(curr_table_name)); } else { question = $.sprintf(PMA_messages.strDoYouReally, 'DROP VIEW ' + escapeHtml(curr_table_name)); diff --git a/js/pmd/history.js b/js/pmd/history.js index 6b1be194a9..24613021dd 100644 --- a/js/pmd/history.js +++ b/js/pmd/history.js @@ -27,6 +27,44 @@ function panel(index) }); } +/** + * To display details of obects(where,rename,Having,aggregate,groupby,orderby,having) + * + * @param index index of history_array where change is to be made + * +**/ + +function detail(index) +{ + var type = history_array[index].get_type(); + var str; + if (type == "Where") { + str = 'Where ' + history_array[index].get_column_name() + history_array[index].get_obj().getrelation_operator() + history_array[index].get_obj().getquery(); + } + if (type == "Rename") { + str = 'Rename ' + history_array[index].get_column_name() + ' To ' + history_array[index].get_obj().getrename_to(); + } + if (type == "Aggregate") { + str = 'Select ' + history_array[index].get_obj().get_operator() + '( ' + history_array[index].get_column_name() + ' )'; + } + if (type == "GroupBy") { + str = 'GroupBy ' + history_array[index].get_column_name(); + } + if (type == "OrderBy") { + str = 'OrderBy ' + history_array[index].get_column_name(); + } + if (type == "Having") { + str = 'Having '; + if (history_array[index].get_obj().get_operator() != 'None') { + str += history_array[index].get_obj().get_operator() + '( ' + history_array[index].get_column_name() + ' )'; + str += history_array[index].get_obj().getrelation_operator() + history_array[index].get_obj().getquery(); + } else { + str = 'Having ' + history_array[index].get_column_name() + history_array[index].get_obj().getrelation_operator() + history_array[index].get_obj().getquery(); + } + } + return str; +} + /** * Sorts history_array[] first,using table name as the key and then generates the HTML code for history tab, * clubbing all objects of same tables together @@ -40,11 +78,11 @@ function panel(index) function display(init, finit) { - var str, i, j, k, sto; + var str, i, j, k, sto, temp; // this part sorts the history array based on table name,this is needed for clubbing all object of same name together. for (i = init; i < finit; i++) { sto = history_array[i]; - var temp = history_array[i].get_tab();//+ '.' + history_array[i].get_obj_no(); for Self JOINS + temp = history_array[i].get_tab();//+ '.' + history_array[i].get_obj_no(); for Self JOINS for (j = 0; j < i; j++) { if (temp > (history_array[j].get_tab())) {//+ '.' + history_array[j].get_obj_no())) { //for Self JOINS for (k = i; k > j; k--) { @@ -57,8 +95,8 @@ function display(init, finit) } // this part generates HTML code for history tab.adds delete,edit,and/or and detail features with objects. str = ''; // string to store Html code for history tab - for (var i = 0; i < history_array.length; i++) { - var temp = history_array[i].get_tab(); //+ '.' + history_array[i].get_obj_no(); for Self JOIN + for (i = 0; i < history_array.length; i++) { + temp = history_array[i].get_tab(); //+ '.' + history_array[i].get_obj_no(); for Self JOIN str += '

' + temp + '

'; str += '
\n'; while ((history_array[i].get_tab()) == temp) { //+ '.' + history_array[i].get_obj_no()) == temp) { @@ -107,44 +145,6 @@ function and_or(index) panel(1); } -/** - * To display details of obects(where,rename,Having,aggregate,groupby,orderby,having) - * - * @param index index of history_array where change is to be made - * -**/ - -function detail(index) -{ - var type = history_array[index].get_type(); - var str; - if (type == "Where") { - str = 'Where ' + history_array[index].get_column_name() + history_array[index].get_obj().getrelation_operator() + history_array[index].get_obj().getquery(); - } - if (type == "Rename") { - str = 'Rename ' + history_array[index].get_column_name() + ' To ' + history_array[index].get_obj().getrename_to(); - } - if (type == "Aggregate") { - str = 'Select ' + history_array[index].get_obj().get_operator() + '( ' + history_array[index].get_column_name() + ' )'; - } - if (type == "GroupBy") { - str = 'GroupBy ' + history_array[index].get_column_name(); - } - if (type == "OrderBy") { - str = 'OrderBy ' + history_array[index].get_column_name(); - } - if (type == "Having") { - str = 'Having '; - if (history_array[index].get_obj().get_operator() != 'None') { - str += history_array[index].get_obj().get_operator() + '( ' + history_array[index].get_column_name() + ' )'; - str += history_array[index].get_obj().getrelation_operator() + history_array[index].get_obj().getquery(); - } else { - str = 'Having ' + history_array[index].get_column_name() + history_array[index].get_obj().getrelation_operator() + history_array[index].get_obj().getquery(); - } - } - return str; -} - /** * Deletes entry in history_array * @@ -431,10 +431,11 @@ var aggregate = function (noperator) { function unique(arrayName) { var newArray = []; - label: for (var i = 0; i < arrayName.length; i++) { +uniquetop: + for (var i = 0; i < arrayName.length; i++) { for (var j = 0; j < newArray.length; j++) { if (newArray[j] == arrayName[i]) { - continue label; + continue uniquetop; } } newArray[newArray.length] = arrayName[i]; @@ -460,149 +461,6 @@ function found(arrayName, value) return -1; } -/** - * This function is the main function for query building. - * uses history object details for this. - * - * @ uses query_where() - * @ uses query_groupby() - * @ uses query_having() - * @ uses query_orderby() - * - * @param formtitle title for the form - * @param fadin - */ - -function build_query(formtitle, fadin) -{ - var q_select = "SELECT "; - var temp; - for (var i = 0;i < select_field.length; i++) { - temp = check_aggregate(select_field[i]); - if (temp !== "") { - q_select += temp; - temp = check_rename(select_field[i]); - q_select += temp + ","; - } else { - temp = check_rename(select_field[i]); - q_select += select_field[i] + temp + ","; - } - } - q_select = q_select.substring(0, q_select.length - 1); - q_select += " FROM " + query_from(); - if (query_where() !== "") { - q_select += "\n WHERE"; - q_select += query_where(); - } - if (query_groupby() !== "") { q_select += "\nGROUP BY " + query_groupby(); } - if (query_having() !== "") { q_select += "\nHAVING " + query_having(); } - if (query_orderby() !== "") { q_select += "\nORDER BY " + query_orderby(); } - var box = document.getElementById('box'); - document.getElementById('filter').style.display = 'block'; - var btitle = document.getElementById('boxtitle'); - btitle.innerHTML = 'SELECT';//formtitle; - if (fadin) { - gradient("box", 0); - fadein("box"); - } else { - box.style.display = 'block'; - } - document.getElementById('textSqlquery').innerHTML = q_select; -} - /** - * This function builds from clause of query - * makes automatic joins. - * - * - */ - - -function query_from() -{ - var i; - var tab_left = []; - var tab_used = []; - var t_tab_used = []; - var t_tab_left = []; - var temp; - var query = ""; - var quer = ""; - var parts = []; - var t_array = []; - t_array = from_array; - var K = 0; - var k; - var key; - var key2; - var key3; - var parts1; - for (i = 0; i < history_array.length; i++) { - from_array.push(history_array[i].get_tab()); - } - from_array = unique(from_array); - tab_left = from_array; - temp = tab_left.shift(); - quer = temp; - tab_used.push(temp); - // if master table (key2) matches with tab used get all keys and check if tab_left matches - //after this check if master table (key2) matches with tab left then check if any foriegn matches with master . - for (i = 0; i < 2; i++) { - for (K in contr) { - for (key in contr[K]) {// contr name - for (key2 in contr[K][key]) {// table name - parts = key2.split("."); - if (found(tab_used, parts[1]) > 0) { - for (key3 in contr[K][key][key2]) { - parts1 = contr[K][key][key2][key3][0].split("."); - if (found(tab_left, parts1[1]) > 0) { - query += "\n" + 'LEFT JOIN '; - query += '`' + parts1[0] + '`.`' + parts1[1] + '` ON '; - query += '`' + parts[1] + '`.`' + key3 + '` = '; - query += '`' + parts1[1] + '`.`' + contr[K][key][key2][key3][1] + '` '; - t_tab_left.push(parts1[1]); - } - } - } - } - } - } - K = 0; - t_tab_left = unique(t_tab_left); - tab_used = add_array(t_tab_left, tab_used); - tab_left = remove_array(t_tab_left, tab_left); - t_tab_left = []; - for (K in contr) { - for (key in contr[K]) { - for (key2 in contr[K][key]) {// table name - parts = key2.split("."); - if (found(tab_left, parts[1]) > 0) { - for (key3 in contr[K][key][key2]) { - parts1 = contr[K][key][key2][key3][0].split("."); - if (found(tab_used, parts1[1]) > 0) { - query += "\n" + 'LEFT JOIN '; - query += '`' + parts[0] + '`.`' + parts[1] + '` ON '; - query += '`' + parts1[1] + '`.`' + contr[K][key][key2][key3][1] + '` = '; - query += '`' + parts[1] + '`.`' + key3 + '` '; - t_tab_left.push(parts[1]); - } - } - } - } - } - } - t_tab_left = unique(t_tab_left); - tab_used = add_array(t_tab_left, tab_used); - tab_left = remove_array(t_tab_left, tab_left); - t_tab_left = []; - } - for (k in tab_left) { - quer += " , `" + tab_left[k] + "`"; - } - query = quer + query; - from_array = t_array; - return query; -} - /** * This function concatenates two array * @@ -780,6 +638,148 @@ function fadein(id) } } + /** + * This function builds from clause of query + * makes automatic joins. + * + * + */ +function query_from() +{ + var i; + var tab_left = []; + var tab_used = []; + var t_tab_used = []; + var t_tab_left = []; + var temp; + var query = ""; + var quer = ""; + var parts = []; + var t_array = []; + t_array = from_array; + var K = 0; + var k; + var key; + var key2; + var key3; + var parts1; + for (i = 0; i < history_array.length; i++) { + from_array.push(history_array[i].get_tab()); + } + from_array = unique(from_array); + tab_left = from_array; + temp = tab_left.shift(); + quer = temp; + tab_used.push(temp); + // if master table (key2) matches with tab used get all keys and check if tab_left matches + //after this check if master table (key2) matches with tab left then check if any foriegn matches with master . + for (i = 0; i < 2; i++) { + for (K in contr) { + for (key in contr[K]) {// contr name + for (key2 in contr[K][key]) {// table name + parts = key2.split("."); + if (found(tab_used, parts[1]) > 0) { + for (key3 in contr[K][key][key2]) { + parts1 = contr[K][key][key2][key3][0].split("."); + if (found(tab_left, parts1[1]) > 0) { + query += "\n" + 'LEFT JOIN '; + query += '`' + parts1[0] + '`.`' + parts1[1] + '` ON '; + query += '`' + parts[1] + '`.`' + key3 + '` = '; + query += '`' + parts1[1] + '`.`' + contr[K][key][key2][key3][1] + '` '; + t_tab_left.push(parts1[1]); + } + } + } + } + } + } + K = 0; + t_tab_left = unique(t_tab_left); + tab_used = add_array(t_tab_left, tab_used); + tab_left = remove_array(t_tab_left, tab_left); + t_tab_left = []; + for (K in contr) { + for (key in contr[K]) { + for (key2 in contr[K][key]) {// table name + parts = key2.split("."); + if (found(tab_left, parts[1]) > 0) { + for (key3 in contr[K][key][key2]) { + parts1 = contr[K][key][key2][key3][0].split("."); + if (found(tab_used, parts1[1]) > 0) { + query += "\n" + 'LEFT JOIN '; + query += '`' + parts[0] + '`.`' + parts[1] + '` ON '; + query += '`' + parts1[1] + '`.`' + contr[K][key][key2][key3][1] + '` = '; + query += '`' + parts[1] + '`.`' + key3 + '` '; + t_tab_left.push(parts[1]); + } + } + } + } + } + } + t_tab_left = unique(t_tab_left); + tab_used = add_array(t_tab_left, tab_used); + tab_left = remove_array(t_tab_left, tab_left); + t_tab_left = []; + } + for (k in tab_left) { + quer += " , `" + tab_left[k] + "`"; + } + query = quer + query; + from_array = t_array; + return query; +} + +/** + * This function is the main function for query building. + * uses history object details for this. + * + * @ uses query_where() + * @ uses query_groupby() + * @ uses query_having() + * @ uses query_orderby() + * + * @param formtitle title for the form + * @param fadin + */ + +function build_query(formtitle, fadin) +{ + var q_select = "SELECT "; + var temp; + for (var i = 0;i < select_field.length; i++) { + temp = check_aggregate(select_field[i]); + if (temp !== "") { + q_select += temp; + temp = check_rename(select_field[i]); + q_select += temp + ","; + } else { + temp = check_rename(select_field[i]); + q_select += select_field[i] + temp + ","; + } + } + q_select = q_select.substring(0, q_select.length - 1); + q_select += " FROM " + query_from(); + if (query_where() !== "") { + q_select += "\n WHERE"; + q_select += query_where(); + } + if (query_groupby() !== "") { q_select += "\nGROUP BY " + query_groupby(); } + if (query_having() !== "") { q_select += "\nHAVING " + query_having(); } + if (query_orderby() !== "") { q_select += "\nORDER BY " + query_orderby(); } + var box = document.getElementById('box'); + document.getElementById('filter').style.display = 'block'; + var btitle = document.getElementById('boxtitle'); + btitle.innerHTML = 'SELECT';//formtitle; + if (fadin) { + gradient("box", 0); + fadein("box"); + } else { + box.style.display = 'block'; + } + document.getElementById('textSqlquery').innerHTML = q_select; +} + function closebox() { document.getElementById('box').style.display = 'none'; diff --git a/js/server_databases.js b/js/server_databases.js index 3bd6d51357..17dfb8e01b 100644 --- a/js/server_databases.js +++ b/js/server_databases.js @@ -53,15 +53,13 @@ AJAX.registerOnload('server_databases.js', function () { /** * @var question String containing the question to be asked for confirmation */ - var question = - PMA_messages.strDropDatabaseStrongWarning + ' ' - + $.sprintf(PMA_messages.strDoYouReally, selected_dbs.join('
')); + var question = PMA_messages.strDropDatabaseStrongWarning + ' ' + + $.sprintf(PMA_messages.strDoYouReally, selected_dbs.join('
')); $(this).PMA_confirm( question, - $form.prop('action') - + '?' + $(this).serialize() - + '&drop_selected_dbs=1&is_js_confirmed=1&ajax_request=true', + $form.prop('action') + '?' + $(this).serialize() + + '&drop_selected_dbs=1&is_js_confirmed=1&ajax_request=true', function (url) { PMA_ajaxShowMessage(PMA_messages.strProcessingRequest, false); diff --git a/js/server_status_monitor.js b/js/server_status_monitor.js index bf76f85eee..8b06bbb728 100644 --- a/js/server_status_monitor.js +++ b/js/server_status_monitor.js @@ -45,10 +45,10 @@ AJAX.registerOnload('server_status_monitor.js', function () { var $cnt = $(this); var pos = $cnt.offset(); // Hide if the mouseclick is outside the popupcontent - if (event.pageX < pos.left - || event.pageY < pos.top - || event.pageX > pos.left + $cnt.outerWidth() - || event.pageY > pos.top + $cnt.outerHeight() + if (event.pageX < pos.left || + event.pageY < pos.top || + event.pageX > pos.left + $cnt.outerWidth() || + event.pageY > pos.top + $cnt.outerHeight() ) { $cnt.hide().removeClass('openedPopup'); } @@ -827,15 +827,15 @@ AJAX.registerOnload('server_status_monitor.js', function () { if (logVars['slow_query_log'] == 'ON') { if (logVars['long_query_time'] > 2) { - str += PMA_getImage('s_attention.png') + ' ' - + $.sprintf(PMA_messages.strSmallerLongQueryTimeAdvice, logVars['long_query_time']) - + '
'; + str += PMA_getImage('s_attention.png') + ' '; + str += $.sprintf(PMA_messages.strSmallerLongQueryTimeAdvice, logVars['long_query_time']); + str += '
'; } if (logVars['long_query_time'] < 2) { - str += PMA_getImage('s_success.png') + ' ' - + $.sprintf(PMA_messages.strLongQueryTimeSet, logVars['long_query_time']) - + '
'; + str += PMA_getImage('s_success.png') + ' '; + str += $.sprintf(PMA_messages.strLongQueryTimeSet, logVars['long_query_time']); + str += '
'; } } @@ -851,28 +851,28 @@ AJAX.registerOnload('server_status_monitor.js', function () { varValue = 'FILE'; } - str += '- ' - + $.sprintf(PMA_messages.strSetLogOutput, varValue) - + '
'; + str += '- '; + str += $.sprintf(PMA_messages.strSetLogOutput, varValue); + str += '
'; if (logVars['general_log'] != 'ON') { - str += '- ' - + $.sprintf(PMA_messages.strEnableVar, 'general_log') - + '
'; + str += '- '; + str += $.sprintf(PMA_messages.strEnableVar, 'general_log'); + str += '
'; } else { - str += '- ' - + $.sprintf(PMA_messages.strDisableVar, 'general_log') - + '
'; + str += '- '; + str += $.sprintf(PMA_messages.strDisableVar, 'general_log'); + str += '
'; } if (logVars['slow_query_log'] != 'ON') { - str += '- ' - + $.sprintf(PMA_messages.strEnableVar, 'slow_query_log') - + '
'; + str += '- '; + str += $.sprintf(PMA_messages.strEnableVar, 'slow_query_log'); + str += '
'; } else { - str += '- ' - + $.sprintf(PMA_messages.strDisableVar, 'slow_query_log') - + '
'; + str += '- '; + str += $.sprintf(PMA_messages.strDisableVar, 'slow_query_log'); + str += '
'; } varValue = 5; @@ -880,9 +880,9 @@ AJAX.registerOnload('server_status_monitor.js', function () { varValue = 1; } - str += '- ' - + $.sprintf(PMA_messages.setSetLongQueryTime, varValue) - + '
'; + str += '- '; + str += $.sprintf(PMA_messages.setSetLongQueryTime, varValue); + str += '
'; } else { str += PMA_messages.strNoSuperUser + '
'; @@ -1027,6 +1027,8 @@ AJAX.registerOnload('server_status_monitor.js', function () { /* Initializes the monitor, called only once */ function initGrid() { + var i; + /* Apply default values & config */ if (window.localStorage) { if (window.localStorage['monitorCharts']) { @@ -1074,10 +1076,10 @@ AJAX.registerOnload('server_status_monitor.js', function () { /* Calculate how much spacing there is between each chart */ $('#chartGrid').html(''); chartSpacing = { - width: $('#chartGrid td:nth-child(2)').offset().left - - $('#chartGrid td:nth-child(1)').offset().left, - height: $('#chartGrid tr:nth-child(2) td:nth-child(2)').offset().top - - $('#chartGrid tr:nth-child(1) td:nth-child(1)').offset().top + width: $('#chartGrid td:nth-child(2)').offset().left - + $('#chartGrid td:nth-child(1)').offset().left, + height: $('#chartGrid tr:nth-child(2) td:nth-child(2)').offset().top - + $('#chartGrid tr:nth-child(1) td:nth-child(1)').offset().top }; $('#chartGrid').html(''); @@ -1087,14 +1089,14 @@ AJAX.registerOnload('server_status_monitor.js', function () { keys.push(key); }); keys.sort(); - for (var i = 0; i < keys.length; i++) { + for (i = 0; i < keys.length; i++) { addChart(runtime.charts[keys[i]], true); } /* Fill in missing cells */ var numCharts = $('#chartGrid .monitorChart').length; var numMissingCells = (monitorSettings.columns - numCharts % monitorSettings.columns) % monitorSettings.columns; - for (var i = 0; i < numMissingCells; i++) { + for (i = 0; i < numMissingCells; i++) { $('#chartGrid tr:last').append(''); } @@ -1147,6 +1149,7 @@ AJAX.registerOnload('server_status_monitor.js', function () { /* Adds a chart to the chart grid */ function addChart(chartObj, initialize) { + var i; var settings = { title: escapeHtml(chartObj.title), grid: { @@ -1218,25 +1221,27 @@ AJAX.registerOnload('server_status_monitor.js', function () { for (i in chartObj.series) { series.push([[0, 0]]); } - + // set Tooltip for each series - for(i in settings.series) { + for (i in settings.series) { settings.series[i].highlighter = { show: true, tooltipContentEditor: function (str, seriesIndex, pointIndex, plot) { - var tooltipHtml = '
'; + var j; + // TODO: move style to theme CSS + var tooltipHtml = '
'; // x value i.e. time var timeValue = str.split(",")[0]; + var seriesValue; tooltipHtml += 'Time: ' + timeValue; tooltipHtml += ''; // Add y values to the tooltip per series for (j in plot.series) { // get y value if present if (plot.series[j].data.length > pointIndex) { - var seriesValue = plot.series[j].data[pointIndex][1]; - } - else { + seriesValue = plot.series[j].data[pointIndex][1]; + } else { return; } var seriesLabel = plot.series[j].label; @@ -1249,8 +1254,8 @@ AJAX.registerOnload('server_status_monitor.js', function () { // using format string seriesValue = $.sprintf(plot.series[0]._yaxis.tickOptions.formatString, seriesValue); } - tooltipHtml += '
' - + seriesLabel + ': ' + seriesValue + ''; + tooltipHtml += '
' + + seriesLabel + ': ' + seriesValue + ''; } tooltipHtml += '
'; return tooltipHtml; @@ -1265,7 +1270,7 @@ AJAX.registerOnload('server_status_monitor.js', function () { } var $legend = $('
').css('padding', '0.5em'); - for (var i in chartObj.chart.series) { + for (i in chartObj.chart.series) { $legend.append( $('
').append( $('
').css({ @@ -1729,6 +1734,7 @@ AJAX.registerOnload('server_status_monitor.js', function () { }, function (data) { var logData; + var dlgBtns = {}; if (data.success === true) { logData = data.message; } else { @@ -1778,7 +1784,6 @@ AJAX.registerOnload('server_status_monitor.js', function () { } - var dlgBtns = {}; dlgBtns[PMA_messages.strJumpToTable] = function () { $(this).dialog("close"); $(document).scrollTop($('#logTable').offset().top); @@ -1790,7 +1795,6 @@ AJAX.registerOnload('server_status_monitor.js', function () { $('#emptyDialog').dialog({title: PMA_messages.strNoDataFoundTitle}); $('#emptyDialog').html('

' + PMA_messages.strNoDataFound + '

'); - var dlgBtns = {}; dlgBtns[PMA_messages.strClose] = function () { $(this).dialog("close"); }; @@ -2116,6 +2120,7 @@ AJAX.registerOnload('server_status_monitor.js', function () { query: codemirror_editor ? codemirror_editor.getValue() : $('#sqlquery').val(), database: db }, function (data) { + var i; if (data.success === true) { data = data.message; } else { @@ -2130,7 +2135,7 @@ AJAX.registerOnload('server_status_monitor.js', function () { var explain = '' + PMA_messages.strExplainOutput + ' ' + $('#explain_docu').html(); if (data.explain.length > 1) { explain += ' ('; - for (var i = 0; i < data.explain.length; i++) { + for (i = 0; i < data.explain.length; i++) { if (i > 0) { explain += ', '; } @@ -2139,7 +2144,7 @@ AJAX.registerOnload('server_status_monitor.js', function () { explain += ')'; } explain += '

'; - for (var i = 0, l = data.explain.length; i < l; i++) { + for (i = 0, l = data.explain.length; i < l; i++) { explain += '
0 ? 'style="display:none;"' : '') + '>'; $.each(data.explain[i], function (key, value) { value = (value === null) ? 'null' : value; @@ -2171,7 +2176,7 @@ AJAX.registerOnload('server_status_monitor.js', function () { var duration; var otherTime = 0; - for (var i = 0, l = data.profiling.length; i < l; i++) { + for (i = 0, l = data.profiling.length; i < l; i++) { duration = parseFloat(data.profiling[i].duration); totalTime += duration; @@ -2180,7 +2185,7 @@ AJAX.registerOnload('server_status_monitor.js', function () { } // Only put those values in the pie which are > 2% - for (var i = 0, l = data.profiling.length; i < l; i++) { + for (i = 0, l = data.profiling.length; i < l; i++) { duration = parseFloat(data.profiling[i].duration); if (duration / totalTime > 0.02) {