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 1fBGef-0001Oi-LF for pgadmin-hackers@arkaria.postgresql.org; Wed, 25 Apr 2018 09:24:01 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1fBGee-0005iL-Lf for pgadmin-hackers@arkaria.postgresql.org; Wed, 25 Apr 2018 09:24:00 +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 1fBGee-0005iB-Dj for pgadmin-hackers@lists.postgresql.org; Wed, 25 Apr 2018 09:24:00 +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 1fBGeV-0007tX-7D for pgadmin-hackers@postgresql.org; Wed, 25 Apr 2018 09:23:59 +0000 Received: by mail-ot0-x22f.google.com with SMTP id j27-v6so24390757ota.5 for ; Wed, 25 Apr 2018 02:23:50 -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=3904aSJc4BtiMGhKowq9tbKAvcsSJv7p93M6pC4EC14=; b=vcMkjy7vcgwDzG63owG8oarYPWIoRfoEqcWhIrwApMaK8cP6KctDWkLnPYPgagn6Z6 EgtZd1ArDoFvmbwVaCOUecPMoI2eNaMe1FNZKcy5Kn6QgPSkk53SmCZX4yz4roDca/D+ zaTuAlDOgQCvdVagQMfZ7KdPF/ocIS9h1qUB7z6dvCTmARvHIKSrX+/vshinhowlzKY0 xqGb9g+t7Bzu5e54eecMKs9XrQ7msYdEIhr+oMia4GBYDNEEBsYKXUYIQgWD9ahXaqdn IYnuliGdCKHlaGKMNdRDI2LvsSJRF81CZZlAwQbsRgt/ulnIrrbeZ7xbTw9NwXxCaDt9 Z3Rg== 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=3904aSJc4BtiMGhKowq9tbKAvcsSJv7p93M6pC4EC14=; b=HDCF04a+Aro4wVSfTU3f7r2Ze+kdICLw2HQcOzPhkJ34/43fhP4MS1X1t5VtOLC8fM f+ze22FoVH9fvTDgdCu7+AbrULWnzAt2x39/c0E33vWgdw1b4reaXrryUk4oucHOv30/ /D2d3u3Ps5Wxp108xaPLiMe+3uiAxSSVIZ+xgDsMP6AVzL436JPUCN3mOSODQK0Ri2qJ 4B/EJX2njtqvwPsgsMPvw1B8bJYZUErRvAIV2OOpGtvGFmLhkjNghogftuyIRwVRCqaU f8j/QRND9GC4f4SiJ+hXCJSxUSoqCkAwgrhKib4wSg8EKaWFZ8fCz8Ar0L+IERb6YPYL dk6A== X-Gm-Message-State: ALQs6tC0+jI/a4uDqmvPaO5ozKS7GesANMvb58cAwtzEA86BHsAWbxcS kt5MCOA2vhU02MdhazSAQs3SY/lF09fD09hEEJFkHA== X-Google-Smtp-Source: AB8JxZoOGXvLj0q7dFxrcRtF3HEiFJMObryMMzTCzkTrjAZwFlvFkLvhVJa3LzY/GjQsqYTdHHEmBEz3BLNpkFRByys= X-Received: by 2002:a9d:3b25:: with SMTP id z34-v6mr2043032otb.283.1524648228656; Wed, 25 Apr 2018 02:23:48 -0700 (PDT) MIME-Version: 1.0 Received: by 10.201.89.5 with HTTP; Wed, 25 Apr 2018 02:23:28 -0700 (PDT) In-Reply-To: References: From: Murtuza Zabuawala Date: Wed, 25 Apr 2018 14:53:28 +0530 Message-ID: Subject: Re: [pgAdmin4][RM#3155] Allow user to lock the Layout To: Akshay Joshi Cc: Joao De Almeida Pereira , Dave Page , pgadmin-hackers Content-Type: multipart/alternative; boundary="00000000000013b4ad056aa8d4a4" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --00000000000013b4ad056aa8d4a4 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Akshay, On Wed, Apr 25, 2018 at 2:37 PM, Akshay Joshi 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 refa= ctoring.=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 False,= 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 expilcitly 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 user= created panel without defining isMoveable then it should be moveable it sh= ould call moveable method with true as argument FAILED >> Expected false to be true. >> at UserContext. (regression/javascript/browser/panel_= 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/const inste= ad 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 understand= 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 and >>>>>>> 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 >>>>>>>>>>>>>> > 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 < >>>>>>>>>>>>>>>>> jdealmeidapereira@pivotal.io> 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 p= reference >>>>>>>>>>>>>>>>>>> cache available when the page loads and panels gets ren= dered, >>>>>>>>>>>>>>>>>>> =E2=80=8BI >>>>>>>>>>>>>>>>>>> =E2=80=8B also >>>>>>>>>>>>>>>>>>> made changes in JS tests as per Joao's review comments. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Looks like everything is working when we change the lock= . >>>>>>>>>>>>>>>>>> As a personal preferences I would prefer to see this in >>>>>>>>>>>>>>>>>> at least 2 commits, one that is related to the preferenc= e 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/4a563= 0c2 >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> ./pgadmin/misc/__init__.py:78: [E303] too many blank lin= es (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 >>>>>>>>>>>>>>>>>>> . L= ike >>>>>>>>>>>>>>>>>>> wcDocker panel, wcDocker frame do not provide any API s= o that a developer >>>>>>>>>>>>>>>>>>> can prevent drag-drop functionality on it. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> It's not working fine for me. For example, if I put the SQ= L >>>>>>>>>>>>>>>> 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 c= an do weird >>>>>>>>>>>>>>>> things with the browser tree as well, probably because it'= s a frame as you >>>>>>>>>>>>>>>> say. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> =E2=80=8BThat is expected behaviour =E2=80=8Bbecause once y= ou drag the panel >>>>>>>>>>>>>>> out of the group of Panels then it becomes individual 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 s= hould only ever >>>>>>>>>>>>>>> be used within the onCreate method of the panel. I should p= robably have >>>>>>>>>>>>>>> been more clear about this limitation in the documentation.= "* >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> So does it become a panel again if a second panel is added t= o >>>>>>>>>>>>>> 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 i= f >>>>>>>>>>>>> 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 of = 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 now= . >>>>>>>>>>>> >>>>>>>>>>> =E2=80=8BI would say lets include the feature by adding warning= note >>>>>>>>>>> that this feature works with default layout only, And I don't t= hink most >>>>>>>>>>> user will try to drag drop Browser panel =E2=80=8B >>>>>>>>>>> anyway, meanwhile I'll check what changes are required in main >>>>>>>>>>> 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 t= o >>>>>>>> do with locking panels into a certain layout. I can also convince = myself >>>>>>>> that the same request is simple because users are frustrated with = the fact >>>>>>>> that the tabs and panes move around and they find that behavior an= noying. >>>>>>>> >>>>>>>> -- 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* > --00000000000013b4ad056aa8d4a4 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Akshay,


On Wed, Apr 25, 2018 at 2:37 PM, Akshay Josh= i <akshay.joshi@enterprisedb.com> wrote:
Hi Joao/Murtuza

<= div>It break's the functionality, I am able to move "Data output&q= uot;, "Explain" etc.. panel of Query Tool, even if "Lock lay= out?" is set to True.
=C2=A0
=E2=80=8BIt's working properly in v5 patch,= Something went wrong while refactoring.=E2=80=8B
=C2=A0
=E2=80=8B

Apart from above I have found more issue. Below are the step= s to reproduce:
  • Set the "Lock layout?" flag to = False.
  • Move out Dashboard panel.
  • S= et the "Lock layout?" flag to True.
  • Close the Dash= board panel, as layout is locked and empty Dashboard panel is still visible= . (Refer attached screenshot)=C2=A0=C2=A0
=E2=80=8BThat's because we have= set the Panel moveable property to False, they won't auto resize, As d= iscussed earlier if user drag any panel out of panel group it gets render i= n seprate wcFrame. I think that needs to be taken care by user before they = decide to lock the layout, We can not expilcitly 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 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 pa=
nel and user created panel without defining isMoveable then it should be mo=
veable it should call 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, 201= 8 at 11:08 AM Joao De Almeida Pereira <jdealmeidapereira@pivotal.io> wrote= :
Hi,
Apparent= ly the last version was not applying, here is the new version that should a= pply correctly

Thanks
Victoria & Joa= o

On Tue, Apr 24, 2018= at 10:56 AM Joao De Almeida Pereira <jdealmeidapereira@pivotal.io> wrote:=
Hi Murtuza,
<= br>
We tested the patch and everything looks fine.=C2=A0 We also = refactors some parts to include things like strict equality and using let/c= onst 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 fea= ture work in separate commits so it is easier to understand what changed.

Sincerely,

Joao and Victor= ia



=

Thanks.

On Tue, Apr 24, 2018 at = 8:45 AM, Murtuza Zabuawala <murtuza.zabuawala@enterprised= b.com> wrote:
Hi Dav= e,

Please find = the updated patch, Now we are able to lock wcFrame and wcPanel both.
<= div class=3D"gmail_extra">

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 <dpage@pgadmi= n.org> wrote:


On Wed, Apr 4, 2018 at 12:54 PM, Murtuza Zabuawala <= ;mu= rtuza.zabuawala@enterprisedb.com> wrote:
On Wed, Apr 4, 2018 at 5:00 PM,= Dave Page <dpage@pgadmin.org> wrote:
<= blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px= #ccc solid;padding-left:1ex">


On Wed, Apr 4, 2018 at 10:45 AM, Murtuza = Zabuawala <murtuza.zabuawala@enterprisedb.com>= ; wrote:
= On Wed, Ap= r 4, 2018 at 2:47 PM, Dave Page <dpage@pgadmin.org> 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 P= age <dpage@pgadmin.org> wrote:
Hi

On Tue, Apr 3, 2018 at 12:56 PM, Murtuza Zabuaw= ala <murtuza.zabuawala@enterprisedb.com> wrote:
Hi,<= /div>

=
Tha= nks 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:
=

=E2= =80=8BHello,

<= div><= div style=3D"display:inline">Please find updated patch,=C2=A0
<= /font>

Now layout will be locked after user updates it= s preferences, w
e have used =E2= =80=8B
templated variable in the javascr= ipt file
=
=
=E2=80=8B because we do not have preference module or preference cach= e available when the page loads and panels gets rendered,=C2=A0
=E2=80= =8BI
=E2=80=8B also=C2=A0
made changes in JS tests as per Joao= 9;s review comments.
=
Looks like everything is working when w= e change the lock.
As a personal preferences I would prefer to se= e this in at least 2 commits, one that is related to the preference issue a= nd 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/4a5630c2
./pgadmin/misc/__init__.py:78: [E303] too many= blank lines (2)
1 E303 too many blank lines (2)=C2=A0
1=C2= =A0
=E2=80=8BFixed=E2=80=8B=
=C2=A0
<= div dir=3D"ltr">


@Dave/Pivotal team,
The given patch is working fine for all th= e Tabs/Panels (all the panels from main window as well as from Query tool a= nd Debugger) but I'm facing an issue while handling the Browser tree se= ction, It is a wcDocer frame and not a wcDocker panel.= =C2=A0Like wcDocker panel, wcDocker frame do not provide any API so that a = developer can prevent drag-drop functionality on it.
<= /blockquote>

It= 9;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 browse= r tree as well, probably because it's a frame as you say.
=C2=A0
=E2=80=8BThat is expected behavi= our =E2=80=8Bbecause once you drag the panel out of the group of Panels the= n it becomes individual Frame, That is what the author of the wcDocker repl= ied on my question,=C2=A0
"A p= anel must either be initialized as movable or non-movable from the beginnin= g and never changed because it generates a different arrangement of element= s depending. This feature should only ever be used within the onCreate meth= od of the panel. I should probably have been more clear about this limitati= on in the documentation."


So does it become a panel again if a second p= anel 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 Frame to render itself if i= t 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 of a group.
At a moment there is no way of =E2=80=8B
locking frames out of the box :(
=E2=80= =8B

Hmm, so t= he question becomes: do we include the lock feature, but rename it to "= ;Lock Tabs" or something similar, or leave it out altogether? It clear= ly doesn't do everything we want right now.=C2=A0
=E2=80=8BI would 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 check what changes are requ= ired in main source code to make the Frame lock.

Anyone else have any though= ts on this? Personally I don't like including half-baked features.=C2= =A0

<= /div>
+1, but we need to find out the way as this feature is requested = by many users.=C2=A0

100% agree. I can convince my self that this feature request has to do wi= th locking panels into a certain layout. I can also convince myself that th= e same request is simple because users are frustrated with the fact that th= e tabs and panes move around and they find that behavior annoying.=C2=A0

-- Rob
=C2=A0
--
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

En= terpriseDB UK: ht= tp://www.enterprisedb.com
The Enterprise PostgreSQL Company



--
Akshay Joshi=
Sr.= Software Architect





--
Akshay Joshi
<= b>Sr. Software Architect
<= /div>

=

Phone: +91 20-3058-9517Mobile: +91 976-788-8246

--00000000000013b4ad056aa8d4a4--