Commit Graph

353 Commits

Author SHA1 Message Date
Khushboo Vashi
ecd95141f3 Refresh nodes correctly when there is a single child that is updated. Fixes #2532 2017-07-10 13:25:23 +01:00
Joao Pedro De Almeida Pereira
d56f1d847c Update dialogue error styling to match alerts 2017-07-10 09:36:10 +01:00
Akshay Joshi
c2fb0394bf Added support of Declarative Partitioning (Range, List) for PostgreSQL 10.
This allows the user to create partitioned table and it's partitions.

  - Edit partitions, Create/Listing of constraints, rules, triggers under partitions. (Implemented by Harshal)
  - Updating browser tree node when create/attach/detach partitions from table dialog.(Implemented by Ashesh)
2017-07-07 11:55:55 +05:30
Murtuza Zabuawala
9de6c08d28 Allow use of Shift+Tab to un-indent selected text. Fixes #1988 2017-07-05 14:20:19 +01:00
Joao Pedro De Almeida Pereira
2a30a86e7d Update alertify alerts to use the styling defined in the styleguide. 2017-06-30 10:21:05 +01:00
Khushboo Vashi
501120701e Allow the dashboard panel to be closed. Fixes #2506 2017-06-30 10:11:34 +01:00
Dave Page
96412b3219 Revert "Allow the user to close the dashboard panel. Fixes #2506"
This reverts commit a87ee6d059.
2017-06-27 10:35:43 -04:00
Murtuza Zabuawala
1b49bb8b22 Add preferences to enable brace matching and brace closing in the SQL editors. Fixes #2513 2017-06-27 09:57:38 -04:00
Khushboo Vashi
a87ee6d059 Allow the user to close the dashboard panel. Fixes #2506 2017-06-27 09:21:24 -04:00
Dave Page
6fabf4764b Add access keys for top level menus. 2017-06-23 09:58:46 +01:00
Khushboo Vashi
67fd119de8 Maintain a client-side cache of preference values, populated using an async call. Fixes #2487 2017-06-21 17:09:59 +01:00
Murtuza Zabuawala
34518d328e No need for the menu icon to link to the homepage, as pgAdmin is a SPA. Fixes #2479 2017-06-20 10:28:35 +01:00
Surinder Kumar
2a87585665 Fix script options which were inadvertently broken in the query tool tab naming patch. 2017-06-15 12:19:47 +01:00
Surinder Kumar
57d866f7b7 Use a more sensible name for Query Tool tabs. Fixes #2482 2017-06-13 11:34:24 +01:00
Surinder Kumar
af43ccfc07 Teach dialogues about Escape to cancel, Enter to Save/OK, and F1 for help. Fixes #1535 2017-06-12 16:43:29 +01:00
Ashesh Vashi
fd3ddbeafb Implementation of the client side 'url_for(...)' function.
Created a url_for function module to be used by different javascript
modules to use the same functionality of flask at client side.

A python module can expose the list of endpoints, used by its
javascripts, by overriding the 'get_exposed_url_endpoints(self)'
function.

In this patch, we have modified all the browser modules to use this
function. It will allow us to move the majority of the javascript
modules of browser nodes from templates directory to the static
directory.

TODO::
- Move these javascripts modules to the static directory.
- Use this function in all the applicable javascript modules.
  e.g. tools, miscellaneous modules
2017-06-12 12:01:25 +05:30
Surinder Kumar
c9b717ed68 Set focus on the first enabled field when a dialogue is opened. Fixes #1533 2017-06-08 14:37:31 +01:00
Surinder Kumar
88737248ab Fix a couple of missing greys. 2017-06-07 16:31:47 +01:00
Ashesh Vashi
ae80976689 Using the client-side translation using the client-side 'gettext'
implementation.

This is the first step towards 'Avoid creating the javascript modules
using Jinja templates'.
2017-06-07 15:53:05 +05:30
Murtuza Zabuawala
0bc9997a95 Properly refresh the parent node when renaming children. Fixes #2355 2017-06-06 09:50:05 +01:00
Murtuza Zabuawala
aea0d93390 Hide menu options for creating objects, if the object type is set to hidden. Includes Jasmine tests. Fixes #2225 2017-05-12 12:10:46 +01:00
Andrei Antonov
cbf2de6c27 HTML escape the label, when setting the collection node count along
with the label of the tree-nodes.
2017-05-10 13:26:18 +05:30
Murtuza Zabuawala
019c1302cb Update inode info when refreshing treeview nodes. Fixes #2336 2017-04-12 13:29:56 +01:00
Murtuza Zabuawala
7dd9efd811 Fix binary search algorithm so new treeview nodes are added in the correct position. Fixes #2331 2017-04-12 13:01:24 +01:00
Murtuza Zabuawala
3dba7d8303 Fixes #2321 - [Browser Tree] Shows only the newly created node (not, all
other child node) of a parent node, when it has not been already loaded.

In order to resolve the issue - we will open the parent, and select the
created node, instead of adding it to parent node.
2017-04-07 08:58:43 +05:30
Jonas Thelemann
b8566a0127 Un-split some strings for translateability. And so begins the battle between gettext and pep8... 2017-04-05 15:05:11 +01:00
Jonas Thelemann
ddfa934357 Unified usage of "definition incomplete". 2017-04-05 13:55:00 +01:00
Jonas Thelemann
37120bf199 (De)Capitalized strings to fit the common/usual format, corrected spelling, removed unnecessary characters. 2017-04-05 13:50:49 +01:00
Jonas Thelemann
65f21a8cd7 Replace all occurrences of "can not" with "cannot". 2017-04-05 13:38:14 +01:00
Maxim Zakharov
85db82c7f4 Avoid an unauthorised error if clicking on the logo in desktop mode. 2017-04-05 13:33:12 +01:00
Dave Page
4ba9269a88 Remove debug code. 2017-03-31 20:27:41 -04:00
Murtuza Zabuawala
08ff9d7422 Dialog Help was broken in case where query tool/Debugger opens in new browser tab. Fixes #2310 2017-03-31 16:08:05 +05:30
Dave Page
4f27afc99b Ensure the spinner doesn't obscure the version 2017-03-25 22:04:52 -04:00
Jonas Thelemann
c34f5fd2d4 Use "could not" consistently, instead of "couldn't" which was used in some places. 2017-03-07 10:29:54 +00:00
Sarah McAlear
a0a31e55ae Move 3rd party client code into vendor/ directories for ease of maintenance. 2017-02-24 17:01:21 +00:00
Surinder Kumar
c0f2aab001 Ensure we never sort columns on the treeview. Fixes #2185 2017-02-24 13:02:13 +00:00
Murtuza Zabuawala
ec93077040 Compatibility fixes for newer versions of Jinja2 (e.g. 2.9.5+). Fixes #2156 2017-02-06 12:53:16 +00:00
Neel Patel
0d4bc0d27d Store layout changes on each adjustment, rather than on unload which is unreliable. Fixes #1967
We also use an async request now, rather than a deprecated sync request.
2017-01-16 15:34:55 +00:00
Dave Page
ef5b8fe603 Clarify the close browser warning. 2016-12-19 12:12:43 +00:00
Murtuza Zabuawala
6fc8f040ff Allow users to enable wrapping of code in SQL boxes. Fixes#2025 2016-12-16 17:07:41 +00:00
Khushboo Vashi
81841cdb3c Treat databases with datallowconn=false appropriately. Fixes #1801 2016-12-09 11:59:13 +00:00
Khushboo Vashi
54b35c711d Ensure dialogue panels show their errors themselves, and not in the properties panel. Fixes #1855 2016-11-18 14:05:39 +00:00
Murtuza Zabuawala
b9571df4de Don't append new objects to the wrong parent, if the correct one isn't loaded. Fixes #1838 2016-10-18 12:37:44 +01:00
Surinder Kumar
0df968f679 Resolve issue with properties refreshing. Fixes #1728
1) If we create/update a node with non-default schema, It should return selected schema id in return response. but default schema id is returned every time due to which it throws error in properties panel.
Fixed in Domains, Collation, Types, Views & Table node.

2) Incorrect parent id of object node is returned from nodes method due to which wrong parent id is passed while updating object and
thus node didn't get refreshed.
Fixed in FTS Configuration, FTS Parser nodes.
2016-10-14 12:19:00 -07:00
Surinder Kumar
3b4776ab5f Improve network/server activity feedback for the user. Fixes #1751 2016-09-26 15:10:38 +01:00
Ashesh Vashi
b80cd43ae6 Misc changes
- Setting the CodeMirror height when panel is resized, which you had mentioned.
- Added a new CellEditor (DatetimePickerEditor) for datetime picker.
2016-09-26 10:04:49 +01:00
Murtuza Zabuawala
5c855234f8 Ensure we go back to the login page after logging out, when installed at a virtual root. Fixes #1691 2016-09-23 13:10:48 +01:00
Murtuza Zabuawala
f18c455411 Don't offer CREATE Script options on servers or server groups. Fixes #1578 2016-09-23 10:06:50 +01:00
Ashesh Vashi
163ae4d53d Misc fixes and additions for pgAgent support:
- Added DatetimepickerControl, MomentCell (using moment.js)
- Used the 'DatetimepickerControl' in Role (Also - resolved an issue, when unset the datetime for 'Valid Until'.)
- Added a 'Select All/Unselect All' adaptor for Select2 used by pgAgent nodes.
- Fixed an issue with SubNodeCollectionControl, which was not starting the modification session of the child model, when created default value for collection is not null/undefined. And, hence - validation on the child model was not working.
- Fixed a memory leak with SqlFieldControl, and SqlTabControl, which was not releasing the CodeMirror properly.
2016-09-22 15:27:59 +01:00
Surinder Kumar
febb1b80b1 Ensure items are properly added to the treeview when their parent has no pre-existing children. Fixes #1627 2016-09-20 11:18:07 +01:00
Surinder Kumar
92bc312d2d Fix updating of matview definitions. Fixes #1595 2016-09-16 15:41:07 +01:00
Surinder Kumar
3035ae13df Fix CMD+V (Paste) in the Mac runtime. Finally fixes #1478 2016-09-14 11:17:34 +01:00
Murtuza Zabuawala
4ba8f4830b Don't sort columns (tables, views, matviews, catalogs etc) on the treeview by name, but by ordinal. Fixes #1687 2016-09-14 11:13:50 +01:00
Murtuza Zabuawala
a67c4fc1dc Fix a typo in the error handling in the browser that caused some errors to be reported to the console only. 2016-09-14 10:33:41 +01:00
Ashesh Vashi
aeaa4bcad1 Add an object in an parent properly, which was expanded earlier, and do
not have any child withing it.

Fixes #1481, #1627.
2016-09-06 23:20:38 +05:30
Ashesh Vashi
8ac65070bc Improve the logic for Bad handling of missing connection database server RM #1387 2016-09-06 15:35:20 +05:30
Murtuza Zabuawala
689ef8d8d1 Fixes issues specific to SYNONYMS
- On droping a synonyms - the query should be modified in SQL pane.
- A proper message should be given on trying to drop an already dropped
  synonyms.
- Handle the synonyms with special characters.

Fixes #1607, #1608, #1609
2016-08-29 20:25:18 +05:30
Ashesh Vashi
b6f307256b Sorting the data during tree data loading using the natural sort
algorithm.

This patch takes care of:
* Consistent behaviour during create, update operation on any node.
  - It should return the node data during creating a new object, or
    updating the existing one.
* Now that - we have consistent behaviour during these operations, we
  can consistently move, update the tree item based the node data from
  the server.
* Implemented the methods for each node to get the information about
  that particular node only.
* Using the above changes to implement the 'refresh' operation on tree
  node properly.

I must thank Surinder, and Harshal for helping me implement the 'node'
method, and also changed the behaviour of create & update methods to
return the node data for most of the nodes.

Fixes #1244
2016-08-29 20:06:58 +05:30
Ashesh Vashi
f12d981a9d Handling the bad/lost connection of a database server.
Made backend changes for:
* Taking care of the connection status in the psycopg2 driver. And, when
  the connection is lost, it throws a exception with 503 http status
  message, and connection lost information in it.
* Allowing the flask application to propagate the exceptions even in the
  release mode.
* Utilising the existing password (while reconnection, if not
  disconnected explicitly).
* Introduced a new ajax response message 'service_unavailable' (http
  status code: 503), which suggests temporary service unavailable.

Client (front-end) changes:
* To handle the connection lost of a database server for different
  operations by generating proper events, and handle them properly.

Removed the connection status check code from different nodes, so that
- it generates the proper exception, when accessing the non-alive
  connection.

Fixes #1387
2016-08-29 12:01:35 +05:30
Harshal Dhumal
cf1be2a320 Add support for Packages on EPAS. 2016-08-22 12:30:16 +01:00
Surinder Kumar
761b54ce69 Allow the user to configure tabs in the SQL editor. Fixes #1406 2016-08-19 11:40:19 +01:00
Akshay Joshi
2b1b60bc2b Reduce main menu height a little. Fixes #1453 2016-08-18 16:51:22 +01:00
Akshay Joshi
9dfc7bff35 Add missing collection node child counts. Fixes #1250 2016-08-09 12:12:05 +01:00
Dave Page
a025c0ebf0 Missing comma. Sigh. 2016-08-08 15:39:06 +01:00
Surinder Kumar
1bcac0b67c Fix more of the funky keyboard shortcuts. 2016-08-08 15:26:37 +01:00
Neel Patel
37ca3579f3 Fix a JS error in the runtime caused by f78024808e (#1177) 2016-08-08 14:42:14 +01:00
Harshal Dhumal
f78024808e Prevent the user attempting to run external commands if the bin path is not configured. Fixes #1177 2016-08-08 11:59:37 +01:00
Khushboo Vashi
8e099e29c3 Fix various escaping issues. Fixes #1527 2016-08-05 12:20:00 +01:00
Dmitriy Olshevskiy
94aa36f3d5 Remove redundant -- marker in the SQL panel on the properties dialogues. 2016-08-01 14:28:14 +01:00
daze
19306934a0 Property 'URL' (of type string) not quoted in browser.js template when extending pgAdmin.Browser. Fixes #1504
Without quotes, the property can be mistakenly treated as a regex:

e.g.: URL: /pgadmin/browser/,

When that happens, JS engine throws "SyntaxError: invalid regular expression flag b" and the whole web interface freezes.
This problem usually occurs when pgadmin is hosted inside a subdirectory (https://host/pgadmin/ instead of https://host/).
2016-07-26 12:47:46 +01:00
Dave Page
790b28fb61 Flask-Babel 0.11+ compatibility. Fixes #1496 2016-07-25 17:23:10 +01:00
Murtuza Zabuawala
419ead9121 Ensure ajax requests are sent on second click of an object. Fixes #1462 2016-07-21 13:26:09 +01:00
Ashesh Vashi
417af3676d Using better way to find the current object in the properties panel. 2016-07-19 15:30:39 +05:30
Dave Page
7b3b7736d9 Resolve loading panel does not hide in Mac runtime. Fixes #1425 2016-07-01 10:20:43 +01:00
Dave Page
c4504f1dc2 Localise the loading message. 2016-06-29 20:48:09 +01:00
Dave Page
d795f37fe5 Prefix the version number with 'v' in the Loading message. 2016-06-29 20:47:11 +01:00
Surinder Kumar
53434030c1 Consistent busy indication. Fixes #1242 2016-06-29 12:16:02 +01:00
Harshal Dhumal
9396cb03d5 Fix intermittent CodeMirror rendering issue. Fixes #1399 2016-06-29 11:19:04 +01:00
Surinder Kumar
5d0c160fb8 Show a loading indicator until things are ready to rock. Fixes #1400 2016-06-29 10:46:48 +01:00
Dave Page
1222681888 Revert "Display busy indicators in a much more consistent way. Fixes #1242"
This reverts commit 7fbefa507b which seems to be
missing things.
2016-06-29 10:32:20 +01:00
Dave Page
7fbefa507b Display busy indicators in a much more consistent way. Fixes #1242 2016-06-27 17:09:37 +01:00
Surinder Kumar
a7e1e25cf4 Add a title bar to the treeview browser, as this is the only (currently) supported way to fix docking issues with our code in wcDocker. Fixes #1184
Original patch by Surinder. Simplified and re-styled by me.
2016-06-24 10:12:57 +01:00
Dave Page
7d0fe669ca Code tidy. 2016-06-21 14:21:06 +01:00
Surinder Kumar
3f25e9331f Remove Query tool from object menu. It is already shown under tools menu, so no need to show under object menu. 2016-06-20 14:17:10 +01:00
Dave Page
3bcc5a4bd3 Further string improvements. 2016-06-17 14:51:01 +01:00
Dave Page
0717b40543 Wording improvements. 2016-06-15 12:42:21 +01:00
Harshal Dhumal
b0b21fd46c Avoid showing multiple 'Reset Layout' options under file menu. Fixes #1348
Also restructured code related to reset layout functionality.
2016-06-14 15:01:15 +01:00
Dave Page
970d3aafbf Help buttons for various dialogues. 2016-06-13 16:17:36 +01:00
Murtuza Zabuawala
d9804ae2a2 Add a menu option to reset the layout. Fixes #1248 2016-06-10 16:55:58 +01:00
Surinder Kumar
8eb0742076 Add the Query Tool to the context menu, and improve prioritisation. Fixes #1256 2016-06-08 13:18:59 +01:00
Harshal Dhumal
f3fae9d238 Fix email validation and mouse pointer over the Users option. 2016-06-07 09:24:44 +01:00
Harshal Dhumal
e3ab4501d5 User management. 2016-06-06 13:34:08 +01:00
Murtuza Zabuawala
9436542074 Fixes #1223 - Do not allow to drop user from non-super user.
Also - fixed some javascript variable scope issue in the 'delete_obj'
function of nodes.
2016-06-03 15:32:33 +05:30
Ashesh Vashi
57f3cbfa3b Select parent node when deleting/dropping the last children. 2016-06-03 06:06:40 +05:30
Ashesh Vashi
05a3d509bc Fixes #1104 - Load the first level node properly, whenever we add first
node under it, and select that node.

This fixes the problem of adding first server.
2016-06-03 05:57:58 +05:30
Ashesh Vashi
cf0f692d00 Dialog default sizing. 2016-05-25 11:18:05 +01:00
Ashesh Vashi
748497916e Honour the node type (if provided) in the menu item, and disable it on
any other nodes.
2016-05-25 01:15:10 +05:30
Ashesh Vashi
b2b6d443b5 Do not validate the model unnecessarily (when closing).
Clear the cache of a node, whenever an object has been removed of that
kind, it will allow us to fetch the latest list.
2016-05-21 15:36:41 +05:30
Murtuza Zabuawala
077075c765 Renaming the label of the browser left node after editing the properties
properly.
2016-05-21 15:06:14 +05:30
Ashesh Vashi
875e251359 Allow to specify the height & width from the javascript modules of an
individual node.
2016-05-21 14:18:26 +05:30
Dave Page
1606f1d8e8 Link online help to dialogs 2016-05-16 22:35:27 -04:00
Surinder Kumar
2c7a45814c Resolved an issue about missing 'canDrop' function check for the browser
tree nodes.

Each individual node is responsible for introducing the 'canDrop'
function/flag to decide whether the 'Delete/Drop' context menu should be
enabled/disabled.

In commit-id: 26aa5607ad, 'obj.canDrop'
was set to true in the 'pgBrowser.Node' in delete callback, just to make
the server-group droppable, which is wrong, as all the nodes are
getting affected because of this change in a wrong way.

To fix the issue, added the 'canDrop' function in the server-group node.

Apart from them, also added restriction for not allowing to delete the
default server-group.

Also, handled the same restriction at the server end.
2016-05-16 23:09:11 +05:30
Murtuza Zabuawala
5ca63fba48 Initial version for generationg the CREATE/SELECT/EXEC scripts for the
selected node.
2016-05-16 00:25:34 +05:30
Surinder Kumar
cc91a538e0 Fixed the canDrop function of the node menus does not get called during
enable/disable menu checks.

Tweaked a little bit by Ashesh.
2016-05-14 01:10:20 +05:30
Ashesh Vashi
f682f06c94 Adding a background process executor, and observer.
We will be using the external utilities like pg_dump, pg_dumpall,
pg_restore in background. pgAdmin 4 can be run as a CGI script, hence -
it is not good idea to run those utility in a controlled environment.
The process executor will run them in background, and we will execute
the process executor in detached mode.

Now that - the process executor runs in detached mode, we need an
observer, which will look at the status of the processes. It also reads
output, and error logs on demand.

Thanks - Surinder for helping in some of the UI changes.
2016-05-13 08:49:51 +05:30
Ashesh Vashi
d768faf2ea Do not validate the attributes on saving, because - sometimes it results
into an error, and does not call the callback - 'success/fail'
internally.

And, that will not close the property dialog in those cases.

Reported by Harshal Dhumal.
2016-05-12 15:51:21 +05:30
Murtuza Zabuawala
ce043fbe07 Python 3 compatibility fix - iteritems() is deprecated. 2016-05-10 17:01:11 +01:00
Ashesh Vashi
9cae686c65 Allow the modules to define the i18n messages, and other messages
required by its javascript module.

This will allow us to load the javascript modules as a static file, and
not as a Jinja2 template. This will increase the load time, as it will
decrease number of templates to be processed during loading those
javascripts.
2016-05-10 16:07:48 +05:30
Khushboo Vashi
7a400bacf3 Do not send the incomplete definition of a node object to the server
instead show proper message.

Tweaked by Ashesh for adding the proper message
2016-05-10 12:34:24 +05:30
Khushboo Vashi
e522ebbcca Ensure delete/drop works without JS errors. 2016-05-06 15:47:21 +01:00
Khushboo Vashi
f3d05279a7 In IE10, the Save/Reset buttons are not getting enabled after changing fields. 2016-05-06 15:29:32 +01:00
Karen Blatchley
949e536bae First round of string review and cleanup. 2016-05-06 13:53:48 +01:00
Dave Page
0628ee0425 Dashboards v1 2016-05-05 16:42:16 +01:00
Ashesh Vashi
32e0a0d4b6 Clear the node cache, when an node is created/updated to make sure - we
will always have latest data related to that type of node. Also, fixed
the cache_level for different node types.

This commit also contains fixes for the following issue:
* In extension module - use the 'node-list-by-name' instead of using a
  custom 'node-ajax-options' control, and removed redundant template
  schemas from it.
* When we tries to destroy the select2 object from
  Select2Cell/Select2Control while releasing the properties view,
  sometimes select2 can not find the instance related it for some
  unknown reason. Hence - before removing it we will check for manual
  instance existance using $.data('select2').
* When we traverse through the browser tree nodes very quickly, it tries
  to remove the object before it gets created completely, and results
  into an exception.
* Icon in the select2 drop down list was not visible due to some CSS
  issues.

Apart of that, we will generate two new browser events -
'pgadmin-node:created:<NODE-TYPE>', 'pgadmin-node:updated:<NODE-TYPE>'
whenever a new node is created, or an existing node will be updated.
2016-04-29 15:50:38 +05:30
Murtuza Zabuawala
dac514a4ae Added a new control for rendering the notes to be used by different
tools/utitilities dialog.

Modified a little bit by Ashesh Vashi.
2016-04-28 11:52:06 +05:30
Ashesh Vashi
085ce50545 Refresh the SQL control, whenever necessary.
Also, remove the CodeMirror object for better clean up process.

When a SQL control/tab is rendered in a hidden element, it does not
render really well. Because - it rely on the height, and width of the
container to count the gutten position, and margin, and other elements.

Hence - whenever the tab, panel becomes visible, we will refresh the
control.
2016-04-22 15:29:23 +05:30
Ashesh Vashi
a5aa6d159a Updated the CodeMirror to the latest stable version (5.14.2).
It has now the 'sql/x-pgsql' mode, which will make the queries more
familiar, and lot more improved addons.
2016-04-22 15:28:34 +05:30
Ashesh Vashi
9aee9794c1 Fix the properties toolbar at the top of the panel so it's always
visible.

This patch also introduce a callback 'onCreate' for each panel, and
frame, which will be called whenever a panel/frame is being created.
2016-04-18 12:38:56 +05:30
Dave Page
e176190256 Core infrastructure for dashboards. 2016-04-16 17:51:44 +01:00
Seçkin Alan
26aa5607ad Fix dropping of server groups. 2016-04-16 09:55:38 +01:00
Ashesh Vashi
34ba5bef24 Improvised the data clean up, in some cases, it was calling validation
due to internal 'set' function call from the internal 'reset' function.

We will stop the session management, before doing any clean up for
ignoring such events.
2016-04-15 19:29:30 +05:30
Khushboo Vashi
de0864a92c Fix SQL Help on older browsers without string.endsWith(). 2016-04-15 14:26:32 +01:00
Ashesh Vashi
7ca939dcaf Fix dialogue close issue. 2016-04-15 14:02:21 +01:00
Dave Page
4d7d3bd5e1 Icon and toolbar cleanup/consistency. 2016-04-15 13:32:17 +01:00
Ashesh Vashi
58fcbd943a Deleting the object (model & nested model/collection) during showing
the node properties.
2016-04-15 16:14:22 +05:30
Seçkin Alan
7b344185b4 Validate the model on save. 2016-04-14 21:51:07 +01:00
Ashesh Vashi
8a39b3a700 Backend changes to fetch the statistics for the database and server
nodes, along with the front-end changes for those node.

NOTE:
We've not yet added the support to show them on the front-end.
2016-04-14 16:45:34 +05:30
Ashesh Vashi
6f58170894 Bind the current panel with the temporary functions, so that - it works
on the object everytime, it hits the buttons, and the callback functions
are being executed. The original implementation was not using the same
panel, when it was recalled from other function. And, results into
unexpected behaviour like not able to work with Edit object again.

Thanks Murtuza for reporting the issue.
2016-04-14 12:50:20 +05:30
Ashesh Vashi
30d189f499 Load the codemirror as package in the require.js, which will allow us to
load the codemirror addons without any modification.
2016-04-14 12:34:17 +05:30
Dave Page
edf9f25691 Fix general category default. 2016-04-12 17:00:12 +01:00
Dave Page
fc8c3db33f Remove unnecessary line of code. 2016-04-12 13:39:06 +01:00
Dave Page
62fcfd928d Add context-sensitive SQL help. 2016-04-12 13:36:06 +01:00
Ashesh Vashi
e07ebdc049 Moving the messages used in common utilities in a separate javascript. 2016-04-11 17:07:58 +05:30
Dave Page
d53ab31eb8 Button bar styling:
- Left justify the top button bar and match the style of the query tool
- Allow buttons to have tooltips and optional labels
2016-04-08 11:58:47 +01:00
Harshal Dhumal
43d532321b Allow to close the create/edit dialog after successful 'save'
operation.

Some of the nodes do not return id as result, when they were created.
Modified the logic to allow to open the parent node in such conditions.
2016-04-01 15:34:29 +05:30
Dave Page
2a2374329e String improvements. 2016-03-23 16:03:22 +00:00
Dave Page
72f6353561 String improvements. 2016-03-23 16:00:26 +00:00
Khushboo Vashi
8ca134871f Update the Browser Tree Node Icon after editing. 2016-03-22 13:14:38 +00:00
Ashesh Vashi
87f9834951 Allow to create sub-menu/menu-group by specify the same category in
multiple menu-items (not just the 'create' menu-group).

Moved all the main menu/context menu generation implementation in the
'menu' javascript menu.

In this implementation, if more than one menu-items specify same type
of categories, they will be created withing that group, otherwise - it
will be created separately (unless 'single' property of that category is
set to true).

We can also provide icon, priority, separator(s) above/below it for the
individual sub-menu too using pgAdmin.Browser.add_menu_category
function(...).
2016-03-21 23:56:08 +05:30
Ashesh Vashi
79d6d50dcc The minimal refresh functionality, which will not unload the whole
tree, when 'refresh' on any node was selected.
2016-03-21 22:44:59 +05:30
Ashesh Vashi
b056ba7bb7 Speed up the expansion/collapsing of nodes.
[as per Thom Brown <thom@linux.com>]

Also, we will not like to wait for 500 microsecond before initialing the
tree items, load them asap.
2016-03-21 22:44:59 +05:30
Dave Page
62bd1a21cc Improve message display. 2016-03-15 15:45:40 +00:00
Ashesh Vashi
6014448dd7 Trigger an event whenever a register script has been initialized from
the browser.
2016-03-06 18:52:22 +05:30
Ashesh Vashi
3051e7cd62 Log the exception loading the module script on the console. 2016-02-28 17:05:50 +05:30
Ashesh Vashi
f8a45799b6 Resolved an issue related to adding menus dynamically using the jinja2
templates. The variable scope for the jinja2 template variable is not
consitent across all the for loop (loop withing loop), it was behaving
inconsistently, a value set in a loop was not properly accessible in
inner loop properly. In order to resolve the issue - setting/using the
variable only in inner loop, and call add_menus function multiple times,
which we were trying to avoid, but - we can live with that.
2016-02-28 17:00:52 +05:30
Ashesh Vashi
2bf8eccb67 Pass the tree item (missing from the code) for making it inode agai. 2016-02-28 12:15:08 +05:30
Ashesh Vashi
2d7a218792 Resolved few issues with browser.js:
(dynamic menu generation, typo in error message)

- Dynamic menu generation code was failing for some corner cases.
- Removed trailing whitespaces.
- Resolved a typo in the message - 'click_for_detailed_msg', which was
  resulting in '{}' message instead of actual error message.
2016-02-28 12:15:08 +05:30
Dave Page
0b1cf1ad2c Remove an unnecessary line ending. 2016-02-24 16:42:38 +00:00
Akshay Joshi
c153032e3b Add support for displaying dependency and dependents info. 2016-02-22 13:07:16 +00:00
Akshay Joshi
8186e45844 Adding Numeric control support for Backform.
This patch also includes an issue related to IntegerControl, which does
not emit any error message, when it has some issues.

In order to fix the issue, it will trigger 'pgadmin-session:invalid'
event, when the input value is not an valid integer.
2016-02-22 17:18:08 +05:30