Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1fBINt-0000c9-4e for pgadmin-hackers@arkaria.postgresql.org; Wed, 25 Apr 2018 11:14:49 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1fBINr-0004ms-Vi for pgadmin-hackers@arkaria.postgresql.org; Wed, 25 Apr 2018 11:14:47 +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.89) (envelope-from ) id 1fBIMi-0001f3-Jn for pgadmin-hackers@lists.postgresql.org; Wed, 25 Apr 2018 11:13:36 +0000 Received: from mail-ot0-x22f.google.com ([2607:f8b0:4003:c0f::22f]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1fBIMW-0002Bs-Tx for pgadmin-hackers@postgresql.org; Wed, 25 Apr 2018 11:13:35 +0000 Received: by mail-ot0-x22f.google.com with SMTP id p2-v6so24825897otf.3 for ; Wed, 25 Apr 2018 04:13:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=gkjLjW6WKt0k1AFDD4iDHj6spX6Z3Xiv7SqnGlnFHqA=; b=e44TuzxDOl1M7k0blg/qGgwC6i4AQcDCJ2O/8BSU6dEOjoeD4EnXFGYZ/yGp6IjeBj 75U8qWxDnYSEaRYsmdPsbC35BRKLAcGemXF7taZZ5ZK0tlnA+5kKCsPzxIrKF8rTPJbR cpBTIx6Yix93GY33hBqDkCizbfrnbukyr6NcfjZOi9QXgbQsSQsZiEw77YWDa3Exictk qXloCWxm9hIudP3+JtoTCGhvUU5xKPRioTUzwGzxYKdmLhst9JcJqH+6hLChdoSkoak+ Dkbg/lk/DjT/RebuKCsTTq1uqQ4XAQNpYxlrk4DiSTBbNLIMhq8ACRbW5CgULtegEmKL AuYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=gkjLjW6WKt0k1AFDD4iDHj6spX6Z3Xiv7SqnGlnFHqA=; b=p8QU1Uk7LfLmtkPOg8+N2hBSF6cFrnaZCgkAuJYKrOdHqJ8m6zImpvz3z3lQxJY9Ik oEbf7t+EYQSHRiXNZOix5IJ3TSBP+75SYkIhYEt4SUcThY7y2WqhxwqTh9SpFbji7vDi PPfbNbFMz+MwkvHVdGTZpUXvii+9E4PapwIwGl20ryQK0hJ7RCaS72ihHoo+8tP3fxAE H/a1/00QTPydhl58nDB8dPM95B2RfcEREGKgVK89NucQcWD4VrWpMsG7LeQHoNCF9eh4 MHJZQNNdg8rtAjRqqOuq0bAEvQSsA+99xAwFJC3xQI00Zah9BUYgCb0Zc8Zp11u7K9fl hjZw== X-Gm-Message-State: ALQs6tDxBe262Ol06DIrAd7RJEx8495uwJGbW9gP6rDH+3gkgE1eJ8jn WunYMd7c+UJlplpfP6uZBZkxr8mRyvdc+Bigzanhuw== X-Google-Smtp-Source: AIpwx4/jD4i159akaeMj4C8xG06QShNIY3c2Xa6l1MBJHhBjd3bo+a1Tw8N0DQH/DtOTf7z94qfzNxsJHu54beyyuiU= X-Received: by 2002:a9d:27a6:: with SMTP id c35-v6mr18811443otb.271.1524654802693; Wed, 25 Apr 2018 04:13:22 -0700 (PDT) MIME-Version: 1.0 Received: by 10.201.89.5 with HTTP; Wed, 25 Apr 2018 04:13:02 -0700 (PDT) In-Reply-To: References: From: Murtuza Zabuawala Date: Wed, 25 Apr 2018 16:43:02 +0530 Message-ID: Subject: Re: [pgAdmin4][RM#3155] Allow user to lock the Layout To: Dave Page Cc: Akshay Joshi , Joao De Almeida Pereira , pgadmin-hackers Content-Type: multipart/alternative; boundary="000000000000eb8ff4056aaa5b55" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --000000000000eb8ff4056aaa5b55 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Dave, On Wed, Apr 25, 2018 at 3:36 PM, Dave Page wrote: > All, > > We just had a brief discussion in our EDB sprint planning meeting about > this. There is a non-zero chance that we're going to have to fork wcDocke= r > in the near future, in order to update it to work with jQuery 3. If we do > that, then it may be significantly easier to fix this issue in that fork > (perhaps by adding a single lockLayout(bool) function, rather than trying > to do so from pgAdmin. > > I think (unless Murtuza believes that won't help), that we're better off > holding on this for now until we know if we've had to do that. > =E2=80=8BI don't have any objection forking the code and adding the flag to= lock the panel, But I'm certain that we will use the same inbuilt method *panel.moveable(false)* which we have used right now in the patch to prevent a panel from floating and will face the same issue again which Akshay mentioned in his last email. Let me know if you want me to attach latest patch onto the ticket for future reference and update the ticket accordingly=E2=80=8B. > On Wed, Apr 25, 2018 at 10:23 AM, Murtuza Zabuawala < > murtuza.zabuawala@enterprisedb.com> wrote: > >> Hi Akshay, >> >> >> On Wed, Apr 25, 2018 at 2:37 PM, Akshay Joshi < >> akshay.joshi@enterprisedb.com> wrote: >> >>> Hi Joao/Murtuza >>> >>> It break's the functionality, I am able to move "Data output", "Explain= " >>> etc.. panel of Query Tool, even if "Lock layout?" is set to True. >>> >> >> =E2=80=8BIt's working properly in v5 patch, Something went wrong while >> refactoring.=E2=80=8B >> >> =E2=80=8B >> >> Apart from above I have found more issue. Below are the steps to >>> reproduce: >>> >>> - Set the "Lock layout?" flag to False. >>> - Move out Dashboard panel. >>> - Set the "Lock layout?" flag to True. >>> - Close the Dashboard panel, as layout is locked and empty Dashboard >>> panel is still visible. (Refer attached screenshot) >>> >>> =E2=80=8BThat's because we have set the Panel moveable property to Fals= e, they >> won't auto resize, As discussed earlier if user drag any panel out of pa= nel >> group it gets render in seprate wcFrame. I think that needs to be taken >> care by user before they decide to lock the layout, We can not expilcitl= y >> set panel's closeable property to False when layout is locked, If we do = so >> user will not be able to close any Query tool, Debugger panels.=E2=80=8B >> =E2=80=8B >> >> >> On Tue, Apr 24, 2018 at 9:11 PM, Joao De Almeida Pereira < >>> jdealmeidapereira@pivotal.io> wrote: >>> >>>> haha, >>>> Just joking, now we have a good version that passes tests and all. >>>> >>>> We found out that a test was failing in the patch version 5: >>>> >>>> HeadlessChrome 0.0.0 (Linux 0.0.0) Panel when we create a panel and us= er created panel without defining isMoveable then it should be moveable it = should call moveable method with true as argument FAILED >>>> Expected false to be true. >>>> at UserContext. (regression/javascript/browser/pane= l_spec.js:12886:38) >>>> >>>> =E2=80=8B >>>> To solve this problem we decided to change the Panel class to match >>>> what the test say. >>>> >>>> Thanks >>>> Victoria & Joao >>>> >>>> >>>> On Tue, Apr 24, 2018 at 11:08 AM Joao De Almeida Pereira < >>>> jdealmeidapereira@pivotal.io> wrote: >>>> >>>>> Hi, >>>>> Apparently the last version was not applying, here is the new version >>>>> that should apply correctly >>>>> >>>>> Thanks >>>>> Victoria & Joao >>>>> >>>>> On Tue, Apr 24, 2018 at 10:56 AM Joao De Almeida Pereira < >>>>> jdealmeidapereira@pivotal.io> wrote: >>>>> >>>>>> Hi Murtuza, >>>>>> >>>>>> We tested the patch and everything looks fine. We also refactors >>>>>> some parts to include things like strict equality and using let/cons= t >>>>>> instead of var. The updated patch is attached. >>>>>> In the future, it will be more valuable to have the translation to >>>>>> ES6 and the feature work in separate commits so it is easier to unde= rstand >>>>>> what changed. >>>>>> >>>>>> Sincerely, >>>>>> >>>>>> Joao and Victoria >>>>>> >>>>>> >>>>>> >>>>>> On Tue, Apr 24, 2018 at 4:58 AM Akshay Joshi < >>>>>> akshay.joshi@enterprisedb.com> wrote: >>>>>> >>>>>>> On Tue, Apr 24, 2018 at 1:17 PM, Dave Page >>>>>>> wrote: >>>>>>> >>>>>>>> Akshay, could you review/commit this please? >>>>>>>> >>>>>>>> Please also update the release_notes_3_1.rst file when you commit >>>>>>>> user-visible changes, to make it easier to build the release notes= . >>>>>>>> >>>>>>> >>>>>>> Sure >>>>>>> >>>>>>>> >>>>>>>> Thanks. >>>>>>>> >>>>>>>> On Tue, Apr 24, 2018 at 8:45 AM, Murtuza Zabuawala < >>>>>>>> murtuza.zabuawala@enterprisedb.com> wrote: >>>>>>>> >>>>>>>>> Hi Dave, >>>>>>>>> >>>>>>>>> Please find the updated patch, Now we are able to lock wcFrame an= d >>>>>>>>> wcPanel both. >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Regards, >>>>>>>>> Murtuza Zabuawala >>>>>>>>> EnterpriseDB: http://www.enterprisedb.com >>>>>>>>> The Enterprise PostgreSQL Company >>>>>>>>> >>>>>>>>> >>>>>>>>> On Thu, Apr 5, 2018 at 6:32 PM, Robert Eckhardt < >>>>>>>>> reckhardt@pivotal.io> wrote: >>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Wed, Apr 4, 2018 at 11:31 PM, Khushboo Vashi < >>>>>>>>>> khushboo.vashi@enterprisedb.com> wrote: >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Wed, Apr 4, 2018 at 8:09 PM, Dave Page >>>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Wed, Apr 4, 2018 at 12:54 PM, Murtuza Zabuawala < >>>>>>>>>>>> murtuza.zabuawala@enterprisedb.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> On Wed, Apr 4, 2018 at 5:00 PM, Dave Page >>>>>>>>>>>>> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Wed, Apr 4, 2018 at 10:45 AM, Murtuza Zabuawala < >>>>>>>>>>>>>> murtuza.zabuawala@enterprisedb.com> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Wed, Apr 4, 2018 at 2:47 PM, Dave Page >>>>>>>>>>>>>> > wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Wed, Apr 4, 2018 at 7:20 AM, Murtuza Zabuawala < >>>>>>>>>>>>>>>> murtuza.zabuawala@enterprisedb.com> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Hi Dave, >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On Tue, Apr 3, 2018 at 9:03 PM, Dave Page < >>>>>>>>>>>>>>>>> dpage@pgadmin.org> wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Hi >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On Tue, Apr 3, 2018 at 12:56 PM, Murtuza Zabuawala < >>>>>>>>>>>>>>>>>> murtuza.zabuawala@enterprisedb.com> wrote: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Thanks Joao for reviewing. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> PFA updated patch. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> On Tue, Apr 3, 2018 at 1:11 AM, Joao De Almeida Pereira >>>>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Hello, >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> On Mon, Apr 2, 2018 at 10:07 AM Murtuza Zabuawala < >>>>>>>>>>>>>>>>>>>> murtuza.zabuawala@enterprisedb.com> wrote: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> =E2=80=8BHello, >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> Please find updated patch, >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> Now layout will be locked after user updates its >>>>>>>>>>>>>>>>>>>>> preferences, w >>>>>>>>>>>>>>>>>>>>> e have used =E2=80=8B >>>>>>>>>>>>>>>>>>>>> templated variable in the javascript file >>>>>>>>>>>>>>>>>>>>> =E2=80=8B because we do not have preference module or >>>>>>>>>>>>>>>>>>>>> preference cache available when the page loads and pa= nels gets rendered, >>>>>>>>>>>>>>>>>>>>> =E2=80=8BI >>>>>>>>>>>>>>>>>>>>> =E2=80=8B also >>>>>>>>>>>>>>>>>>>>> made changes in JS tests as per Joao's review comment= s. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Looks like everything is working when we change the >>>>>>>>>>>>>>>>>>>> lock. >>>>>>>>>>>>>>>>>>>> As a personal preferences I would prefer to see this i= n >>>>>>>>>>>>>>>>>>>> at least 2 commits, one that is related to the prefere= nce issue and another >>>>>>>>>>>>>>>>>>>> one that is related to this story. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> All the tests are working, but he linter is failing: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> /tmp/build/4a5630c2/pivotal-rm-3155/web /tmp/build/4a5= 630c2 >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> ./pgadmin/misc/__init__.py:78: [E303] too many blank l= ines (2) >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> 1 E303 too many blank lines (2) >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> 1 >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> =E2=80=8BFixed=E2=80=8B >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> @Dave/Pivotal team, >>>>>>>>>>>>>>>>>>>>> The given patch is working fine for all the >>>>>>>>>>>>>>>>>>>>> Tabs/Panels (all the panels from main window as well = as from Query tool and >>>>>>>>>>>>>>>>>>>>> Debugger) but I'm facing an issue while handling the = Browser tree section, >>>>>>>>>>>>>>>>>>>>> It is a wcDocer frame >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> and not a wcDocker panel >>>>>>>>>>>>>>>>>>>>> .= Like >>>>>>>>>>>>>>>>>>>>> wcDocker panel, wcDocker frame do not provide any API= so that a developer >>>>>>>>>>>>>>>>>>>>> can prevent drag-drop functionality on it. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> It's not working fine for me. For example, if I put the >>>>>>>>>>>>>>>>>> SQL Panel on it's own below the properties/stats panels = (so it looks like >>>>>>>>>>>>>>>>>> pgAdmin 3 used to by default), and then lock the layout,= I can un-dock the >>>>>>>>>>>>>>>>>> SQL panel into a dialogue, but then cannot re-dock it. I= can do weird >>>>>>>>>>>>>>>>>> things with the browser tree as well, probably because i= t's a frame as you >>>>>>>>>>>>>>>>>> say. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> =E2=80=8BThat is expected behaviour =E2=80=8Bbecause once= you drag the >>>>>>>>>>>>>>>>> panel out of the group of Panels then it becomes individu= al Frame, That is >>>>>>>>>>>>>>>>> what the author of the wcDocker replied on my question, >>>>>>>>>>>>>>>>> *"A panel must either be initialized as movable or >>>>>>>>>>>>>>>>> non-movable from the beginning and never changed because = it generates a >>>>>>>>>>>>>>>>> different arrangement of elements depending. This feature= should only ever >>>>>>>>>>>>>>>>> be used within the onCreate method of the panel. I should= probably have >>>>>>>>>>>>>>>>> been more clear about this limitation in the documentatio= n."* >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> So does it become a panel again if a second panel is added >>>>>>>>>>>>>>>> to the new tab group? >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> =E2=80=8BNo, it stays Frame.=E2=80=8B >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> As far as I understand Panel needs a Frame to render itself >>>>>>>>>>>>>>> if it is not attached to the main docker instance.=E2=80=8B >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> There must be some way we can lock a tab that's not part o= f >>>>>>>>>>>>>>>> a group. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> At a moment there is no way of =E2=80=8B >>>>>>>>>>>>>>> locking frames out of the box :( >>>>>>>>>>>>>>> =E2=80=8B >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Hmm, so the question becomes: do we include the lock feature= , >>>>>>>>>>>>>> but rename it to "Lock Tabs" or something similar, or leave = it out >>>>>>>>>>>>>> altogether? It clearly doesn't do everything we want right n= ow. >>>>>>>>>>>>>> >>>>>>>>>>>>> =E2=80=8BI would say lets include the feature by adding warni= ng note >>>>>>>>>>>>> that this feature works with default layout only, And I don't= think most >>>>>>>>>>>>> user will try to drag drop Browser panel =E2=80=8B >>>>>>>>>>>>> anyway, meanwhile I'll check what changes are required in mai= n >>>>>>>>>>>>> source code to make the Frame lock. >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Anyone else have any thoughts on this? Personally I don't like >>>>>>>>>>>> including half-baked features. >>>>>>>>>>>> >>>>>>>>>>>> +1, but we need to find out the way as this feature is >>>>>>>>>>> requested by many users. >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> 100% agree. I can convince my self that this feature request has >>>>>>>>>> to do with locking panels into a certain layout. I can also conv= ince myself >>>>>>>>>> that the same request is simple because users are frustrated wit= h the fact >>>>>>>>>> that the tabs and panes move around and they find that behavior = annoying. >>>>>>>>>> >>>>>>>>>> -- Rob >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>>> 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 >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> *Akshay Joshi* >>>>>>> >>>>>>> *Sr. Software Architect * >>>>>>> >>>>>>> >>>>>>> >>>>>>> *Phone: +91 20-3058-9517 <+91%2020%203058%209517>Mobile: +91 >>>>>>> 976-788-8246 <+91%2097678%2088246>* >>>>>>> >>>>>> >>> >>> >>> -- >>> *Akshay Joshi* >>> >>> *Sr. Software Architect * >>> >>> >>> >>> *Phone: +91 20-3058-9517Mobile: +91 976-788-8246* >>> >> >> > > > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > --000000000000eb8ff4056aaa5b55 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Dave,

On Wed, Apr 25, 2018 at 3:36 PM, Dave Page <= span dir=3D"ltr"><dpage@pgadmin.org> wrote:
=
All,

We just had a brief discussion in = our EDB sprint planning meeting about this. There is a non-zero chance that= we're going to have to fork wcDocker in the near future, in order to u= pdate it to work with jQuery 3. If we do that, then it may be significantly= easier to fix this issue in that fork (perhaps by adding a single lockLayo= ut(bool) function, rather than trying to do so from pgAdmin.

=
I think (unless Murtuza believes that won't help), that we&#= 39;re better off holding on this for now until we know if we've had to = do that.

=E2=80=8BI don't have any objection forking the code and adding the f= lag to lock the panel,=C2=A0 But I'm certain that=C2=A0
we will use the same inbuilt method <= i style=3D"background-color:rgb(238,238,238)">panel.moveable(false) whi= ch we have used right now in the patch to prevent a panel from floating and= will face the same issue again which Akshay mentioned in his last email.

Let me know if you want me to attach latest patch onto the ticket for= future reference and update the ticket accordingly=E2=80=8B.
<= /div>


On Wed, Apr 25, 201= 8 at 10:23 AM, Murtuza Zabuawala <murtuza.zabuawala@enter= prisedb.com> wrote:
= Hi Akshay,


On Wed, Apr 25, 2018 at 2:37 PM, Aksha= y Joshi <akshay.joshi@enterprisedb.com> wro= te:
Hi Joao/Murtuza
=
It break's the functionality, I am able to move "Da= ta output", "Explain" etc.. panel of Query Tool, even if &qu= ot;Lock layout?" is set to True.
=C2=A0
=E2=80=8BIt's working properly in v5 patch, Somet= hing went wrong while refactoring.=E2=80=8B
=C2=A0
=E2=80=8B
Apart fro= m above I have found more issue. Below are the steps to reproduce:
  • Set the "Lock layout?" flag to False.
  • Move out = Dashboard panel.
  • Set the "Lock layout= ?" flag to True.
  • Close the Dashboard panel, as layout i= s locked and empty Dashboard panel is still visible. (Refer attached screen= shot)=C2=A0=C2=A0
= =E2=80=8BThat's because we have set the Panel moveable property to Fals= e, they won't auto resize, As discussed earlier if user drag any panel = out of panel group it gets render in seprate wcFrame. I think that needs to= be taken care by user before they decide to lock the layout, We can not ex= pilcitly set panel's closeable property to False when layout is locked,= If we do so user will not be able to close any Query tool, Debugger panels= .=E2=80=8B
=C2=A0=E2=80=8B


On Tue, Apr 24, 2018 at 9:11 PM, Joao De Almeida Pereira <jdealmeidapereira@pivotal.io> wrote:
haha,
Just joking, now we have a goo= d version that passes tests and all.

We found out = that a test was failing in the patch version 5:
=
Headl=
essChrome 0.0.0 (Linux 0.0.0) Panel when we create a panel and user created=
 panel without defining isMoveable then it should be moveable it should cal=
l moveable method with true as argument FAILED
    Expected false to be true.
        at UserContext.<anonymous> (regression/javascript/browser/panel_spec.js:12886:38)
=E2=80=8B
To solve this problem we decided to change the Panel cl= ass to match what the test say.

Thanks
V= ictoria & Joao


On Tue, = Apr 24, 2018 at 11:08 AM Joao De Almeida Pereira <jdealmeidapereira@pivotal.io> wrote:


Hi Mur= tuza,

We tested the patch and everything looks fine.=C2= =A0 We also refactors some parts to include things like strict equality and= using let/const instead of var.=C2=A0 The updated patch is attached.
=
In the future, it will be more valuable to have the translation to ES6= and the feature work in separate commits so it is easier to understand wha= t changed.

Sincerely,

Joa= o and Victoria


On Tue, Apr 24, 2018 at 4:58 = AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
On Tue, Apr 24, 2018 at 1:17 PM, Dave Page <dpage@p= gadmin.org> wrote:
Akshay, could you review/commit this please?

Pl= ease also update the release_notes_3_1.rst file when you commit user-visibl= e changes, to make it easier to build the release notes.

=C2=A0 =C2=A0Sure=C2=A0
=

Thanks.

On Tue, Apr 24, 2018 at 8:45 AM, Murtuza Zabuawala <murtuza.zabuawala@enterprisedb.com> wrote:
Hi Dave,

Please find the updated patch, Now we are able to l= ock wcFrame and wcPanel both.

-= -
Regards,
Murtuza Zabuawala
EnterpriseDB:=C2=A0http://www.ente= rprisedb.com
The Enterprise PostgreSQL Company

=

On Thu, Apr 5, 2018 at 6:32 PM, Robert Eckha= rdt <reckhardt@pivotal.io> wrote:


On Wed, Apr 4, 2018 at 11:31 PM, Khushboo Vashi <khushboo.vashi@enterprisedb.com> wrote:

On Wed, Apr 4, 2018 at 8:09 PM, Dave Page <d= page@pgadmin.org> wrote:


On Wed, Apr 4, 2018 at 12:54 PM, Murtuza Zabuawala= <murtuza.zabuawala@enterprisedb.com> = wrote:
On Wed, Apr 4, 2018 at 5:00 PM, Dave Page <dpage@pgadmin.org> wrote:=


On Wed, Apr 4, 2018 at 10:45 AM, Murtuza Zabuawala &= lt;= murtuza.zabuawala@enterprisedb.com> wrote:
On Wed, Apr 4, 2018 at 2:47 = PM, Dave Page <dpage@pgadmin.org> wrote:


On Wed, Apr 4, 2018 at 7:20 AM, Murtu= za Zabuawala <murtuza.zabuawala@enterprisedb.com= > wrote:
Hi Dave,
=

On Tue, Apr 3, 2018 at 9:03 PM, Dave P= age <dpage@pgadmin.org> wrote:
Hi

On Tue, Apr 3, 2018 at 12:56 PM, Mur= tuza Zabuawala <murtuza.zabuawala@enterprisedb.com> wrote:
<= div dir=3D"ltr">
Hi,

Thanks Joao for reviewing.

PFA updated patch.

On Tue, Apr 3, 2018 at 1:11 AM, Joao D= e Almeida Pereira <jdealmeidapereira@pivotal.io> = wrote:
Hello,

On Mon, Apr 2, = 2018 at 10:07 AM Murtuza Zabuawala <murtuza.zabuawala@enterprisedb.com= > wrote:
=

<= div><= div style=3D"font-family:verdana,sans-serif;color:rgb(68,68,68);display:inl= ine">=E2=80=8BHello,

Please find updated patch,=C2=A0
=

<= /div>
Now layout will be locked after user upd= ates its preferences, w
e have use= d =E2=80=8B
templated variable = in the javascript file
=E2=80=8B because we do not have preference= module or preference cache available when the page loads and panels gets r= endered,=C2=A0
=E2=80=8BI
=E2=80=8B also=C2=A0
made changes i= n JS tests as per Joao's review comments.
Looks like eve= rything is working when we change the lock.
As a personal prefere= nces I would prefer to see this in at least 2 commits, one that is related = to the preference issue and another one that is related to this story.


All the tests are working, but he linte= r is failing:
/tmp/build/4a5630c2/pivotal-rm-3155/web /tmp/build/4a5630c= 2
./pgadmin/misc/__init__.py:78: [E30= 3] too many blank lines (2)
1 E303 too many blank line= s (2)=C2=A0
1= =C2=A0
=E2=80=8BFixe= d=E2=80=8B
=C2=A0


@Dave/Pivotal team,
The given patch is = working fine for all the Tabs/Panels (all the panels from main window as we= ll as from Query tool and Debugger) but I'm facing an issue while handl= ing the Browser tree section, It is a wcDocer frame and not a wcDocker panel.=C2=A0Like wcDocker panel, wcDocker frame do not prov= ide any API so that a developer can prevent drag-drop functionality on it.<= /div>

It's not working fine for me. For example, if I put th= e SQL Panel on it's own below the properties/stats panels (so it looks = like pgAdmin 3 used to by default), and then lock the layout, I can un-dock= the SQL panel into a dialogue, but then cannot re-dock it. I can do weird = things with the browser tree as well, probably because it's a frame as = you say.
=C2=A0
<= div style=3D"font-family:verdana,sans-serif;color:rgb(68,68,68)">=E2=80=8BT= hat is expected behaviour =E2=80=8Bbecause once you drag the panel out of t= he group of Panels then it becomes individual Frame, That is what the autho= r of the wcDocker replied on my question,=C2=A0
"A panel must either be initialized as movable or non-mo= vable from the beginning and never changed because it generates a different= arrangement of elements depending. This feature should only ever be used w= ithin the onCreate method of the panel. I should probably have been more cl= ear about this limitation in the documentation."


So does it become a pa= nel again if a second panel is added to the new tab group?
=E2=80=8BNo, it stays Frame.=E2= =80=8B
=C2=A0
As far as I understand Panel needs a Fra= me to render itself if it is not attached to the main docker instance.=E2= =80=8B

Ther= e must be some way we can lock a tab that's not part of a group.
<= /div>
At a moment there is no way= of =E2=80=8B
locking frames out of the = box :(
=E2=80=8B
=
Hmm, so the question becomes: do we include the lock feature= , but rename it to "Lock Tabs" or something similar, or leave it = out altogether? It clearly doesn't do everything we want right now.=C2= =A0
=E2=80=8BI w= ould say lets include the feature by adding warning note that this feature = works with default layout only, And I don't think most user will try to= drag drop Browser panel =E2=80=8B
anyway, meanwhile I'll ch= eck what changes are required in main source code to make the Frame lock.

An= yone else have any thoughts on this? Personally I don't like including = half-baked features.=C2=A0

+1, but we need to find out the way as thi= s feature is requested by many users.=C2=A0

100% agree. I can convince my self that this featu= re request has to do with locking panels into a certain layout. I can also = convince myself that the same request is simple because users are frustrate= d with the fact that the tabs and panes move around and they find that beha= vior annoying.=C2=A0

-- Rob
=C2=A0
--
Da= ve Page
Blog: = http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK= : http://www.ente= rprisedb.com
The Enterprise PostgreSQL Company






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

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Compa= ny



--
A= kshay Joshi
Sr. Software Architect
=
=



--
<= div class=3D"m_556779113377951736m_-1355393544634311673m_-32734875790390603= 07m_-7590550199736533260m_-622418930833992900gmail_signature" data-smartmai= l=3D"gmail_signature">
Akshay Joshi=
Sr. Softwa= re Architect

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



<= br>
--
Dave= Page
Blog: ht= tp://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: = http://www.enterp= risedb.com
The Enterprise PostgreSQL Company

--000000000000eb8ff4056aaa5b55--