Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1ijeek-00073A-5k for pgadmin-hackers@arkaria.postgresql.org; Tue, 24 Dec 2019 07:31:02 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1ijeej-0004UC-1O for pgadmin-hackers@arkaria.postgresql.org; Tue, 24 Dec 2019 07:31:01 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1ijeei-0004U5-ME for pgadmin-hackers@lists.postgresql.org; Tue, 24 Dec 2019 07:31:00 +0000 Received: from mail-ed1-x541.google.com ([2a00:1450:4864:20::541]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1ijeeg-0000zQ-Ew for pgadmin-hackers@postgresql.org; Tue, 24 Dec 2019 07:30:59 +0000 Received: by mail-ed1-x541.google.com with SMTP id m8so17265733edi.13 for ; Mon, 23 Dec 2019 23:30:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=0VIhQUjuM1XXVWZMM7+7qQxS3yptxKHpSJjmVPH5P6Q=; b=KBc9UelVc8lYsV3NfxkzTJxvfE+igMd2BNuEnW73fcqnaJa09pVRX/qQLQcj4GOEBH xwttj+BnbVcF5Ah4H1uxW+rANaaUEtQ8Tv4FQEIE4fFL7SfIxSwoVVPWHFzcmn5WhEa2 MyHyPJ6BK9SVv4f814tfsGZtqumRpGAKIaJkVY58oq8Qts3R6eKGwxfF38522J1GOqFQ mTzA8pf6cRGN1ba97CmuZt+4ZCoC6BwPGa5fi3YVK4w/kq60nh4OL0Ya2IKpZdP/dJJ/ dGzwgk0b1bAwZcW5QwmeGKVJy+s2kWW0mUjikU5a6w9tgkqVsuuQhtm+F1bWzz048LIE MIIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=0VIhQUjuM1XXVWZMM7+7qQxS3yptxKHpSJjmVPH5P6Q=; b=Tq4gQbmbsN+T+hbEtBn9bAnx1/zx4XHk8iWzFl3P0YkG2JXtrIwv8geJR3Y5ozzyJq pMj2YTlybBdv6tJDk95A9l1qGOGkx4RN9ME+wYVcZ2Y4/vMRoMCu5LrjbNlXofUMt5He zmc6h8+2lyOcJMJ8sw2JY8XmSGPBa7htQ4ECgfBwotv313Yys4y04ycBQRPkFip3FjUw 9eBBibTq2baTK6pOSEHkkJZo46Hbj99h+G7O+qmmAJkxJBKB62DiAflAxL7dJhqJdlKv ThfpqGBwA4yi7PV+InEeOwxfQZlmMdILSaVlZ3uzzUWh8faMqaqJGXLt00/3Fv2actbW 07pA== X-Gm-Message-State: APjAAAUhagzdIXqeOjFwP9mbrhy1jzF+l5UY2x/KJ3JDQtcMjNFH24Rf 3ekic/TveCic8vbYiPfIoU1yXBHyNRCQ7+Svj3sx4MV8xFu6ZGXz4KLPsAnZmeZkACK1RY8jBFb frow5k77UiwZFOELHV1HhznVBSsa6lB3pHfqqPpqxFkTqVSpuv9C+ezruefwwL054U8h4vsv9e/ 1Um5eSLXjrKaRhMdWwAdF5qImUxhkO/3bJ6UStWlqqkyYlTZaHdyWbyg== X-Google-Smtp-Source: APXvYqwxXcZuB+XaKEOZb+bxB4FmhdGI+Wvokqif6QPOq0HCkdqdpR+WzNF6PYa1bw68OlEDgRIM1xIsREbN6DZs8bw= X-Received: by 2002:a17:906:3cea:: with SMTP id d10mr36575557ejh.32.1577172656854; Mon, 23 Dec 2019 23:30:56 -0800 (PST) MIME-Version: 1.0 From: Aditya Toshniwal Date: Tue, 24 Dec 2019 13:00:20 +0530 Message-ID: Subject: [pgAdmin][RM5038] Select2 enhancement - Load items on demand (scroll) To: pgadmin-hackers Content-Type: multipart/mixed; boundary="000000000000f68b47059a6e1f8d" X-CLOUD-SEC-AV-Info: edb,google_mail,monitor X-CLOUD-SEC-AV-Sent: true X-Gm-Spam: 0 X-Gm-Phishy: 0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --000000000000f68b47059a6e1f8d Content-Type: multipart/alternative; boundary="000000000000f68b44059a6e1f8b" --000000000000f68b44059a6e1f8b Content-Type: text/plain; charset="UTF-8" Hi Hackers, Attached is the patch to enhance select2 used in pgAdmin. The select2 dropdown will show only a few items when opened initially. On scrolling it will show others. Searching will work as before. This will reduce the number of DOM nodes on page. Note that, individual controls can disable the behaviour if desired by passing onDemandLoad:false for select2 options. It is enabled by default. Kindly review. -- Thanks and Regards, Aditya Toshniwal pgAdmin Hacker | Sr. Software Engineer | EnterpriseDB India | Pune "Don't Complain about Heat, Plant a TREE" --000000000000f68b44059a6e1f8b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Hackers,

Attached is the patch to enhance=C2=A0select2 = used in pgAdmin. The select2 dropdown will show only a few items when opene= d initially. On scrolling it will show others. Searching will work as befor= e. This will reduce the number of DOM nodes on page.
Note that, individual = controls can disable the behaviour if desired by passing onDemandLoad:false= for select2 options. It is enabled by default.

Kindly review.

--
Thanks and Regards,
Aditya Toshniwal
pgAdmin Hacker | Sr. Softwa= re Engineer |=C2=A0EnterpriseDB India |=C2=A0Pune
"Don't Complain about Heat, Pl= ant a TREE"
--000000000000f68b44059a6e1f8b-- --000000000000f68b47059a6e1f8d Content-Type: application/octet-stream; name="RM5038.patch" Content-Disposition: attachment; filename="RM5038.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k4jjusc20 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2pzL25vZGUudWkuanMgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3N0YXRpYy9qcy9ub2RlLnVpLmpzCmluZGV4IGNkMTE5NDZmZC4u ODM2ZDgzZDFmIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3N0YXRpYy9qcy9ub2Rl LnVpLmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2pzL25vZGUudWkuanMKQEAg LTkzLDYgKzkzLDU3IEBAIGRlZmluZShbCiAgICAgKTsKICAgfSk7CiAKKyAgLyogRGVmaW5lIG9u IGRlbWFuZCBsb2FkaW5nIG9mIGRyb3Bkb3duIGl0ZW1zLgorICAgKiBUaGlzIGFsc28gcmVxdWly ZXMgYWpheCBvcHRpb24gb2Ygc2VsZWN0MiB0byBiZSBzZXQuCisgICAqIFRoZSB0cmljayBpcywg YWpheDoge30gd2lsbCBhbHNvIHdvcmsgZXZlbiBpZiB5b3UncmUgYWN0dWFsbHkgbm90CisgICAq IHVzaW5nIGFqYXguCisgICAqLworICAkLmZuLnNlbGVjdDIuYW1kLmRlZmluZSgnc2VsZWN0Mi9v bkRlbWFuZERhdGFBZGFwdGVyJywgWworICAgICdzZWxlY3QyL3V0aWxzJywKKyAgICAnc2VsZWN0 Mi9kYXRhL3NlbGVjdCcsCisgIF0sIGZ1bmN0aW9uIChVdGlscywgU2VsZWN0QWRhcHRlcikgewor CisgICAgZnVuY3Rpb24gb25EZW1hbmREYXRhQWRhcHRlciAoJGVsZW1lbnQsIG9wdGlvbnMpIHsK KyAgICAgIHRoaXMuJGVsZW1lbnQgPSAkZWxlbWVudDsKKyAgICAgIHRoaXMub3B0aW9ucyA9IG9w dGlvbnM7CisgICAgfQorICAgIFV0aWxzLkV4dGVuZChvbkRlbWFuZERhdGFBZGFwdGVyLCBTZWxl Y3RBZGFwdGVyKTsKKyAgICBvbkRlbWFuZERhdGFBZGFwdGVyLnByb3RvdHlwZS5xdWVyeSA9IGZ1 bmN0aW9uIChwYXJhbXMsIGNhbGxiYWNrKSB7CisgICAgICB2YXIgZGF0YSA9IFtdOworICAgICAg dmFyIHNlbGYgPSB0aGlzOworICAgICAgaWYgKCFwYXJhbXMucGFnZSkgeworICAgICAgICBwYXJh bXMucGFnZSA9IDE7CisgICAgICB9CisgICAgICB2YXIgcGFnZVNpemUgPSAyMDsKKworICAgICAg dmFyICRvcHRpb25zID0gdGhpcy4kZWxlbWVudC5jaGlsZHJlbigpOworICAgICAgJG9wdGlvbnMu ZWFjaChmdW5jdGlvbiAoKSB7CisgICAgICAgIHZhciAkb3B0aW9uID0gJCh0aGlzKTsKKworICAg ICAgICBpZiAoISRvcHRpb24uaXMoJ29wdGlvbicpICYmICEkb3B0aW9uLmlzKCdvcHRncm91cCcp KSB7CisgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgdmFyIG9wdGlvbiA9 IHNlbGYuaXRlbSgkb3B0aW9uKTsKKworICAgICAgICB2YXIgbWF0Y2hlcyA9IHNlbGYubWF0Y2hl cyhwYXJhbXMsIG9wdGlvbik7CisKKyAgICAgICAgaWYgKG1hdGNoZXMgIT09IG51bGwpIHsKKyAg ICAgICAgICBkYXRhLnB1c2gobWF0Y2hlcyk7CisgICAgICAgIH0KKyAgICAgIH0pOworCisgICAg ICBjYWxsYmFjayh7CisgICAgICAgIHJlc3VsdHM6IGRhdGEuc2xpY2UoKHBhcmFtcy5wYWdlIC0g MSkgKiBwYWdlU2l6ZSwgcGFyYW1zLnBhZ2UgKiBwYWdlU2l6ZSksCisgICAgICAgIHBhZ2luYXRp b246IHsKKyAgICAgICAgICBtb3JlOiBkYXRhLmxlbmd0aCA+PSBwYXJhbXMucGFnZSAqIHBhZ2VT aXplLAorICAgICAgICB9LAorICAgICAgfSk7CisgICAgfTsKKworICAgIHJldHVybiBvbkRlbWFu ZERhdGFBZGFwdGVyOworICB9KTsKKwogICAvKgogICAgKiBOb2RlQWpheE9wdGlvbnNDb250cm9s CiAgICAqICAgVGhpcyBjb250cm9sIHdpbGwgZmV0Y2ggdGhlIG9wdGlvbnMgcmVxdWlyZWQgdG8g cmVuZGVyIHRoZSBzZWxlY3QKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9iYWNr Zm9ybS5wZ2FkbWluLmpzIGIvd2ViL3BnYWRtaW4vc3RhdGljL2pzL2JhY2tmb3JtLnBnYWRtaW4u anMKaW5kZXggZWIwODIxMjg0Li40YzkyMjc2MzcgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3N0 YXRpYy9qcy9iYWNrZm9ybS5wZ2FkbWluLmpzCisrKyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9i YWNrZm9ybS5wZ2FkbWluLmpzCkBAIC0yMTkwLDYgKzIxOTAsNyBAQCBkZWZpbmUoWwogICAgICAg ICBlbXB0eU9wdGlvbnM6IGZhbHNlLAogICAgICAgICBwcmVzZXJ2ZVNlbGVjdGlvbk9yZGVyOiBm YWxzZSwKICAgICAgICAgaXNEcm9wZG93blBhcmVudDogZmFsc2UsCisgICAgICAgIG9uRGVtYW5k TG9hZDogdHJ1ZSwKICAgICAgIH0pOwogCiAgICAgICAvLyBFdmFsdWF0ZSB0aGUgZGlzYWJsZWQs IHZpc2libGUsIGFuZCByZXF1aXJlZCBvcHRpb24KQEAgLTIyNDgsNiArMjI0OSwxNiBAQCBkZWZp bmUoWwogICAgICAgICBzZWxlY3QyT3B0cy5kYXRhID0gZGF0YS5yYXdWYWx1ZTsKICAgICAgIH0K IAorICAgICAgLyogU2V0IHRoZSBwZ2FkbWluIGFkYXB0ZXIgZm9yIG9uIGRlbWFuZCBsb2FkLgor ICAgICAgICogU2V0dGluZyBlbXB0eSBhamF4IG9wdGlvbiB3aWxsIGVuYWJsZSBpbmZpbml0ZSBz Y3JvbGxpbmcuCisgICAgICAgKi8KKyAgICAgIGlmKHNlbGVjdDJPcHRzLm9uRGVtYW5kTG9hZCkg eworICAgICAgICBzZWxlY3QyT3B0cy5kYXRhQWRhcHRlciA9ICQuZm4uc2VsZWN0Mi5hbWQucmVx dWlyZSgnc2VsZWN0Mi9vbkRlbWFuZERhdGFBZGFwdGVyJyk7CisgICAgICAgIGlmKF8uaXNVbmRl ZmluZWQoc2VsZWN0Mk9wdHMuYWpheCkpIHsKKyAgICAgICAgICBzZWxlY3QyT3B0cy5hamF4ID0g e307CisgICAgICAgIH0KKyAgICAgIH0KKwogICAgICAgdGhpcy4kc2VsID0gdGhpcy4kZWwuZmlu ZCgnc2VsZWN0Jykuc2VsZWN0MihzZWxlY3QyT3B0cyk7CiAKICAgICAgIC8vIEFkZCBvciByZW1v dmUgdGFncyBmcm9tIHNlbGVjdDIgY29udHJvbApAQCAtMjI2Miw4ICsyMjczLDYgQEAgZGVmaW5l KFsKICAgICAgICAgICAgICQodGhpcykuZW1wdHkoKTsKICAgICAgICAgICB9CiAgICAgICAgIH0p OwotCi0KICAgICAgIH0KIAogICAgICAgLy8gU2VsZWN0IHRoZSBoaWdobGlnaHRlZCBpdGVtIG9u IFRhYiBwcmVzcy4KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9iYWNrZ3JpZC5w Z2FkbWluLmpzIGIvd2ViL3BnYWRtaW4vc3RhdGljL2pzL2JhY2tncmlkLnBnYWRtaW4uanMKaW5k ZXggNTJiY2JkOWQ5Li42NDQyM2UxZDAgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3N0YXRpYy9q cy9iYWNrZ3JpZC5wZ2FkbWluLmpzCisrKyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9iYWNrZ3Jp ZC5wZ2FkbWluLmpzCkBAIC04ODMsNiArODgzLDcgQEAgZGVmaW5lKFsKICAgICAgICAgc2VsZWN0 Ml9vcHRzID0gXy5leHRlbmQoewogICAgICAgICAgIG9wZW5PbkVudGVyOiBmYWxzZSwKICAgICAg ICAgICBtdWx0aXBsZTogZmFsc2UsCisgICAgICAgICAgb25EZW1hbmRMb2FkOiB0cnVlLAogICAg ICAgICB9LCBzZWxmLmRlZmF1bHRzLnNlbGVjdDIsCiAgICAgICAgIChjb2wuc2VsZWN0MiB8fCB7 fSkKICAgICAgICAgKSwKQEAgLTk0Myw2ICs5NDQsMTIgQEAgZGVmaW5lKFsKICAgICAgICAgc2Vs ZWN0Ml9vcHRzWydwbGFjZWhvbGRlciddID0gJyc7CiAgICAgICB9CiAKKyAgICAgIGlmKHNlbGVj dDJfb3B0cy5vbkRlbWFuZExvYWQpIHsKKyAgICAgICAgc2VsZWN0Ml9vcHRzLmRhdGFBZGFwdGVy ID0gJC5mbi5zZWxlY3QyLmFtZC5yZXF1aXJlKCdzZWxlY3QyL29uRGVtYW5kRGF0YUFkYXB0ZXIn KTsKKyAgICAgICAgaWYoXy5pc1VuZGVmaW5lZChzZWxlY3QyX29wdHMuYWpheCkpIHsKKyAgICAg ICAgICBzZWxlY3QyX29wdHMuYWpheCA9IHt9OworICAgICAgICB9CisgICAgICB9CiAgICAgICAv LyBJbml0aWFsaXplIHNlbGVjdDIgY29udHJvbC4KICAgICAgIHRoaXMuJHNlbCA9IHRoaXMuJHNl bGVjdC5zZWxlY3QyKHNlbGVjdDJfb3B0cyk7CiAK --000000000000f68b47059a6e1f8d--