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;
}
});