public inbox for [email protected]
help / color / mirror / Atom feedFrom: Harshal Dhumal <[email protected]>
To: pgadmin-hackers <[email protected]>
Subject: Re: patch for issue RM1260 [pgAdmin4]
Date: Thu, 7 Jul 2016 12:12:00 +0530
Message-ID: <CAFiP3vwQesWW+HXfTi+MgTbYEi1zBQC+fdNZNe32wzr5RfrHHw@mail.gmail.com> (raw)
In-Reply-To: <CAFiP3vw7wCLMnj1NyoSh8pUVedYxLX_su9xM9zO5iRo+wgZr3w@mail.gmail.com>
References: <CAFiP3vzHR2j6y-8FP5fQFpJD3XNbyOVb=rbRzBwtKzPnv4nJhQ@mail.gmail.com>
<CAFiP3vw7wCLMnj1NyoSh8pUVedYxLX_su9xM9zO5iRo+wgZr3w@mail.gmail.com>
List-Unsubscribe: <mailto:[email protected]?body=unsub%20pgadmin-hackers>
Hi,
PFA updated patch for issue RM1260
--
*Harshal Dhumal*
*Software Engineer*
EnterpriseDB India: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
On Thu, Jul 7, 2016 at 12:04 PM, Harshal Dhumal <
[email protected]> wrote:
> Hi,
> Please ignore this patch as this has some minor issue. I'll sent updated
> one.
>
> --
> *Harshal Dhumal*
> *Software Engineer*
>
> EnterpriseDB India: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>
> On Wed, Jul 6, 2016 at 5:30 PM, Harshal Dhumal <
> [email protected]> wrote:
>
>> 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_V2.patch (4.0K, 3-RM1260_V2.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..3af6c61 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,
{
@@ -335,7 +329,7 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
{
'data': data.options
});
- this.$el.find("select").select2(opts).val(data.rawValue).trigger("change");
+ this.$el.find("select").select2(opts);
this.updateInvalid();
}
}
@@ -370,7 +364,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: <CAFiP3vwQesWW+HXfTi+MgTbYEi1zBQC+fdNZNe32wzr5RfrHHw@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