diff --git a/docs/en_US/release_notes_4_21.rst b/docs/en_US/release_notes_4_21.rst index 14e69f245..c4c1a0963 100644 --- a/docs/en_US/release_notes_4_21.rst +++ b/docs/en_US/release_notes_4_21.rst @@ -41,6 +41,7 @@ Bug fixes | `Issue #4292 `_ - Added dark mode support for the configuration dialog on Windows/macOS runtime. | `Issue #4440 `_ - Ensure the DROP statements in reverse engineered SQL are properly quoted for all objects. | `Issue #4445 `_ - Ensure all object names in the title line of the reverse-engineered SQL are not quoted. +| `Issue #4504 `_ - Fixed an issue where like options should be disabled if the relation is not selected while creating a table. | `Issue #4512 `_ - Fixed calendar opening issue on the exception tab inside the schedules tab of pgAgent. | `Issue #4545 `_ - Fixed an issue wherein grant wizard the last object is not selectable. | `Issue #4573 `_ - Ensure that if the delimiter is set other than comma then download the file as '.txt' file. diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.js index 5d3d11f4a..1a4fbd44e 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.js @@ -860,29 +860,29 @@ define('pgadmin.node.table', [ group: gettext('advanced'), schema:[{ id: 'like_relation', label: gettext('Relation'), - type: 'text', mode: ['create', 'edit'], deps: ['typname'], + type: 'text', mode: ['create', 'edit'], deps: ['typname', 'like_relation'], control: 'node-ajax-options', url: 'get_relations', disabled: 'isLikeDisable', group: gettext('Like'), },{ id: 'like_default_value', label: gettext('With default values?'), - type: 'switch', mode: ['create', 'edit'], deps: ['typname'], - disabled: 'isLikeDisable', group: gettext('Like'), + type: 'switch', mode: ['create', 'edit'], deps: ['like_relation'], + disabled: 'isRelationDisable', group: gettext('Like'), },{ id: 'like_constraints', label: gettext('With constraints?'), - type: 'switch', mode: ['create', 'edit'], deps: ['typname'], - disabled: 'isLikeDisable', group: gettext('Like'), + type: 'switch', mode: ['create', 'edit'], deps: ['like_relation'], + disabled: 'isRelationDisable', group: gettext('Like'), },{ id: 'like_indexes', label: gettext('With indexes?'), - type: 'switch', mode: ['create', 'edit'], deps: ['typname'], - disabled: 'isLikeDisable', group: gettext('Like'), + type: 'switch', mode: ['create', 'edit'], deps: ['like_relation'], + disabled: 'isRelationDisable', group: gettext('Like'), },{ id: 'like_storage', label: gettext('With storage?'), - type: 'switch', mode: ['create', 'edit'], deps: ['typname'], - disabled: 'isLikeDisable', group: gettext('Like'), + type: 'switch', mode: ['create', 'edit'], deps: ['like_relation'], + disabled: 'isRelationDisable', group: gettext('Like'), },{ id: 'like_comments', label: gettext('With comments?'), - type: 'switch', mode: ['create', 'edit'], deps: ['typname'], - disabled: 'isLikeDisable', group: gettext('Like'), + type: 'switch', mode: ['create', 'edit'], deps: ['like_relation'], + disabled: 'isRelationDisable', group: gettext('Like'), }], },{ id: 'partition_type', label:gettext('Partition Type'), @@ -1247,6 +1247,24 @@ define('pgadmin.node.table', [ } return true; }, + + // We will disable other Like option if Relation is not defined + isRelationDisable: function(m) { + if ( _.isUndefined(m.get('like_relation')) || + _.isNull(m.get('like_relation')) || + String(m.get('like_relation')).replace(/^\s+|\s+$/g, '') == ''){ + setTimeout(function() { + m.set('like_default_value', false); + m.set('like_constraints', false); + m.set('like_indexes', false); + m.set('like_storage', false); + m.set('like_comments', false); + }, 10); + + return true; + } + return false; + }, // Check for column grid when to Add check_grid_add_condition: function(m) { var enable_flag = true;