Merge pull request #16491 from mauriciofauth/table-bootstrap

Convert tables CSS to the Bootstrap table style
This commit is contained in:
Maurício Meneghini Fauth 2020-11-30 23:50:00 -03:00 committed by GitHub
commit 6b334131fe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
59 changed files with 419 additions and 984 deletions

View File

@ -1114,9 +1114,9 @@ AJAX.registerOnload('functions.js', function () {
var checked = $this.prop('checked');
$checkbox.prop('checked', checked).trigger('change');
if (checked) {
$tr.addClass('marked');
$tr.addClass('marked table-active');
} else {
$tr.removeClass('marked');
$tr.removeClass('marked table-active');
}
lastClickChecked = checked;
@ -1140,7 +1140,7 @@ AJAX.registerOnload('functions.js', function () {
}
$tr.parent().find('tr:not(.noclick)')
.slice(start, end + 1)
.removeClass('marked')
.removeClass('marked table-active')
.find(':checkbox')
.prop('checked', false)
.trigger('change');
@ -1157,7 +1157,7 @@ AJAX.registerOnload('functions.js', function () {
}
$tr.parent().find('tr:not(.noclick)')
.slice(start, end + 1)
.addClass('marked')
.addClass('marked table-active')
.find(':checkbox')
.prop('checked', true)
.trigger('change');
@ -4734,7 +4734,7 @@ $(document).on('change', checkboxesSel, Functions.checkboxesChanged);
$(document).on('change', 'input.checkall_box', function () {
var isChecked = $(this).is(':checked');
$(this.form).find(checkboxesSel).not('.row-hidden').prop('checked', isChecked)
.parents('tr').toggleClass('marked', isChecked);
.parents('tr').toggleClass('marked table-active', isChecked);
});
$(document).on('click', '.checkall-filter', function () {

View File

@ -167,7 +167,7 @@ AJAX.registerOnload('server/privileges.js', function () {
$(this).remove();
// If this is the last user with this_user_initial, remove the link from #initials_table
if ($('#tableuserrights').find('input:checkbox[value^="' + thisUserInitial + '"], input:checkbox[value^="' + thisUserInitial.toLowerCase() + '"]').length === 0) {
if ($('#userRightsTable').find('input:checkbox[value^="' + thisUserInitial + '"], input:checkbox[value^="' + thisUserInitial.toLowerCase() + '"]').length === 0) {
$('#initials_table').find('td > a:contains(' + thisUserInitial + ')').parent('td').html(thisUserInitial);
}

View File

@ -5,7 +5,7 @@ function initTableSorter (tabid) {
var opts;
switch (tabid) {
case 'statustabs_queries':
$table = $('#serverstatusqueriesdetails');
$table = $('#serverStatusQueriesDetails');
opts = {
sortList: [[3, 1]],
headers: {

View File

@ -34,10 +34,11 @@ AJAX.registerOnload('server/status/variables.js', function () {
$('#dontFormat').on('change', function () {
// Hiding the table while changing values speeds up the process a lot
$('#serverstatusvariables').hide();
$('#serverstatusvariables').find('td.value span.original').toggle(this.checked);
$('#serverstatusvariables').find('td.value span.formatted').toggle(! this.checked);
$('#serverstatusvariables').show();
const serverStatusVariables = $('#serverStatusVariables');
serverStatusVariables.hide();
serverStatusVariables.find('td.value span.original').toggle(this.checked);
serverStatusVariables.find('td.value span.formatted').toggle(! this.checked);
serverStatusVariables.show();
}).trigger('change');
$('#filterText').on('keyup', function () {
@ -85,7 +86,7 @@ AJAX.registerOnload('server/status/variables.js', function () {
$('#linkSuggestions').css('display', 'none');
}
$('#serverstatusvariables').find('th.name').each(function () {
$('#serverStatusVariables').find('th.name').each(function () {
if ((textFilter === null || textFilter.exec($(this).text())) &&
(! alertFilter || $(this).next().find('span.attention').length > 0) &&
(categoryFilter.length === 0 || $(this).parent().hasClass('s_' + categoryFilter))

View File

@ -83,7 +83,7 @@ AJAX.registerOnload('server/variables.js', function () {
var $editor = $('<div></div>', { 'class': 'serverVariableEditor' })
.append(
$('<div></div>').append(
$('<input>', { type: 'text' }).val(data.message)
$('<input>', { type: 'text', 'class': 'form-control form-control-sm' }).val(data.message)
)
);
// Save and replace content

View File

@ -839,7 +839,7 @@ class Routines
$retval .= Url::getHiddenInputs($db) . "\n";
$retval .= "<fieldset>\n";
$retval .= '<legend>' . __('Details') . "</legend>\n";
$retval .= "<table class='pma-table rte_table'>\n";
$retval .= '<table class="rte_table table table-borderless table-sm">' . "\n";
$retval .= "<tr>\n";
$retval .= ' <td>' . __('Routine name') . "</td>\n";
$retval .= " <td><input type='text' name='item_name' maxlength='64'\n";
@ -869,7 +869,7 @@ class Routines
$retval .= ' <td>' . __('Parameters') . "</td>\n";
$retval .= " <td>\n";
// parameter handling start
$retval .= " <table class='pma-table routine_params_table'>\n";
$retval .= " <table class='routine_params_table table table-borderless table-sm'>\n";
$retval .= " <thead>\n";
$retval .= " <tr>\n";
$retval .= " <td></td>\n";

View File

@ -387,7 +387,7 @@ class Triggers
$retval .= Url::getHiddenInputs($db, $table) . "\n";
$retval .= "<fieldset>\n";
$retval .= '<legend>' . __('Details') . "</legend>\n";
$retval .= "<table class='pma-table rte_table'>\n";
$retval .= "<table class='rte_table table table-borderless table-sm'>\n";
$retval .= "<tr>\n";
$retval .= ' <td>' . __('Trigger name') . "</td>\n";
$retval .= " <td><input type='text' name='item_name' maxlength='64'\n";

View File

@ -131,15 +131,14 @@ class Innodb extends StorageEngine
. ' OR Variable_name = \'Innodb_page_size\';';
$status = $dbi->fetchResult($sql, 0, 1);
$output = '<table class="pma-table data" id="table_innodb_bufferpool_usage">' . "\n"
. ' <caption class="tblHeaders">' . "\n"
$output = '<table class="table table-light table-striped table-hover w-auto float-left">' . "\n"
. ' <caption>' . "\n"
. ' ' . __('Buffer Pool Usage') . "\n"
. ' </caption>' . "\n"
. ' <tfoot>' . "\n"
. ' <tfoot class="thead-light">' . "\n"
. ' <tr>' . "\n"
. ' <th colspan="2">' . "\n"
. ' ' . __('Total') . "\n"
. ' : '
. ' ' . __('Total:') . ' '
. Util::formatNumber(
$status['Innodb_buffer_pool_pages_total'],
0
@ -158,8 +157,8 @@ class Innodb extends StorageEngine
. ' </tfoot>' . "\n"
. ' <tbody>' . "\n"
. ' <tr>' . "\n"
. ' <th>' . __('Free pages') . '</th>' . "\n"
. ' <td class="value">'
. ' <th scope="row">' . __('Free pages') . '</th>' . "\n"
. ' <td class="text-monospace text-right">'
. Util::formatNumber(
$status['Innodb_buffer_pool_pages_free'],
0
@ -167,8 +166,8 @@ class Innodb extends StorageEngine
. '</td>' . "\n"
. ' </tr>' . "\n"
. ' <tr>' . "\n"
. ' <th>' . __('Dirty pages') . '</th>' . "\n"
. ' <td class="value">'
. ' <th scope="row">' . __('Dirty pages') . '</th>' . "\n"
. ' <td class="text-monospace text-right">'
. Util::formatNumber(
$status['Innodb_buffer_pool_pages_dirty'],
0
@ -176,8 +175,8 @@ class Innodb extends StorageEngine
. '</td>' . "\n"
. ' </tr>' . "\n"
. ' <tr>' . "\n"
. ' <th>' . __('Pages containing data') . '</th>' . "\n"
. ' <td class="value">'
. ' <th scope="row">' . __('Pages containing data') . '</th>' . "\n"
. ' <td class="text-monospace text-right">'
. Util::formatNumber(
$status['Innodb_buffer_pool_pages_data'],
0
@ -185,8 +184,8 @@ class Innodb extends StorageEngine
. '</td>' . "\n"
. ' </tr>' . "\n"
. ' <tr>' . "\n"
. ' <th>' . __('Pages to be flushed') . '</th>' . "\n"
. ' <td class="value">'
. ' <th scope="row">' . __('Pages to be flushed') . '</th>' . "\n"
. ' <td class="text-monospace text-right">'
. Util::formatNumber(
$status['Innodb_buffer_pool_pages_flushed'],
0
@ -194,8 +193,8 @@ class Innodb extends StorageEngine
. '</td>' . "\n"
. ' </tr>' . "\n"
. ' <tr>' . "\n"
. ' <th>' . __('Busy pages') . '</th>' . "\n"
. ' <td class="value">'
. ' <th scope="row">' . __('Busy pages') . '</th>' . "\n"
. ' <td class="text-monospace text-right">'
. Util::formatNumber(
$status['Innodb_buffer_pool_pages_misc'],
0
@ -206,8 +205,8 @@ class Innodb extends StorageEngine
// not present at least since MySQL 5.1.40
if (isset($status['Innodb_buffer_pool_pages_latched'])) {
$output .= ' <tr>'
. ' <th>' . __('Latched pages') . '</th>'
. ' <td class="value">'
. ' <th scope="row">' . __('Latched pages') . '</th>'
. ' <td class="text-monospace text-right">'
. Util::formatNumber(
$status['Innodb_buffer_pool_pages_latched'],
0
@ -218,14 +217,14 @@ class Innodb extends StorageEngine
$output .= ' </tbody>' . "\n"
. '</table>' . "\n\n"
. '<table class="pma-table data" id="table_innodb_bufferpool_activity">' . "\n"
. ' <caption class="tblHeaders">' . "\n"
. '<table class="table table-light table-striped table-hover w-auto ml-4 float-left">' . "\n"
. ' <caption>' . "\n"
. ' ' . __('Buffer Pool Activity') . "\n"
. ' </caption>' . "\n"
. ' <tbody>' . "\n"
. ' <tr>' . "\n"
. ' <th>' . __('Read requests') . '</th>' . "\n"
. ' <td class="value">'
. ' <th scope="row">' . __('Read requests') . '</th>' . "\n"
. ' <td class="text-monospace text-right">'
. Util::formatNumber(
$status['Innodb_buffer_pool_read_requests'],
0
@ -233,8 +232,8 @@ class Innodb extends StorageEngine
. '</td>' . "\n"
. ' </tr>' . "\n"
. ' <tr>' . "\n"
. ' <th>' . __('Write requests') . '</th>' . "\n"
. ' <td class="value">'
. ' <th scope="row">' . __('Write requests') . '</th>' . "\n"
. ' <td class="text-monospace text-right">'
. Util::formatNumber(
$status['Innodb_buffer_pool_write_requests'],
0
@ -242,8 +241,8 @@ class Innodb extends StorageEngine
. '</td>' . "\n"
. ' </tr>' . "\n"
. ' <tr>' . "\n"
. ' <th>' . __('Read misses') . '</th>' . "\n"
. ' <td class="value">'
. ' <th scope="row">' . __('Read misses') . '</th>' . "\n"
. ' <td class="text-monospace text-right">'
. Util::formatNumber(
$status['Innodb_buffer_pool_reads'],
0
@ -251,8 +250,8 @@ class Innodb extends StorageEngine
. '</td>' . "\n"
. ' </tr>' . "\n"
. ' <tr>' . "\n"
. ' <th>' . __('Write waits') . '</th>' . "\n"
. ' <td class="value">'
. ' <th scope="row">' . __('Write waits') . '</th>' . "\n"
. ' <td class="text-monospace text-right">'
. Util::formatNumber(
$status['Innodb_buffer_pool_wait_free'],
0
@ -260,8 +259,8 @@ class Innodb extends StorageEngine
. '</td>' . "\n"
. ' </tr>' . "\n"
. ' <tr>' . "\n"
. ' <th>' . __('Read misses in %') . '</th>' . "\n"
. ' <td class="value">'
. ' <th scope="row">' . __('Read misses in %') . '</th>' . "\n"
. ' <td class="text-monospace text-right">'
. ($status['Innodb_buffer_pool_read_requests'] == 0
? '---'
: htmlspecialchars(
@ -275,8 +274,8 @@ class Innodb extends StorageEngine
. '</td>' . "\n"
. ' </tr>' . "\n"
. ' <tr>' . "\n"
. ' <th>' . __('Write waits in %') . '</th>' . "\n"
. ' <td class="value">'
. ' <th scope="row">' . __('Write waits in %') . '</th>' . "\n"
. ' <td class="text-monospace text-right">'
. ($status['Innodb_buffer_pool_write_requests'] == 0
? '---'
: htmlspecialchars(

View File

@ -233,9 +233,9 @@ class StorageEngine
. "\n";
}
$ret .= ' </td>' . "\n"
. ' <th>' . htmlspecialchars($details['title']) . '</th>'
. ' <th scope="row">' . htmlspecialchars($details['title']) . '</th>'
. "\n"
. ' <td class="value">';
. ' <td class="text-monospace text-right">';
switch ($details['type']) {
case PMA_ENGINE_DETAILS_TYPE_SIZE:
$parsed_size = $this->resolveTypeSize($details['value']);
@ -262,7 +262,8 @@ class StorageEngine
. "\n"
. '</p>' . "\n";
} else {
$ret = '<table class="pma-table data">' . "\n" . $ret . '</table>' . "\n";
$ret = '<table class="table table-light table-striped table-hover w-auto">'
. "\n" . $ret . '</table>' . "\n";
}
return $ret;

View File

@ -7,12 +7,11 @@
method="post" action="{{ url('/database/central-columns') }}">
{{ get_hidden_inputs(db) }}
<input type="hidden" name="add_new_column" value="add_new_column">
<div class="responsivetable">
<table class="pma-table">
<thead>
<div class="table-responsive">
<table class="table table-light">
<thead class="thead-light">
<tr>
<th class=""></th>
<th class="hide"></th>
<th></th>
<th class="" title="" data-column="name">
{% trans 'Name' %}
<div class="sorticon"></div>
@ -45,6 +44,7 @@
{% trans 'A_I' %}
<div class="sorticon"></div>
</th>
<th></th>
</tr>
</thead>
<tbody>
@ -131,7 +131,7 @@
{% trans 'The central list of columns for the current database is empty' %}
</fieldset>
{% else %}
<table style="display:inline-block;max-width:49%" class="pma-table navigation nospacing nopadding">
<table class="table table-borderless table-sm w-auto d-inline-block navigation">
<tr>
<td class="navigation_separator"></td>
{% if pos - max_rows >= 0 %}
@ -172,8 +172,8 @@
</tr>
</table>
{% endif %}
{# getHtmlForAddColumn #}
<table class="pma-table central_columns_add_column navigation nospacing nopadding">
<table class="table table-borderless table-sm w-auto d-inline-block navigation">
<tr>
<td class="navigation_separator largescreenonly"></td>
<td class="central_columns_navigation">
@ -210,10 +210,10 @@
</form>
<div id="tableslistcontainer">
<form name="tableslistcontainer">
<table id="table_columns" class="pma-table tablesorter data">
<table id="table_columns" class="table table-light table-striped table-hover tablesorter">
{% set class = 'column_heading' %}
{% set title = 'Click to sort.' | trans %}
<thead>
<thead class="thead-light">
<tr>
<th class="{{ class }}"></th>
<th class="hide"></th>

View File

@ -7,7 +7,7 @@
<fieldset>
<legend>{% trans 'Details' %}</legend>
<table class="pma-table rte_table">
<table class="rte_table table table-borderless table-sm">
<tr>
<td>{% trans 'Details' %}</td>
<td>

View File

@ -11,7 +11,8 @@
{% trans 'There are no events to display.' %}
</div>
<table class="pma-table data{{ items is empty ? ' hide' }}">
<table class="table table-light table-striped table-hover{{ items is empty ? ' hide' }}">
<thead class="thead-light">
<tr>
<th></th>
<th>{% trans 'Name' %}</th>
@ -19,6 +20,8 @@
<th colspan="3">{% trans 'Action' %}</th>
<th>{% trans 'Type' %}</th>
</tr>
</thead>
<tbody>
<tr class="hide">{% for i in 0..6 %}<td></td>{% endfor %}</tr>
{% for event in items %}
@ -75,6 +78,7 @@
</td>
</tr>
{% endfor %}
</tbody>
</table>
{% if items is not empty %}

View File

@ -9,17 +9,17 @@
{{ 'Users having access to "%s"'|trans|format('<a href="' ~ database_url ~ get_common({'db': db}, '&') ~ '">' ~ db|escape('html') ~ '</a>')|raw }}
</legend>
<div class="responsivetable jsresponsive">
<table id="dbspecificuserrights" class="pma-table data">
<thead>
<div class="table-responsive jsresponsive">
<table class="table table-light table-striped table-hover">
<thead class="thead-light">
<tr>
<th></th>
<th>{% trans 'User name' %}</th>
<th>{% trans 'Host name' %}</th>
<th>{% trans 'Type' %}</th>
<th>{% trans 'Privileges' %}</th>
<th>{% trans 'Grant' %}</th>
<th colspan="2">{% trans 'Action' %}</th>
<th scope="col">{% trans 'User name' %}</th>
<th scope="col">{% trans 'Host name' %}</th>
<th scope="col">{% trans 'Type' %}</th>
<th scope="col">{% trans 'Privileges' %}</th>
<th scope="col">{% trans 'Grant' %}</th>
<th scope="col" colspan="2">{% trans 'Action' %}</th>
</tr>
</thead>
@ -27,18 +27,18 @@
{% for privilege in privileges %}
{% set privileges_amount = privilege.privileges|length %}
<tr>
<td{% if privileges_amount > 1 %} rowspan="{{ privileges_amount }}"{% endif %}>
<td{% if privileges_amount > 1 %} class="align-middle" rowspan="{{ privileges_amount }}"{% endif %}>
<input type="checkbox" class="checkall" name="selected_usr[]" id="checkbox_sel_users_{{ loop.index0 }}" value="
{{- privilege.user ~ '&amp;#27;' ~ privilege.host }}">
</td>
<td{% if privileges_amount > 1 %} rowspan="{{ privileges_amount }}"{% endif %}>
<td{% if privileges_amount > 1 %} class="align-middle" rowspan="{{ privileges_amount }}"{% endif %}>
{% if privilege.user is empty %}
<span class="text-danger">{% trans 'Any' %}</span>
{% else %}
{{ privilege.user }}
{% endif %}
</td>
<td{% if privileges_amount > 1 %} rowspan="{{ privileges_amount }}"{% endif %}>
<td{% if privileges_amount > 1 %} class="align-middle" rowspan="{{ privileges_amount }}"{% endif %}>
{{ privilege.host }}
</td>
{% for priv in privilege.privileges %}

View File

@ -1,26 +1,26 @@
<td class="value nowrap">
<table class="pma-table nospacing nopadding">
<table class="table table-borderless table-sm">
<tr>
<td class="value nowrap">
<td class="value nowrap p-0">
<small>{% trans 'Ins:' %}</small>
<input type="checkbox" name="criteriaRowInsert[{{ row_index }}]" aria-label="{% trans 'Insert' %}">
</td>
<td class="value">
<td class="value p-0">
<strong>{% trans 'And:' %}</strong>
</td>
<td>
<td class="p-0">
<input type="radio" name="criteriaAndOrRow[{{ row_index }}]" value="and"{{ checked_options.and ? ' checked' }} aria-label="{% trans 'And' %}">
</td>
</tr>
<tr>
<td class="value nowrap">
<td class="value nowrap p-0">
<small>{% trans 'Del:' %}</small>
<input type="checkbox" name="criteriaRowDelete[{{ row_index }}]" aria-label="{% trans 'Delete' %}">
</td>
<td class="value">
<td class="value p-0">
<strong>{% trans 'Or:' %}</strong>
</td>
<td>
<td class="p-0">
<input type="radio" name="criteriaAndOrRow[{{ row_index }}]" value="or"{{ checked_options.or ? ' checked' }} aria-label="{% trans 'Or' %}">
</td>
</tr>

View File

@ -6,8 +6,8 @@
{{ saved_searches_field|raw }}
<div class="responsivetable jsresponsive">
<table class="pma-table data w-100">
<div class="table-responsive jsresponsive">
<table class="table table-borderless table-sm">
<tr class="noclick">
<th>{% trans 'Column:' %}</th>
{{ column_names_row|raw }}

View File

@ -23,7 +23,8 @@
{% trans 'There are no routines to display.' %}
</div>
<table class="pma-table data{{ items is empty ? ' hide' }}">
<table class="table table-light table-striped table-hover{{ items is empty ? ' hide' }}">
<thead class="thead-light">
<tr>
<th></th>
<th>{% trans 'Name' %}</th>
@ -31,9 +32,12 @@
<th>{% trans 'Type' %}</th>
<th>{% trans 'Returns' %}</th>
</tr>
</thead>
<tbody>
<tr class="hide">{% for i in 0..7 %}<td></td>{% endfor %}</tr>
{{ rows|raw }}
</tbody>
</table>
{% if items is not empty %}

View File

@ -1,7 +1,7 @@
<tbody id="tbl_summary_row">
<tfoot id="tbl_summary_row" class="thead-light">
<tr>
<th class="print_ignore"></th>
<th class="tbl_num nowrap">
<th class="d-print-none"></th>
<th class="tbl_num text-nowrap">
{% set num_tables_trans -%}
{% trans %}%s table{% plural num_tables %}%s tables{% endtrans %}
{%- endset %}
@ -14,7 +14,7 @@
{% if num_favorite_tables == 0 %}
{% set sum_colspan = sum_colspan - 1 %}
{% endif %}
<th colspan="{{ sum_colspan }}" class="print_ignore">{% trans 'Sum' %}</th>
<th colspan="{{ sum_colspan }}" class="d-print-none">{% trans 'Sum' %}</th>
{% set row_count_sum = format_number(sum_entries, 0) %}
{# If a table shows approximate rows count, display update-all-real-count anchor. #}
{% set row_sum_url = [] %}
@ -34,7 +34,7 @@
{% else %}
{% set cell_text = row_count_sum %}
{% endif %}
<th class="value tbl_rows">{{ cell_text }}</th>
<th class="value tbl_rows text-monospace text-right">{{ cell_text }}</th>
{% if not (properties_num_columns > 1) %}
{# MySQL <= 5.5.2 #}
{% set default_engine = dbi.fetchValue('SELECT @@storage_engine;') %}
@ -60,12 +60,12 @@
{% set sum = format_byte_down(sum_size, 3, 1) %}
{% set sum_formatted = sum[0] %}
{% set sum_unit = sum[1] %}
<th class="value tbl_size">{{ sum_formatted }} {{ sum_unit }}</th>
<th class="value tbl_size text-monospace text-right">{{ sum_formatted }} {{ sum_unit }}</th>
{% set overhead = format_byte_down(overhead_size, 3, 1) %}
{% set overhead_formatted = overhead[0] %}
{% set overhead_unit = overhead[1] %}
<th class="value tbl_overhead">{{ overhead_formatted }} {{ overhead_unit }}</th>
<th class="value tbl_overhead text-monospace text-right">{{ overhead_formatted }} {{ overhead_unit }}</th>
{% endif %}
{% if show_charset %}
@ -75,19 +75,19 @@
<th></th>
{% endif %}
{% if show_creation %}
<th class="value tbl_creation">
<th class="value tbl_creation text-monospace text-right">
{{ create_time_all }}
</th>
{% endif %}
{% if show_last_update %}
<th class="value tbl_last_update">
<th class="value tbl_last_update text-monospace text-right">
{{ update_time_all }}
</th>
{% endif %}
{% if show_last_check %}
<th class="value tbl_last_check">
<th class="value tbl_last_check text-monospace text-right">
{{ check_time_all }}
</th>
{% endif %}
</tr>
</tbody>
</tfoot>

View File

@ -1,5 +1,5 @@
<tr id="row_tbl_{{ curr }}"{{ table_is_view ? ' class="is_view"' }} data-filter-row="{{ current_table['TABLE_NAME']|upper }}">
<td class="text-center print_ignore">
<td class="text-center d-print-none">
<input type="checkbox"
name="selected_tbl[]"
class="{{ input_class }}"
@ -21,7 +21,7 @@
{# Favorite table anchor #}
{% if num_favorite_tables > 0 %}
<td class="text-center print_ignore">
<td class="text-center d-print-none">
{# Check if current table is already in favorite list #}
{% set fav_params = {
'db': db,
@ -38,35 +38,35 @@
</td>
{% endif %}
<td class="text-center print_ignore">
<td class="text-center d-print-none">
<a href="{{ url('/sql', table_url_params|merge({'pos': 0})) }}">
{{ may_have_rows ? get_icon('b_browse', 'Browse'|trans) : get_icon('bd_browse', 'Browse'|trans) }}
</a>
</td>
<td class="text-center print_ignore">
<td class="text-center d-print-none">
<a href="{{ url('/table/structure', table_url_params) }}">
{{ get_icon('b_props', 'Structure'|trans) }}
</a>
</td>
<td class="text-center print_ignore">
<td class="text-center d-print-none">
<a href="{{ url('/table/search', table_url_params) }}">
{{ may_have_rows ? get_icon('b_select', 'Search'|trans) : get_icon('bd_select', 'Search'|trans) }}
</a>
</td>
{% if not db_is_system_schema %}
<td class="insert_table text-center print_ignore">
<td class="insert_table text-center d-print-none">
<a href="{{ url('/table/change', table_url_params) }}">{{ get_icon('b_insrow', 'Insert'|trans) }}</a>
</td>
{% if table_is_view %}
<td class="text-center print_ignore">
<td class="text-center d-print-none">
<a href="{{ url('/view/create', {
'db': db,
'table': current_table['TABLE_NAME']
}) }}">{{ get_icon('b_edit', 'Edit'|trans) }}</a>
</td>
{% else %}
<td class="text-center print_ignore">
<td class="text-center d-print-none">
<a class="truncate_table_anchor ajax" href="{{ url('/sql') }}" data-post="{{ get_common(table_url_params|merge({
'sql_query': empty_table_sql_query,
'message_to_show': empty_table_message_to_show
@ -75,7 +75,7 @@
</a>
</td>
{% endif %}
<td class="text-center print_ignore">
<td class="text-center d-print-none">
<a class="ajax drop_table_anchor
{{- table_is_view or current_table['ENGINE'] == null ? ' view' }}" href="{{ url('/sql') }}" data-post="
{{- get_common(table_url_params|merge({
@ -96,7 +96,7 @@
{# Content to be appended into 'tbl_rows' cell.
If row count is approximate, display it as an anchor to get real count. #}
<td class="value tbl_rows"
<td class="value tbl_rows text-monospace text-right"
data-table="{{ current_table['TABLE_NAME'] }}">
{% if approx_rows %}
<a href="{{ url('/database/structure/real-row-count', {
@ -130,12 +130,12 @@
{% endif %}
{% if is_show_stats %}
<td class="value tbl_size">
<td class="value tbl_size text-monospace text-right">
<a href="{{ url('/table/structure', table_url_params) }}#showusage">
<span>{{ formatted_size }}</span>&nbsp;<span class="unit">{{ unit }}</span>
</a>
</td>
<td class="value tbl_overhead">
<td class="value tbl_overhead text-monospace text-right">
{{ overhead|raw }}
</td>
{% endif %}
@ -163,32 +163,32 @@
{% endif %}
{% if show_creation %}
<td class="value tbl_creation">
<td class="value tbl_creation text-monospace text-right">
{{ create_time }}
</td>
{% endif %}
{% if show_last_update %}
<td class="value tbl_last_update">
<td class="value tbl_last_update text-monospace text-right">
{{ update_time }}
</td>
{% endif %}
{% if show_last_check %}
<td class="value tbl_last_check">
<td class="value tbl_last_check text-monospace text-right">
{{ check_time }}
</td>
{% endif %}
{% elseif table_is_view %}
<td class="value tbl_rows">-</td>
<td class="value tbl_rows text-monospace text-right">-</td>
<td class="nowrap">
{% trans 'View' %}
</td>
<td class="nowrap">---</td>
{% if is_show_stats %}
<td class="value tbl_size">-</td>
<td class="value tbl_overhead">-</td>
<td class="value tbl_size text-monospace text-right">-</td>
<td class="value tbl_overhead text-monospace text-right">-</td>
{% endif %}
{% if show_charset %}
<td></td>
@ -197,13 +197,13 @@
<td></td>
{% endif %}
{% if show_creation %}
<td class="value tbl_creation">-</td>
<td class="value tbl_creation text-monospace text-right">-</td>
{% endif %}
{% if show_last_update %}
<td class="value tbl_last_update">-</td>
<td class="value tbl_last_update text-monospace text-right">-</td>
{% endif %}
{% if show_last_check %}
<td class="value tbl_last_check">-</td>
<td class="value tbl_last_check text-monospace text-right">-</td>
{% endif %}
{% else %}

View File

@ -1,10 +1,10 @@
<form method="post" action="{{ url('/database/structure') }}" name="tablesForm" id="tablesForm">
{{ get_hidden_inputs(db) }}
<div class="responsivetable">
<table id="structureTable" class="pma-table data">
<thead>
<div class="table-responsive">
<table class="table table-light table-striped table-hover table-sm w-auto">
<thead class="thead-light">
<tr>
<th class="print_ignore"></th>
<th class="d-print-none"></th>
<th>{{ sortable_table_header('Table'|trans, 'table') }}</th>
{% if replication %}
<th>{% trans 'Replication' %}</th>
@ -18,7 +18,7 @@
{% if num_favorite_tables > 0 %}
{% set action_colspan = action_colspan + 1 %}
{% endif %}
<th colspan="{{ action_colspan }}" class="print_ignore">
<th colspan="{{ action_colspan }}" class="d-print-none">
{% trans 'Action' %}
</th>
{# larger values are more interesting so default sort order is DESC #}

View File

@ -6,8 +6,8 @@
<form method="post" action="{{ url('/database/tracking') }}" name="trackedForm"
id="trackedForm" class="ajax">
{{ get_hidden_inputs(db) }}
<table id="versions" class="pma-table data">
<thead>
<table id="versions" class="table table-light table-striped table-hover">
<thead class="thead-light">
<tr>
<th></th>
<th>{% trans 'Table' %}</th>
@ -147,8 +147,8 @@
<form method="post" action="{{ url('/database/tracking') }}" name="untrackedForm"
id="untrackedForm" class="ajax">
{{ get_hidden_inputs(db) }}
<table id="noversions" class="pma-table data">
<thead>
<table id="noversions" class="table table-light table-striped table-hover w-auto">
<thead class="thead-light">
<tr>
<th></th>
<th>{% trans 'Table' %}</th>

View File

@ -11,7 +11,8 @@
{% trans 'There are no triggers to display.' %}
</div>
<table class="pma-table data{{ items is empty ? ' hide' }}">
<table class="table table-light table-striped table-hover{{ items is empty ? ' hide' }}">
<thead class="thead-light">
<tr>
<th></th>
<th>{% trans 'Name' %}</th>
@ -22,9 +23,12 @@
<th>{% trans 'Time' %}</th>
<th>{% trans 'Event' %}</th>
</tr>
</thead>
<tbody>
<tr class="hide">{% for i in 0..(table is empty ? 7 : 6) %}<td></td>{% endfor %}</tr>
{{ rows|raw }}
</tbody>
</table>
{% if items is not empty %}

View File

@ -6,18 +6,18 @@
</h2>
</div>
<div id="div_mysql_charset_collations" class="row">
<table class="pma-table data noclick col">
<thead>
<div class="table-responsive">
<table class="table table-light table-striped table-hover table-sm">
<thead class="thead-light">
<tr>
<th id="collationHeader">{% trans 'Collation' %}</th>
<th>{% trans 'Description' %}</th>
<th scope="col">{% trans 'Collation' %}</th>
<th scope="col">{% trans 'Description' %}</th>
</tr>
</thead>
{% for charset in charsets %}
<tr>
<th colspan="2" class="right">
<th colspan="2" class="table-primary">
{{ charset.name }}
{% if charset.description is not empty %}
(<em>{{ charset.description }}</em>)
@ -25,8 +25,13 @@
</th>
</tr>
{% for collation in charset.collations %}
<tr{{ collation.is_default ? ' class="marked"' }}>
<td>{{ collation.name }}</td>
<tr{{ collation.is_default ? ' class="table-info"' }}>
<td>
{{ collation.name }}
{% if collation.is_default %}
<span class="sr-only">{% trans '(default)' %}</span>
{% endif %}
</td>
<td>{{ collation.description }}</td>
</tr>
{% endfor %}

View File

@ -94,7 +94,7 @@
<form class="ajax" action="{{ url('/server/databases') }}" method="post" name="dbStatsForm" id="dbStatsForm">
{{ get_hidden_inputs(url_params) }}
<div class="table-responsive row">
<table class="table table-striped table-hover">
<table class="table table-striped table-hover w-auto">
<thead class="thead-light">
<tr>
{% if is_drop_allowed %}

View File

@ -6,28 +6,28 @@
</h2>
</div>
<div class="row">
<table class="pma-table noclick">
<thead>
<tr>
<th>{% trans 'Storage Engine' %}</th>
<th>{% trans 'Description' %}</th>
</tr>
</thead>
<tbody>
{% for engine, details in engines %}
<tr class="
{{- details['Support'] == 'NO' or details['Support'] == 'DISABLED' ? ' disabled' }}
{{ details['Support'] == 'DEFAULT' ? ' marked' }}">
<td>
<a rel="newpage" href="{{ url('/server/engines/' ~ engine) }}">
{{ details['Engine'] }}
</a>
</td>
<td>{{ details['Comment'] }}</td>
<div class="table-responsive">
<table class="table table-light table-striped table-hover">
<thead class="thead-light">
<tr>
<th scope="col">{% trans 'Storage Engine' %}</th>
<th scope="col">{% trans 'Description' %}</th>
</tr>
{% endfor %}
</tbody>
</table>
</thead>
<tbody>
{% for engine, details in engines %}
<tr class="
{{- details['Support'] == 'NO' or details['Support'] == 'DISABLED' ? ' disabled' }}
{{ details['Support'] == 'DEFAULT' ? ' marked' }}">
<td>
<a rel="newpage" href="{{ url('/server/engines/' ~ engine) }}">
{{ details['Engine'] }}
</a>
</td>
<td>{{ details['Comment'] }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>

View File

@ -15,19 +15,19 @@
</div>
</div>
{% for type, list in plugins %}
<div class="responsivetable row">
<div class="col-12">
<table class="pma-table data_full_width" id="plugins-{{ clean_types[type] }}">
<caption class="tblHeaders">
<div class="row">
<div class="table-responsive col-12">
<table class="table table-light table-striped table-hover" id="plugins-{{ clean_types[type] }}">
<caption>
{{ type }}
</caption>
<thead>
<thead class="thead-light">
<tr>
<th>{% trans 'Plugin' %}</th>
<th>{% trans 'Description' %}</th>
<th>{% trans 'Version' %}</th>
<th>{% trans 'Author' %}</th>
<th>{% trans 'License' %}</th>
<th scope="col">{% trans 'Plugin' %}</th>
<th scope="col">{% trans 'Description' %}</th>
<th scope="col">{% trans 'Version' %}</th>
<th scope="col">{% trans 'Author' %}</th>
<th scope="col">{% trans 'License' %}</th>
</tr>
</thead>
<tbody>
@ -36,7 +36,7 @@
<th>
{{ plugin.name }}
{% if plugin.status != 'ACTIVE' %}
<small class="attention">
<span class="badge badge-danger">
{% if plugin.status == 'INACTIVE' %}
{% trans 'inactive' %}
{% elseif plugin.status == 'DISABLED' %}
@ -46,7 +46,7 @@
{% elseif plugin.status == 'DELETED' %}
{% trans 'deleted' %}
{% endif %}
</small>
</span>
{% endif %}
</th>
<td>{{ plugin.description }}</td>

View File

@ -8,7 +8,7 @@
<fieldset id="fieldset_change_password">
<legend{{ is_privileges ? ' data-submenu-label="Change password"' }}>{% trans 'Change password' %}</legend>
<table class="pma-table data noclick">
<table class="table table-borderless w-auto">
<tr>
<td colspan="2">
<input type="radio" name="nopass" value="1" id="nopass_1">

View File

@ -8,18 +8,18 @@
{{ legend }}
</legend>
<table class="pma-table data">
<thead>
<table class="table table-light table-striped table-hover">
<thead class="thead-light">
<tr>
<th>{{ type_label }}</th>
<th>{% trans 'Privileges' %}</th>
<th>{% trans 'Grant' %}</th>
<th scope="col">{{ type_label }}</th>
<th scope="col">{% trans 'Privileges' %}</th>
<th scope="col">{% trans 'Grant' %}</th>
{% if type == 'database' %}
<th>{% trans 'Table-specific privileges' %}</th>
<th scope="col">{% trans 'Table-specific privileges' %}</th>
{% elseif type == 'table' %}
<th>{% trans 'Column-specific privileges' %}</th>
<th scope="col">{% trans 'Column-specific privileges' %}</th>
{% endif %}
<th colspan="2">{% trans 'Action' %}</th>
<th scope="col" colspan="2">{% trans 'Action' %}</th>
</tr>
</thead>

View File

@ -1,22 +1,22 @@
<form name="usersForm" id="usersForm" action="{{ url('/server/privileges') }}" method="post">
{{ get_hidden_inputs() }}
<div class="responsivetable">
<table id="tableuserrights" class="pma-table data">
<thead>
<div class="table-responsive">
<table id="userRightsTable" class="table table-light table-striped table-hover">
<thead class="thead-light">
<tr>
<th></th>
<th>{% trans 'User name' %}</th>
<th>{% trans 'Host name' %}</th>
<th>{% trans 'Password' %}</th>
<th>
<th scope="col">{% trans 'User name' %}</th>
<th scope="col">{% trans 'Host name' %}</th>
<th scope="col">{% trans 'Password' %}</th>
<th scope="col">
{% trans 'Global privileges' %}
{{ show_hint('Note: MySQL privilege names are expressed in English.') }}
</th>
{% if menus_work %}
<th>{% trans 'User group' %}</th>
<th scope="col">{% trans 'User group' %}</th>
{% endif %}
<th>{% trans 'Grant' %}</th>
<th colspan="{{ user_group_count > 0 ? '3' : '2' }}">{% trans 'Action' %}</th>
<th scope="col">{% trans 'Grant' %}</th>
<th scope="col" colspan="{{ user_group_count > 0 ? '3' : '2' }}">{% trans 'Action' %}</th>
</tr>
</thead>

View File

@ -1,10 +1,10 @@
<div class="responsivetable row">
<table id="tableprocesslist" class="pma-table data clearfloat noclick sortable">
<thead>
<table id="tableprocesslist" class="table table-light table-striped table-hover sortable">
<thead class="thead-light">
<tr>
<th>{% trans 'Processes' %}</th>
{% for column in columns %}
<th>
<th scope="col">
<a href="{{ url('/server/status/processes') }}" data-post="{{ get_common(column.params) }}" class="sortlink">
{{ column.name }}
{% if column.is_sorted %}
@ -44,7 +44,7 @@
{% trans 'Kill' %}
</a>
</td>
<td class="value">{{ row.id }}</td>
<td class="text-monospace text-right">{{ row.id }}</td>
<td>{{ row.user }}</td>
<td>{{ row.host }}</td>
<td>
@ -55,7 +55,7 @@
{% endif %}
</td>
<td>{{ row.command }}</td>
<td class="value">{{ row.time }}</td>
<td class="text-monospace text-right">{{ row.time }}</td>
<td>{{ row.state }}</td>
<td>{{ row.progress }}</td>
<td>{{ row.info|raw }}</td>

View File

@ -26,28 +26,28 @@
</div>
<div class="row">
<table id="serverstatusqueriesdetails" class="pma-table w-100 data sortable noclick col-md-4 col-12 ">
<table id="serverStatusQueriesDetails" class="table table-light table-striped table-hover sortable col-md-4 col-12">
<colgroup>
<col class="namecol">
<col class="valuecol" span="3">
</colgroup>
<thead>
<thead class="thead-light">
<tr>
<th>{% trans 'Statements' %}</th>
<th>{% trans %}#{% notes %}# = Amount of queries{% endtrans %}</th>
<th {% trans 'per hour' %}</th>
<th>%</th>
<th scope="col">{% trans 'Statements' %}</th>
<th scope="col">{% trans %}#{% notes %}# = Amount of queries{% endtrans %}</th>
<th scope="col">{% trans 'ø per hour' %}</th>
<th scope="col">%</th>
</tr>
</thead>
<tbody>
{% for query in queries %}
<tr>
<th class="name">{{ query.name }}</th>
<td class="value">{{ format_number(query.value, 5, 0, true) }}</td>
<td class="value">{{ format_number(query.per_hour, 4, 1, true) }}</td>
<td class="value">{{ format_number(query.percentage, 0, 2) }}</td>
<th scope="row">{{ query.name }}</th>
<td class="text-monospace text-right">{{ format_number(query.value, 5, 0, true) }}</td>
<td class="text-monospace text-right">{{ format_number(query.per_hour, 4, 1, true) }}</td>
<td class="text-monospace text-right">{{ format_number(query.percentage, 0, 2) }}</td>
</tr>
{% endfor %}
</tbody>

View File

@ -7,46 +7,46 @@
<div class="row"><p>{{ 'This MySQL server has been running for %1$s. It started up on %2$s.'|trans|format(uptime, start_time) }}</p></div>
<div class="row justify-content-between">
<table id="serverstatustraffic" class="pma-table w-100 data noclick col-12 col-md-5">
<thead>
<table class="table table-light table-striped table-hover col-12 col-md-5">
<thead class="thead-light">
<tr>
<th>
<th scope="col">
{% trans 'Traffic' %}
{{ show_hint('On a busy server, the byte counters may overrun, so those statistics as reported by the MySQL server may be incorrect.'|trans) }}
</th>
<th>#</th>
<th>&oslash; {% trans 'per hour' %}</th>
<th scope="col">#</th>
<th scope="col">{% trans per hour' %}</th>
</tr>
</thead>
<tbody>
{% for each_traffic in traffic %}
<tr>
<th class="name">{{ each_traffic.name }}</th>
<td class="value">{{ each_traffic.number }}</td>
<td class="value">{{ each_traffic.per_hour }}</td>
<th scope="row">{{ each_traffic.name }}</th>
<td class="text-monospace text-right">{{ each_traffic.number }}</td>
<td class="text-monospace text-right">{{ each_traffic.per_hour }}</td>
</tr>
{% endfor %}
</tbody>
</table>
<table id="serverstatusconnections" class="pma-table w-100 data noclick col-12 col-md-6">
<thead>
<table class="table table-light table-striped table-hover col-12 col-md-6">
<thead class="thead-light">
<tr>
<th>{% trans 'Connections' %}</th>
<th>#</th>
<th>&oslash; {% trans 'per hour' %}</th>
<th>%</th>
<th scope="col">{% trans 'Connections' %}</th>
<th scope="col">#</th>
<th scope="col">{% trans per hour' %}</th>
<th scope="col">%</th>
</tr>
</thead>
<tbody>
{% for connection in connections %}
<tr>
<th class="name">{{ connection.name }}</th>
<td class="value">{{ connection.number }}</td>
<td class="value">{{ connection.per_hour }}</td>
<td class="value">{{ connection.percentage }}</td>
<th>{{ connection.name }}</th>
<td class="text-monospace text-right">{{ connection.number }}</td>
<td class="text-monospace text-right">{{ connection.per_hour }}</td>
<td class="text-monospace text-right">{{ connection.percentage }}</td>
</tr>
{% endfor %}
</tbody>

View File

@ -61,17 +61,17 @@
</div>
<div class="responsivetable row">
<table class="pma-table data noclick" id="serverstatusvariables">
<table class="table table-light table-striped table-hover table-sm" id="serverStatusVariables">
<colgroup>
<col class="namecol">
<col class="valuecol">
<col class="descrcol">
</colgroup>
<thead>
<thead class="thead-light">
<tr>
<th>{% trans 'Variable' %}</th>
<th>{% trans 'Value' %}</th>
<th>{% trans 'Description' %}</th>
<th scope="col">{% trans 'Variable' %}</th>
<th scope="col">{% trans 'Value' %}</th>
<th scope="col">{% trans 'Description' %}</th>
</tr>
</thead>
<tbody>
@ -82,7 +82,7 @@
{{ variable.doc|raw }}
</th>
<td class="value">
<td class="value text-monospace text-right">
<span class="formatted">
{% if variable.has_alert %}
<span class="{{ variable.is_alert ? 'attention' : 'allfine' }}">
@ -117,7 +117,7 @@
</span>
</td>
<td class="descr">
<td class="w-50">
{{ variable.description }}
{% for doc in variable.description_doc %}
{% if doc.name == 'doc' %}

View File

@ -2,22 +2,22 @@
{% if has_rows > 0 %}
<form name="userGroupsForm" id="userGroupsForm" action="{{ action|raw }}" method="post">
{{ hidden_inputs|raw }}
<table class="pma-table" id="userGroupsTable">
<thead>
<tr>
<th style="white-space: nowrap">
<table class="table table-light table-striped table-hover">
<thead class="thead-light">
<tr class="text-nowrap">
<th scope="col">
{% trans 'User groups' %}
</th>
<th>
<th scope="col">
{% trans 'Server level tabs' %}
</th>
<th>
<th scope="col">
{% trans 'Database level tabs' %}
</th>
<th>
<th scope="col">
{% trans 'Table level tabs' %}
</th>
<th>
<th scope="col">
{% trans 'Action' %}
</th>
</tr>
@ -29,7 +29,7 @@
<td>{{ groupName.serverTab }}</td>
<td>{{ groupName.dbTab }}</td>
<td>{{ groupName.tableTab }}</td>
<td>
<td class="text-nowrap">
<a class="" href="{{ groupName.userGroupUrl|raw }}" data-post="{{ groupName.viewUsersUrl|raw }}">{{ groupName.viewUsersIcon|raw }}</a>
&nbsp;&nbsp;
<a class="" href="{{ groupName.userGroupUrl|raw }}" data-post="{{ groupName.editUsersUrl|raw }}">{{ groupName.editUsersIcon|raw }}</a>

View File

@ -23,58 +23,56 @@
'filter_value': filter_value
} only %}
<div class="responsivetable row">
<div class="col-12">
<table id="serverVariables" class="pma-table w-100 data filteredData noclick">
<thead>
<tr class="var-header var-row">
<td class="var-action">{% trans 'Action' %}</td>
<td class="var-name">{% trans 'Variable' %}</td>
<td class="var-value">{% trans 'Value' %}</td>
<div class="table-responsive">
<table id="serverVariables" class="table table-light table-striped table-hover table-sm">
<thead class="thead-light">
<tr>
<th scope="col">{% trans 'Action' %}</th>
<th scope="col">{% trans 'Variable' %}</th>
<th scope="col" class="text-right">{% trans 'Value' %}</th>
</tr>
</thead>
<tbody>
{% for variable in variables %}
<tr class="var-row" data-filter-row="{{ variable.name|upper }}">
<td>
{% if variable.is_editable %}
<a href="#" data-variable="{{ variable.name }}" class="editLink">{{ get_icon('b_edit', 'Edit'|trans) }}</a>
{% else %}
<span title="{% trans 'This is a read-only variable and can not be edited' %}" class="read_only_var">
{{ get_icon('bd_edit', 'Edit'|trans) }}
</span>
{% endif %}
</td>
<td class="var-name font-weight-bold">
{% if variable.doc_link != null %}
<span title="{{ variable.name|replace({'_': ' '}) }}">
{{ variable.doc_link|raw }}
</span>
{% else %}
{{ variable.name|replace({'_': ' '}) }}
{% endif %}
</td>
<td class="var-value text-right text-monospace{{ is_superuser ? ' editable' }}">
{% if variable.is_escaped %}
{{ variable.value|raw }}
{% else %}
{{ variable.value|e|replace({',': ',&#8203;'})|raw }}
{% endif %}
</td>
</tr>
</thead>
<tbody>
{% for variable in variables %}
<tr class="var-row{{ variable.has_session_value ? ' diffSession' }}" data-filter-row="{{ variable.name|upper }}">
<td class="var-action">
{% if variable.is_editable %}
<a href="#" data-variable="{{ variable.name }}" class="editLink">{{ get_icon('b_edit', 'Edit'|trans) }}</a>
{% else %}
<span title="{% trans 'This is a read-only variable and can not be edited' %}" class="read_only_var">
{{ get_icon('bd_edit', 'Edit'|trans) }}
</span>
{% endif %}
</td>
<td class="var-name">
{% if variable.doc_link != null %}
<span title="{{ variable.name|replace({'_': ' '}) }}">
{{ variable.doc_link|raw }}
</span>
{% else %}
{{ variable.name|replace({'_': ' '}) }}
{% endif %}
</td>
<td class="var-value value{{ is_superuser ? ' editable' }}">
{% if variable.is_escaped %}
{{ variable.value|raw }}
{% else %}
{{ variable.value|e|replace({',': ',&#8203;'})|raw }}
{% endif %}
</td>
{% if variable.has_session_value %}
<tr class="var-row" data-filter-row="{{ variable.name|upper }}">
<td></td>
<td class="var-name font-italic">{{ variable.name|replace({'_': ' '}) }} ({% trans 'Session value' %})</td>
<td class="var-value text-right text-monospace">{{ variable.session_value }}</td>
</tr>
{% if variable.has_session_value %}
<tr class="var-row diffSession" data-filter-row="{{ variable.name|upper }}">
<td class="var-action"></td>
<td class="var-name session">({% trans 'Session value' %})</td>
<td class="var-value value">{{ variable.session_value }}</td>
</tr>
{% endif %}
{% endfor %}
</tbody>
</table>
</div>
{% endif %}
{% endfor %}
</tbody>
</table>
</div>
</div>

View File

@ -11,9 +11,9 @@
}, '&') ~ '">' ~ db|escape('html') ~ '.' ~ table|escape('html') ~ '</a>')|raw }}
</legend>
<div class="responsivetable jsresponsive">
<table id="tablespecificuserrights" class="pma-table data">
<thead>
<div class="table-responsive-md jsresponsive">
<table class="table table-light table-striped table-hover">
<thead class="thead-light">
<tr>
<th></th>
<th>{% trans 'User name' %}</th>
@ -29,18 +29,18 @@
{% for privilege in privileges %}
{% set privileges_amount = privilege.privileges|length %}
<tr>
<td{% if privileges_amount > 1 %} rowspan="{{ privileges_amount }}"{% endif %}>
<td{% if privileges_amount > 1 %} class="align-middle" rowspan="{{ privileges_amount }}"{% endif %}>
<input type="checkbox" class="checkall" name="selected_usr[]" id="checkbox_sel_users_{{ loop.index0 }}" value="
{{- privilege.user ~ '&amp;#27;' ~ privilege.host }}">
</td>
<td{% if privileges_amount > 1 %} rowspan="{{ privileges_amount }}"{% endif %}>
<td{% if privileges_amount > 1 %} class="align-middle" rowspan="{{ privileges_amount }}"{% endif %}>
{% if privilege.user is empty %}
<span class="text-danger">{% trans 'Any' %}</span>
{% else %}
{{ privilege.user }}
{% endif %}
</td>
<td{% if privileges_amount > 1 %} rowspan="{{ privileges_amount }}"{% endif %}>
<td{% if privileges_amount > 1 %} class="align-middle" rowspan="{{ privileges_amount }}"{% endif %}>
{{ privilege.host }}
</td>
{% for priv in privilege.privileges %}

View File

@ -7,9 +7,10 @@
{% if is_foreign_key_supported(tbl_storage_engine) %}
<fieldset>
<legend>{% trans 'Foreign key constraints' %}</legend>
<div class="responsivetable jsresponsive">
<table id="foreign_keys" class="pma-table relationalTable">
<thead><tr>
<div class="table-responsive-md jsresponsive">
<table class="relationalTable table table-light table-striped">
<thead class="thead-light">
<tr>
<th>{% trans 'Actions' %}</th>
<th>{% trans 'Constraint properties' %}</th>
{% if tbl_storage_engine|upper == 'INNODB' %}
@ -110,14 +111,19 @@
{% trans 'Internal relationships' %}
{{ show_docu('config', 'cfg_Servers_relation') }}
</legend>
<table id="internal_relations" class="pma-table relationalTable">
<tr>
<table class="relationalTable table table-light table-striped table-hover table-sm">
<thead class="thead-light">
<tr>
<th>{% trans 'Column' %}</th>
<th>{% trans 'Internal relation' %}
{% if is_foreign_key_supported(tbl_storage_engine) %}
{{ show_hint('An internal relation is not necessary when a corresponding FOREIGN KEY relation exists.'|trans) }}
{% endif %}
<th>
{% trans 'Internal relation' %}
{% if is_foreign_key_supported(tbl_storage_engine) %}
{{ show_hint('An internal relation is not necessary when a corresponding FOREIGN KEY relation exists.'|trans) }}
{% endif %}
</th>
</tr>
</thead>
<tbody>
{% set saved_row_cnt = save_row|length - 1 %}
{% for i in 0..saved_row_cnt %}
{% set myfield = save_row[i]['Field'] %}
@ -185,6 +191,7 @@
</td>
</tr>
{% endfor %}
</tbody>
</table>
</fieldset>
{% if is_foreign_key_supported(tbl_storage_engine) %}

View File

@ -28,9 +28,9 @@
<legend>
{% trans 'Do a "query by example" (wildcard: "%")' %}
</legend>
<div class="responsivetable jsresponsive">
<table class="pma-table data">
<thead>
<div class="table-responsive-md jsresponsive">
<table class="table table-light table-striped table-hover table-sm">
<thead class="thead-light">
<tr>
{% if geom_column_flag %}
<th>{% trans 'Function' %}</th>

View File

@ -17,8 +17,8 @@
<code>{{ sub_partition_method }}({{ sub_partition_expression }})</code>
<p>
{% endif %}
<table class="pma-table">
<thead>
<table class="table table-light table-striped table-hover table-sm">
<thead class="thead-light">
<tr>
<th colspan="2">#</th>
<th>{% trans 'Partition' %}</th>
@ -36,7 +36,7 @@
</thead>
<tbody>
{% for partition in partitions %}
<tr class="noclick{{ has_sub_partitions ? ' marked' }}">
<tr class="noclick{{ has_sub_partitions ? ' table-active' }}">
{% if has_sub_partitions %}
<td>{{ partition.getOrdinal() }}</td>
<td></td>

View File

@ -12,10 +12,10 @@
{%- else -%}
"table"
{%- endif %}>
<div class="responsivetable">
<table id="tablestructure" class="pma-table data topmargin">
<div class="table-responsive-md">
<table id="tablestructure" class="table table-light table-striped table-hover">
{# Table header #}
<thead>
<thead class="thead-light">
<tr>
<th class="print_ignore"></th>
<th>#</th>
@ -406,9 +406,9 @@
{% if indexes is not empty %}
{{ indexes_duplicates|raw }}
<div class="responsivetable jsresponsive">
<table class="pma-table" id="table_index">
<thead>
<div class="table-responsive jsresponsive">
<table class="table table-light table-striped table-hover table-sm" id="table_index">
<thead class="thead-light">
<tr>
<th colspan="3" class="print_ignore">{% trans 'Action' %}</th>
<th>{% trans 'Keyname' %}</th>

View File

@ -10,8 +10,8 @@
<a id="showusage"></a>
{% if not tbl_is_view and not db_is_system_schema %}
<table id="tablespaceusage" class="pma-table data">
<caption class="tblHeaders">{% trans 'Space usage' %}</caption>
<table class="table table-light table-striped table-hover table-sm w-auto">
<caption>{% trans 'Space usage' %}</caption>
<tbody>
<tr>
<th class="name">{% trans 'Data' %}</th>
@ -47,6 +47,7 @@
<td class="unit">{{ tot_unit }}</td>
</tr>
{% endif %}
</tbody>
{# Optimize link if overhead #}
{% if free_size is defined
@ -55,8 +56,9 @@
or tbl_storage_engine == 'MARIA'
or tbl_storage_engine == 'BDB')
or (tbl_storage_engine == 'INNODB' and innodb_file_per_table == true) %}
<tr class="tblFooters print_ignore">
<td colspan="3" class="center">
<tfoot class="thead-light">
<tr class="print_ignore">
<th colspan="3" class="center">
<a href="{{ url('/sql') }}" data-post="{{ get_common({
'db': db,
'table': table,
@ -65,17 +67,17 @@
}) }}">
{{ get_icon('b_tbloptimize', 'Optimize table'|trans) }}
</a>
</td>
</th>
</tr>
</tfoot>
{% endif %}
</tbody>
</table>
{% endif %}
{% set avg_size = avg_size is defined ? avg_size : null %}
{% set avg_unit = avg_unit is defined ? avg_unit : null %}
<table id="tablerowstats" class="pma-table data">
<caption class="tblHeaders">{% trans 'Row statistics' %}</caption>
<table class="table table-light table-striped table-hover table-sm w-auto">
<caption>{% trans 'Row statistics' %}</caption>
<tbody>
{% if showtable['Row_format'] is defined %}
<tr>

View File

@ -21,8 +21,8 @@
{% if last_version > 0 %}
<form method="post" action="{{ url('/table/tracking') }}" name="versionsForm" id="versionsForm" class="ajax">
{{ get_hidden_inputs(db, table) }}
<table id="versions" class="pma-table data">
<thead>
<table id="versions" class="table table-light table-striped table-hover table-sm">
<thead class="thead-light">
<tr>
<th></th>
<th>{% trans 'Version' %}</th>

View File

@ -1,5 +1,5 @@
<table id="{{ table_id }}" class="pma-table data">
<thead>
<table id="{{ table_id }}" class="table table-light table-striped table-hover">
<thead class="thead-light">
<tr>
<th>{% trans %}#{% context %}Number{% endtrans %}</th>
<th>{% trans 'Date' %}</th>

View File

@ -1,6 +1,6 @@
<h3>{% trans 'Structure' %}</h3>
<table id="tablestructure" class="pma-table data">
<thead>
<table id="tablestructure" class="table table-light table-striped table-hover">
<thead class="thead-light">
<tr>
<th>{% trans %}#{% context %}Number{% endtrans %}</th>
<th>{% trans 'Column' %}</th>

View File

@ -1,6 +1,6 @@
<h3>{% trans 'Indexes' %}</h3>
<table id="tablestructure_indexes" class="pma-table data">
<thead>
<table id="tablestructure_indexes" class="table table-light table-striped table-hover">
<thead class="thead-light">
<tr>
<th>{% trans 'Keyname' %}</th>
<th>{% trans 'Type' %}</th>

View File

@ -29,8 +29,8 @@
{% trans 'Do a "query by example" (wildcard: "%") for two different columns' %}
</legend>
<table class="pma-table data" id="tableFieldsId">
<thead>
<table class="table table-light table-striped table-hover table-sm" id="tableFieldsId">
<thead class="thead-light">
<tr>
{% if geom_column_flag %}
<th>{% trans 'Function' %}</th>
@ -52,9 +52,9 @@
{# After X-Axis and Y-Axis column rows, display additional criteria option #}
{% if i == 2 %}
<tr>
<td>
<th>
{% trans 'Additional search criteria' %}
</td>
</th>
</tr>
{% endif %}
<tr class="noclick">
@ -111,7 +111,7 @@
</tbody>
</table>
<table class="pma-table data">
<table class="table table-borderless table-sm w-auto">
<tr>
<td>
<label for="dataLabel">

View File

@ -19,6 +19,7 @@ class CollationsControllerTest extends AbstractTestCase
parent::setUp();
$GLOBALS['text_dir'] = 'ltr';
parent::setGlobalConfig();
parent::defineVersionConstants();
parent::setTheme();
$GLOBALS['PMA_Config']->enableBc();
@ -39,7 +40,7 @@ class CollationsControllerTest extends AbstractTestCase
$actual = $response->getHTMLResult();
$this->assertStringContainsString(
'<div id="div_mysql_charset_collations" class="row">',
'<table class="table table-light table-striped table-hover table-sm">',
$actual
);
$this->assertStringContainsString(
@ -55,9 +56,10 @@ class CollationsControllerTest extends AbstractTestCase
$actual
);
$this->assertStringContainsString(
'<td>utf8_general_ci</td>',
'utf8_general_ci',
$actual
);
$this->assertStringContainsString('<span class="sr-only">(default)</span>', $actual);
$this->assertStringContainsString(
'<td>Unicode, case-insensitive</td>',
$actual
@ -67,7 +69,7 @@ class CollationsControllerTest extends AbstractTestCase
$actual
);
$this->assertStringContainsString(
'<td>latin1_swedish_ci</td>',
'latin1_swedish_ci',
$actual
);
$this->assertStringContainsString(

View File

@ -22,6 +22,7 @@ class EnginesControllerTest extends AbstractTestCase
parent::setUp();
$GLOBALS['text_dir'] = 'ltr';
parent::setGlobalConfig();
parent::defineVersionConstants();
parent::setTheme();
$GLOBALS['PMA_Config']->enableBc();
@ -44,11 +45,11 @@ class EnginesControllerTest extends AbstractTestCase
$actual = $response->getHTMLResult();
$this->assertStringContainsString(
'<th>Storage Engine</th>',
'<th scope="col">Storage Engine</th>',
$actual
);
$this->assertStringContainsString(
'<th>Description</th>',
'<th scope="col">Description</th>',
$actual
);

View File

@ -21,6 +21,7 @@ class PluginsControllerTest extends AbstractTestCase
parent::setUp();
$GLOBALS['text_dir'] = 'ltr';
parent::setGlobalConfig();
parent::defineVersionConstants();
parent::setTheme();
$GLOBALS['PMA_Config']->enableBc();
@ -73,23 +74,23 @@ class PluginsControllerTest extends AbstractTestCase
//validate 1:Items
$this->assertStringContainsString(
'<th>Plugin</th>',
'<th scope="col">Plugin</th>',
$actual
);
$this->assertStringContainsString(
'<th>Description</th>',
'<th scope="col">Description</th>',
$actual
);
$this->assertStringContainsString(
'<th>Version</th>',
'<th scope="col">Version</th>',
$actual
);
$this->assertStringContainsString(
'<th>Author</th>',
'<th scope="col">Author</th>',
$actual
);
$this->assertStringContainsString(
'<th>License</th>',
'<th scope="col">License</th>',
$actual
);

View File

@ -80,8 +80,7 @@ class ProcessesControllerTest extends AbstractTestCase
);
$this->assertStringContainsString(
'<table id="tableprocesslist" '
. 'class="pma-table data clearfloat noclick sortable">',
'<table id="tableprocesslist" class="table table-light table-striped table-hover sortable">',
$html
);
$this->assertStringContainsString(

View File

@ -85,7 +85,7 @@ class StatusControllerTest extends AbstractTestCase
);
//validate 2: Status::getHtmlForServerStateTraffic
$trafficHtml = '<table id="serverstatustraffic" class="pma-table w-100 data noclick col-12 col-md-5">';
$trafficHtml = '<table class="table table-light table-striped table-hover col-12 col-md-5">';
$this->assertStringContainsString(
$trafficHtml,
$html
@ -98,48 +98,48 @@ class StatusControllerTest extends AbstractTestCase
);
//$bytes_received
$this->assertStringContainsString(
'<td class="value">' . $bytesReceived . ' B',
'<td class="text-monospace text-right">' . $bytesReceived . ' B',
$html
);
//$bytes_sent
$this->assertStringContainsString(
'<td class="value">' . $bytesSent . ' B',
'<td class="text-monospace text-right">' . $bytesSent . ' B',
$html
);
//validate 3: Status::getHtmlForServerStateConnections
$this->assertStringContainsString(
'<th>Connections</th>',
'<th scope="col">Connections</th>',
$html
);
$this->assertStringContainsString(
'<th>&oslash; per hour</th>',
'<th scope="col">ø per hour</th>',
$html
);
$this->assertStringContainsString(
'<table id="serverstatusconnections" class="pma-table w-100 data noclick col-12 col-md-6">',
'<table class="table table-light table-striped table-hover col-12 col-md-6">',
$html
);
$this->assertStringContainsString(
'<th class="name">Max. concurrent connections</th>',
'<th>Max. concurrent connections</th>',
$html
);
//Max_used_connections
$this->assertStringContainsString(
'<td class="value">' . $maxUsedConnections,
'<td class="text-monospace text-right">' . $maxUsedConnections,
$html
);
$this->assertStringContainsString(
'<th class="name">Failed attempts</th>',
'<th>Failed attempts</th>',
$html
);
//Aborted_connects
$this->assertStringContainsString(
'<td class="value">' . $abortedConnections,
'<td class="text-monospace text-right">' . $abortedConnections,
$html
);
$this->assertStringContainsString(
'<th class="name">Aborted</th>',
'<th>Aborted</th>',
$html
);
}

View File

@ -93,19 +93,19 @@ class VariablesControllerTest extends AbstractTestCase
);
$this->assertStringContainsString(
'<table class="pma-table data noclick" id="serverstatusvariables">',
'<table class="table table-light table-striped table-hover table-sm" id="serverStatusVariables">',
$html
);
$this->assertStringContainsString(
'<th>Variable</th>',
'<th scope="col">Variable</th>',
$html
);
$this->assertStringContainsString(
'<th>Value</th>',
'<th scope="col">Value</th>',
$html
);
$this->assertStringContainsString(
'<th>Description</th>',
'<th scope="col">Description</th>',
$html
);

View File

@ -140,76 +140,75 @@ class InnodbTest extends AbstractTestCase
public function testGetPageBufferpool(): void
{
$this->assertEquals(
'<table class="pma-table data" id="table_innodb_bufferpool_usage">' . "\n" .
' <caption class="tblHeaders">' . "\n" .
'<table class="table table-light table-striped table-hover w-auto float-left">' . "\n" .
' <caption>' . "\n" .
' Buffer Pool Usage' . "\n" .
' </caption>' . "\n" .
' <tfoot>' . "\n" .
' <tfoot class="thead-light">' . "\n" .
' <tr>' . "\n" .
' <th colspan="2">' . "\n" .
' Total' . "\n" .
' : 4,096&nbsp;pages / 65,536&nbsp;KiB' . "\n" .
' Total: 4,096&nbsp;pages / 65,536&nbsp;KiB' . "\n" .
' </th>' . "\n" .
' </tr>' . "\n" .
' </tfoot>' . "\n" .
' <tbody>' . "\n" .
' <tr>' . "\n" .
' <th>Free pages</th>' . "\n" .
' <td class="value">0</td>' . "\n" .
' <th scope="row">Free pages</th>' . "\n" .
' <td class="text-monospace text-right">0</td>' . "\n" .
' </tr>' . "\n" .
' <tr>' . "\n" .
' <th>Dirty pages</th>' . "\n" .
' <td class="value">0</td>' . "\n" .
' <th scope="row">Dirty pages</th>' . "\n" .
' <td class="text-monospace text-right">0</td>' . "\n" .
' </tr>' . "\n" .
' <tr>' . "\n" .
' <th>Pages containing data</th>' . "\n" .
' <td class="value">0' . "\n" .
' <th scope="row">Pages containing data</th>' . "\n" .
' <td class="text-monospace text-right">0' . "\n" .
'</td>' . "\n" .
' </tr>' . "\n" .
' <tr>' . "\n" .
' <th>Pages to be flushed</th>' . "\n" .
' <td class="value">0' . "\n" .
' <th scope="row">Pages to be flushed</th>' . "\n" .
' <td class="text-monospace text-right">0' . "\n" .
'</td>' . "\n" .
' </tr>' . "\n" .
' <tr>' . "\n" .
' <th>Busy pages</th>' . "\n" .
' <td class="value">0' . "\n" .
' <th scope="row">Busy pages</th>' . "\n" .
' <td class="text-monospace text-right">0' . "\n" .
'</td>' . "\n" .
' </tr> </tbody>' . "\n" .
'</table>' . "\n\n" .
'<table class="pma-table data" id="table_innodb_bufferpool_activity">' . "\n" .
' <caption class="tblHeaders">' . "\n" .
'<table class="table table-light table-striped table-hover w-auto ml-4 float-left">' . "\n" .
' <caption>' . "\n" .
' Buffer Pool Activity' . "\n" .
' </caption>' . "\n" .
' <tbody>' . "\n" .
' <tr>' . "\n" .
' <th>Read requests</th>' . "\n" .
' <td class="value">64' . "\n" .
' <th scope="row">Read requests</th>' . "\n" .
' <td class="text-monospace text-right">64' . "\n" .
'</td>' . "\n" .
' </tr>' . "\n" .
' <tr>' . "\n" .
' <th>Write requests</th>' . "\n" .
' <td class="value">64' . "\n" .
' <th scope="row">Write requests</th>' . "\n" .
' <td class="text-monospace text-right">64' . "\n" .
'</td>' . "\n" .
' </tr>' . "\n" .
' <tr>' . "\n" .
' <th>Read misses</th>' . "\n" .
' <td class="value">32' . "\n" .
' <th scope="row">Read misses</th>' . "\n" .
' <td class="text-monospace text-right">32' . "\n" .
'</td>' . "\n" .
' </tr>' . "\n" .
' <tr>' . "\n" .
' <th>Write waits</th>' . "\n" .
' <td class="value">0' . "\n" .
' <th scope="row">Write waits</th>' . "\n" .
' <td class="text-monospace text-right">0' . "\n" .
'</td>' . "\n" .
' </tr>' . "\n" .
' <tr>' . "\n" .
' <th>Read misses in %</th>' . "\n" .
' <td class="value">50 %' . "\n" .
' <th scope="row">Read misses in %</th>' . "\n" .
' <td class="text-monospace text-right">50 %' . "\n" .
'</td>' . "\n" .
' </tr>' . "\n" .
' <tr>' . "\n" .
' <th>Write waits in %</th>' . "\n" .
' <td class="value">0 %' . "\n" .
' <th scope="row">Write waits in %</th>' . "\n" .
' <td class="text-monospace text-right">0 %' . "\n" .
'</td>' . "\n" .
' </tr>' . "\n" .
' </tbody>' . "\n" .

View File

@ -23,11 +23,6 @@ h2 {
margin: 0 0 12px;
}
.data_full_width {
margin: 0 0 12px;
width: 100%;
}
h3 {
font-weight: bold;
font-size: 1rem;
@ -887,12 +882,6 @@ label.col-3.d-flex.align-items-center {
padding: 1.5% 0 !important;
}
.central_columns_add_column {
display: inline-block;
margin-#{$left}: 1%;
max-width: 50%;
}
.message_errors_found {
margin-top: 20px;
}
@ -964,11 +953,7 @@ div#dataDisplay {
}
}
table {
&#tableFieldsId {
width: 100%;
}
.pma-table {
&.calendar {
width: 100%;
@ -1013,14 +998,6 @@ div#tablestatistics table {
// end table stats
// server privileges
#tableuserrights td,
#tablespecificuserrights td {
vertical-align: middle;
}
// end server privileges
// Heading
#topmenucontainer {
padding-#{$right}: 1em;
@ -1177,35 +1154,6 @@ div#serverstatusquerieschart {
margin-#{$right}: 50px;
}
table {
&#serverstatusqueriesdetails,
&#serverstatustraffic {
float: $left;
}
&#serverstatusqueriesdetails th {
min-width: 35px;
}
&#serverstatusvariables {
width: 100%;
margin-bottom: 1em;
.name {
width: 18em;
white-space: nowrap;
}
.value {
width: 6em;
}
}
&#serverstatusconnections {
float: $left;
}
}
div {
&#serverstatus table {
tbody td.descr a,
@ -1320,81 +1268,6 @@ div {
// end serverstatus
// server variables
#serverVariables {
width: 100%;
.var-row > td {
line-height: 2em;
}
.var-header {
color: $th-color;
background: #f3f3f3;
background: linear-gradient(#fff, #ccc);
font-weight: bold;
text-align: $left;
}
.var-row {
padding: 0.5em;
min-height: 18px;
}
.var-name {
font-weight: bold;
&.session {
font-weight: normal;
font-style: italic;
}
}
.var-value {
float: $right;
text-align: $right;
}
.var-doc {
overflow: visible;
float: $right;
}
// server variables editor
.editLink {
padding-#{$right}: 1em;
font-family: sans-serif;
}
.serverVariableEditor {
width: 100%;
overflow: hidden;
input {
width: 100%;
margin: 0 0.5em;
box-sizing: border-box;
-ms-box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
height: 2.2em;
}
div {
display: block;
overflow: hidden;
padding-#{$right}: 1em;
}
a {
margin: 0 0.5em;
line-height: 2em;
}
}
}
// end server variables
// profiling
div#profilingchart {
@ -1571,24 +1444,6 @@ li.no_bullets {
border-top: 0.1em solid silver;
}
#table_innodb_bufferpool_usage,
#table_innodb_bufferpool_activity {
float: $left;
}
#div_mysql_charset_collations table {
float: $left;
th,
td {
padding: 0.4em;
}
th#collationHeader {
width: 35%;
}
}
#qbe_div_table_list,
#qbe_div_sql_query {
float: $left;
@ -3738,10 +3593,6 @@ body .ui-dialog {
display: none;
}
table#serverstatusconnections {
margin-#{$left}: 0;
}
#table_name_col_no {
top: 62px;
}

View File

@ -189,11 +189,6 @@ h2 {
margin: 10px 0;
}
.data_full_width {
margin: 10px 0;
width: 100%;
}
h3 {
font-family: $font-family-extra-bold;
text-transform: uppercase;
@ -1000,10 +995,6 @@ div#dataDisplay {
}
.pma-table {
&#tableFieldsId {
width: 100%;
}
&.calendar {
width: 100%;
@ -1050,14 +1041,6 @@ div#tablestatistics table {
/* END table stats */
/* server privileges */
#tableuserrights td,
#tablespecificuserrights td {
vertical-align: middle;
}
/* END server privileges */
/* Heading */
#topmenucontainer {
width: 100%;
@ -1226,36 +1209,6 @@ div#serverstatusquerieschart {
padding-#{$left}: 30px;
}
table {
&#serverstatusqueriesdetails,
&#serverstatustraffic {
float: $left;
}
&#serverstatusqueriesdetails th {
min-width: 35px;
}
&#serverstatusvariables {
width: 100%;
margin-bottom: 1em;
.name {
width: 18em;
white-space: nowrap;
}
.value {
width: 6em;
}
}
&#serverstatusconnections {
float: $left;
margin-#{$left}: 30px;
}
}
div {
&#serverstatus table {
tbody td.descr a,
@ -1358,89 +1311,6 @@ div {
/* end serverstatus */
/* server variables */
#serverVariables {
table-layout: fixed;
width: 100%;
.var-row > td {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
line-height: 2em;
}
.var-header {
color: $th-color;
background: #f3f3f3;
font-weight: bold;
text-align: $left;
}
.var-row {
padding: 0.5em;
min-height: 18px;
}
.var-action {
width: 120px;
}
.var-name {
float: $left;
&.session {
font-weight: normal;
font-style: italic;
}
}
.var-value {
width: 50%;
float: $right;
text-align: $right;
}
.var-doc {
overflow: visible;
float: $right;
}
/* server variables editor */
.editLink {
padding-#{$right}: 1em;
float: $left;
font-family: sans-serif;
}
.serverVariableEditor {
width: 100%;
overflow: hidden;
input {
width: 100%;
margin: 0 0.5em;
box-sizing: border-box;
-ms-box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
height: 2.2em;
}
div {
display: block;
overflow: hidden;
padding-#{$right}: 1em;
}
a {
float: $right;
margin: 0 0.5em;
line-height: 2em;
}
}
}
/* profiling */
div#profilingchart {
@ -1634,24 +1504,6 @@ li {
text-align: $right;
}
#table_innodb_bufferpool_usage,
#table_innodb_bufferpool_activity {
float: $left;
}
#div_mysql_charset_collations table {
float: $left;
th,
td {
padding: 0.4em;
}
th#collationHeader {
width: 35%;
}
}
.operations_half_width {
width: 100%;
float: $left;

View File

@ -1,6 +1,4 @@
.table {
width: auto;
td {
touch-action: manipulation;
vertical-align: middle;

View File

@ -683,12 +683,6 @@ form.login label {
padding: 1.5% 0 !important;
}
.central_columns_add_column {
display: inline-block;
margin-#{$left}: 1%;
max-width: 50%;
}
.message_errors_found {
margin-top: 20px;
}
@ -763,10 +757,6 @@ div#dataDisplay {
}
.pma-table {
&#tableFieldsId {
width: 100%;
}
&.calendar {
width: 100%;
@ -808,11 +798,6 @@ div#tablestatistics table {
min-width: 16em;
}
#tableuserrights td,
#tablespecificuserrights td {
vertical-align: middle;
}
#topmenucontainer {
background: white;
padding-#{$right}: 1em;
@ -961,40 +946,6 @@ div {
height: 350px;
margin-#{$right}: 50px;
}
&#serverstatus table#serverstatusqueriesdetails {
float: $left;
}
}
table {
&#serverstatustraffic {
float: $left;
}
&#serverstatusconnections {
float: $left;
margin-#{$left}: 30px;
}
&#serverstatusvariables {
width: 100%;
margin-bottom: 1em;
.name {
width: 18em;
white-space: nowrap;
}
.value {
width: 6em;
}
}
&#serverstatusconnections {
float: $left;
margin-#{$left}: 30px;
}
}
div {
@ -1087,72 +1038,6 @@ div#logTable {
}
}
/* server variables */
#serverVariables {
width: 100%;
.var-row > tr {
line-height: 2em;
}
.var-header {
font-weight: bold;
color: $th-color;
background: $th-background;
text-align: $left;
}
.var-row {
padding: 0.5em;
min-height: 18px;
}
.var-name {
font-weight: bold;
&.session {
font-weight: normal;
font-style: italic;
}
}
.var-value {
text-align: $right;
float: $right;
}
.editLink {
padding-#{$right}: 1em;
font-family: sans-serif;
}
.serverVariableEditor {
width: 100%;
overflow: hidden;
input {
width: 100%;
margin: 0 0.5em;
box-sizing: border-box;
-ms-box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
height: 2.2em;
}
div {
display: block;
overflow: hidden;
padding-#{$right}: 1em;
}
a {
margin: 0 0.5em;
line-height: 2em;
}
}
}
/* profiling */
div#profilingchart {
width: 850px;
@ -1265,24 +1150,6 @@ li.no_bullets {
text-align: $right;
}
#table_innodb_bufferpool_usage,
#table_innodb_bufferpool_activity {
float: $left;
}
#div_mysql_charset_collations table {
float: $left;
th,
td {
padding: 0.4em;
}
th#collationHeader {
width: 35%;
}
}
#qbe_div_table_list,
#qbe_div_sql_query {
float: $left;
@ -2277,10 +2144,6 @@ input#auto_increment_opt {
}
}
.data_full_width {
width: 100%;
}
.cDrop {
#{$left}: 0;
position: absolute;
@ -3429,10 +3292,6 @@ body {
display: none;
}
table#serverstatusconnections {
margin-#{$left}: 0;
}
#table_name_col_no {
top: 62px;
}

View File

@ -1,6 +1,5 @@
.table {
border-collapse: separate;
width: auto;
td {
touch-action: manipulation;

View File

@ -33,11 +33,6 @@ h2 {
margin: 0 0 12px;
}
.data_full_width {
margin: 0 0 12px;
width: 100%;
}
h3 {
font-weight: bold;
font-size: 1rem;
@ -935,12 +930,6 @@ label.col-3.d-flex.align-items-center {
padding: 1.5% 0 !important;
}
.central_columns_add_column {
display: inline-block;
margin-#{$left}: 1%;
max-width: 50%;
}
.message_errors_found {
margin-top: 20px;
}
@ -1020,10 +1009,6 @@ div#dataDisplay {
}
.pma-table {
&#tableFieldsId {
width: 100%;
}
&.calendar {
width: 100%;
@ -1068,14 +1053,6 @@ div#tablestatistics table {
// end table stats
// server privileges
#tableuserrights td,
#tablespecificuserrights td {
vertical-align: middle;
}
// end server privileges
// Heading
#topmenucontainer {
padding-#{$right}: 1em;
@ -1232,35 +1209,6 @@ div#serverstatusquerieschart {
margin-#{$right}: 50px;
}
table {
&#serverstatusqueriesdetails,
&#serverstatustraffic {
float: $left;
}
&#serverstatusqueriesdetails th {
min-width: 35px;
}
&#serverstatusvariables {
width: 100%;
margin-bottom: 1em;
.name {
width: 18em;
white-space: nowrap;
}
.value {
width: 6em;
}
}
&#serverstatusconnections {
float: $left;
}
}
div {
&#serverstatus table {
tbody td.descr a,
@ -1375,81 +1323,6 @@ div {
// end serverstatus
// server variables
#serverVariables {
width: 100%;
.var-row > td {
line-height: 2em;
}
.var-header {
color: $th-color;
background: #f3f3f3;
background: linear-gradient(#fff, #ccc);
font-weight: bold;
text-align: $left;
}
.var-row {
padding: 0.5em;
min-height: 18px;
}
.var-name {
font-weight: bold;
&.session {
font-weight: normal;
font-style: italic;
}
}
.var-value {
float: $right;
text-align: $right;
}
.var-doc {
overflow: visible;
float: $right;
}
// server variables editor
.editLink {
padding-#{$right}: 1em;
font-family: sans-serif;
}
.serverVariableEditor {
width: 100%;
overflow: hidden;
input {
width: 100%;
margin: 0 0.5em;
box-sizing: border-box;
-ms-box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
height: 2.2em;
}
div {
display: block;
overflow: hidden;
padding-#{$right}: 1em;
}
a {
margin: 0 0.5em;
line-height: 2em;
}
}
}
// end server variables
// profiling
div#profilingchart {
@ -1626,24 +1499,6 @@ li.no_bullets {
border-top: 0.1em solid silver;
}
#table_innodb_bufferpool_usage,
#table_innodb_bufferpool_activity {
float: $left;
}
#div_mysql_charset_collations table {
float: $left;
th,
td {
padding: 0.4em;
}
th#collationHeader {
width: 35%;
}
}
#qbe_div_table_list,
#qbe_div_sql_query {
float: $left;
@ -3801,10 +3656,6 @@ body .ui-dialog {
display: none;
}
table#serverstatusconnections {
margin-#{$left}: 0;
}
#table_name_col_no {
top: 62px;
}

View File

@ -1,6 +1,4 @@
.table {
width: auto;
th,
td {
text-shadow: 0 1px 0 #fff;
@ -8,7 +6,6 @@
th {
text-align: $left;
background-image: linear-gradient(#fff, #ccc);
}
td {
@ -18,6 +15,7 @@
thead th {
border-#{$right}: 1px solid #fff;
background-image: linear-gradient(#fff, #ccc);
}
}