Re: [pgAdmin4][RM#3155] Allow user to lock the Layout

From: Murtuza Zabuawala <murtuza(dot)zabuawala(at)enterprisedb(dot)com>
To: Dave Page <dpage(at)pgadmin(dot)org>
Cc: Joao De Almeida Pereira <jdealmeidapereira(at)pivotal(dot)io>, pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: [pgAdmin4][RM#3155] Allow user to lock the Layout
Date: 2018-04-04 09:45:06
Message-ID: CAKKotZSG6d4C38XtYwUw9rP1M7XTXwFXKuxS6f3SCddTFpscBg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

On Wed, Apr 4, 2018 at 2:47 PM, Dave Page <dpage(at)pgadmin(dot)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 Page <dpage(at)pgadmin(dot)org> wrote:
>>
>>> Hi
>>>
>>> On Tue, Apr 3, 2018 at 12:56 PM, Murtuza Zabuawala <
>>> murtuza(dot)zabuawala(at)enterprisedb(dot)com> wrote:
>>>
>>>> Hi,
>>>>
>>>> Thanks Joao for reviewing.
>>>>
>>>> PFA updated patch.
>>>>
>>>> On Tue, Apr 3, 2018 at 1:11 AM, Joao De Almeida Pereira <
>>>> jdealmeidapereira(at)pivotal(dot)io> wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>> On Mon, Apr 2, 2018 at 10:07 AM Murtuza Zabuawala <
>>>>> murtuza(dot)zabuawala(at)enterprisedb(dot)com> wrote:
>>>>>
>>>>>>
>>>>>> ​Hello,
>>>>>>
>>>>>> Please find updated patch,
>>>>>>
>>>>>> Now layout will be locked after user updates its preferences, w
>>>>>> e have used ​
>>>>>> templated variable in the javascript file
>>>>>> ​ because we do not have preference module or preference cache
>>>>>> available when the page loads and panels gets rendered,
>>>>>> ​I
>>>>>> ​ 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 preference 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/4a5630c2
>>>>> <https://gpdb-dev.bosh.pivotalci.info/teams/main/pipelines/pgadmin-feature-branches/jobs/pivotal-rm-3155-python-linter/builds/3#L5ab982d1:9>
>>>>> ./pgadmin/misc/__init__.py:78: [E303] too many blank lines (2)
>>>>> <https://gpdb-dev.bosh.pivotalci.info/teams/main/pipelines/pgadmin-feature-branches/jobs/pivotal-rm-3155-python-linter/builds/3#L5ab982d1:10>
>>>>> 1 E303 too many blank lines (2)
>>>>> <https://gpdb-dev.bosh.pivotalci.info/teams/main/pipelines/pgadmin-feature-branches/jobs/pivotal-rm-3155-python-linter/builds/3#L5ab982d1:11>
>>>>>
>>>>> 1
>>>>>
>>>> ​Fixed​
>>>>
>>>>
>>>>>
>>>>>
>>>>>> @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 <http://docker.api.webcabin.org/module-wcFrame.html> and not a wcDocker
>>>>>> panel <http://docker.api.webcabin.org/module-wcPanel.html>. 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 it's a frame as you say.
>>>
>>
>> ​That is expected behaviour ​because once you 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 should only ever be used within the
>> onCreate method of the panel. I should probably have been more clear about
>> this limitation in the documentation."*
>>
>>
> So does it become a panel again if a second panel is added to the new tab
> group?
>
​No, it stays Frame.​

As far as I understand Panel needs a Frame to render itself if it is not
attached to the main docker instance.​

>
> 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 ​
locking frames out of the box :(

>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Dave Page 2018-04-04 09:47:25 pgAdmin 4 commit: Update Python and JS modules. Fixes #3154
Previous Message Dave Page 2018-04-04 09:17:57 Re: [pgAdmin4][RM#3155] Allow user to lock the Layout