Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1aLF9s-0006V6-P7 for pgadmin-hackers@arkaria.postgresql.org; Mon, 18 Jan 2016 19:08:09 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84) (envelope-from ) id 1aLF9s-0002mM-2h for pgadmin-hackers@arkaria.postgresql.org; Mon, 18 Jan 2016 19:08:08 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84) (envelope-from ) id 1aLF9r-0002mF-3p for pgadmin-hackers@postgresql.org; Mon, 18 Jan 2016 19:08:07 +0000 Received: from mail-ob0-x230.google.com ([2607:f8b0:4003:c01::230]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84) (envelope-from ) id 1aLF9l-0007Wg-QW for pgadmin-hackers@postgresql.org; Mon, 18 Jan 2016 19:08:06 +0000 Received: by mail-ob0-x230.google.com with SMTP id py5so201085666obc.2 for ; Mon, 18 Jan 2016 11:08:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:date:message-id:subject:from:to:content-type; bh=LWPUq/kjwIRqlPVmgHDNAqrFcvSFg3DCtHKLzPbzB2w=; b=T3XVh/6/MauzwPawMfO1/f7aaZ3z+PAAcHZDNvmzWeBa+/F/CDntxwphwRBkdvLuyK cSI9KWM0F3K3jC13IonQx4tc6Af6u48oVi9mu6o0rbcaQBfFoECExTG6S/BlGrWIZJoC M8QsRXyWOOcu2+hqyQb3AcjLutFesBHmHq9d/M4ClPT9Np9mKO6xexrJ/sAjy+kY93Ep kAzdmPbKPoctsOZtOWzHBjHtbF/iv0mZPRPt4RlC6EbK0yT5ksQC5QdliEYjzDS6Qnpk QbRl3yrOawNR1CZtyqoWNcGs808WfZcG2jW+WqBmmaLI5wRKE7lOT2dAoCYWzJ1UMQPj CiLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=LWPUq/kjwIRqlPVmgHDNAqrFcvSFg3DCtHKLzPbzB2w=; b=KYrIxwfMQleMu0niaGJyvJM/n3Q4TmehvZimL3FeIXOYJ7uQXyDaS+k5+com2C6+NC T89o/j0RrcyIzlxOMmgPjlA2gfANeyTjEmo35ft7yU4WegtAsx27dx90zl8yKPrsyS16 gcJDW3A/9f9EXA2WS+o/ZscjuJO2QYuD+95wpd2D4pX+diXMr2RbX6e5+cAFdIb4wBbC c/p7uS6q6gPp1gWmg9jGKuJ3F414Jv0wTS4WjeB0Okf8jMH6rq+HAXDYnxTWloJOzg8U JfeAvXHQwv3lMSmbTmNE6iMxULtwl3wVXeAhoLmxf8VSQhDF9HRUckuTBc0L8l2uQ4oI 9Exw== X-Gm-Message-State: ALoCoQnAqyCh1idEMKzOCxjJMgRf+902ADpa+U8s/1PoME53PVQWZkrCZT9vD/eIqO3W7hReYfGrlHKwYZOhUjvzzoc4GAk18Vps2uYtgyFFh2xn7CfjpcQ= MIME-Version: 1.0 X-Received: by 10.60.138.67 with SMTP id qo3mr19871936oeb.80.1453144079672; Mon, 18 Jan 2016 11:07:59 -0800 (PST) Received: by 10.202.73.71 with HTTP; Mon, 18 Jan 2016 11:07:59 -0800 (PST) Date: Tue, 19 Jan 2016 00:37:59 +0530 Message-ID: Subject: New mechanism in backgrid to render different types of cells in same column [pgAdmin4] From: Harshal Dhumal To: pgadmin-hackers@postgresql.org Content-Type: multipart/mixed; boundary=047d7b2e465aada14a0529a0784f X-Pg-Spam-Score: -1.2 (-) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgadmin-hackers Precedence: bulk Sender: pgadmin-hackers-owner@postgresql.org --047d7b2e465aada14a0529a0784f Content-Type: multipart/alternative; boundary=047d7b2e465aada1450529a0784d --047d7b2e465aada1450529a0784d Content-Type: text/plain; charset=UTF-8 Hi, This patch is replacement for our developed DynamicVariablecell. Now we can pass cellFunction in column schema to get appropriate cell class. User provided cellFunction must return valid cell class. cellFunction will be called with context (this) as column and model as argument. eg.: schema: [ {id: 'name', label:'Name', type:'text', editable: false, cell: 'string'}, { id: 'value', label:'Value', type: 'text', editable: true, cellFunction: function(model){ if (isNaN(model.get(this.get('name')))) { return "string"; } else { return Backgrid.NumberCell; } } }, {id: 'database', label:'Database', type: 'text', editable: false}, . . . -- *Harshal Dhumal* *Software Engineer * EenterpriseDB --047d7b2e465aada1450529a0784d Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

This patch is replacement = for our developed DynamicVariablecell.

Now we can pass cellFun= ction in column schema to get appropriate cell class.
User provided cell= Function must return valid cell class.
cellFunction will be called with = context (this) as column and model as argument.

eg.:

<= pre style=3D"background-color:rgb(43,43,43);color:rgb(169,183,198);font-fam= ily:"Source Code Pro";font-size:12pt">schema: [
{id: 'name', label:'Name', type:'text', editable: false, cell: 'string'},
{
id: 'value', label:'Value', type: 'text', editable: true,
cellFunction: function(model){

if (isNaN(model.get(this.get('name')))) {
return &quo= t;string";
} else {
retur= n Backgrid.NumberCell;<= br> }
}
}, {id: 'database', l= abel:'Database', type:= 'text', editable: false},
.
.
.
<= /pre>


--=C2=A0
Harshal Dhu= mal
Software Engineer=C2=A0

<= img src=3D"https://docs.google.com/a/enterprisedb.com/uc?id=3D0BxpHB9LYCIiO= QWRhNE5RM29pb0k&export=3Ddownload" height=3D"53" width=3D"96">

--047d7b2e465aada1450529a0784d-- --047d7b2e465aada14a0529a0784f Content-Type: text/x-patch; charset=US-ASCII; name="variable_js_19_Jan.patch" Content-Disposition: attachment; filename="variable_js_19_Jan.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ijkc2fq70 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL3N0YXRpYy9qcy92YXJpYWJsZS5qcyBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3N0YXRpYy9qcy92YXJp YWJsZS5qcwppbmRleCAyZWFkMWEwLi5kMGJhNjQ2IDEwMDY0NAotLS0gYS93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9zdGF0 aWMvanMvdmFyaWFibGUuanMKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvc3RhdGljL2pzL3ZhcmlhYmxlLmpzCkBA IC0zMSw2ICszMSw0NiBAQAogICB9CiB9ICh0aGlzLCBmdW5jdGlvbihyb290 LCBfLCAkLCBCYWNrYm9uZSwgQmFja2Zvcm0sIEFsZXJ0aWZ5LCBwZ0FkbWlu LCBwZ05vZGUpIHsKIAorICAvKgorICAgKiBjZWxsRnVuY3Rpb24gZm9yIHZh cmlhYmxlIGNvbnRyb2wuCisgICAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucyBj ZWxsIGNsYXNzIGRlcGVuZGluZyBvbiB2YXJ0eXBlLgorICAgKi8KKyAgdmFy IGNlbGxGdW5jdGlvbiA9IGZ1bmN0aW9uKG1vZGVsKSB7CisgICAgdmFyIHNl bGYgPSB0aGlzLAorICAgICAgbmFtZSA9IG1vZGVsLmdldCgibmFtZSIpLAor ICAgICAgYXZhaWxWYXJpYWJsZXMgPSBzZWxmLmdldCgnYXZhaWxWYXJpYWJs ZXMnKSwKKyAgICAgIHZhcmlhYmxlID0gYXZhaWxWYXJpYWJsZXNbbmFtZV07 CisKKyAgICBzd2l0Y2godmFyaWFibGUgJiYgdmFyaWFibGUudmFydHlwZSkg eworICAgICAgY2FzZSAiYm9vbCI6CisgICAgICAgIHJldHVybiBCYWNrZ3Jp ZC5FeHRlbnNpb24uU3dpdGNoQ2VsbDsKKyAgICAgIGJyZWFrOworICAgICAg Y2FzZSAiZW51bSI6CisgICAgICAgIHZhciBvcHRpb25zID0gW10sCisgICAg ICAgICAgICBlbnVtVmFscyA9IHZhcmlhYmxlLmVudW12YWxzOworCisgICAg ICAgIF8uZWFjaChlbnVtVmFscywgZnVuY3Rpb24oZW51bVZhbCkgeworICAg ICAgICAgIG9wdGlvbnMucHVzaChbZW51bVZhbCwgZW51bVZhbF0pOworICAg ICAgICB9KTsKKyAgICAgICAgcmV0dXJuIEJhY2tncmlkLkV4dGVuc2lvbi5T ZWxlY3QyQ2VsbC5leHRlbmQoCisgICAgICAgICAgICB7IG9wdGlvblZhbHVl czogb3B0aW9ucyB9CisgICAgICAgICAgICApOworICAgICAgYnJlYWs7Cisg ICAgICBjYXNlICJpbnRlZ2VyIjoKKyAgICAgICAgcmV0dXJuIEJhY2tncmlk LkludGVnZXJDZWxsOworICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgInJl YWwiOgorICAgICAgICByZXR1cm4gQmFja2dyaWQuTnVtYmVyQ2VsbC5leHRl bmQoeyBkZWNpbWFsczogMCB9KTsKKyAgICAgIGJyZWFrOworICAgICAgY2Fz ZSAic3RyaW5nIjoKKyAgICAgICAgcmV0dXJuIEJhY2tncmlkLlN0cmluZ0Nl bGw7CisgICAgICBicmVhazsKKyAgICAgIGRlZmF1bHQ6CisgICAgICAgIEJh Y2tncmlkLkNlbGw7CisgICAgICBicmVhazsKKyAgICB9CisgIH0KKwogICAv KioKICAgICogIFZhcmlhYmxlTW9kZWwgdXNlZCB0byByZXByZXNlbnQgY29u ZmlndXJhdGlvbiBwYXJhbWV0ZXJzICh2YXJpYWJsZXMgdGFiKQogICAgKiAg Zm9yIGRhdGFiYXNlIG9iamVjdHMuCkBAIC00Niw4ICs4Niw4IEBACiAgICAg c2NoZW1hOiBbCiAgICAgICB7aWQ6ICduYW1lJywgbGFiZWw6J05hbWUnLCB0 eXBlOid0ZXh0JywgZWRpdGFibGU6IGZhbHNlLCBjZWxsSGVhZGVyQ2xhc3Nl czogJ3dpZHRoX3BlcmNlbnRfMzAnfSwKICAgICAgIHsKLSAgICAgICAgaWQ6 ICd2YWx1ZScsIGxhYmVsOidWYWx1ZScsIHR5cGU6ICd0ZXh0JywgY2VsbDog J2R5bmFtaWMtdmFyaWFibGUnLAotICAgICAgICBlZGl0YWJsZTogdHJ1ZSwg Y2VsbEhlYWRlckNsYXNzZXM6ICd3aWR0aF9wZXJjZW50XzUwJworICAgICAg ICBpZDogJ3ZhbHVlJywgbGFiZWw6J1ZhbHVlJywgdHlwZTogJ3RleHQnLCBl ZGl0YWJsZTogdHJ1ZSwKKyAgICAgICAgY2VsbEZ1bmN0aW9uOiBjZWxsRnVu Y3Rpb24sIGNlbGxIZWFkZXJDbGFzc2VzOiAnd2lkdGhfcGVyY2VudF81MCcK ICAgICAgIH0sCiAgICAgICB7aWQ6ICdkYXRhYmFzZScsIGxhYmVsOidEYXRh YmFzZScsIHR5cGU6ICd0ZXh0JywgZWRpdGFibGU6IGZhbHNlfSwKICAgICAg IHtpZDogJ3JvbGUnLCBsYWJlbDonUm9sZScsIHR5cGU6ICd0ZXh0JywgZWRp dGFibGU6IGZhbHNlfQpAQCAtODUsMTAyICsxMjUsNiBAQAogICAgIH0KICAg fSk7CiAKLSAgLyoKLSAgICogRHluYW1pYyBWYXJpYWJsZSBjZWxsLiBVc2Vk IGZvciB2YXJpYWJsZSBkYXRhIHR5cGUgY29sdW1uIGluIFZhcmlhYmxlcyB0 YWIuCi0gICAqIEJlaGF2aW91ciBvZiBjZWxsIGRlcGVuZHMgb24gdmFyaWFi bGUgZGF0YSB0eXBlLgotICAgKi8KLSAgdmFyIER5bmFtaWNWYXJpYWJsZUNl bGwgPSBCYWNrZ3JpZC5FeHRlbnNpb24uRHluYW1pY1ZhcmlhYmxlQ2VsbCA9 IEJhY2tncmlkLkNlbGwuZXh0ZW5kKHsKLSAgICAvKgotICAgICAqIE1hcHBp bmcgb2YgcG9zdGdyZXMgZGF0YSB0eXBlIHRvIGJhY2tncmlkIGNlbGwgdHlw ZS4KLSAgICAgKi8KLSAgICB2YXJpYWJsZUNlbGxNYXBwZXI6IHsKLSAgICAg ICJib29sIjpCYWNrZ3JpZC5FeHRlbnNpb24uU3dpdGNoQ2VsbCwKLSAgICAg ICJlbnVtIjpCYWNrZ3JpZC5FeHRlbnNpb24uU2VsZWN0MkNlbGwsCi0gICAg ICAic3RyaW5nIjpCYWNrZ3JpZC5DZWxsLAotICAgICAgImludGVnZXIiOkJh Y2tncmlkLkludGVnZXJDZWxsLAotICAgICAgInJlYWwiOkJhY2tncmlkLk51 bWJlckNlbGwKLSAgICB9LAotICAgIGluaXRpYWxpemU6IGZ1bmN0aW9uIChv cHRzKSB7Ci0KLSAgICAgIHZhciBzZWxmID0gdGhpcywKLSAgICAgICAgICBu YW1lID0gb3B0cy5tb2RlbC5nZXQoIm5hbWUiKTsKLSAgICAgIHNlbGYuYXZh aWxWYXJpYWJsZXMgPSBvcHRzLmNvbHVtbi5nZXQoJ2F2YWlsVmFyaWFibGVz Jyk7Ci0KLSAgICAgIHZhciB2YXJpYWJsZSA9IChzZWxmLmF2YWlsVmFyaWFi bGVzW25hbWVdKSwKLSAgICAgICAgICBjZWxsID0gc2VsZi52YXJpYWJsZUNl bGxNYXBwZXJbdmFyaWFibGUgJiYgdmFyaWFibGUudmFydHlwZV0gfHwgQmFj a2dyaWQuQ2VsbDsKLQotICAgICAgLyoKLSAgICAgICAqIFNldCBwcm9wZXJ0 aWVzIGZvciBkeW5hbWljIGNlbGwuCi0gICAgICAgKi8KLSAgICAgIF8uZWFj aChjZWxsLnByb3RvdHlwZSwgZnVuY3Rpb24odixrKSB7Ci0gICAgICAgIHNl bGZba10gPSB2OwotICAgICAgfSk7Ci0KLSAgICAgIER5bmFtaWNWYXJpYWJs ZUNlbGwuX19zdXBlcl9fLmluaXRpYWxpemUuYXBwbHkoc2VsZiwgYXJndW1l bnRzKTsKLQotICAgICAgc3dpdGNoKHZhcmlhYmxlICYmIHZhcmlhYmxlLnZh cnR5cGUpIHsKLSAgICAgICAgY2FzZSAiYm9vbCI6Ci0gICAgICAgICAgLy8g VGhlcmUgYXJlIG5vIHNwZWNpZmljIHByb3BlcnRpZXMgZm9yIEJvb2xlYW5D ZWxsLgotICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIGNhc2UgImVudW0i OgotICAgICAgICAgIHZhciBvcHRpb25zID0gW10sCi0gICAgICAgICAgICAg IG5hbWUgPSBzZWxmLm1vZGVsLmdldCgibmFtZSIpLAotICAgICAgICAgICAg ICBlbnVtVmFscyA9IHZhcmlhYmxlLmVudW12YWxzOwotCi0gICAgICAgICAg Xy5lYWNoKGVudW1WYWxzLCBmdW5jdGlvbihlbnVtVmFsKSB7Ci0gICAgICAg ICAgICBvcHRpb25zLnB1c2goW2VudW1WYWwsIGVudW1WYWxdKTsKLSAgICAg ICAgICB9KTsKLQotICAgICAgICAgIHNlbGYub3B0aW9uVmFsdWVzID0gb3B0 aW9uczsKLSAgICAgICAgICBzZWxmLm11bHRpcGxlID0gY2VsbC5wcm90b3R5 cGUubXVsdGlwbGU7Ci0gICAgICAgICAgc2VsZi5kZWxpbWl0ZXIgPSBjZWxs LnByb3RvdHlwZS5kZWxpbWl0ZXI7Ci0KLSAgICAgICAgICBzZWxmLmxpc3Rl blRvKAotICAgICAgICAgICAgICBzZWxmLm1vZGVsLCAiYmFja2dyaWQ6ZWRp dCIsCi0gICAgICAgICAgICAgIGZ1bmN0aW9uIChtb2RlbCwgY29sdW1uLCBj ZWxsLCBlZGl0b3IpIHsKLSAgICAgICAgICAgICAgICBpZiAoY29sdW1uLmdl dCgibmFtZSIpID09IHNlbGYuY29sdW1uLmdldCgibmFtZSIpKSB7Ci0gICAg ICAgICAgICAgICAgICBlZGl0b3Iuc2V0T3B0aW9uVmFsdWVzKHNlbGYub3B0 aW9uVmFsdWVzKTsKLSAgICAgICAgICAgICAgICAgIGVkaXRvci5zZXRNdWx0 aXBsZShzZWxmLm11bHRpcGxlKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAg ICAgICAgICAgIH0pOwotICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIGNh c2UgImludGVnZXIiOgotCi0gICAgICAgICAgc2VsZi5kZWNpbWFscyA9IDA7 Ci0gICAgICAgICAgc2VsZi5kZWNpbWFsU2VwYXJhdG9yID0gY2VsbC5wcm90 b3R5cGUuZGVjaW1hbFNlcGFyYXRvcjsKLSAgICAgICAgICBzZWxmLm9yZGVy U2VwYXJhdG9yID0gY2VsbC5wcm90b3R5cGUub3JkZXJTZXBhcmF0b3I7Ci0g ICAgICAgICAgdmFyIGZvcm1hdHRlciA9IHNlbGYuZm9ybWF0dGVyOwotCi0g ICAgICAgICAgZm9ybWF0dGVyLmRlY2ltYWxzID0gc2VsZi5kZWNpbWFsczsK LSAgICAgICAgICBmb3JtYXR0ZXIuZGVjaW1hbFNlcGFyYXRvciA9IHNlbGYu ZGVjaW1hbFNlcGFyYXRvcjsKLSAgICAgICAgICBmb3JtYXR0ZXIub3JkZXJT ZXBhcmF0b3IgPSBzZWxmLm9yZGVyU2VwYXJhdG9yOwotCi0gICAgICAgICAg YnJlYWs7Ci0KLSAgICAgICAgY2FzZSAicmVhbCI6Ci0KLSAgICAgICAgICBz ZWxmLmRlY2ltYWxzID0gY2VsbC5wcm90b3R5cGUuZGVjaW1hbHM7Ci0gICAg ICAgICAgc2VsZi5kZWNpbWFsU2VwYXJhdG9yID0gY2VsbC5wcm90b3R5cGUu ZGVjaW1hbFNlcGFyYXRvcjsKLSAgICAgICAgICBzZWxmLm9yZGVyU2VwYXJh dG9yID0gY2VsbC5wcm90b3R5cGUub3JkZXJTZXBhcmF0b3I7Ci0KLSAgICAg ICAgICB2YXIgZm9ybWF0dGVyID0gc2VsZi5mb3JtYXR0ZXI7Ci0KLSAgICAg ICAgICBmb3JtYXR0ZXIuZGVjaW1hbHMgPSAwOwotICAgICAgICAgIGZvcm1h dHRlci5kZWNpbWFsU2VwYXJhdG9yID0gc2VsZi5kZWNpbWFsU2VwYXJhdG9y OwotICAgICAgICAgIGZvcm1hdHRlci5vcmRlclNlcGFyYXRvciA9IHNlbGYu b3JkZXJTZXBhcmF0b3I7Ci0KLSAgICAgICAgICBicmVhazsKLQotICAgICAg ICBjYXNlICJzdHJpbmciOgotICAgICAgICBkZWZhdWx0OgotICAgICAgICAg IC8vIFRoZXJlIGFyZSBubyBzcGVjaWZpYyBwcm9wZXJ0aWVzIGZvciBTdHJp bmdDZWxsIGFuZCBDZWxsLgotICAgICAgICAgIGJyZWFrOwotICAgICAgfQot ICAgIH0KLSAgfSk7Ci0KICAgLyoqCiAgICAqIFZhcmlhYmxlIFRhYiBDb250 cm9sIHRvIHNldC91cGRhdGUgY29uZmlndXJhdGlvbiB2YWx1ZXMgZm9yIGRh dGFiYXNlIG9iamVjdC4KICAgICoKQEAgLTE5OCwxMyArMTQyLDIyIEBACiAg ICAgKSwKIAogICAgIGluaXRpYWxpemU6IGZ1bmN0aW9uKG9wdHMpIHsKLSAg ICAgIHZhciBzZWxmID0gdGhpczsKKyAgICAgIHZhciBzZWxmID0gdGhpcywK KyAgICAgICAgdW5pcXVlQ29sID0gWyduYW1lJ107CisKKyAgICAgIHNlbGYu aGFzRGF0YWJhc2UgPSBvcHRzLmZpZWxkLmdldCgnaGFzRGF0YWJhc2UnKTsK KyAgICAgIHNlbGYuaGFzUm9sZSA9IG9wdHMuZmllbGQuZ2V0KCdoYXNSb2xl Jyk7CiAKKyAgICAgIGlmIChzZWxmLmhhc0RhdGFiYXNlKSB7CisgICAgICAg IHVuaXF1ZUNvbC5wdXNoKCdkYXRhYmFzZScpCisgICAgICB9IGVsc2UgaWYg KHNlbGYuaGFzUm9sZSkgeworICAgICAgICB1bmlxdWVDb2wucHVzaCgncm9s ZScpCisgICAgICB9CiAgICAgICAvLyBPdmVycmlkaW5nIHRoZSB1bmlxdWVD b2wgaW4gdGhlIGZpZWxkCiAgICAgICBpZiAob3B0cyAmJiBvcHRzLmZpZWxk KSB7CiAgICAgICAgIGlmIChvcHRzLmZpZWxkIGluc3RhbmNlb2YgQmFja2Zv cm0uRmllbGQpIHsKICAgICAgICAgICBvcHRzLmZpZWxkLnNldCh7Ci0gICAg ICAgICAgICB1bmlxdWVDb2w6IFsnbmFtZScsICdyb2xlJywgJ2RhdGFiYXNl J10sCisgICAgICAgICAgICB1bmlxdWVDb2w6IHVuaXF1ZUNvbCB8fCBzZWxm LnVuaXF1ZUNvbCwKICAgICAgICAgICAgIG1vZGVsOiBwZ05vZGUuVmFyaWFi bGVNb2RlbAogICAgICAgICAgIH0sCiAgICAgICAgICAgewpAQCAtMjEyLDcg KzE2NSw3IEBACiAgICAgICAgICAgfSk7CiAgICAgICAgIH0gZWxzZSB7CiAg ICAgICAgICAgb3B0cy5maWVsZC5leHRlbmQoewotICAgICAgICAgICAgdW5p cXVlQ29sOiBbJ25hbWUnLCAncm9sZScsICdkYXRhYmFzZSddLAorICAgICAg ICAgICAgdW5pcXVlQ29sOiB1bmlxdWVDb2wgfHwgc2VsZi51bmlxdWVDb2ws CiAgICAgICAgICAgICBtb2RlbDogcGdOb2RlLlZhcmlhYmxlTW9kZWwKICAg ICAgICAgICB9KTsKICAgICAgICAgfQpAQCAtMjIyLDggKzE3NSw3IEBACiAg ICAgICAgICAgc2VsZiwgYXJndW1lbnRzCiAgICAgICAgICAgKTsKIAotICAg ICAgc2VsZi5oYXNEYXRhYmFzZSA9IHNlbGYuZmllbGQuZ2V0KCdoYXNEYXRh YmFzZScpOwotICAgICAgc2VsZi5oYXNSb2xlID0gc2VsZi5maWVsZC5nZXQo J2hhc1JvbGUnKTsKKwogICAgICAgc2VsZi5hdmFpbFZhcmlhYmxlcyA9IHt9 OwogCiAgICAgICB2YXIgbm9kZSA9IHNlbGYuZmllbGQuZ2V0KCdub2RlJyku dHlwZSwKQEAgLTU2Niw3ICs1MTgsNyBAQAogICAgICAgICBjaGVja1ZhcnMu cHVzaCgnZGF0YWJhc2UnKTsKICAgICAgIH0KIAotICAgICAgaWYgKHNlbGYu cm9sZSkgeworICAgICAgaWYgKHNlbGYuaGFzUm9sZSkgewogICAgICAgICBj aGVja1ZhcnMucHVzaCgncm9sZScpOwogICAgICAgfQogCmRpZmYgLS1naXQg YS93ZWIvcGdhZG1pbi9zdGF0aWMvanMvYmFja2dyaWQvYmFja2dyaWQucGdh ZG1pbi5qcyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9iYWNrZ3JpZC9iYWNr Z3JpZC5wZ2FkbWluLmpzCmluZGV4IGI5YTNmODEuLjQzZTE5NGIgMTAwNjQ0 Ci0tLSBhL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9iYWNrZ3JpZC9iYWNrZ3Jp ZC5wZ2FkbWluLmpzCisrKyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9iYWNr Z3JpZC9iYWNrZ3JpZC5wZ2FkbWluLmpzCkBAIC0yMiw2ICsyMiw0OSBAQAog ICAgIGZhY3Rvcnkocm9vdCwgcm9vdC5fLCAocm9vdC5qUXVlcnkgfHwgcm9v dC5aZXB0byB8fCByb290LmVuZGVyIHx8IHJvb3QuJCksIHJvb3QuQmFja2Jv bmUsIHJvb3QuQmFja2Zvcm0pOwogICB9CiB9ICh0aGlzLCBmdW5jdGlvbihy b290LCBfLCAkLCBCYWNrYm9uZSwgQmFja2Zvcm0sIEFsZXJ0aWZ5KSB7CisK KyAgLyoKKyAgICogQWRkIG1lY2hhbmlzbSBpbiBiYWNrZ3JpZCB0byByZW5k ZXIgZGlmZmVyZW50IHR5cGVzIG9mIGNlbGxzIGluCisgICAqIHNhbWUgY29s dW1uOworICAgKi8KKworICAvLyBBZGQgbmV3IHByb3BlcnR5IGNlbGxGdW5j dGlvbiBpbiBCYWNrZ3JpZC5Db2x1bW4uCisgIF8uZXh0ZW5kKEJhY2tncmlk LkNvbHVtbi5wcm90b3R5cGUuZGVmYXVsdHMsIHsgY2VsbEZ1bmN0aW9uOiB1 bmRlZmluZWQgfSk7CisKKyAgXy5leHRlbmQoQmFja2dyaWQuUm93LnByb3Rv dHlwZSwgeworICAgIG1ha2VDZWxsOiBmdW5jdGlvbiAoY29sdW1uKSB7Cisg ICAgICByZXR1cm4gbmV3ICh0aGlzLmdldENlbGwoY29sdW1uKSkoeworICAg ICAgICBjb2x1bW46IGNvbHVtbiwKKyAgICAgICAgbW9kZWw6IHRoaXMubW9k ZWwKKyAgICAgIH0pOworICAgIH0sCisgICAgLyoKKyAgICAgKiBnZXRDZWxs IGZ1bmN0aW9uIHdpbGwgY2hlY2sgYW5kIGV4ZWN1dGUgdXNlciBnaXZlIGNl bGxGdW5jdGlvbiB0byBnZXQKKyAgICAgKiBhcHByb3ByaWF0ZSBjZWxsIGNs YXNzIGZvciBjdXJyZW50IGNlbGwgYmVpbmcgcmVuZGVyZWQuCisgICAgICog VXNlciBwcm92aWRlZCBjZWxsRnVuY3Rpb24gbXVzdCByZXR1cm4gdmFsaWQg Y2VsbCBjbGFzcy4KKyAgICAgKiBjZWxsRnVuY3Rpb24gd2lsbCBiZSBjYWxs ZWQgd2l0aCBjb250ZXh0ICh0aGlzKSBhcyBjb2x1bW4gYW5kIG1vZGVsIGFz CisgICAgICogYXJndW1lbnQuCisgICAgICovCisgICAgZ2V0Q2VsbDogZnVu Y3Rpb24gKGNvbHVtbikgeworICAgICAgdmFyIGNmID0gY29sdW1uLmdldCgi Y2VsbEZ1bmN0aW9uIik7CisgICAgICBpZiAoXy5pc0Z1bmN0aW9uKGNmKSl7 CisgICAgICAgIHZhciBjZWxsID0gY2YuYXBwbHkoY29sdW1uLCBbdGhpcy5t b2RlbF0pOworICAgICAgICB0cnkgeworICAgICAgICAgIHJldHVybiBCYWNr Z3JpZC5yZXNvbHZlTmFtZVRvQ2xhc3MoY2VsbCwgIkNlbGwiKTsKKyAgICAg ICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgIGlmIChlIGluc3RhbmNlb2Yg UmVmZXJlbmNlRXJyb3IpIHsKKyAgICAgICAgICAgIC8vIEZhbGxiYWNrIHRv IGNvbHVtbiBjZWxsLgorICAgICAgICAgICAgcmV0dXJuIGNvbHVtbi5nZXQo ImNlbGwiKTsKKyAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgdGhy b3cgZTsgLy8gTGV0IG90aGVyIGV4Y2VwdGlvbnMgYnViYmxlIHVwCisgICAg ICAgICAgfQorICAgICAgICB9CisgICAgICB9IGVsc2UgeworICAgICAgICBy ZXR1cm4gY29sdW1uLmdldCgiY2VsbCIpOworICAgICAgfQorICAgIH0KKyAg fSk7CisKICAgdmFyIE9iamVjdENlbGxFZGl0b3IgPSBCYWNrZ3JpZC5FeHRl bnNpb24uT2JqZWN0Q2VsbEVkaXRvciA9IEJhY2tncmlkLkNlbGxFZGl0b3Iu ZXh0ZW5kKHsKICAgICBtb2RhbFRlbXBsYXRlOiBfLnRlbXBsYXRlKFsKICAg ICAgICc8ZGl2IGNsYXNzPSJzdWJub2RlLWRpYWxvZyIgdGFiaW5kZXg9IjEi PicsCg== --047d7b2e465aada14a0529a0784f Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers --047d7b2e465aada14a0529a0784f--