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 1gmcZk-00062y-6Y for pgadmin-hackers@arkaria.postgresql.org; Thu, 24 Jan 2019 10:49:36 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1gmcZi-0006Tx-NZ for pgadmin-hackers@arkaria.postgresql.org; Thu, 24 Jan 2019 10:49:34 +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 1gmcZi-0006Tq-61 for pgadmin-hackers@lists.postgresql.org; Thu, 24 Jan 2019 10:49:34 +0000 Received: from mail-yb1-xb44.google.com ([2607:f8b0:4864:20::b44]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gmcZe-0000Vw-RP for pgadmin-hackers@postgresql.org; Thu, 24 Jan 2019 10:49:32 +0000 Received: by mail-yb1-xb44.google.com with SMTP id k9so1653852ybg.1 for ; Thu, 24 Jan 2019 02:49:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=pvegFxsVCJFDJTMPGELc00JB81j/10LKL26WWz1wzJE=; b=lk2XqrzhFPhDq9AvZMlA0gDnvO33DZTMsib1qP4D4CEcwEeaDq2qPcHYBBcxC5wCJY PdRYaG4+jdZZe2alXZDFjCDbFhLhIQ4jbP6Za3IAHJedr5X7szba0jBDY5U7kZJ8TQHS FEsb4xF6bsGCvd7j+/hkgtZLtNqaJAxTU6Bul4aR/hB33M6UNvlHkSK3tynqGl126YOn Gx2ftu6lVgbCPPiksUJ+5hkz38SCYI9oaBOe04ao3+IgeYLaoFcq3ZJVUiWkwhYvynxJ oevG3NoasB5H0WyTev9heTGyqztzywIWqVAq10NP6vOnLKuanTCDwnTFwmndK6khs+4r +9Jw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=pvegFxsVCJFDJTMPGELc00JB81j/10LKL26WWz1wzJE=; b=bmQWnvWXUrFCGLYIdBsaBzogkjm2qkblzKP8jRDrPt7Oj+MRZsY1gbyoxbRrQ18Zpk u/+8D1eQ1MfKrq4Z3rqSDy2jQPX/FZTfDS1aLDjNJYqgp5ZAQ3h5AJhsPg2vzqtx1NC/ 2Qp88XznmzMGi/ZhkBf8Kf/x9iODPY1ECO31kogsMDd35Odd+7P9q6vqdNCBwqqe1mue 1y+2V8Nl81PkxWvlgxXUDOA7rgBynpVzZNInN4yGjTHtrWn45g84oiTtGVGzzGKXw3of fhgM9jInaMi2ohA187On/SELGmZkoxTNhFWpZHGyMvDLhMiac/rnhwoyMRQeWAQ6tosC N/Pg== X-Gm-Message-State: AJcUukcvsjj5zR5uQFLxNOcFC/E1qkAgZEXaTdlE5NS/WGBrPRcvia4K lhwNulYASP5kcqaCORg9us74+YT6f3uglxzy+9k+Rg== X-Google-Smtp-Source: ALg8bN4rj4/SFS9EgqGabkfKgfKNKdYoXmkY55JRUh5JxiPGl+cJmyN+hVKAfWL7DSuwtP9nZrsAOWftnnag5rGIypg= X-Received: by 2002:a25:a569:: with SMTP id h96mr5414080ybi.454.1548326969607; Thu, 24 Jan 2019 02:49:29 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Harshal Dhumal Date: Thu, 24 Jan 2019 16:19:18 +0530 Message-ID: Subject: Re: [pgAdmin4] [RM3862] Fix Dialog tabset keyboard navigation To: Akshay Joshi Cc: pgadmin-hackers Content-Type: multipart/mixed; boundary="000000000000055bda058031f7ac" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --000000000000055bda058031f7ac Content-Type: multipart/alternative; boundary="000000000000055bd5058031f7aa" --000000000000055bd5058031f7aa Content-Type: text/plain; charset="UTF-8" Hi, Please find attached patch to fix dialog tab navigation in backup and restore dialog. Note: If first control in dialog is bootstrap switch then tab and dialog tab navigation do not work. This is because bootstrap switch captures all keyboard events and it does not allow them to propagate /bubble up. As Khushboo is working on new switch control (RM 3051 ) I haven't fix this issue as a part of this patch. -- *Harshal Dhumal* *Sr. Software Engineer* EnterpriseDB India: http://www.enterprisedb.com The Enterprise PostgreSQL Company On Tue, Jan 22, 2019 at 4:29 PM Akshay Joshi wrote: > Thanks patch applied. > > On Tue, Jan 22, 2019 at 2:51 PM Khushboo Vashi < > khushboo.vashi@enterprisedb.com> wrote: > >> The patch looks good to me. >> >> On Mon, Jan 21, 2019 at 4:39 PM Akshay Joshi < >> akshay.joshi@enterprisedb.com> wrote: >> >>> Hi Khushboo >>> >>> Can you please review it. >>> >>> On Wed, Jan 16, 2019 at 12:55 PM Harshal Dhumal < >>> harshal.dhumal@enterprisedb.com> wrote: >>> >>>> Hi, >>>> >>>> Please find attached updated patch. >>>> In this patch I have fixed two issues: >>>> i. Dialog tab navigation should work even if focus is on footer buttons >>>> (Save, Cancel, etc..) >>>> ii. Focus should be set to first editable element of dialog when tab >>>> cycle goes through all editable footer buttons. >>>> >>>> >>>> -- >>>> *Harshal Dhumal* >>>> *Sr. Software Engineer* >>>> >>>> EnterpriseDB India: http://www.enterprisedb.com >>>> The Enterprise PostgreSQL Company >>>> >>>> >>>> On Thu, Jan 10, 2019 at 1:16 PM Harshal Dhumal < >>>> harshal.dhumal@enterprisedb.com> wrote: >>>> >>>>> Hi, >>>>> This patch fixes Dialog tabset keyboard navigation. >>>>> This regression was caused due to bootstrap 4 changes. >>>>> Also I have added jasmine test cases for the same >>>>> >>>>> >>>>> -- >>>>> *Harshal Dhumal* >>>>> *Sr. Software Engineer* >>>>> >>>>> EnterpriseDB India: http://www.enterprisedb.com >>>>> The Enterprise PostgreSQL Company >>>>> >>>> >>> >>> -- >>> *Akshay Joshi* >>> >>> *Sr. Software Architect * >>> >>> >>> >>> *Phone: +91 20-3058-9517Mobile: +91 976-788-8246* >>> >> > > -- > *Akshay Joshi* > > *Sr. Software Architect * > > > > *Phone: +91 20-3058-9517Mobile: +91 976-788-8246* > --000000000000055bd5058031f7aa Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

Please find attach= ed patch to fix dialog tab navigation in backup and restore dialog.

Note: If first control in dialog is bootstrap switch then= tab and dialog tab navigation do not work.
This is because boots= trap switch captures all keyboard events and it does not allow them to prop= agate /bubble up.
As Khushboo is working on new switch control (R= M=C2=A03051) I h= aven't fix this issue as a part of this patch.

<= div dir=3D"ltr">
--=C2=A0
Harshal Dhumal
Sr. Software Engineer

EnterpriseDB India:=C2=A0http://www= .enterprisedb.com
= The Enterprise Post= greSQL Company


On Tue, Jan 2= 2, 2019 at 4:29 PM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Thanks patch applie= d.

On Tue, Jan 22, 2019 at 2:51 PM Khushboo Vashi= <k= hushboo.vashi@enterprisedb.com> wrote:
The patch looks good to= me.

On Mon, Jan 21, = 2019 at 4:39 PM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi K= hushboo=C2=A0

Can you please review it.

<= div class=3D"gmail_quote">
On W= ed, Jan 16, 2019 at 12:55 PM Harshal Dhumal <harshal.dhumal@enterprisedb.com> wrote:
Hi,

Please find attached updated patch.
In this patch I have fixed two issues:
i. Dialog tab nav= igation should work even if focus is on footer buttons (Save, Cancel, etc..= )
ii. Focus should be set to first editable element of dialog whe= n tab cycle goes through all editable footer buttons.

<= div>

Hi,
This patch = fixes=C2=A0Dialog tabset keyboard navigation.
This regression was= caused due to bootstrap 4 changes.
Also I have added jasmine tes= t cases for the same


--=C2=A0
Harshal Dhumal
<= b>Sr. Software Engineer

EnterpriseDB India:=C2=A0http://www.enterprisedb.com
The Enterprise PostgreSQL Company
<= /div>


--
Akshay Joshi


Phone: +91 20-3058-9517
Mobile: +91 976-788-8246<= /span>


--
Sr. Software Architect


Phone: +91 20-3058-9517
Mobil= e: +91 976-788-8246
--000000000000055bd5058031f7aa-- --000000000000055bda058031f7ac Content-Type: text/x-patch; charset="US-ASCII"; name="RM3862_v3.patch" Content-Disposition: attachment; filename="RM3862_v3.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jrahlyba0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9hbGVydGlmeS9kaWFsb2dfd3JhcHBl ci5qcyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9hbGVydGlmeS9kaWFsb2dfd3JhcHBlci5qcwpp bmRleCA3NTQ1MmYyLi43NzY2MzgwIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9zdGF0aWMvanMv YWxlcnRpZnkvZGlhbG9nX3dyYXBwZXIuanMKKysrIGIvd2ViL3BnYWRtaW4vc3RhdGljL2pzL2Fs ZXJ0aWZ5L2RpYWxvZ193cmFwcGVyLmpzCkBAIC04LDYgKzgsNyBAQAogLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIAogaW1wb3J0 ICogYXMgY29tbW9uVXRpbHMgZnJvbSAnLi4vdXRpbHMnOworaW1wb3J0ICQgZnJvbSAnanF1ZXJ5 JzsKIAogZXhwb3J0IGNsYXNzIERpYWxvZ1dyYXBwZXIgewogICBjb25zdHJ1Y3RvcigKQEAgLTUz LDExICs1NCwyMCBAQCBleHBvcnQgY2xhc3MgRGlhbG9nV3JhcHBlciB7CiAgICAgcmV0dXJuIHVu ZGVmaW5lZDsKICAgfQogCi0gIGZvY3VzT25EaWFsb2coZGlhbG9nKSB7Ci0gICAgZGlhbG9nLiRl bC5hdHRyKCd0YWJpbmRleCcsIC0xKTsKLSAgICB0aGlzLnBnQnJvd3Nlci5rZXlib2FyZE5hdmln YXRpb24uZ2V0RGlhbG9nVGFiTmF2aWdhdG9yKGRpYWxvZyk7Ci0gICAgY29uc3QgY29udGFpbmVy ID0gZGlhbG9nLiRlbC5maW5kKCcudGFiLWNvbnRlbnQ6Zmlyc3QgPiAudGFiLXBhbmUuYWN0aXZl OmZpcnN0Jyk7CisgIGZvY3VzT25EaWFsb2coYWxlcnRpZnlEaWFsb2cpIHsKKyAgICBsZXQgYmFj a2Zvcm1fdGFiID0gJChhbGVydGlmeURpYWxvZy5lbGVtZW50cy5ib2R5KS5maW5kKCcuYmFja2Zv cm0tdGFiJyk7CisgICAgYmFja2Zvcm1fdGFiLmF0dHIoJ3RhYmluZGV4JywgLTEpOworICAgIHRo aXMucGdCcm93c2VyLmtleWJvYXJkTmF2aWdhdGlvbi5nZXREaWFsb2dUYWJOYXZpZ2F0b3IoJChh bGVydGlmeURpYWxvZy5lbGVtZW50cy5kaWFsb2cpKTsKKyAgICBjb25zdCBjb250YWluZXIgPSBi YWNrZm9ybV90YWIuZmluZCgnLnRhYi1jb250ZW50OmZpcnN0ID4gLnRhYi1wYW5lLmFjdGl2ZTpm aXJzdCcpOwogICAgIGNvbW1vblV0aWxzLmZpbmRBbmRTZXRGb2N1cyhjb250YWluZXIpOworCisg ICAgJChhbGVydGlmeURpYWxvZy5lbGVtZW50cy5mb290ZXIpLm9uKCdrZXlkb3duJywgJ2J1dHRv bicsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PSA5ICYmICQo dGhpcykubmV4dEFsbCgnYnV0dG9uOm5vdChbZGlzYWJsZWRdKScpLmxlbmd0aCA9PSAwKSB7Cisg ICAgICAgIC8vIHNldCBmb2N1cyBiYWNrIHRvIGZpcnN0IGVkaXRhYmxlIGlucHV0IGVsZW1lbnQg b2YgY3VycmVudCBhY3RpdmUgdGFiIG9uY2Ugd2UgY3ljbGUgdGhyb3VnaCBhbGwgZW5hYmxlZCBi dXR0b25zLgorICAgICAgICBjb21tb25VdGlscy5maW5kQW5kU2V0Rm9jdXMoJChhbGVydGlmeURp YWxvZy5lbGVtZW50cy5ib2R5KS5maW5kKCcudGFiLWNvbnRlbnQgZGl2LmFjdGl2ZScpKTsKKyAg ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgfQorICAgIH0pOwogICB9CiAKICAgaXNOb2RlU2Vs ZWN0ZWQoc2VsZWN0ZWRUcmVlTm9kZSkgewpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vc3RhdGlj L2pzL3V0aWxzLmpzIGIvd2ViL3BnYWRtaW4vc3RhdGljL2pzL3V0aWxzLmpzCmluZGV4IDg2NzI3 YTEuLjI3Yjk5OWYgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy91dGlscy5qcwor KysgYi93ZWIvcGdhZG1pbi9zdGF0aWMvanMvdXRpbHMuanMKQEAgLTI4LDcgKzI4LDcgQEAgZXhw b3J0IGZ1bmN0aW9uIGZpbmRBbmRTZXRGb2N1cyhjb250YWluZXIpIHsKIAogICAgIGlmIChmaXJz dF9lbC5sZW5ndGggPT0gMCkgewogICAgICAgZmlyc3RfZWwgPSBjb250YWluZXIKLSAgICAgICAg LmZpbmQoJy5wZ2FkbWluLWNvbnRyb2xzOmZpcnN0PmlucHV0OmVuYWJsZWQsLkNvZGVNaXJyb3It c2Nyb2xsJyk7CisgICAgICAgIC5maW5kKCcucGdhZG1pbi1jb250cm9sczpmaXJzdCBpbnB1dDpl bmFibGVkLC5Db2RlTWlycm9yLXNjcm9sbCcpOwogICAgIH0KIAogICAgIGlmKGZpcnN0X2VsLmxl bmd0aCA+IDApIHsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2JhY2t1cC9zdGF0aWMv anMvYmFja3VwX2RpYWxvZ193cmFwcGVyLmpzIGIvd2ViL3BnYWRtaW4vdG9vbHMvYmFja3VwL3N0 YXRpYy9qcy9iYWNrdXBfZGlhbG9nX3dyYXBwZXIuanMKaW5kZXggOTMxZDBhMC4uYTlhMDFlNSAx MDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdG9vbHMvYmFja3VwL3N0YXRpYy9qcy9iYWNrdXBfZGlh bG9nX3dyYXBwZXIuanMKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvYmFja3VwL3N0YXRpYy9qcy9i YWNrdXBfZGlhbG9nX3dyYXBwZXIuanMKQEAgLTk5LDcgKzk5LDcgQEAgZXhwb3J0IGNsYXNzIEJh Y2t1cERpYWxvZ1dyYXBwZXIgZXh0ZW5kcyBEaWFsb2dXcmFwcGVyIHsKIAogICAgIHRoaXMuZWxl bWVudHMuY29udGVudC5hcHBlbmRDaGlsZCgkY29udGFpbmVyLmdldCgwKSk7CiAKLSAgICB0aGlz LmZvY3VzT25EaWFsb2coZGlhbG9nKTsKKyAgICB0aGlzLmZvY3VzT25EaWFsb2codGhpcyk7CiAg ICAgdGhpcy5zZXRMaXN0ZW5lcnNGb3JGaWxlbmFtZUNoYW5nZXMoKTsKICAgfQogCmRpZmYgLS1n aXQgYS93ZWIvcGdhZG1pbi90b29scy9yZXN0b3JlL3N0YXRpYy9qcy9yZXN0b3JlX2RpYWxvZ193 cmFwcGVyLmpzIGIvd2ViL3BnYWRtaW4vdG9vbHMvcmVzdG9yZS9zdGF0aWMvanMvcmVzdG9yZV9k aWFsb2dfd3JhcHBlci5qcwppbmRleCAwZDIxMWFlLi5hYmEzMDQ4IDEwMDY0NAotLS0gYS93ZWIv cGdhZG1pbi90b29scy9yZXN0b3JlL3N0YXRpYy9qcy9yZXN0b3JlX2RpYWxvZ193cmFwcGVyLmpz CisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL3Jlc3RvcmUvc3RhdGljL2pzL3Jlc3RvcmVfZGlhbG9n X3dyYXBwZXIuanMKQEAgLTk5LDcgKzk5LDcgQEAgZXhwb3J0IGNsYXNzIFJlc3RvcmVEaWFsb2dX cmFwcGVyIGV4dGVuZHMgRGlhbG9nV3JhcHBlciB7CiAKICAgICB0aGlzLmVsZW1lbnRzLmNvbnRl bnQuYXBwZW5kQ2hpbGQoJGNvbnRhaW5lci5nZXQoMCkpOwogCi0gICAgdGhpcy5mb2N1c09uRGlh bG9nKGRpYWxvZyk7CisgICAgdGhpcy5mb2N1c09uRGlhbG9nKHRoaXMpOwogICAgIHRoaXMuc2V0 TGlzdGVuZXJzRm9yRmlsZW5hbWVDaGFuZ2VzKCk7CiAgIH0KIAo= --000000000000055bda058031f7ac--