Dave Page
39e822e846
Further nice-ification of the runtime UI.
2016-01-25 17:21:00 +00:00
Dave Page
f1f09242ed
Set the window title.
2016-01-22 14:24:06 +00:00
Dave Page
af742011a5
Further UI improvements for the runtime.
2016-01-22 14:24:06 +00:00
Dave Page
b39943e3ff
Fix comment
2016-01-21 09:07:48 +00:00
Dave Page
7c9347873f
Use a custom configuration dialogue and allow the user to specify
...
the application path as well as the Python path.
2016-01-19 10:26:36 +00:00
Dave Page
694506453b
Copyright updates for 2016.
2016-01-18 14:48:14 +00:00
Dave Page
94bed721bd
Bump the version requirement for Flask-Gravatar to 0.4.2.
...
This version has been restructured and plays nicely with our runtime.
2016-01-18 13:27:40 +00:00
Dave Page
07fac62bce
Improve sizing of Python Path input box.
2016-01-14 15:53:29 +00:00
Dave Page
81405dbe0a
Use the modern pgAdmin icon on Mac
2016-01-14 15:22:49 +00:00
Dave Page
e288f9f927
Add notes on server vs. desktop deployment.
2016-01-14 15:22:49 +00:00
Dave Page
2354c3e07d
Allow multiple Python Path elements to be given in a semi-colon delimited list.
2016-01-12 13:50:49 +00:00
Dave Page
751f8383fa
Handle standard menu items defined by Nodes in the browser.
...
The File menu now includes a "Create" submenu, and Delete/Rename
options. Nodes can offer Delete/Rename functionality, and the
options on the menu are automatically enabled/disabled based on
the selected node. Each node can also offer Create functionality,
and specify a list of node types (including itself) from which the
option should be made available. The menu is dynamically generated
based on the selected node.
The Context menu on the treeview works in a similar way, except that
nodes can offer any context menu items (we don't allow this on the
top menu, as that should stay consistent to avoid user confusion).
2015-03-13 10:35:12 +00:00
Dave Page
af7dcd49b4
Prevent treeview items from wrapping.
2015-03-11 15:39:54 +00:00
Dave Page
e451ad5ddc
Make the SQL Pane "just another tab". This allows the user to position it
...
as required, and by default makes the UI less cluttered.
2015-03-10 14:31:49 +00:00
Dave Page
fe834d1ed2
Re-organise node structure and loading to make things somewhat more
...
simple. This also adds the ability to display servers on the treeview.
2015-03-10 13:09:11 +00:00
Dave Page
7f68d6fced
Update the setup script and config database to handle versioning.
...
This allows us to update the configuration database schema as needed,
and use the setup script to update it to the current version.
NOTE: Existing databases will need to be recreated once following
this commit. It doesn't seem worth handling the "upgrade from v0"
case when I'm probably the only active developer right now.
2015-03-09 15:06:10 +00:00
Dave Page
f040efb473
Make the jQuery-contextMenu control globally available as it's used by wcDocker.
2015-03-09 13:14:20 +00:00
Dave Page
c9b0273a14
Fix iFrame panels on Firefox.
2015-03-09 09:57:51 +00:00
Dave Page
dd78a2650c
Use the minimised version of the wcDockerSkeleton theme.
2015-03-09 09:46:52 +00:00
Dave Page
caff78053b
Update to use the new skeleton CSS from wcDocker, and restore a default
...
layout if the saved one fails for any reason.
2015-03-05 11:13:15 +00:00
Dave Page
7441d98c49
Allow modules to create browser panels.
2015-03-03 16:23:19 +00:00
Dave Page
497164d741
Don't restyle scroll bars.
2015-03-03 16:22:28 +00:00
Dave Page
527620d34e
Update wcDocker to enable properly translation of the context menu options.
2015-03-03 11:11:15 +00:00
Dave Page
cd059aaea3
Fix i18n for the docking system.
2015-03-03 10:51:29 +00:00
Dave Page
eef0a48823
Fix placeholder text.
2015-03-03 09:45:53 +00:00
Dave Page
4beefb7e7c
Fix title level.
2015-02-27 13:48:53 +00:00
Dave Page
06be3d39be
Replace the browser layout code with a new system based on wcDocker.
...
This is far more powerful, giving us tearable tabsets, versatile docking
and various other features.
2015-02-27 13:47:48 +00:00
Dave Page
b050b871c0
Fix the positioning of the security forms and the colours of the dialogue buttons.
2015-02-26 10:06:22 +00:00
Dave Page
44c37da0a3
More misc fixes.
2015-02-25 20:30:09 +00:00
Dave Page
613df8b596
Copyright year fixes and doc tweaks.
2015-02-25 20:25:41 +00:00
Dave Page
0988245ccd
Remove debug message.
2015-02-25 17:06:43 +00:00
Dave Page
83cbe87040
i18n support.
2015-02-25 17:06:00 +00:00
Dave Page
39089cca21
Add a Sphinx based help system, and include some initial docs on development.
2015-02-23 10:51:47 +00:00
Dave Page
bedaa52693
Fix the about menu option, only display menus if they have items on them,
...
and add a management menu for future use.
2015-02-20 10:43:50 -05:00
Dave Page
7179b79b8c
Add an ID to main menu options.
2015-02-20 10:26:25 -05:00
Dave Page
a36cb5ae10
Make context menu items hookable.
2015-02-20 09:56:02 -05:00
Dave Page
37be918074
Move the JS code for the main browser out of the HTML template
...
and into the browser.js view.
2015-02-20 09:37:42 -05:00
Dave Page
b43580a19e
Add a context menu to the treeview, with options to delete and rename server nodes.
...
TODO: Make the menu items hook in.
2015-02-18 22:06:12 -05:00
Dave Page
89cc11fb80
This is a big one campers; Add initial support for treeview nodes.
...
This commit adds the following:
- Storage of server groups in the configuration database
- Creation of a default server group on in the database
- A mechanism for plugging in treeview node types
- A node type for server groups with:
- Treeview display
- Custom per-node javascript implementing a menu option/dialogue to add new groups
- Custom per-node CSS to style the treeview node
- JSON formatted data in response to AJAX requests, including:
- Success/failure indication
- Error message
- Extra info (e.g. stack trace)
- The original request data
- Additional return data, e.g. node ID and label etc.
2015-02-15 17:10:53 -05:00
Dave Page
e2832351ed
Miscellaneous fixes and cleanups.
2015-02-13 15:19:08 +00:00
Dave Page
b5abf2c640
Cleanup the way stylesheets and scripts are injected into pages by modules.
2015-02-13 14:48:31 +00:00
Dave Page
45d536f524
Remove "vendor" from the global JS path.
2015-02-13 13:36:00 +00:00
Dave Page
567c567351
Add the CodeMirror addons. I can see us needing the majority of these.
2015-02-13 13:29:24 +00:00
Dave Page
6b3b9fdea1
Add aciTree to the libraries list.
2015-02-13 13:27:37 +00:00
Dave Page
2f154bbed4
The previous commit inadvertently added parts of the browser treeview implementation.
...
This adds the rest (which still requires further work to make it do anything useful).
2015-02-13 13:24:13 +00:00
Dave Page
b09c1b6c68
Fix the gutter height of the editor when the parent is resized.
2015-02-13 13:13:36 +00:00
Dave Page
f4982efb19
Oh look, a syntax highlighting, line numbering, block folding, auto-complete-capable editor.
2015-02-13 11:57:23 +00:00
Dave Page
075bce2b40
Fix the navbar so it's responsive
2015-02-12 14:59:28 +00:00
Dave Page
dbd7974e2a
Render settings related JS from the settings blueprint.
2015-02-12 10:57:09 +00:00
Dave Page
4c29f4385f
Render browser settings into the template rather than using synchronous AJAX calls to get them.
2015-02-12 10:46:21 +00:00
Dave Page
bb6a3f9b5b
Use minified output when not in debug mode, and non-minified when debugging.
...
Update jQuery while we're at it.
2015-02-12 10:28:15 +00:00
Dave Page
afb029e284
Factor out client side settings functions into their own JS file,
...
and add additional variations for getting ints, floats and bools.
2015-02-11 15:50:36 +00:00
Dave Page
adeb2f9e84
Allow multiple settings to be stored at once to avoid multiple requests.
2015-02-11 12:50:45 +00:00
Dave Page
e995104000
Initial cut at saving/retrieving the main browser layout.
...
Still needs some work to:
- Minimise AJAX calls by writing multiple settings at once.
- Move the settings storage/retrieval JS code into a global file
- Avoid using synchronous AJAX calls in the main thread
2015-02-11 10:00:57 +00:00
Dave Page
50c6b42273
Add a list of libraries used.
2015-02-06 11:13:22 +00:00
Dave Page
1b6d7edd01
Add the core of the main browser layout.
2015-02-05 14:06:20 +00:00
Dave Page
afd5626fe4
Add a simple module for storing and retrieving settings from the
...
config database.
2015-02-03 11:48:15 +00:00
Dave Page
e4bec5ad1e
Use the full screen width.
2015-01-28 18:02:13 +00:00
Dave Page
9d94848af4
Minor tweaks to the dialog code.
2015-01-28 17:56:13 +00:00
Dave Page
65dc4320f1
Replace bootstrap-dialog with Alertify.js, which is more configurable
...
and supports non-modal dialogs.
2015-01-28 15:57:03 +00:00
Dave Page
53d649de70
Add support for creating dialogs, and add an About dialog.
...
This adds bootstrap-dialog to help with creation of nice dialogs,
and adds the ability for modules to render Javascript into the
browser, and specify onclick handlers in the menu system.
Also add a basic About dialog, using the new infrastructure and
showing some useful info about the application.
2015-01-27 16:54:39 +00:00
Dave Page
d86c90fa73
Blacklist the test module by default.
2015-01-27 14:25:40 +00:00
Dave Page
89bfc54ec4
Update .gitignore file with a few more bits of junk.
2015-01-27 14:22:52 +00:00
Dave Page
d492da3ca1
Add automatic browser menu integration for modules.
...
Modules may now include functions that return lists of menu items
that will be included on the main browser window menu. While we're
at it, move the test views into a separate module.
2015-01-27 14:18:27 +00:00
Dave Page
0cff5fca2c
Restructure templates to avoid conflicts between modules.
2015-01-26 16:27:16 +00:00
Dave Page
7c60fb3377
Support a desktop authentication mode.
...
This uses a single default user in the config database, which is
auto-logged into the app when SERVER_MODE = False. In this mode we
also hide/remove user-related functions in the UI.
2015-01-26 15:20:28 +00:00
Dave Page
10515431c7
Add authentication and the basis of the browser module.
...
A user authentication module based on flask-security is added, which
allows users to login and change/recover passwords etc. Custom templates
are included for the user/password UIs.
A new setup script will initialise the user (and later settings) DB,
adding the first user and granting them an Administrator role.
A redirects blueprint module is added to handle simple URL redirects.
A browser module is added and currently renders a skeleton page with
a menu bar, gravatar and jumbotron.
NOTE FOR LATER: Currently this code might make the nice basis for any
web app that needs user management and plugins. Hmmm....
2015-01-22 15:56:23 +00:00
Dave Page
7fa40d7671
Use Python docsctrings
2015-01-21 12:00:13 +00:00
Dave Page
df5054f253
No need for content here now.
2015-01-21 11:18:02 +00:00
Dave Page
5a485e7ab8
Add a base template with Bootstrap and jQuery ready to go.
2015-01-20 17:02:04 +00:00
Dave Page
47e779266b
Enable templates and static files in the utils module. Refactor to
...
ease use as a template for other modules in the future.
2015-01-20 13:57:51 +00:00
Dave Page
5cffcabc70
Update the runtime to use URLs provided by the utils module.
2015-01-20 13:56:37 +00:00
Dave Page
dd40207617
Don't run the webserver in debug mode as it breaks the runtime.
2015-01-20 13:51:20 +00:00
Dave Page
0df7225561
Put the favicon in the right place.
2015-01-20 12:32:44 +00:00
Dave Page
7b8cb207ab
Support dynamically loaded modules.
2015-01-20 12:32:06 +00:00
Dave Page
bb3efff063
Remove incorrectly placed static dir.
2015-01-20 12:29:29 +00:00
Dave Page
2c1688e6f4
Use Flask blueprints for modularisation, per Khushboo Vashi.
2015-01-19 16:38:47 +00:00
Dave Page
ca6ef66b61
Disable the DEBUG log handler so our own is used.
2014-12-18 17:56:17 +00:00
Dave Page
51117f26a9
Add a .gitignore file.
2014-12-18 17:52:53 +00:00
Dave Page
b9bf6d9aa3
Restructure to enable use of modules for different components of pgAdmin.
2014-12-18 17:49:09 +00:00
Dave Page
255d6c1437
Improve commenting
2014-12-17 15:27:54 +00:00
Dave Page
417ad2c6ee
Make the application name and version details configurable.
2014-12-17 12:52:43 +00:00
Dave Page
3e6436bc9b
Prevent werkzeug starting up it's own stream handler so that all
...
messages are routed through pgAdmin's handlers.
2014-12-17 12:44:07 +00:00
Dave Page
a0628f4a84
Ensure requests to the web server hit the file log too.
2014-12-16 18:21:26 +00:00
Dave Page
53389d6ee0
Enable static file handling.
2014-12-16 18:10:07 +00:00
Dave Page
c791d2a15f
Add favicon.
2014-12-16 17:55:19 +00:00
Dave Page
cdcafa66f2
Fix typo.
2014-12-16 17:47:33 +00:00
Dave Page
a1a6e5356f
More basic setup.
2014-12-16 17:37:53 +00:00
Dave Page
ba939f27d7
Use multiple logging handlers so we can have messages going to both
...
the console and a file, with differing formats and levels.
2014-12-16 17:14:48 +00:00
Dave Page
2d21ea059b
Add a basic logging system.
2014-12-16 15:54:29 +00:00
Dave Page
cd9d005c49
Remove CherryPy from the source tree, and change references to Flask
...
instead. Add support to the runtime to allow the user to specify the
Python path. This needs to be more automated for release, but will be
useful for debugging and development.
2014-12-16 12:53:09 +00:00
Dave Page
1db7d968e2
Fix merge error.
2014-03-09 14:39:12 +00:00
Dave Page
b022e5d347
Have the runtime check in a loop to see if the app server is up before
...
opening the browser window.
2013-10-04 21:49:12 +01:00
Dave Page
e120c43663
Add a "ping" handler.
2013-10-04 21:48:01 +01:00
Dave Page
457a842cec
Find a random port number to use for the application server to avoid conflicts
...
with any other apps that may have already bound to the default port used by CP.
2013-10-04 21:48:01 +01:00
Dave Page
a1524f3726
Add a qmake cache.
2013-10-04 21:42:16 +01:00
Dave Page
467d7d571b
Include pgAdmin4.h in the project file.
2013-10-04 21:42:16 +01:00
Dave Page
7a066ec4b2
Save/restore the window position.
2013-10-04 21:42:16 +01:00
Dave Page
2d8f6481dc
Fix a display issue in the Linux error handling.
...
Linux won't refresh the qWebView unless we explicitly process
events after telling it to load the page again.
2013-06-22 00:59:34 +01:00
Dave Page
9080a782d5
Handle slow startup of the web server.
...
If the web server is slow to start, we may need to retry the initial
page load. Implement a retry system that will retry the initial load
4 times, after 1, 2, 3 and 4 seconds, before giving up and leaving
the user with an error message and a link to retry manually.
2013-06-22 00:49:40 +01:00