public inbox for [email protected]  
help / color / mirror / Atom feed
patch for issue RM1260 [pgAdmin4]
13+ messages / 3 participants
[nested] [flat]

* patch for issue RM1260 [pgAdmin4]
@ 2016-07-06 12:00 Harshal Dhumal <[email protected]>
  2016-07-07 06:34 ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  0 siblings, 1 reply; 13+ messages in thread

From: Harshal Dhumal @ 2016-07-06 12:00 UTC (permalink / raw)
  To: pgadmin-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;
     }
   });
 


^ permalink  raw  reply  [nested|flat] 13+ messages in thread

* Re: patch for issue RM1260 [pgAdmin4]
  2016-07-06 12:00 patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
@ 2016-07-07 06:34 ` Harshal Dhumal <[email protected]>
  2016-07-07 06:42   ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  0 siblings, 1 reply; 13+ messages in thread

From: Harshal Dhumal @ 2016-07-07 06:34 UTC (permalink / raw)
  To: pgadmin-hackers

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
>


^ permalink  raw  reply  [nested|flat] 13+ messages in thread

* Re: patch for issue RM1260 [pgAdmin4]
  2016-07-06 12:00 patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:34 ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
@ 2016-07-07 06:42   ` Harshal Dhumal <[email protected]>
  2016-07-07 06:43     ` Re: patch for issue RM1260 [pgAdmin4] Ashesh Vashi <[email protected]>
  0 siblings, 1 reply; 13+ messages in thread

From: Harshal Dhumal @ 2016-07-07 06:42 UTC (permalink / raw)
  To: pgadmin-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;
     }
   });
 


^ permalink  raw  reply  [nested|flat] 13+ messages in thread

* Re: patch for issue RM1260 [pgAdmin4]
  2016-07-06 12:00 patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:34 ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:42   ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
@ 2016-07-07 06:43     ` Ashesh Vashi <[email protected]>
  2016-07-07 06:50       ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  0 siblings, 1 reply; 13+ messages in thread

From: Ashesh Vashi @ 2016-07-07 06:43 UTC (permalink / raw)
  To: Harshal Dhumal <[email protected]>; +Cc: pgadmin-hackers

Hi Harshal,

Can you please explain - what was missing in the last patch?

--

Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise PostgreSQL Company
<http://www.enterprisedb.com;


*http://www.linkedin.com/in/asheshvashi*
<http://www.linkedin.com/in/asheshvashi;

On Thu, Jul 7, 2016 at 12:12 PM, Harshal Dhumal <
[email protected]> wrote:

> 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
>
>


^ permalink  raw  reply  [nested|flat] 13+ messages in thread

* Re: patch for issue RM1260 [pgAdmin4]
  2016-07-06 12:00 patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:34 ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:42   ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:43     ` Re: patch for issue RM1260 [pgAdmin4] Ashesh Vashi <[email protected]>
@ 2016-07-07 06:50       ` Harshal Dhumal <[email protected]>
  2016-07-07 09:03         ` Re: patch for issue RM1260 [pgAdmin4] Dave Page <[email protected]>
  0 siblings, 1 reply; 13+ messages in thread

From: Harshal Dhumal @ 2016-07-07 06:50 UTC (permalink / raw)
  To: Ashesh Vashi <[email protected]>; +Cc: pgadmin-hackers

Hi,

By mistake I deleted a line which was not supposed to be deleted, and that
line of code was initialization of select2.

-- 
*Harshal Dhumal*
*Software Engineer*

EnterpriseDB India: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

On Thu, Jul 7, 2016 at 12:13 PM, Ashesh Vashi <[email protected]
> wrote:

> Hi Harshal,
>
> Can you please explain - what was missing in the last patch?
>
> --
>
> Thanks & Regards,
>
> Ashesh Vashi
> EnterpriseDB INDIA: Enterprise PostgreSQL Company
> <http://www.enterprisedb.com;
>
>
> *http://www.linkedin.com/in/asheshvashi*
> <http://www.linkedin.com/in/asheshvashi;
>
> On Thu, Jul 7, 2016 at 12:12 PM, Harshal Dhumal <
> [email protected]> wrote:
>
>> 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
>>
>>
>


^ permalink  raw  reply  [nested|flat] 13+ messages in thread

* Re: patch for issue RM1260 [pgAdmin4]
  2016-07-06 12:00 patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:34 ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:42   ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:43     ` Re: patch for issue RM1260 [pgAdmin4] Ashesh Vashi <[email protected]>
  2016-07-07 06:50       ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
@ 2016-07-07 09:03         ` Dave Page <[email protected]>
  2016-07-07 11:38           ` Re: patch for issue RM1260 [pgAdmin4] Ashesh Vashi <[email protected]>
  0 siblings, 1 reply; 13+ messages in thread

From: Dave Page @ 2016-07-07 09:03 UTC (permalink / raw)
  To: Harshal Dhumal <[email protected]>; +Cc: Ashesh Vashi <[email protected]>; pgadmin-hackers

Ashesh, can you review/commit please?

Thanks.

On Thu, Jul 7, 2016 at 7:50 AM, Harshal Dhumal <
[email protected]> wrote:

> Hi,
>
> By mistake I deleted a line which was not supposed to be deleted, and that
> line of code was initialization of select2.
>
> --
> *Harshal Dhumal*
> *Software Engineer*
>
> EnterpriseDB India: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>
> On Thu, Jul 7, 2016 at 12:13 PM, Ashesh Vashi <
> [email protected]> wrote:
>
>> Hi Harshal,
>>
>> Can you please explain - what was missing in the last patch?
>>
>> --
>>
>> Thanks & Regards,
>>
>> Ashesh Vashi
>> EnterpriseDB INDIA: Enterprise PostgreSQL Company
>> <http://www.enterprisedb.com;
>>
>>
>> *http://www.linkedin.com/in/asheshvashi*
>> <http://www.linkedin.com/in/asheshvashi;
>>
>> On Thu, Jul 7, 2016 at 12:12 PM, Harshal Dhumal <
>> [email protected]> wrote:
>>
>>> 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
>>>
>>>
>>
>


-- 
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


^ permalink  raw  reply  [nested|flat] 13+ messages in thread

* Re: patch for issue RM1260 [pgAdmin4]
  2016-07-06 12:00 patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:34 ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:42   ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:43     ` Re: patch for issue RM1260 [pgAdmin4] Ashesh Vashi <[email protected]>
  2016-07-07 06:50       ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 09:03         ` Re: patch for issue RM1260 [pgAdmin4] Dave Page <[email protected]>
@ 2016-07-07 11:38           ` Ashesh Vashi <[email protected]>
  2016-07-27 10:19             ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  0 siblings, 1 reply; 13+ messages in thread

From: Ashesh Vashi @ 2016-07-07 11:38 UTC (permalink / raw)
  To: Dave Page <[email protected]>; +Cc: Harshal Dhumal <[email protected]>; pgadmin-hackers

Sure - I will do.

--

Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise PostgreSQL Company
<http://www.enterprisedb.com;


*http://www.linkedin.com/in/asheshvashi*
<http://www.linkedin.com/in/asheshvashi;

On Thu, Jul 7, 2016 at 2:33 PM, Dave Page <[email protected]> wrote:

> Ashesh, can you review/commit please?
>
> Thanks.
>
> On Thu, Jul 7, 2016 at 7:50 AM, Harshal Dhumal <
> [email protected]> wrote:
>
>> Hi,
>>
>> By mistake I deleted a line which was not supposed to be deleted, and
>> that line of code was initialization of select2.
>>
>> --
>> *Harshal Dhumal*
>> *Software Engineer*
>>
>> EnterpriseDB India: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>>
>> On Thu, Jul 7, 2016 at 12:13 PM, Ashesh Vashi <
>> [email protected]> wrote:
>>
>>> Hi Harshal,
>>>
>>> Can you please explain - what was missing in the last patch?
>>>
>>> --
>>>
>>> Thanks & Regards,
>>>
>>> Ashesh Vashi
>>> EnterpriseDB INDIA: Enterprise PostgreSQL Company
>>> <http://www.enterprisedb.com;
>>>
>>>
>>> *http://www.linkedin.com/in/asheshvashi*
>>> <http://www.linkedin.com/in/asheshvashi;
>>>
>>> On Thu, Jul 7, 2016 at 12:12 PM, Harshal Dhumal <
>>> [email protected]> wrote:
>>>
>>>> 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
>>>>
>>>>
>>>
>>
>
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>


^ permalink  raw  reply  [nested|flat] 13+ messages in thread

* Re: patch for issue RM1260 [pgAdmin4]
  2016-07-06 12:00 patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:34 ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:42   ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:43     ` Re: patch for issue RM1260 [pgAdmin4] Ashesh Vashi <[email protected]>
  2016-07-07 06:50       ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 09:03         ` Re: patch for issue RM1260 [pgAdmin4] Dave Page <[email protected]>
  2016-07-07 11:38           ` Re: patch for issue RM1260 [pgAdmin4] Ashesh Vashi <[email protected]>
@ 2016-07-27 10:19             ` Harshal Dhumal <[email protected]>
  2016-07-27 10:24               ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  0 siblings, 1 reply; 13+ messages in thread

From: Harshal Dhumal @ 2016-07-27 10:19 UTC (permalink / raw)
  To: Ashesh Vashi <[email protected]>; +Cc: Dave Page <[email protected]>; pgadmin-hackers

Hi,

PFA updated patch for RM1260.

In addition to RM1260 issue I have added following changes in this patch.
1] datamodel.js: Added option check against undefined.
2] foreign key: fixed first empty option issue.

-- 
*Harshal Dhumal*
*Software Engineer*

EnterpriseDB India: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

On Thu, Jul 7, 2016 at 5:08 PM, Ashesh Vashi <[email protected]>
wrote:

> Sure - I will do.
>
> --
>
> Thanks & Regards,
>
> Ashesh Vashi
> EnterpriseDB INDIA: Enterprise PostgreSQL Company
> <http://www.enterprisedb.com;
>
>
> *http://www.linkedin.com/in/asheshvashi*
> <http://www.linkedin.com/in/asheshvashi;
>
> On Thu, Jul 7, 2016 at 2:33 PM, Dave Page <[email protected]> wrote:
>
>> Ashesh, can you review/commit please?
>>
>> Thanks.
>>
>> On Thu, Jul 7, 2016 at 7:50 AM, Harshal Dhumal <
>> [email protected]> wrote:
>>
>>> Hi,
>>>
>>> By mistake I deleted a line which was not supposed to be deleted, and
>>> that line of code was initialization of select2.
>>>
>>> --
>>> *Harshal Dhumal*
>>> *Software Engineer*
>>>
>>> EnterpriseDB India: http://www.enterprisedb.com
>>> The Enterprise PostgreSQL Company
>>>
>>> On Thu, Jul 7, 2016 at 12:13 PM, Ashesh Vashi <
>>> [email protected]> wrote:
>>>
>>>> Hi Harshal,
>>>>
>>>> Can you please explain - what was missing in the last patch?
>>>>
>>>> --
>>>>
>>>> Thanks & Regards,
>>>>
>>>> Ashesh Vashi
>>>> EnterpriseDB INDIA: Enterprise PostgreSQL Company
>>>> <http://www.enterprisedb.com;
>>>>
>>>>
>>>> *http://www.linkedin.com/in/asheshvashi*
>>>> <http://www.linkedin.com/in/asheshvashi;
>>>>
>>>> On Thu, Jul 7, 2016 at 12:12 PM, Harshal Dhumal <
>>>> [email protected]> wrote:
>>>>
>>>>> 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
>>>>>
>>>>>
>>>>
>>>
>>
>>
>> --
>> Dave Page
>> Blog: http://pgsnake.blogspot.com
>> Twitter: @pgsnake
>>
>> EnterpriseDB UK: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>>
>
>


^ permalink  raw  reply  [nested|flat] 13+ messages in thread

* Re: patch for issue RM1260 [pgAdmin4]
  2016-07-06 12:00 patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:34 ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:42   ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:43     ` Re: patch for issue RM1260 [pgAdmin4] Ashesh Vashi <[email protected]>
  2016-07-07 06:50       ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 09:03         ` Re: patch for issue RM1260 [pgAdmin4] Dave Page <[email protected]>
  2016-07-07 11:38           ` Re: patch for issue RM1260 [pgAdmin4] Ashesh Vashi <[email protected]>
  2016-07-27 10:19             ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
@ 2016-07-27 10:24               ` Harshal Dhumal <[email protected]>
  2016-07-27 13:23                 ` Re: patch for issue RM1260 [pgAdmin4] Ashesh Vashi <[email protected]>
  0 siblings, 1 reply; 13+ messages in thread

From: Harshal Dhumal @ 2016-07-27 10:24 UTC (permalink / raw)
  To: Ashesh Vashi <[email protected]>; +Cc: Dave Page <[email protected]>; pgadmin-hackers

and patch file

-- 
*Harshal Dhumal*
*Software Engineer*

EnterpriseDB India: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

On Wed, Jul 27, 2016 at 3:49 PM, Harshal Dhumal <
[email protected]> wrote:

> Hi,
>
> PFA updated patch for RM1260.
>
> In addition to RM1260 issue I have added following changes in this patch.
> 1] datamodel.js: Added option check against undefined.
> 2] foreign key: fixed first empty option issue.
>
> --
> *Harshal Dhumal*
> *Software Engineer*
>
> EnterpriseDB India: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>
> On Thu, Jul 7, 2016 at 5:08 PM, Ashesh Vashi <
> [email protected]> wrote:
>
>> Sure - I will do.
>>
>> --
>>
>> Thanks & Regards,
>>
>> Ashesh Vashi
>> EnterpriseDB INDIA: Enterprise PostgreSQL Company
>> <http://www.enterprisedb.com;
>>
>>
>> *http://www.linkedin.com/in/asheshvashi*
>> <http://www.linkedin.com/in/asheshvashi;
>>
>> On Thu, Jul 7, 2016 at 2:33 PM, Dave Page <[email protected]> wrote:
>>
>>> Ashesh, can you review/commit please?
>>>
>>> Thanks.
>>>
>>> On Thu, Jul 7, 2016 at 7:50 AM, Harshal Dhumal <
>>> [email protected]> wrote:
>>>
>>>> Hi,
>>>>
>>>> By mistake I deleted a line which was not supposed to be deleted, and
>>>> that line of code was initialization of select2.
>>>>
>>>> --
>>>> *Harshal Dhumal*
>>>> *Software Engineer*
>>>>
>>>> EnterpriseDB India: http://www.enterprisedb.com
>>>> The Enterprise PostgreSQL Company
>>>>
>>>> On Thu, Jul 7, 2016 at 12:13 PM, Ashesh Vashi <
>>>> [email protected]> wrote:
>>>>
>>>>> Hi Harshal,
>>>>>
>>>>> Can you please explain - what was missing in the last patch?
>>>>>
>>>>> --
>>>>>
>>>>> Thanks & Regards,
>>>>>
>>>>> Ashesh Vashi
>>>>> EnterpriseDB INDIA: Enterprise PostgreSQL Company
>>>>> <http://www.enterprisedb.com;
>>>>>
>>>>>
>>>>> *http://www.linkedin.com/in/asheshvashi*
>>>>> <http://www.linkedin.com/in/asheshvashi;
>>>>>
>>>>> On Thu, Jul 7, 2016 at 12:12 PM, Harshal Dhumal <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> 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
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>>
>>> --
>>> Dave Page
>>> Blog: http://pgsnake.blogspot.com
>>> Twitter: @pgsnake
>>>
>>> EnterpriseDB UK: 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_V3.patch (7.1K, 3-RM1260_V3.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/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/templates/foreign_key/js/foreign_key.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/templates/foreign_key/js/foreign_key.js
index 3ffa6ef..d7c947f 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/templates/foreign_key/js/foreign_key.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/templates/foreign_key/js/foreign_key.js
@@ -21,6 +21,7 @@ function($, _, S, pgAdmin, pgBrowser, Alertify) {
       headerSelectControlTemplate =  _.template([
                               '<div class="<%=Backform.controlsClassName%> <%=extraClasses.join(\' \')%>">',
                               '  <select class="pgadmin-node-select form-control" name="<%=name%>" style="width:100%;" value="<%-value%>" <%=disabled ? "disabled" : ""%> <%=required ? "required" : ""%> >',
+                              '    <%=select2.first_empty ? " <option></option>" : ""%>',
                               '    <% for (var i=0; i < options.length; i++) { %>',
                               '    <% var option = options[i]; %>',
                               '    <option <% if (option.image) { %> data-image=<%= option.image %> <% } %> value=<%= formatter.fromRaw(option.value) %> <%=option.value === rawValue ? "selected=\'selected\'" : "" %>><%-option.label%></option>',
@@ -134,8 +135,9 @@ function($, _, S, pgAdmin, pgBrowser, Alertify) {
           }),
           select2: {
             allowClear: false, width: 'style',
-            placeholder: 'Select column'
-          }, first_empty: !_.isUndefined(self.model.get('oid')),
+            placeholder: '{{ _('Select column') }}',
+            first_empty: !_.isUndefined(self.model.get('oid'))
+          },
           version_compatible: self.field.get('version_compatible'),
           disabled: function(m) {
             return !_.isUndefined(self.model.get('oid'));
@@ -234,10 +236,11 @@ function($, _, S, pgAdmin, pgBrowser, Alertify) {
               Backform.Select2Control.prototype.render.apply(this, arguments);
               return this;
             }
-          }), url: 'get_columns', first_empty: true,
+          }), url: 'get_columns',
           select2: {
+            allowClear: false,
             width: "style",
-            placeholder: 'Select column',
+            placeholder: '{{ _('Select column') }}',
             templateResult: formatNode,
             templateSelection: formatNode
           },
diff --git a/web/pgadmin/browser/static/js/datamodel.js b/web/pgadmin/browser/static/js/datamodel.js
index 8cb7034..7b379ce 100644
--- a/web/pgadmin/browser/static/js/datamodel.js
+++ b/web/pgadmin/browser/static/js/datamodel.js
@@ -124,7 +124,7 @@ function(_, pgAdmin, $, Backbone) {
         var self = this;
         self._previous_key_values = {};
 
-        if ('on_server' in options && options.on_server) {
+        if (!_.isUndefined(options) && 'on_server' in options && options.on_server) {
           self.on_server = true;
         }
 
diff --git a/web/pgadmin/static/js/backform.pgadmin.js b/web/pgadmin/static/js/backform.pgadmin.js
index 2530db9..e27ea2d 100644
--- a/web/pgadmin/static/js/backform.pgadmin.js
+++ b/web/pgadmin/static/js/backform.pgadmin.js
@@ -1804,7 +1804,11 @@
       if (_.isArray(formattedData)) {
         return _.map(formattedData, decodeURIComponent);
       } else {
-        return decodeURIComponent(formattedData);
+        if(!_.isNull(formattedData) && !_.isUndefined(formattedData)) {
+          return decodeURIComponent(formattedData);
+        } else {
+          return null;
+        }
       }
     }
   });
@@ -1915,9 +1919,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;
     }
   });
 


^ permalink  raw  reply  [nested|flat] 13+ messages in thread

* Re: patch for issue RM1260 [pgAdmin4]
  2016-07-06 12:00 patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:34 ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:42   ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:43     ` Re: patch for issue RM1260 [pgAdmin4] Ashesh Vashi <[email protected]>
  2016-07-07 06:50       ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 09:03         ` Re: patch for issue RM1260 [pgAdmin4] Dave Page <[email protected]>
  2016-07-07 11:38           ` Re: patch for issue RM1260 [pgAdmin4] Ashesh Vashi <[email protected]>
  2016-07-27 10:19             ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-27 10:24               ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
@ 2016-07-27 13:23                 ` Ashesh Vashi <[email protected]>
  2016-07-27 14:07                   ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  0 siblings, 1 reply; 13+ messages in thread

From: Ashesh Vashi @ 2016-07-27 13:23 UTC (permalink / raw)
  To: Harshal Dhumal <[email protected]>; +Cc: Dave Page <[email protected]>; pgadmin-hackers

Hi Harshal,

During testing, I found that create, and delete operation on foreign table
is not working.
Foreign table node uses, it's own version of Select2 Control, which should
have used maximum functionalities from the original NodeAjaxOptionsControl
for consistency reason.
Hence - I have made the changes.

Can you please take a look at the create, and delete operations, and submit
combined patch for all those problems?

--

Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise PostgreSQL Company
<http://www.enterprisedb.com;


*http://www.linkedin.com/in/asheshvashi*
<http://www.linkedin.com/in/asheshvashi;

On Wed, Jul 27, 2016 at 3:54 PM, Harshal Dhumal <
[email protected]> wrote:

> and patch file
>
> --
> *Harshal Dhumal*
> *Software Engineer*
>
> EnterpriseDB India: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>
> On Wed, Jul 27, 2016 at 3:49 PM, Harshal Dhumal <
> [email protected]> wrote:
>
>> Hi,
>>
>> PFA updated patch for RM1260.
>>
>> In addition to RM1260 issue I have added following changes in this patch.
>> 1] datamodel.js: Added option check against undefined.
>> 2] foreign key: fixed first empty option issue.
>>
>> --
>> *Harshal Dhumal*
>> *Software Engineer*
>>
>> EnterpriseDB India: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>>
>> On Thu, Jul 7, 2016 at 5:08 PM, Ashesh Vashi <
>> [email protected]> wrote:
>>
>>> Sure - I will do.
>>>
>>> --
>>>
>>> Thanks & Regards,
>>>
>>> Ashesh Vashi
>>> EnterpriseDB INDIA: Enterprise PostgreSQL Company
>>> <http://www.enterprisedb.com;
>>>
>>>
>>> *http://www.linkedin.com/in/asheshvashi*
>>> <http://www.linkedin.com/in/asheshvashi;
>>>
>>> On Thu, Jul 7, 2016 at 2:33 PM, Dave Page <[email protected]> wrote:
>>>
>>>> Ashesh, can you review/commit please?
>>>>
>>>> Thanks.
>>>>
>>>> On Thu, Jul 7, 2016 at 7:50 AM, Harshal Dhumal <
>>>> [email protected]> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> By mistake I deleted a line which was not supposed to be deleted, and
>>>>> that line of code was initialization of select2.
>>>>>
>>>>> --
>>>>> *Harshal Dhumal*
>>>>> *Software Engineer*
>>>>>
>>>>> EnterpriseDB India: http://www.enterprisedb.com
>>>>> The Enterprise PostgreSQL Company
>>>>>
>>>>> On Thu, Jul 7, 2016 at 12:13 PM, Ashesh Vashi <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Hi Harshal,
>>>>>>
>>>>>> Can you please explain - what was missing in the last patch?
>>>>>>
>>>>>> --
>>>>>>
>>>>>> Thanks & Regards,
>>>>>>
>>>>>> Ashesh Vashi
>>>>>> EnterpriseDB INDIA: Enterprise PostgreSQL Company
>>>>>> <http://www.enterprisedb.com;
>>>>>>
>>>>>>
>>>>>> *http://www.linkedin.com/in/asheshvashi*
>>>>>> <http://www.linkedin.com/in/asheshvashi;
>>>>>>
>>>>>> On Thu, Jul 7, 2016 at 12:12 PM, Harshal Dhumal <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> 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
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Dave Page
>>>> Blog: http://pgsnake.blogspot.com
>>>> Twitter: @pgsnake
>>>>
>>>> EnterpriseDB UK: 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:

  [application/octet-stream] RM1260_v2.patch (10.3K, 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..d39d2d4 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
@@ -241,22 +241,6 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
     toJSON: Backbone.Model.prototype.toJSON
   });
 
-  var formatNode = function(opt) {
-    if (!opt.id) {
-      return opt.text;
-    }
-
-    var optimage = $(opt.element).data('image');
-
-    if(!optimage){
-      return opt.text;
-    } else {
-      return $(
-          '<span><span class="wcTabIcon ' + optimage + '"/>' + opt.text + '</span>'
-          );
-    }
-  };
-
 
   /* NodeAjaxOptionsMultipleControl is for multiple selection of Combobox.
   *  This control is used to select Multiple Parent Tables to be inherited.
@@ -264,83 +248,7 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
   *  To populates the column, it calls the server and fetch the columns data
   *  for the selected table.
   */
-
-  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,
-      {
-        select2: {
-          allowClear: true,
-          placeholder: 'Select from the list',
-          width: 'style',
-          templateResult: formatNode,
-          templateSelection: formatNode
-        }
-      }),
-    render: function() {
-      var field = _.defaults(this.field.toJSON(), this.defaults),
-        attributes = this.model.toJSON(),
-        attrArr = field.name.split('.'),
-        name = attrArr.shift(),
-        path = attrArr.join('.'),
-        rawValue = this.keyPathAccessor(attributes[name], path),
-        data = _.extend(field, {
-          rawValue: rawValue,
-          value: this.formatter.fromRaw(rawValue, this.model),
-          attributes: attributes,
-          formatter: this.formatter
-        }),
-        evalF = function(f, d, m) {
-          return (_.isFunction(f) ? !!f.apply(d, [m]) : !!f);
-        };
-
-      // Evaluate the disabled, visible, and required option
-      _.extend(data, {
-        disabled: evalF(data.disabled, data, this.model),
-        visible:  evalF(data.visible, data, this.model),
-        required: evalF(data.required, data, this.model)
-      });
-
-      if (field.node_info.server.version < field.min_version) {
-        field.version_compatible = false
-        return this;
-      }
-      else {
-        // Evaluation the options
-        if (_.isFunction(data.options)) {
-        try {
-          data.options = data.options.apply(this)
-        } catch(e) {
-          // Do nothing
-          data.options = []
-          this.model.trigger('pgadmin-view:transform:error', self.model, self.field, e);
-        }
-        }
-
-        // Clean up first
-        this.$el.removeClass(Backform.hiddenClassname);
-        this.$el.html(this.template(data)).addClass(field.name);
-
-        if (!data.visible) {
-        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.updateInvalid();
-        }
-      }
-      return this;
-    },
+  var NodeAjaxOptionsMultipleControl = Backform.NodeAjaxOptionsControl.extend({
     onChange: function(e) {
       var model = this.model,
           $el = $(e.target),
@@ -370,7 +278,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);
       }
@@ -632,7 +540,7 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
           type: 'text', group: 'Definition', url: 'get_foreign_servers', disabled: function(m) { return !m.isNew(); }
         },{
           id: 'inherits', label:'{{ _('Inherits') }}', group: 'Definition',
-          type: 'array', min_version: 90500, control: 'node-ajax-options-multiple',
+          type: 'array', min_version: 90500, control: NodeAjaxOptionsMultipleControl,
           url: 'get_tables', select2: {multiple: true},
           'cache_level': 'database',
           transform: function(d, self){
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
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/templates/foreign_key/js/foreign_key.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/templates/foreign_key/js/foreign_key.js
index 3ffa6ef..d7c947f 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/templates/foreign_key/js/foreign_key.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/templates/foreign_key/js/foreign_key.js
@@ -21,6 +21,7 @@ function($, _, S, pgAdmin, pgBrowser, Alertify) {
       headerSelectControlTemplate =  _.template([
                               '<div class="<%=Backform.controlsClassName%> <%=extraClasses.join(\' \')%>">',
                               '  <select class="pgadmin-node-select form-control" name="<%=name%>" style="width:100%;" value="<%-value%>" <%=disabled ? "disabled" : ""%> <%=required ? "required" : ""%> >',
+                              '    <%=select2.first_empty ? " <option></option>" : ""%>',
                               '    <% for (var i=0; i < options.length; i++) { %>',
                               '    <% var option = options[i]; %>',
                               '    <option <% if (option.image) { %> data-image=<%= option.image %> <% } %> value=<%= formatter.fromRaw(option.value) %> <%=option.value === rawValue ? "selected=\'selected\'" : "" %>><%-option.label%></option>',
@@ -134,8 +135,9 @@ function($, _, S, pgAdmin, pgBrowser, Alertify) {
           }),
           select2: {
             allowClear: false, width: 'style',
-            placeholder: 'Select column'
-          }, first_empty: !_.isUndefined(self.model.get('oid')),
+            placeholder: '{{ _('Select column') }}',
+            first_empty: !_.isUndefined(self.model.get('oid'))
+          },
           version_compatible: self.field.get('version_compatible'),
           disabled: function(m) {
             return !_.isUndefined(self.model.get('oid'));
@@ -234,10 +236,11 @@ function($, _, S, pgAdmin, pgBrowser, Alertify) {
               Backform.Select2Control.prototype.render.apply(this, arguments);
               return this;
             }
-          }), url: 'get_columns', first_empty: true,
+          }), url: 'get_columns',
           select2: {
+            allowClear: false,
             width: "style",
-            placeholder: 'Select column',
+            placeholder: '{{ _('Select column') }}',
             templateResult: formatNode,
             templateSelection: formatNode
           },
diff --git a/web/pgadmin/browser/static/js/datamodel.js b/web/pgadmin/browser/static/js/datamodel.js
index 8cb7034..7b379ce 100644
--- a/web/pgadmin/browser/static/js/datamodel.js
+++ b/web/pgadmin/browser/static/js/datamodel.js
@@ -124,7 +124,7 @@ function(_, pgAdmin, $, Backbone) {
         var self = this;
         self._previous_key_values = {};
 
-        if ('on_server' in options && options.on_server) {
+        if (!_.isUndefined(options) && 'on_server' in options && options.on_server) {
           self.on_server = true;
         }
 
diff --git a/web/pgadmin/static/js/backform.pgadmin.js b/web/pgadmin/static/js/backform.pgadmin.js
index 2530db9..e27ea2d 100644
--- a/web/pgadmin/static/js/backform.pgadmin.js
+++ b/web/pgadmin/static/js/backform.pgadmin.js
@@ -1804,7 +1804,11 @@
       if (_.isArray(formattedData)) {
         return _.map(formattedData, decodeURIComponent);
       } else {
-        return decodeURIComponent(formattedData);
+        if(!_.isNull(formattedData) && !_.isUndefined(formattedData)) {
+          return decodeURIComponent(formattedData);
+        } else {
+          return null;
+        }
       }
     }
   });
@@ -1915,9 +1919,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;
     }
   });
 


^ permalink  raw  reply  [nested|flat] 13+ messages in thread

* Re: patch for issue RM1260 [pgAdmin4]
  2016-07-06 12:00 patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:34 ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:42   ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:43     ` Re: patch for issue RM1260 [pgAdmin4] Ashesh Vashi <[email protected]>
  2016-07-07 06:50       ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 09:03         ` Re: patch for issue RM1260 [pgAdmin4] Dave Page <[email protected]>
  2016-07-07 11:38           ` Re: patch for issue RM1260 [pgAdmin4] Ashesh Vashi <[email protected]>
  2016-07-27 10:19             ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-27 10:24               ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-27 13:23                 ` Re: patch for issue RM1260 [pgAdmin4] Ashesh Vashi <[email protected]>
@ 2016-07-27 14:07                   ` Harshal Dhumal <[email protected]>
  2016-07-27 14:11                     ` Re: patch for issue RM1260 [pgAdmin4] Dave Page <[email protected]>
  0 siblings, 1 reply; 13+ messages in thread

From: Harshal Dhumal @ 2016-07-27 14:07 UTC (permalink / raw)
  To: Ashesh Vashi <[email protected]>; +Cc: Dave Page <[email protected]>; pgadmin-hackers

Hi,

PFA updated patch for RM1260 (V4).

Fixed create and delete operations for foreign table.


-- 
*Harshal Dhumal*
*Software Engineer*

EnterpriseDB India: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

On Wed, Jul 27, 2016 at 6:53 PM, Ashesh Vashi <[email protected]
> wrote:

> Hi Harshal,
>
> During testing, I found that create, and delete operation on foreign table
> is not working.
> Foreign table node uses, it's own version of Select2 Control, which should
> have used maximum functionalities from the original NodeAjaxOptionsControl
> for consistency reason.
> Hence - I have made the changes.
>
> Can you please take a look at the create, and delete operations, and
> submit combined patch for all those problems?
>
> --
>
> Thanks & Regards,
>
> Ashesh Vashi
> EnterpriseDB INDIA: Enterprise PostgreSQL Company
> <http://www.enterprisedb.com;
>
>
> *http://www.linkedin.com/in/asheshvashi*
> <http://www.linkedin.com/in/asheshvashi;
>
> On Wed, Jul 27, 2016 at 3:54 PM, Harshal Dhumal <
> [email protected]> wrote:
>
>> and patch file
>>
>> --
>> *Harshal Dhumal*
>> *Software Engineer*
>>
>> EnterpriseDB India: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>>
>> On Wed, Jul 27, 2016 at 3:49 PM, Harshal Dhumal <
>> [email protected]> wrote:
>>
>>> Hi,
>>>
>>> PFA updated patch for RM1260.
>>>
>>> In addition to RM1260 issue I have added following changes in this patch.
>>> 1] datamodel.js: Added option check against undefined.
>>> 2] foreign key: fixed first empty option issue.
>>>
>>> --
>>> *Harshal Dhumal*
>>> *Software Engineer*
>>>
>>> EnterpriseDB India: http://www.enterprisedb.com
>>> The Enterprise PostgreSQL Company
>>>
>>> On Thu, Jul 7, 2016 at 5:08 PM, Ashesh Vashi <
>>> [email protected]> wrote:
>>>
>>>> Sure - I will do.
>>>>
>>>> --
>>>>
>>>> Thanks & Regards,
>>>>
>>>> Ashesh Vashi
>>>> EnterpriseDB INDIA: Enterprise PostgreSQL Company
>>>> <http://www.enterprisedb.com;
>>>>
>>>>
>>>> *http://www.linkedin.com/in/asheshvashi*
>>>> <http://www.linkedin.com/in/asheshvashi;
>>>>
>>>> On Thu, Jul 7, 2016 at 2:33 PM, Dave Page <[email protected]> wrote:
>>>>
>>>>> Ashesh, can you review/commit please?
>>>>>
>>>>> Thanks.
>>>>>
>>>>> On Thu, Jul 7, 2016 at 7:50 AM, Harshal Dhumal <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> By mistake I deleted a line which was not supposed to be deleted, and
>>>>>> that line of code was initialization of select2.
>>>>>>
>>>>>> --
>>>>>> *Harshal Dhumal*
>>>>>> *Software Engineer*
>>>>>>
>>>>>> EnterpriseDB India: http://www.enterprisedb.com
>>>>>> The Enterprise PostgreSQL Company
>>>>>>
>>>>>> On Thu, Jul 7, 2016 at 12:13 PM, Ashesh Vashi <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> Hi Harshal,
>>>>>>>
>>>>>>> Can you please explain - what was missing in the last patch?
>>>>>>>
>>>>>>> --
>>>>>>>
>>>>>>> Thanks & Regards,
>>>>>>>
>>>>>>> Ashesh Vashi
>>>>>>> EnterpriseDB INDIA: Enterprise PostgreSQL Company
>>>>>>> <http://www.enterprisedb.com;
>>>>>>>
>>>>>>>
>>>>>>> *http://www.linkedin.com/in/asheshvashi*
>>>>>>> <http://www.linkedin.com/in/asheshvashi;
>>>>>>>
>>>>>>> On Thu, Jul 7, 2016 at 12:12 PM, Harshal Dhumal <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> 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
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Dave Page
>>>>> Blog: http://pgsnake.blogspot.com
>>>>> Twitter: @pgsnake
>>>>>
>>>>> EnterpriseDB UK: 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_V4.patch (16.8K, 3-RM1260_V4.patch)
  download | inline diff:
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/__init__.py
index 2665b62..98182fc 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/__init__.py
@@ -668,7 +668,8 @@ AND relkind != 'c'))"""
             if not status:
                 return internal_server_error(errormsg=res)
 
-            foid, scid = res['rows'][0]
+            foid = res['rows'][0]['oid']
+            scid = res['rows'][0]['scid']
 
             return jsonify(
                 node=self.blueprint.generate_browser_node(
@@ -718,7 +719,8 @@ AND relkind != 'c'))"""
                     )
                 )
 
-            name, basensp = res['rows'][0]
+            name =  res['rows'][0]['name']
+            basensp = res['rows'][0]['basensp']
 
             SQL = render_template("/".join([self.template_path,
                                             'delete.sql']),
@@ -1103,13 +1105,6 @@ AND relkind != 'c'))"""
         if cols and 'rows' in cols:
             data['columns'] = cols['rows']
 
-        data['strcolumn'] = ''
-        str_cols = []
-        if 'columns' in data:
-            for c in data['columns']:
-                str_cols.append(c['strcolumn'])
-            data['strcolumn'] = ', '.join(str_cols)
-
         # Get Inherited table names from their OID
         if inherits:
             if 'inherits' in data and data['inherits']:
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..230b6c2 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
@@ -241,22 +241,6 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
     toJSON: Backbone.Model.prototype.toJSON
   });
 
-  var formatNode = function(opt) {
-    if (!opt.id) {
-      return opt.text;
-    }
-
-    var optimage = $(opt.element).data('image');
-
-    if(!optimage){
-      return opt.text;
-    } else {
-      return $(
-          '<span><span class="wcTabIcon ' + optimage + '"/>' + opt.text + '</span>'
-          );
-    }
-  };
-
 
   /* NodeAjaxOptionsMultipleControl is for multiple selection of Combobox.
   *  This control is used to select Multiple Parent Tables to be inherited.
@@ -264,83 +248,7 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
   *  To populates the column, it calls the server and fetch the columns data
   *  for the selected table.
   */
-
-  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,
-      {
-        select2: {
-          allowClear: true,
-          placeholder: 'Select from the list',
-          width: 'style',
-          templateResult: formatNode,
-          templateSelection: formatNode
-        }
-      }),
-    render: function() {
-      var field = _.defaults(this.field.toJSON(), this.defaults),
-        attributes = this.model.toJSON(),
-        attrArr = field.name.split('.'),
-        name = attrArr.shift(),
-        path = attrArr.join('.'),
-        rawValue = this.keyPathAccessor(attributes[name], path),
-        data = _.extend(field, {
-          rawValue: rawValue,
-          value: this.formatter.fromRaw(rawValue, this.model),
-          attributes: attributes,
-          formatter: this.formatter
-        }),
-        evalF = function(f, d, m) {
-          return (_.isFunction(f) ? !!f.apply(d, [m]) : !!f);
-        };
-
-      // Evaluate the disabled, visible, and required option
-      _.extend(data, {
-        disabled: evalF(data.disabled, data, this.model),
-        visible:  evalF(data.visible, data, this.model),
-        required: evalF(data.required, data, this.model)
-      });
-
-      if (field.node_info.server.version < field.min_version) {
-        field.version_compatible = false
-        return this;
-      }
-      else {
-        // Evaluation the options
-        if (_.isFunction(data.options)) {
-        try {
-          data.options = data.options.apply(this)
-        } catch(e) {
-          // Do nothing
-          data.options = []
-          this.model.trigger('pgadmin-view:transform:error', self.model, self.field, e);
-        }
-        }
-
-        // Clean up first
-        this.$el.removeClass(Backform.hiddenClassname);
-        this.$el.html(this.template(data)).addClass(field.name);
-
-        if (!data.visible) {
-        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.updateInvalid();
-        }
-      }
-      return this;
-    },
+  var NodeAjaxOptionsMultipleControl = Backform.NodeAjaxOptionsControl.extend({
     onChange: function(e) {
       var model = this.model,
           $el = $(e.target),
@@ -370,7 +278,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);
       }
@@ -600,7 +508,6 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
           basensp: undefined,
           description: undefined,
           ftsrvname: undefined,
-          strcolumn: undefined,
           strftoptions: undefined,
           inherits: [],
           columns: [],
@@ -632,7 +539,7 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
           type: 'text', group: 'Definition', url: 'get_foreign_servers', disabled: function(m) { return !m.isNew(); }
         },{
           id: 'inherits', label:'{{ _('Inherits') }}', group: 'Definition',
-          type: 'array', min_version: 90500, control: 'node-ajax-options-multiple',
+          type: 'array', min_version: 90500, control: NodeAjaxOptionsMultipleControl,
           url: 'get_tables', select2: {multiple: true},
           'cache_level': 'database',
           transform: function(d, self){
@@ -646,9 +553,6 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
             return d;
           }
         },{
-          id: 'strcolumn', label:'{{ _('Columns') }}', cell: 'string', group: 'Definition',
-          type: 'text', min_version: 90500, mode: ['properties']
-        },{
           id: 'columns', label:'{{ _('Columns') }}', cell: 'string',
           type: 'collection', group: 'Columns', visible: false, mode: ['edit', 'create'],
           model: ColumnsModel, canAdd: true, canDelete: true, canEdit: true,
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.1_plus/get_columns.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.1_plus/get_columns.sql
index 4bf5e17..0733a3c 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.1_plus/get_columns.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.1_plus/get_columns.sql
@@ -1,13 +1,7 @@
 SELECT
     attname, attndims, atttypmod, format_type(t.oid,NULL) AS datatype,
     format_type(t.oid, att.atttypmod) AS fulltype, attnotnull, attnum,
-    (SELECT COUNT(1) from pg_type t2 WHERE t2.typname=t.typname) > 1 AS isdup,
-    (
-        attname || ' ' || format_type(t.oid, att.atttypmod) || ' ' ||
-        (CASE WHEN attnotnull='true'
-        THEN 'NOT NULL' ELSE 'NULL'
-        END)
-    ) as strcolumn
+    (SELECT COUNT(1) from pg_type t2 WHERE t2.typname=t.typname) > 1 AS isdup
 FROM
     pg_attribute att
 JOIN
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.2_plus/get_columns.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.2_plus/get_columns.sql
index 4270058..ab5ee75 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.2_plus/get_columns.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.2_plus/get_columns.sql
@@ -4,25 +4,7 @@ SELECT
     CASE WHEN length(cn.nspname) > 0 AND length(cl.collname) > 0 THEN
     concat(cn.nspname, '."', cl.collname,'"') ELSE '' END AS collname,
     (SELECT COUNT(1) from pg_type t2 WHERE t2.typname=t.typname) > 1 AS isdup,
-    pg_catalog.pg_get_expr(def.adbin, def.adrelid) AS typdefault,
-    (
-        attname || ' ' || format_type(t.oid, att.atttypmod) || ' ' ||
-        (
-            CASE WHEN array_length(attfdwoptions, 1)>0
-            THEN concat('OPTIONS (', array_to_string(attfdwoptions, ', '), ')') ELSE ''
-            END
-        ) || ' ' ||
-        (
-            CASE WHEN attnotnull='true'
-            THEN 'NOT NULL' ELSE 'NULL'
-            END
-        ) || ' ' ||
-        (
-            CASE WHEN pg_catalog.pg_get_expr(def.adbin, def.adrelid)<>''
-            THEN 'DEFAULT ' || pg_catalog.pg_get_expr(def.adbin, def.adrelid)
-            ELSE '' END
-        )
-    ) as strcolumn
+    pg_catalog.pg_get_expr(def.adbin, def.adrelid) AS typdefault
 FROM
     pg_attribute att
 JOIN
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.5_plus/get_columns.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.5_plus/get_columns.sql
index 64d6d13..3417208 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.5_plus/get_columns.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.5_plus/get_columns.sql
@@ -20,25 +20,6 @@ SELECT INH.inheritedfrom, INH.inheritedid, att.attoptions, attfdwoptions,
     concat(cn.nspname, '."', cl.collname,'"')
     ELSE '' END AS collname,
     pg_catalog.pg_get_expr(def.adbin, def.adrelid) AS typdefault,
-    (
-        att.attname || ' ' || format_type(t.oid, att.atttypmod) || ' ' ||
-        (
-            CASE WHEN array_length(attfdwoptions, 1)>0
-            THEN concat('OPTIONS (', array_to_string(attfdwoptions, ', '), ')') ELSE ''
-            END
-        ) || ' ' ||
-        (
-            CASE WHEN attnotnull='true'
-            THEN 'NOT NULL' ELSE 'NULL'
-            END
-        ) || ' ' ||
-        (
-            CASE WHEN pg_catalog.pg_get_expr(def.adbin, def.adrelid)<>''
-            THEN 'DEFAULT ' || pg_catalog.pg_get_expr(def.adbin, def.adrelid)
-            ELSE '' END
-        )
-    ) as strcolumn,
-
     (SELECT COUNT(1) from pg_type t2 WHERE t2.typname=t.typname) > 1 AS isdup
 FROM
     pg_attribute att
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..38f9ce4 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
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/templates/foreign_key/js/foreign_key.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/templates/foreign_key/js/foreign_key.js
index 3ffa6ef..d7c947f 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/templates/foreign_key/js/foreign_key.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/templates/foreign_key/js/foreign_key.js
@@ -21,6 +21,7 @@ function($, _, S, pgAdmin, pgBrowser, Alertify) {
       headerSelectControlTemplate =  _.template([
                               '<div class="<%=Backform.controlsClassName%> <%=extraClasses.join(\' \')%>">',
                               '  <select class="pgadmin-node-select form-control" name="<%=name%>" style="width:100%;" value="<%-value%>" <%=disabled ? "disabled" : ""%> <%=required ? "required" : ""%> >',
+                              '    <%=select2.first_empty ? " <option></option>" : ""%>',
                               '    <% for (var i=0; i < options.length; i++) { %>',
                               '    <% var option = options[i]; %>',
                               '    <option <% if (option.image) { %> data-image=<%= option.image %> <% } %> value=<%= formatter.fromRaw(option.value) %> <%=option.value === rawValue ? "selected=\'selected\'" : "" %>><%-option.label%></option>',
@@ -134,8 +135,9 @@ function($, _, S, pgAdmin, pgBrowser, Alertify) {
           }),
           select2: {
             allowClear: false, width: 'style',
-            placeholder: 'Select column'
-          }, first_empty: !_.isUndefined(self.model.get('oid')),
+            placeholder: '{{ _('Select column') }}',
+            first_empty: !_.isUndefined(self.model.get('oid'))
+          },
           version_compatible: self.field.get('version_compatible'),
           disabled: function(m) {
             return !_.isUndefined(self.model.get('oid'));
@@ -234,10 +236,11 @@ function($, _, S, pgAdmin, pgBrowser, Alertify) {
               Backform.Select2Control.prototype.render.apply(this, arguments);
               return this;
             }
-          }), url: 'get_columns', first_empty: true,
+          }), url: 'get_columns',
           select2: {
+            allowClear: false,
             width: "style",
-            placeholder: 'Select column',
+            placeholder: '{{ _('Select column') }}',
             templateResult: formatNode,
             templateSelection: formatNode
           },
diff --git a/web/pgadmin/browser/static/js/datamodel.js b/web/pgadmin/browser/static/js/datamodel.js
index 8cb7034..7b379ce 100644
--- a/web/pgadmin/browser/static/js/datamodel.js
+++ b/web/pgadmin/browser/static/js/datamodel.js
@@ -124,7 +124,7 @@ function(_, pgAdmin, $, Backbone) {
         var self = this;
         self._previous_key_values = {};
 
-        if ('on_server' in options && options.on_server) {
+        if (!_.isUndefined(options) && 'on_server' in options && options.on_server) {
           self.on_server = true;
         }
 
diff --git a/web/pgadmin/static/js/backform.pgadmin.js b/web/pgadmin/static/js/backform.pgadmin.js
index 2530db9..e27ea2d 100644
--- a/web/pgadmin/static/js/backform.pgadmin.js
+++ b/web/pgadmin/static/js/backform.pgadmin.js
@@ -1804,7 +1804,11 @@
       if (_.isArray(formattedData)) {
         return _.map(formattedData, decodeURIComponent);
       } else {
-        return decodeURIComponent(formattedData);
+        if(!_.isNull(formattedData) && !_.isUndefined(formattedData)) {
+          return decodeURIComponent(formattedData);
+        } else {
+          return null;
+        }
       }
     }
   });
@@ -1915,9 +1919,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;
     }
   });
 


^ permalink  raw  reply  [nested|flat] 13+ messages in thread

* Re: patch for issue RM1260 [pgAdmin4]
  2016-07-06 12:00 patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:34 ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:42   ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:43     ` Re: patch for issue RM1260 [pgAdmin4] Ashesh Vashi <[email protected]>
  2016-07-07 06:50       ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 09:03         ` Re: patch for issue RM1260 [pgAdmin4] Dave Page <[email protected]>
  2016-07-07 11:38           ` Re: patch for issue RM1260 [pgAdmin4] Ashesh Vashi <[email protected]>
  2016-07-27 10:19             ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-27 10:24               ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-27 13:23                 ` Re: patch for issue RM1260 [pgAdmin4] Ashesh Vashi <[email protected]>
  2016-07-27 14:07                   ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
@ 2016-07-27 14:11                     ` Dave Page <[email protected]>
  2016-08-02 04:09                       ` Re: patch for issue RM1260 [pgAdmin4] Ashesh Vashi <[email protected]>
  0 siblings, 1 reply; 13+ messages in thread

From: Dave Page @ 2016-07-27 14:11 UTC (permalink / raw)
  To: Harshal Dhumal <[email protected]>; +Cc: Ashesh Vashi <[email protected]>; pgadmin-hackers

Ashesh; please review and commit this.

Thanks.

On Wed, Jul 27, 2016 at 3:07 PM, Harshal Dhumal <
[email protected]> wrote:

> Hi,
>
> PFA updated patch for RM1260 (V4).
>
> Fixed create and delete operations for foreign table.
>
>
> --
> *Harshal Dhumal*
> *Software Engineer*
>
> EnterpriseDB India: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>
> On Wed, Jul 27, 2016 at 6:53 PM, Ashesh Vashi <
> [email protected]> wrote:
>
>> Hi Harshal,
>>
>> During testing, I found that create, and delete operation on foreign
>> table is not working.
>> Foreign table node uses, it's own version of Select2 Control, which
>> should have used maximum functionalities from the original
>> NodeAjaxOptionsControl for consistency reason.
>> Hence - I have made the changes.
>>
>> Can you please take a look at the create, and delete operations, and
>> submit combined patch for all those problems?
>>
>> --
>>
>> Thanks & Regards,
>>
>> Ashesh Vashi
>> EnterpriseDB INDIA: Enterprise PostgreSQL Company
>> <http://www.enterprisedb.com;
>>
>>
>> *http://www.linkedin.com/in/asheshvashi*
>> <http://www.linkedin.com/in/asheshvashi;
>>
>> On Wed, Jul 27, 2016 at 3:54 PM, Harshal Dhumal <
>> [email protected]> wrote:
>>
>>> and patch file
>>>
>>> --
>>> *Harshal Dhumal*
>>> *Software Engineer*
>>>
>>> EnterpriseDB India: http://www.enterprisedb.com
>>> The Enterprise PostgreSQL Company
>>>
>>> On Wed, Jul 27, 2016 at 3:49 PM, Harshal Dhumal <
>>> [email protected]> wrote:
>>>
>>>> Hi,
>>>>
>>>> PFA updated patch for RM1260.
>>>>
>>>> In addition to RM1260 issue I have added following changes in this
>>>> patch.
>>>> 1] datamodel.js: Added option check against undefined.
>>>> 2] foreign key: fixed first empty option issue.
>>>>
>>>> --
>>>> *Harshal Dhumal*
>>>> *Software Engineer*
>>>>
>>>> EnterpriseDB India: http://www.enterprisedb.com
>>>> The Enterprise PostgreSQL Company
>>>>
>>>> On Thu, Jul 7, 2016 at 5:08 PM, Ashesh Vashi <
>>>> [email protected]> wrote:
>>>>
>>>>> Sure - I will do.
>>>>>
>>>>> --
>>>>>
>>>>> Thanks & Regards,
>>>>>
>>>>> Ashesh Vashi
>>>>> EnterpriseDB INDIA: Enterprise PostgreSQL Company
>>>>> <http://www.enterprisedb.com;
>>>>>
>>>>>
>>>>> *http://www.linkedin.com/in/asheshvashi*
>>>>> <http://www.linkedin.com/in/asheshvashi;
>>>>>
>>>>> On Thu, Jul 7, 2016 at 2:33 PM, Dave Page <[email protected]> wrote:
>>>>>
>>>>>> Ashesh, can you review/commit please?
>>>>>>
>>>>>> Thanks.
>>>>>>
>>>>>> On Thu, Jul 7, 2016 at 7:50 AM, Harshal Dhumal <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> By mistake I deleted a line which was not supposed to be deleted,
>>>>>>> and that line of code was initialization of select2.
>>>>>>>
>>>>>>> --
>>>>>>> *Harshal Dhumal*
>>>>>>> *Software Engineer*
>>>>>>>
>>>>>>> EnterpriseDB India: http://www.enterprisedb.com
>>>>>>> The Enterprise PostgreSQL Company
>>>>>>>
>>>>>>> On Thu, Jul 7, 2016 at 12:13 PM, Ashesh Vashi <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> Hi Harshal,
>>>>>>>>
>>>>>>>> Can you please explain - what was missing in the last patch?
>>>>>>>>
>>>>>>>> --
>>>>>>>>
>>>>>>>> Thanks & Regards,
>>>>>>>>
>>>>>>>> Ashesh Vashi
>>>>>>>> EnterpriseDB INDIA: Enterprise PostgreSQL Company
>>>>>>>> <http://www.enterprisedb.com;
>>>>>>>>
>>>>>>>>
>>>>>>>> *http://www.linkedin.com/in/asheshvashi*
>>>>>>>> <http://www.linkedin.com/in/asheshvashi;
>>>>>>>>
>>>>>>>> On Thu, Jul 7, 2016 at 12:12 PM, Harshal Dhumal <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> 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
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Dave Page
>>>>>> Blog: http://pgsnake.blogspot.com
>>>>>> Twitter: @pgsnake
>>>>>>
>>>>>> EnterpriseDB UK: http://www.enterprisedb.com
>>>>>> The Enterprise PostgreSQL Company
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>


-- 
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


^ permalink  raw  reply  [nested|flat] 13+ messages in thread

* Re: patch for issue RM1260 [pgAdmin4]
  2016-07-06 12:00 patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:34 ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:42   ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 06:43     ` Re: patch for issue RM1260 [pgAdmin4] Ashesh Vashi <[email protected]>
  2016-07-07 06:50       ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-07 09:03         ` Re: patch for issue RM1260 [pgAdmin4] Dave Page <[email protected]>
  2016-07-07 11:38           ` Re: patch for issue RM1260 [pgAdmin4] Ashesh Vashi <[email protected]>
  2016-07-27 10:19             ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-27 10:24               ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-27 13:23                 ` Re: patch for issue RM1260 [pgAdmin4] Ashesh Vashi <[email protected]>
  2016-07-27 14:07                   ` Re: patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
  2016-07-27 14:11                     ` Re: patch for issue RM1260 [pgAdmin4] Dave Page <[email protected]>
@ 2016-08-02 04:09                       ` Ashesh Vashi <[email protected]>
  0 siblings, 0 replies; 13+ messages in thread

From: Ashesh Vashi @ 2016-08-02 04:09 UTC (permalink / raw)
  To: Dave Page <[email protected]>; +Cc: Harshal Dhumal <[email protected]>; pgadmin-hackers

Thanks - committed!

--

Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise PostgreSQL Company
<http://www.enterprisedb.com;


*http://www.linkedin.com/in/asheshvashi*
<http://www.linkedin.com/in/asheshvashi;

On Wed, Jul 27, 2016 at 7:41 PM, Dave Page <[email protected]> wrote:

> Ashesh; please review and commit this.
>
> Thanks.
>
> On Wed, Jul 27, 2016 at 3:07 PM, Harshal Dhumal <
> [email protected]> wrote:
>
>> Hi,
>>
>> PFA updated patch for RM1260 (V4).
>>
>> Fixed create and delete operations for foreign table.
>>
>>
>> --
>> *Harshal Dhumal*
>> *Software Engineer*
>>
>> EnterpriseDB India: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>>
>> On Wed, Jul 27, 2016 at 6:53 PM, Ashesh Vashi <
>> [email protected]> wrote:
>>
>>> Hi Harshal,
>>>
>>> During testing, I found that create, and delete operation on foreign
>>> table is not working.
>>> Foreign table node uses, it's own version of Select2 Control, which
>>> should have used maximum functionalities from the original
>>> NodeAjaxOptionsControl for consistency reason.
>>> Hence - I have made the changes.
>>>
>>> Can you please take a look at the create, and delete operations, and
>>> submit combined patch for all those problems?
>>>
>>> --
>>>
>>> Thanks & Regards,
>>>
>>> Ashesh Vashi
>>> EnterpriseDB INDIA: Enterprise PostgreSQL Company
>>> <http://www.enterprisedb.com;
>>>
>>>
>>> *http://www.linkedin.com/in/asheshvashi*
>>> <http://www.linkedin.com/in/asheshvashi;
>>>
>>> On Wed, Jul 27, 2016 at 3:54 PM, Harshal Dhumal <
>>> [email protected]> wrote:
>>>
>>>> and patch file
>>>>
>>>> --
>>>> *Harshal Dhumal*
>>>> *Software Engineer*
>>>>
>>>> EnterpriseDB India: http://www.enterprisedb.com
>>>> The Enterprise PostgreSQL Company
>>>>
>>>> On Wed, Jul 27, 2016 at 3:49 PM, Harshal Dhumal <
>>>> [email protected]> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> PFA updated patch for RM1260.
>>>>>
>>>>> In addition to RM1260 issue I have added following changes in this
>>>>> patch.
>>>>> 1] datamodel.js: Added option check against undefined.
>>>>> 2] foreign key: fixed first empty option issue.
>>>>>
>>>>> --
>>>>> *Harshal Dhumal*
>>>>> *Software Engineer*
>>>>>
>>>>> EnterpriseDB India: http://www.enterprisedb.com
>>>>> The Enterprise PostgreSQL Company
>>>>>
>>>>> On Thu, Jul 7, 2016 at 5:08 PM, Ashesh Vashi <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Sure - I will do.
>>>>>>
>>>>>> --
>>>>>>
>>>>>> Thanks & Regards,
>>>>>>
>>>>>> Ashesh Vashi
>>>>>> EnterpriseDB INDIA: Enterprise PostgreSQL Company
>>>>>> <http://www.enterprisedb.com;
>>>>>>
>>>>>>
>>>>>> *http://www.linkedin.com/in/asheshvashi*
>>>>>> <http://www.linkedin.com/in/asheshvashi;
>>>>>>
>>>>>> On Thu, Jul 7, 2016 at 2:33 PM, Dave Page <[email protected]> wrote:
>>>>>>
>>>>>>> Ashesh, can you review/commit please?
>>>>>>>
>>>>>>> Thanks.
>>>>>>>
>>>>>>> On Thu, Jul 7, 2016 at 7:50 AM, Harshal Dhumal <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> By mistake I deleted a line which was not supposed to be deleted,
>>>>>>>> and that line of code was initialization of select2.
>>>>>>>>
>>>>>>>> --
>>>>>>>> *Harshal Dhumal*
>>>>>>>> *Software Engineer*
>>>>>>>>
>>>>>>>> EnterpriseDB India: http://www.enterprisedb.com
>>>>>>>> The Enterprise PostgreSQL Company
>>>>>>>>
>>>>>>>> On Thu, Jul 7, 2016 at 12:13 PM, Ashesh Vashi <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> Hi Harshal,
>>>>>>>>>
>>>>>>>>> Can you please explain - what was missing in the last patch?
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>>
>>>>>>>>> Thanks & Regards,
>>>>>>>>>
>>>>>>>>> Ashesh Vashi
>>>>>>>>> EnterpriseDB INDIA: Enterprise PostgreSQL Company
>>>>>>>>> <http://www.enterprisedb.com;
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> *http://www.linkedin.com/in/asheshvashi*
>>>>>>>>> <http://www.linkedin.com/in/asheshvashi;
>>>>>>>>>
>>>>>>>>> On Thu, Jul 7, 2016 at 12:12 PM, Harshal Dhumal <
>>>>>>>>> [email protected]> wrote:
>>>>>>>>>
>>>>>>>>>> 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
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Dave Page
>>>>>>> Blog: http://pgsnake.blogspot.com
>>>>>>> Twitter: @pgsnake
>>>>>>>
>>>>>>> EnterpriseDB UK: http://www.enterprisedb.com
>>>>>>> The Enterprise PostgreSQL Company
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>


^ permalink  raw  reply  [nested|flat] 13+ messages in thread


end of thread, other threads:[~2016-08-02 04:09 UTC | newest]

Thread overview: 13+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2016-07-06 12:00 patch for issue RM1260 [pgAdmin4] Harshal Dhumal <[email protected]>
2016-07-07 06:34 ` Harshal Dhumal <[email protected]>
2016-07-07 06:42   ` Harshal Dhumal <[email protected]>
2016-07-07 06:43     ` Ashesh Vashi <[email protected]>
2016-07-07 06:50       ` Harshal Dhumal <[email protected]>
2016-07-07 09:03         ` Dave Page <[email protected]>
2016-07-07 11:38           ` Ashesh Vashi <[email protected]>
2016-07-27 10:19             ` Harshal Dhumal <[email protected]>
2016-07-27 10:24               ` Harshal Dhumal <[email protected]>
2016-07-27 13:23                 ` Ashesh Vashi <[email protected]>
2016-07-27 14:07                   ` Harshal Dhumal <[email protected]>
2016-07-27 14:11                     ` Dave Page <[email protected]>
2016-08-02 04:09                       ` Ashesh Vashi <[email protected]>

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox