Hi On Thu, Sep 13, 2018 at 2:50 PM, Atle Frenvik Sveen <a...@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