Skip to content

Commit b6ba539

Browse files
Merge pull request #17608 from MauricioFauth/sidebar-index-links
Fix preview SQL modal not working inside Index modal Fixes #17606
2 parents dbf52a9 + bf2add8 commit b6ba539

7 files changed

Lines changed: 15 additions & 25 deletions

File tree

js/src/functions.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3438,7 +3438,7 @@ Functions.indexDialogModal = function (routeUrl, url, title, callbackSuccess, ca
34383438
.insertAfter('#index_header');
34393439
var $editIndexDialog = $('#indexDialogModal');
34403440
if ($editIndexDialog.length > 0) {
3441-
$editIndexDialog.dialog('close');
3441+
$editIndexDialog.modal('hide');
34423442
}
34433443
$('div.no_indexes_defined').hide();
34443444
if (callbackSuccess) {

js/src/navigation.js

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -444,26 +444,6 @@ $(function () {
444444
}
445445
);
446446

447-
/** New index */
448-
$(document).on('click', '#pma_navigation_tree li.new_index a.ajax', function (event) {
449-
event.preventDefault();
450-
var url = $(this).attr('href').substr(
451-
$(this).attr('href').indexOf('?') + 1
452-
) + CommonParams.get('arg_separator') + 'ajax_request=true';
453-
var title = Messages.strAddIndex;
454-
Functions.indexEditorDialog(url, title);
455-
});
456-
457-
/** Edit index */
458-
$(document).on('click', 'li.index a.ajax', function (event) {
459-
event.preventDefault();
460-
var url = $(this).attr('href').substr(
461-
$(this).attr('href').indexOf('?') + 1
462-
) + CommonParams.get('arg_separator') + 'ajax_request=true';
463-
var title = Messages.strEditIndex;
464-
Functions.indexEditorDialog(url, title);
465-
});
466-
467447
/** New view */
468448
$(document).on('click', 'li.new_view a.ajax', function (event) {
469449
event.preventDefault();

libraries/classes/Controllers/Table/IndexesController.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ private function displayForm(Index $index): void
147147
'add_fields' => $add_fields,
148148
'create_edit_table' => isset($_POST['create_edit_table']),
149149
'default_sliders_state' => $GLOBALS['cfg']['InitialSlidersState'],
150+
'is_from_nav' => isset($_POST['is_from_nav']),
150151
]);
151152
}
152153
}

templates/footer.twig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
{{ include('modals/index_dialog_modal.twig') -}}
21
{% if not is_ajax %}
32
</div>
43
{% endif %}

templates/navigation/tree/node.twig

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@
3535

3636
{% if node_is_container %}
3737
&nbsp;<a class="hover_show_full" href="{{ url(text_link.route, text_link.params) }}">{{ node.name }}</a>
38+
{% elseif 'index' in node.classes %}
39+
<a class="hover_show_full" href="{{ url(text_link.route) }}" data-post="{{ get_common(text_link.params|merge({'is_from_nav': true})) }}" title="{{ text_link.title }}">
40+
{{- node.displayName ?? node.realName -}}
41+
</a>
3842
{% else %}
3943
<a class="hover_show_full{{ text_link.is_ajax ? ' ajax' }}" href="{{ url(text_link.route, text_link.params) }}" title="{{ text_link.title }}">
4044
{{- node.displayName ?? node.realName -}}

templates/table/index_form.twig

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
class="ajax">
66

77
{{ get_hidden_inputs(form_params) }}
8+
{% if is_from_nav %}
9+
<input type="hidden" name="do_save_data" value="1">
10+
{% endif %}
811

912
<fieldset class="pma-fieldset" id="index_edit_fields">
1013
<div class="index_info">
@@ -237,6 +240,10 @@
237240
</div>
238241
</fieldset>
239242
<fieldset class="pma-fieldset tblFooters">
243+
<button class="btn btn-primary" type="submit">{% trans 'Go' %}</button>
240244
<button class="btn btn-secondary" type="submit" id="preview_index_frm">{% trans 'Preview SQL' %}</button>
241245
</fieldset>
242246
</form>
247+
{% if is_from_nav %}
248+
{{ include('modals/preview_sql_modal.twig') }}
249+
{% endif %}

test/classes/FooterTest.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
use ArrayIterator;
88
use PhpMyAdmin\ErrorHandler;
99
use PhpMyAdmin\Footer;
10-
use PhpMyAdmin\Template;
1110

1211
use function json_encode;
1312

@@ -125,7 +124,7 @@ public function testAjax(): void
125124
$footer = new Footer();
126125
$footer->setAjax(true);
127126
$this->assertEquals(
128-
(new Template())->render('modals/index_dialog_modal'),
127+
'',
129128
$footer->getDisplay()
130129
);
131130
}
@@ -164,7 +163,7 @@ public function testMinimal(): void
164163
$footer = new Footer();
165164
$footer->setMinimal();
166165
$this->assertEquals(
167-
(new Template())->render('modals/index_dialog_modal') . " </div>\n </body>\n</html>\n",
166+
" </div>\n </body>\n</html>\n",
168167
$footer->getDisplay()
169168
);
170169
}

0 commit comments

Comments
 (0)