From 5fb7565d25de0dfb068ccb9af439eb843690e167 Mon Sep 17 00:00:00 2001 From: faissaloux Date: Mon, 20 May 2024 17:30:51 +0100 Subject: [PATCH] disable col alias when asterisk choosen for column Signed-off-by: faissaloux --- js/src/database/multi_table_query.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/js/src/database/multi_table_query.js b/js/src/database/multi_table_query.js index 4a293c97b6..ebba6782db 100644 --- a/js/src/database/multi_table_query.js +++ b/js/src/database/multi_table_query.js @@ -22,6 +22,9 @@ AJAX.registerTeardown('database/multi_table_query.js', function () { $('.tableNameSelect').each(function () { $(this).off('change'); }); + $('.columnNameSelect').each(function () { + $(this).off('change'); + }); $('#update_query_button').off('click'); $('#add_column_button').off('click'); }); @@ -162,14 +165,27 @@ AJAX.registerOnload('database/multi_table_query.js', function () { addNewColumnCallbacks(); }); + $('.columnNameSelect').each(function () { + $(this).on('change', function () { + const colIsStar = $(this).val() === '*'; + + colIsStar && $(this).siblings('.col_alias').val(''); + $(this).siblings('.col_alias').prop('disabled', colIsStar); + }); + }); + function addNewColumnCallbacks () { $('.tableNameSelect').each(function () { $(this).on('change', function () { var $sibs = $(this).siblings('.columnNameSelect'); + const $alias = $(this).siblings('.col_alias'); + if ($sibs.length === 0) { $sibs = $(this).parent().parent().find('.columnNameSelect'); } + $sibs.first().html($('#' + $(this).find(':selected').data('hash')).html()); + $alias.prop('disabled', true); }); });