diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/js/foreign_tables.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/js/foreign_tables.js index a4b5a27..26418a6 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/js/foreign_tables.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/js/foreign_tables.js @@ -266,12 +266,6 @@ function($, _, S, pgAdmin, pgBrowser, alertify) { */ var NodeAjaxOptionsMultipleControl = Backform.NodeAjaxOptionsMultipleControl = Backform.NodeAjaxOptionsControl.extend({ - template: _.template([ - '', - '
', - ' ', - '
'].join("\n")), defaults: _.extend( {}, Backform.NodeAjaxOptionsControl.prototype.defaults, { @@ -331,11 +325,7 @@ function($, _, S, pgAdmin, pgBrowser, alertify) { this.$el.addClass(Backform.hiddenClassname); } else { var opts = _.extend( - {}, this.defaults.select2, data.select2, - { - 'data': data.options - }); - this.$el.find("select").select2(opts).val(data.rawValue).trigger("change"); + {}, this.defaults.select2, data.select2); this.updateInvalid(); } } @@ -370,7 +360,7 @@ function($, _, S, pgAdmin, pgBrowser, alertify) { // Remove Columns if inherit option is deselected from the combobox if(_.size(value) < _.size(inherits)) { - var dif = _.difference(inherits, JSON.parse(value)); + var dif = _.difference(inherits, value); var rmv_columns = columns.where({inheritedid: parseInt(dif[0])}); columns.remove(rmv_columns); } diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.5_plus/get_tables.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.5_plus/get_tables.sql index 83445a2..1bb501e 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.5_plus/get_tables.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.5_plus/get_tables.sql @@ -9,7 +9,7 @@ WHERE {% else %} SELECT - c.oid AS id, quote_ident(n.nspname) || '.' || quote_ident(c.relname) as text + c.oid AS value, quote_ident(n.nspname) || '.' || quote_ident(c.relname) as label FROM pg_class c, pg_namespace n WHERE @@ -19,4 +19,4 @@ WHERE {% endif %} ORDER BY n.nspname, c.relname; -{% endif %} +{% endif %} \ No newline at end of file diff --git a/web/pgadmin/static/js/backform.pgadmin.js b/web/pgadmin/static/js/backform.pgadmin.js index 973b60b..fb6c51f 100644 --- a/web/pgadmin/static/js/backform.pgadmin.js +++ b/web/pgadmin/static/js/backform.pgadmin.js @@ -1793,7 +1793,11 @@ if (_.isArray(formattedData)) { return _.map(formattedData, decodeURIComponent); } else { - return decodeURIComponent(formattedData); + if(!_.isNull(formattedData) && !_.isUndefined(formattedData)) { + return decodeURIComponent(formattedData); + } else { + return null; + } } } }); @@ -1904,9 +1908,15 @@ return this; }, getValueFromDOM: function() { - return Backform.SelectControl.prototype.getValueFromDOM.apply( - this, arguments - ); + var val = Backform.SelectControl.prototype.getValueFromDOM.apply( + this, arguments + ), + select2Opts = _.extend({}, this.field.get("select2") || this.defaults.select2); + + if (select2Opts.multiple && val == null) { + return []; + } + return val; } });