public inbox for [email protected]
help / color / mirror / Atom feedFrom: Harshal Dhumal <[email protected]>
To: pgadmin-hackers <[email protected]>
Subject: patch for issue RM1260 [pgAdmin4]
Date: Wed, 6 Jul 2016 17:30:22 +0530
Message-ID: <CAFiP3vzHR2j6y-8FP5fQFpJD3XNbyOVb=rbRzBwtKzPnv4nJhQ@mail.gmail.com> (raw)
List-Unsubscribe: <mailto:[email protected]?body=unsub%20pgadmin-hackers>
Hi,
PFA patch for issue RM1260.
Changes: Issue wasn't related to foreign table but was due the Select2
control. Now I have improved select2 control to handle null value in
multi-select mode. Initial it was returning "null" instead it should return
[] (empty array).
--
*Harshal Dhumal*
*Software Engineer*
EnterpriseDB India: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
--
Sent via pgadmin-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers
Attachments:
[text/x-patch] RM1260.patch (4.2K, 3-RM1260.patch)
download | inline diff:
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([
- '<label class="<%=Backform.controlLabelClassName%>"><%=label%></label>',
- '<div class="<%=Backform.controlsClassName%> <%=extraClasses.join(\' \')%>">',
- ' <select class="pgadmin-node-select form-control" name="<%=name%>" style="width:100%;" value=<%-value%> <%=disabled ? "disabled" : ""%> <%=required ? "required" : ""%> >',
- ' </select>',
- '</div>'].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;
}
});
view thread (13+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected]
Subject: Re: patch for issue RM1260 [pgAdmin4]
In-Reply-To: <CAFiP3vzHR2j6y-8FP5fQFpJD3XNbyOVb=rbRzBwtKzPnv4nJhQ@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox