Re: Custom layers in PgAdmin IV Mapview

Поиск
Список
Период
Сортировка
От Dave Page
Тема Re: Custom layers in PgAdmin IV Mapview
Дата
Msg-id CA+OCxowONb1iWT2xL3qHRxzptj_EoUe8j2tfuoOZ=aDgT71vHw@mail.gmail.com
обсуждение исходный текст
Ответ на Custom layers in PgAdmin IV Mapview  (Atle Frenvik Sveen <atle@frenviksveen.net>)
Ответы Re: Custom layers in PgAdmin IV Mapview
Список pgadmin-hackers
Hi

On Thu, Sep 13, 2018 at 2:50 PM, Atle Frenvik Sveen <atle@frenviksveen.net> wrote:
Hi list!

The new Mapview is great, but when you give people something they always want more, and so do I.

I want to be able to add custom background layers to the existing list of layers.

I'm thinking that the list of layers should be configurable from the Preferences -> Sql editor menu (or somewhere in the Preferences)

Then again, given that I know both Js, Leaflet, Backbone, and Python/Flask I guess I should contribute the changes myself rather then waiting for someone else to do this.

Cool :-)
 

However, I have some questions before I jump right on this task:

First some organizational:
1. If I add this, is this something that is welcomed by the project?

Yes!
 
2. How do I register a task on https://redmine.postgresql.org/projects/pgadmin4/issues

Assuming you have a user account on there, there's a "New Issue" button towards the top right.
 
3. Is it ok to clone the GitHub mirror and submit a PR there?

You're welcome to work in a GitHub mirror of course, but please send patches here - we won't see GitHub PRs as our primary repo is git.postgresql.org.
 

Then some tech-related questions:

1. It seems like window.top.pgAdmin.Browser.get_preferences_for_module is used for getting preferences from js, and that the PreferencesModule python class is responsible for managing preferences. But where are the default preferences listed?

You'll find register_preferences functions in some of the Python modules (e.g. web/pgadmin/dashboard/__init__.py). They tend to have a bunch of calls in them that look like this:

self.session_stats_refresh = self.dashboard_preference.register(
'dashboards', 'session_stats_refresh',
gettext("Session statistics refresh rate"), 'integer',
1, min_val=1, max_val=999999,
category_label=gettext('Graphs'),
help_str=gettext('The number of seconds between graph samples.')
)
In this case, the 1 on the beginning of the fourth line is the default value.
 
2. Does the preferences code currently handle editing a list of elements? I'm thinking that the preferences pane for map layers should be something like this.


name    | url                                                                                             |
----------|-----------------------------------------------------------------| ------
streets | https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png | [remove]
[]            | []                                                                                                  | [add]

2.1 If it does, where in the code can I find it?
2.2 It it doesn't, where in the code can I add it and
3. In either case of 2: how do I specify how a preference object for a module look like?

I don't believe it does at the moment. Khushboo, am I missing something?

The Preferences class is in web/pgadmin/utils/preferences.py. 

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

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

В списке pgadmin-hackers по дате отправления:

Предыдущее
От: Atle Frenvik Sveen
Дата:
Сообщение: Custom layers in PgAdmin IV Mapview
Следующее
От: Khushboo Vashi
Дата:
Сообщение: Re: Custom layers in PgAdmin IV Mapview