Commit Graph

442 Commits (284adbbb901b1be30d130be0e40674cfde931e41)

Author SHA1 Message Date
Surinder Kumar 40ff651ef3 Fix display of boolean nulls in the query tool. Fixes #2205 2017-02-24 13:47:37 +00:00
Surinder Kumar 88cae263b2 Fix display of long integers and decimals. Fixes #2039. Fixes #2119. Fixes #2154 2017-02-24 13:39:40 +00:00
Surinder Kumar c0f2aab001 Ensure we never sort columns on the treeview. Fixes #2185 2017-02-24 13:02:13 +00:00
Atira Odhner 1340c1c2ee Make syntax highlighting more visible by making keywords and numbers bolder. 2017-02-13 10:05:54 +00:00
Surinder Kumar 4566877188 Handle NULL booleans in the data editor. Fixes #1790 2017-02-05 11:06:48 +01:00
Surinder Kumar 54ba1fbe59 Support setting text fields to empty strings or NULL in the data editor grid. Fixes #1790 2017-02-04 14:10:30 +01:00
Murtuza Zabuawala 687a793383 Fix display of zeros in read-only grid editors. Fixes #2138 2017-02-01 13:48:46 +00:00
Surinder Kumar 30e546208f Ensure dialogues cannot be moved under the navbar. Fixes #2047 2017-01-30 14:02:01 +00:00
Harshal Dhumal 415119d581 Properly remove any event listeners added by subnode control. 2017-01-20 13:24:37 +00:00
Murtuza Zabuawala 28621999f2 Improve display of columns of exclusion contraints and foreign keys in the properties lists. Fixes #2065 2017-01-17 10:25:26 +00:00
Khushboo Vashi 024b664c21 Improve the display of role membership on both the properties panel and role dialogue. Fixes #1730 2017-01-16 14:48:25 +00:00
Surinder Kumar 86f6857cb7 Fix sorting of numerics in the statistics grids. Fixes #1938 2017-01-09 15:55:38 +05:30
Surinder Kumar e400693126 Add BigNumberJS library for upcoming large number related fixes. 2017-01-09 09:07:21 +05:30
Dave Page 5d0a0e57e7 Allow selection of message box contents for ease of error message copy/paste. 2017-01-08 15:27:58 +05:30
Murtuza Zabuawala 879a6bef53 Fix keyboard control of switches in the column grid. Fixes #1394 2017-01-08 15:27:58 +05:30
Dave Page 87d4937726 Minimise memory requirements for rendered cells and rows in SlickGrid. Fixes #2035
- The CSS class 'slick-row' has been renamed to 'sr'

- The CSS class 'slick-cell' has been renamed to 'sc'

- The SQL Editor included an unused 'normal_row' class on each row which has been removed as it was unreferenced in the code or CSS.

The intent of these changes is to minimise memory usage by the grid, by saving a few bytes per row/cell.
It's questionable how much difference this actually makes given that SlickGrid updates the document so it
only includes the visible rows on the fly, but every little helps.
2016-12-22 17:43:42 +00:00
Murtuza Zabuawala 43b9e53572 Fix word wrap in note control. 2016-12-21 13:17:11 +00:00
Dave Page d3862eef3f Fix some additional table styling inconsistencies. 2016-12-19 14:26:33 +00:00
Harshal Dhumal 2994c128f3 Fix inconsistent table styling. Fixes #2027 2016-12-19 09:21:49 +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 53ea991907 Properly size the SQL Editor gutter as the width of the line numbers increases. Fixes #1780 2016-12-16 13:04:16 +00:00
Dave Page 394381bf75 Add search/replace support to the Query Tool, including regexp matching. Fixes #1765 2016-11-24 15:38:39 +00:00
Dave Page 687f1f640f Prevent users selecting elements of the UI that shouldn't be selectable. Fixes #1976 2016-11-18 10:55:00 +00:00
Khushboo Vashi 12d75e0a51 Styling improvements for password input fields in backgrid. 2016-11-15 09:55:32 +00:00
Surinder Kumar 19bd021696 Ensure select2 instances have a destroy property before calling destroy. 2016-10-21 16:16:10 +01:00
Dave Page 62a35f24e7 Fix layout of DateTimePicker control help message. Fixes #1864 2016-10-18 12:43:58 +01:00
Surinder Kumar 7f507f294e While clicking on Select2 control, it tries to destroy the control and thus it doesn't get this object sometimes and throws error.
It should attempt to destroy the select2 object only if this object is not undefined.
2016-10-14 12:20:29 -07:00
Surinder Kumar e4d870cbe6 Ensure errorModel unset property properly in while adding a new server. Fixes #1786 2016-10-03 13:50:54 +01:00
Dave Page 6790f14c6c Fix button label and colour 2016-09-26 16:10:00 +01:00
Surinder Kumar 3b4776ab5f Improve network/server activity feedback for the user. Fixes #1751 2016-09-26 15:10:38 +01:00
Ashesh Vashi e591c6b5c0 pgAgent misc fixes:
1. When an existing schedule updated, or a new schedule is added from a pgAgent job dialog, it was not able to generate the proper update SQL Query.
2. The SubNodeCollectionControl was not removing the grid, when it is being getting removed.
2016-09-26 13:43:13 +01:00
Dave Page 7f3ca548cd Fix SQL box sizing. 2016-09-26 11:35:11 +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
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
Dave Page 7a40171300 Handle nested JSON correctly in SlickGrid. Fixes #1713. Fixes #1404 2016-09-21 13:43:27 +01:00
Dave Page fcc81d32cc Fix condition check for avoiding sorting of columns. 2016-09-14 12:33:54 +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 ffc58b74d2 Allow viewing of long data values in the grid. Fixes #1672 2016-09-12 12:39:40 +01:00
Murtuza Zabuawala 087332f32e Fix the boolean editor, and warn the user if there are unsaved changed in the edit grid before refreshing. 2016-09-01 11:50:48 +01:00
Murtuza Zabuawala c56e4667df SlickGrid Integration in to query tool. Fixes #1618 2016-08-29 20:17:01 +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
Surinder Kumar 2d75eac117 SqlFieldControl enhancements 2016-08-29 13:21:45 +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
Akshay Joshi e016869ad5 Trigger issues through right click. Fixes #1209 2016-08-24 12:10:54 +05:30
Surinder Kumar 4c2020cdc7 Allow the use of the tab key to select options in combo boxes. Fixes #1251 2016-08-22 12:18:38 +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
Khushboo Vashi eca47efb03 Update MFizz font library. Fixes #1311 2016-08-19 11:17:42 +01:00
Surinder Kumar d5b0cd29d8 Display full text from backgrid cells that overflow in a tooltip. Fixes #1442 2016-08-19 10:54:13 +01:00
Akshay Joshi 2b1b60bc2b Reduce main menu height a little. Fixes #1453 2016-08-18 16:51:22 +01:00
Surinder Kumar 1bcac0b67c Fix more of the funky keyboard shortcuts. 2016-08-08 15:26:37 +01:00
Khushboo Vashi 8e099e29c3 Fix various escaping issues. Fixes #1527 2016-08-05 12:20:00 +01:00
Dave Page 4f90a5d4f4 Move button bar related classes together. 2016-08-03 13:38:12 +01:00
Harshal Dhumal ec3b9bb15b Allow to create the foreign table with inherits options. Fixes #1260 2016-08-02 09:38:56 +05:30
Akshay Joshi e1cc3dded2 Allow customisable delete confirmation messages in backgrid. 2016-08-01 15:18:57 +01:00
Dave Page 16304aafd2 s/buttton/button/g, per Anthony DeBarros. Fixes #1518 2016-08-01 15:16:14 +01:00
Akshay Joshi e803464ee0 Replace 'Add' buttons with '+' 2016-07-26 12:54:59 +01:00
Harshal Dhumal 875360d1c8 When we use deps functionality, backform controls re-render then. But before we re-render them we must remove old grid (if any) otherwise is causes js error "Unable to call exitEditMode of undefined". Fixes #1497 2016-07-25 14:31:17 +01:00
Dave Page f783aeac63 Change button label to initcap. 2016-07-21 17:18:15 +01:00
Murtuza Zabuawala 573abbe6ef Allow users to select a data type with the keyboard only when creating a column in the subnode grid. Sanitise the list of fields shown. 2016-07-15 10:12:23 +01:00
Harshal Dhumal 4077de2187 Fix Select2 issues. Fixes #1418. Fixes #1434
1. Select2 control fixed for multi-select mode.
2. Index constrains (primary and unique key) fixed column listing issue.
3. Table node "inherited from" (Select2 control) was not showing table name with public schema
2016-07-05 12:58:48 +01:00
Surinder Kumar 1bd27b847b Grey the SQL panel in edit data mode. Fixes #1423
Introduced a new class 'cm_disabled' with css property background-color to '#EEEEE'
Query tool in edit mode, add the class 'cm_disabled' to set background color to dark and set the cursor property to 'nocursor' to disable editor.
Increased the query tool title padding to fix the issue of whitespace below the title.
2016-07-05 12:11:36 +01:00
Murtuza Zabuawala 3ee8861d44 Fix JSON type rendering. Fixes #1404 2016-07-04 10:05:59 +01:00
Dave Page 51a33e57c9 Fix blurred text in Alertify on webkit. Fixes #1347 2016-07-02 17:13:32 +01:00
Dave Page a1d8ca8c1c Fix subnode header colour 2016-06-30 14:07:26 +01:00
Surinder Kumar 53434030c1 Consistent busy indication. Fixes #1242 2016-06-29 12:16:02 +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
Murtuza Zabuawala 4267545e08 Handle special chars and spaces properly in select2 controls. Fixes #1292 2016-06-24 14:09:32 +01:00
Dave Page 8f643a1946 Styling tweaks 2016-06-24 10:04:51 +01:00
Dave Page a1f979c3e4 Fix icon spacing 2016-06-24 09:45:21 +01:00
Surinder Kumar 09569a23bd Fix "number.toFixed is not function" JS error.
Issue:
We got the following error in console log
"number.toFixed is not function"

Steps to reproduce:
1) Click on statistics tab.
1) Select any database node.
2) then select Databases collection node.
3) The above error will appear into console.

Reason:
I discussed the issue with @Murtaza and here we are explicitly
converting values at server side to string as JSON do not directly
support NaN & Infinity values. Because of which NumberFormatter receives
values of type string and breaks.

Solution:
Overrides the NumberFormatter to support NaN & Infinity values.
and we need to parse the values again in float at client side.
2016-06-23 12:46:48 +01:00
Surinder Kumar 52906dd020 Fix subnode-header label not taking full width (in privileges/variable controls), label goes to next line on viewing properties of node(ex: database node properties). 2016-06-21 12:15:08 +01:00
Surinder Kumar 2a778f3c16 Remove debug code 2016-06-21 12:13:51 +01:00
Sanket Mehta f4e76a22b9 Ensure we properly escape data from Select2 controls. Fixes #1292 2016-06-20 16:04:09 +01:00
Ashesh Vashi f1dd39e5e9 Introduces the 'alertify.pgDialogBuild' function, which will register
different resize event callbacks for a particular dialog.

This function needs to be executed from the 'build' function of any of
the alertify dialog. Refs #1358
2016-06-20 12:45:10 +05:30
Ashesh Vashi 95c79e3a4c Upgraded Alertify to v1.7.1
This version includes the feature request about invoking the callbacks
for different resize events. It will allows us to adjust the layout of
the dialogs based on its width, just like we've in the panels.
2016-06-20 11:45:45 +05:30
Surinder Kumar 0e11f4d082 A more appropriate fix for RM1362 - horizontal scrolling of query results. 2016-06-15 11:59:20 +01:00
Harshal Dhumal 6b95d6ac75 Added connect now option in server create dialog. Fixes #1313 2016-06-14 17:23:25 +01:00
Surinder Kumar e881695050 Fix query tool horizontal scrolling of results. Fixes #1362
The backgrid-sizeable's css property 'overflow: hidden' was overriding backgrid table css property and It was reproducible only in runtime.
Removed 'overflow: hidden' property from backgrid-sizeabled-columns.css
2016-06-14 15:51:14 +01:00
Dave Page 970d3aafbf Help buttons for various dialogues. 2016-06-13 16:17:36 +01:00
Murtuza Zabuawala 61037d4f60 Fix styling of statistics table. Fixes #1315 2016-06-08 09:30:53 +01:00
Dave Page 8a571df248 Revert "Fix appicon font styling."
This doesn't actually work - there seems to be something funky about
the way the runtime renders mfizz icons on Windows.

This reverts commit 5bbaf7841e.
2016-06-07 14:55:38 +01:00
Dave Page 5bbaf7841e Fix appicon font styling. 2016-06-07 14:08:37 +01:00
Harshal Dhumal e4f21568ad Fix styling of Alertify buttons 2016-06-07 09:23:58 +01:00
Harshal Dhumal e3ab4501d5 User management. 2016-06-06 13:34:08 +01:00
Ashesh Vashi 129ca87937 Removing wrongly overridden CSS on the Select2 arrow, and
selection__rendered.
2016-06-03 16:16:15 +05:30
Harshal Dhumal 5eef63c068 Added support for the password cell. 2016-06-03 16:13:43 +05:30
Murtuza Zabuawala 9c8637cf0f Corrected the z-index of backgrid-filter so that - it does not take
precedence over top panel.
2016-06-03 15:43:06 +05:30
Harshal Dhumal dea4b8ca31 Proper evaluation of the optionsValues in the Backgrid Select2Cell. 2016-06-03 15:20:56 +05:30
Surinder Kumar 278f18bab8 Fixes #1243 - Allow to resize the columns of the result table in the
Query editor.
2016-06-02 14:46:58 +05:30
Ashesh Vashi 79d5e33955 Do not allow to edit properties for the object under a catalog schema. 2016-05-31 00:16:33 +05:30
Ashesh Vashi f247153920 Updated the Alertify to use latest version 1.7.0 2016-05-27 14:54:29 +05:30
Ashesh Vashi cf0f692d00 Dialog default sizing. 2016-05-25 11:18:05 +01:00
Ashesh Vashi 75fb99651a Center align the switch in backgrid 2016-05-25 13:46:42 +05:30
Surinder Kumar 8a3a44ed25 Fixes the issue about redirection to undesirable URL when clicked on the
file control selection button.

All our views are inherited from the Backform.Form (a extended
Backbone.View), which has an tag element set to 'form'. The default
action for a button in form is to submit the data, and that results into
undesirable redirection within our Views. We can resolve the issue of
redirection by setting 'preventDefault' to true in the click event
object on that button. But - we may use the button control within our
view in future, and that will have the similar behaviour. Keeping that
in mind, we set the default tag to 'div' instead of 'form' for all our
views.

ommit.
2016-05-23 16:26:42 +05:30
Ashesh Vashi 2c6ca7d82c Changed the Select2Control to work more consistently. 2016-05-21 15:41:38 +05:30
Surinder Kumar 3120ce1909 Fixes few issues with File Manager.
- Rename file/folder not working in list view.
- Selection folder only should not allow to select file.
- Ui changes in table list to match with the pgadmin color styles.
- Custom STORAGE_DIR path don't list files/folders when opened in window
  system.
- Code cleanup, formatting & did proper commenting.
- In file selection mode, the value typed in text box not setting into
  backbone model.
- Removed create file code, it should be handled on module using it.
- Written a common function to make ajax request, instead of writing
  individual functions for same task.
2016-05-21 15:02:05 +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
Surinder Kumar ecde42cbed Implementation of View & Materialized View 2016-05-20 17:43:30 +05:30
Ashesh Vashi d1e3237e2e Fixed misc issues 2016-05-16 19:51:15 +05:30
Ashesh Vashi 735e9ba67b Show the error div only when it has some data within it.
Changed its colour for better attendtion.

Reduced the margin-bottom for the backform-tab, so that - we can see the
control well in the properties dialog.
2016-05-16 19:05:38 +05:30
Ashesh Vashi 63b951baee Adding initial version for showing statistics for the server, and
database nodes.
2016-05-16 01:58:02 +05:30
Murtuza Zabuawala 8ca760ee2b Addd support for taking backup for the server.
Tweaked by Ashesh Vashi to integrate the backgroud process, and also
with some improvements as stated below:
* Resolved an issue loading existing preference.
* Improved the background process observer/executor for supporting
  detalied view.
* Added the utility path preferences in the ServerType class.
2016-05-15 16:04:39 +05:30
Surinder Kumar 1aeab98a2b Load, and save the files in the Query Editor.
Also, the changes done by Ashesh to resolved few issue with the file
manager in 'Select' mode.
2016-05-14 15:29:08 +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 9cdd1f8098 Added support for the server side file manager, which will be useful in
selection, creation, upload/download files/directories resides on the
server side.

This will be useful for file selection/creation for different server
side utilites like pg_dump, pg_dumpall, pg_restore.
2016-05-13 00:04:32 +05:30
Harshal Dhumal 585daddce2 Destroy the existing Select2 object before rerendering the control. 2016-05-12 16:14:06 +05:30
Harshal Dhumal a4d981cced Remove all the object view control within the subnode control, whenever
we remove it.

It will remove all the events, controls, elements, etc associated with
the subnode control.
2016-05-12 15:47:36 +05:30
Dave Page 81e59be1bd Fix menu width. 2016-05-11 16:34:25 +01:00
Harshal Dhumal 176b99c90b Added the multiple selection support in the Select2Cell 2016-05-10 13:48:54 +05:30
Harshal Dhumal baae12dfcc Improve the password error message color on the 'Change Password' page. 2016-05-10 12:47:51 +05:30
Khushboo Vashi dd7bde5ab8 Introduced the dependencies logic functionality (used in the backform),
which will allow us to add dependencies other model attributes on custom
backgrid cell.
2016-05-10 12:40:56 +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 86c4dd06b5 Fix dependents/dependency icons. 2016-05-06 14:50:17 +01:00
Akshay Joshi 7867adaa53 Added dependency of messages 'pgadmin.browser.messages' in backfrom.pgadmin.js 2016-05-06 17:55:50 +05:30
Neel Patel 149c59aa4f Fixed below review comments
- Removed the "lineWrapping" option from the codemirror textarea because
  it was creating issue in the code folding.
- Handle the values while depositing during debugging.
- Properly handle the Array values while saving it to sqlite database
  and displayed in input dialog.
- SQL code folding was not supported in codemirror so added the same.
2016-05-06 16:05:32 +05:30
Dave Page 0628ee0425 Dashboards v1 2016-05-05 16:42:16 +01:00
Ashesh Vashi 1b5037afe7 Show the resize handle on the alertify dialog. 2016-04-29 16:19:29 +05:30
Surinder Kumar c15b7c6cae Remove unnecessary extra classes set in the SqlFieldControl, and also
removed the unnecessary classes for the same in the overrides.css file.
2016-04-29 16:05:55 +05:30
Ashesh Vashi 9ef7132e83 Set proper context object, when triggering the 'pgadmin-session' events
in order to resolve few corner cases for validation.
2016-04-29 15:56:56 +05:30
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 9dd3aeadb5 Do not close the menu, when clicking on the menu with checkbox.
Introduced a class 'noclose'. Then - menu-item having this class will
not propograte the events to its parent, hence - it will not be closed.

Some of the CSS applicable only to the immediate buttons only, and not
the grand-children.
2016-04-25 22:06:42 +05:30
Ashesh Vashi 52aa32a4d2 background-position-x and background-position-y are not supported on the
browser, using background-position instead which is supported in all the
supported browsers.
2016-04-25 13:45:54 +05:30
Murtuza Zabuawala 973e2b1b4a Match the border style of the inline-fieldset with the other control. 2016-04-25 13:34:51 +05:30
Ashesh Vashi 0e50f4b1f3 Fixed the issue - preferences were saved.
It was regression of the commit-id:
533aaa2fa3.
2016-04-25 11:54:02 +05:30
Ashesh Vashi 1b44aed456 Resolved an issue - rendering the SQL control refering to the undefined
variable.

It was regression of the commit-id:
085ce50545.
2016-04-22 22:55:54 +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
Ashesh Vashi 7522d89890 We would not like to make the overflow hidden for the main panel class
''pg-panel-content'.

This reverts commit 8dd8fc57a4.
2016-04-18 12:12:47 +05:30
Ashesh Vashi 8dd8fc57a4 Revert "Revert "Fix the properties toolbar at the top of the panel so it's always visible.""
This reverts commit e210d2b580.
2016-04-18 12:10:19 +05:30
Dave Page e210d2b580 Revert "Fix the properties toolbar at the top of the panel so it's always visible."
This reverts commit 6e42e48244.
2016-04-15 15:47:14 +01:00
Arun Kollan 533aaa2fa3 Restyle alertify dialogues so they look like the rest of the app. Still some tweaks needed, but we're 95% of the way there. 2016-04-15 15:30:50 +01:00
Ashesh Vashi 6e42e48244 Fix the properties toolbar at the top of the panel so it's always visible. 2016-04-15 14:44:09 +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
Dave Page cf80db66a6 Confine whitespace prewrap to the SQL Editor's output grid to prevent it breaking subnode forms. 2016-04-15 11:11:32 +01:00
Ashesh Vashi af680b724d Improvise the Select2Cell
Select2 does not allow to scroll any of the parent container once it was
opened, and if it was not properly closed.

Also, resolved an issue - existing selection was not working, while
re-rendering the Select2Cell.
2016-04-15 11:01:14 +05:30
Neel Patel 12ae40fe62 Procedural language debugger. 2016-04-14 21:36:04 +01:00
Akshay Joshi c6acbcb5ad Query tool/data editor initial version 2016-04-14 15:04:03 +01:00
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
Surinder Kumar 40c592a988 Grant wizard. 2016-04-13 16:11:43 +01:00
Murtuza Zabuawala 6e237d16ca Add canAddRow/canEditRow/canDeleteRow functionality for Backgrid.
This will allow user to check condition on individual opration(add/edit/delete row) rather than only while rendering the control.
2016-04-13 15:54:17 +01:00
Arun Kollan 0fb0820c64 Fix CodeMirror borders on dialogues. 2016-04-13 12:24:46 +01:00
Seçkin Alan de2e7bf8f1 Fix the mouse pointer on the top-level menus. 2016-04-13 09:58:38 +01:00
Dave Page edf9f25691 Fix general category default. 2016-04-12 17:00:12 +01:00
Ashesh Vashi 9b9126da15 Improvised Select2Cell, and SwitchCell.
Removed the use of separate editor for both of these cell types. There
were two instance of select2 were getting created in the Select2Cell,
one in the Select2Cell itself, and another in Select2CellEditor. And,
loosing the focus mysteriously, and making the scrollbar in the property
dialog non-responsive.

Also, modified the NodeAjaxOptionsCell to use the above logic, and
removed its own version of render function to make it consitent across
the system.

This patch [changes sent by Murtuza] also includes improvisation in the
DeleteCell, and ObjectCell, which will honour now 'canRemoveRow', and
''canEditRow' respective properties of Column.
2016-04-12 16:53:21 +05:30
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
Ashesh Vashi 66441e673a The icons in the Select2Cell, and Select2Control were not visible due to
some CSS change.
2016-04-08 11:10:34 +05:30
Ashesh Vashi 944bdbb96c Improvised the 'transform/options' function usage with the Select2Cell.
The current implementaton binds the cell/control object, and the ajax
data in the asychronous Cells/Controls with the 'options' functions
extended from the Select2Cell.

The problem starts when we try to fetch the current model from that
options/transform/filter function to do some operation, which does not
require in most of the cases. Except the privileges control - where we
needed the current model for omitting the existing selected object
during transformation, and filtering.

In order resolved the issue, we need a common object, which is shared
among the Cell. In backgrid, the 'Column' object is mong the cell,
hence - implementation logic has been changed to bid the 'Column' object
with the 'options' function and, passed the 'Cell' object as an
arguments.

Because - we do use the common function 'transform' between 'Control'
and 'Cell', we needed make changes in the Select2Control to pass the
Control object as an arguments.

And, make the changes in the privileges control to use the new
implementation. The same logic is also required in some of the
operations, we will be/are working on the table/column nodes.
2016-04-08 11:10:34 +05:30
Dave Page 4ec4b4f43e Improve dialog title bar colouring. 2016-04-07 22:05:55 +01:00
Arun Kollan 22841f8664 Cleanup styling of wcDocker tab control buttons. 2016-04-07 13:40:16 +01:00
Murtuza Zabuawala 3914f5095a Fix sub-node error display. 2016-04-07 11:51:16 +01:00
Dave Page 01d6b46838 Minor adjustment to the menu font sizing. 2016-04-05 17:10:12 +01:00
Dave Page 34ef5790ba Revert style change introduced in commit f7e4e8bea0 as it's removing padding from all grids. 2016-04-05 16:45:38 +01:00
Murtuza Zabuawala f7e4e8bea0 Use separate editor for Select2Cell.
This allows us to use the Backgrid key navigation as expected.

This has also resulted into an issue - related unresponsive scrollbar
issue in the SubNodeControl.
2016-04-04 15:36:31 +05:30
Khushboo Vashi 35a1390251 Resolved few issues in the collection controls. UniqueCollectionControl
was not honouring the change events after execution of the function -
'render' more than one time. Change the label of the Add button to make
it consistent with the Unique Collection Control.
2016-04-01 15:26:15 +05:30
Ashesh Vashi 0654bae816 Adding the font used by jQuery-contextmenu (v2.1.0) 2016-04-01 11:57:55 +05:30
Ashesh Vashi d70535385b Upgraded the jQuery-contextMenu to v2.1.0 (latest stable version) in
order to fix the issue rendering the context menu for longer text.

Needs to do some modification in the existing pgAdmin4 CSS theme to make
it looks like/near the existing look and feel.
2016-03-30 19:08:27 +05:30
Ashesh Vashi a28df1e0a2 Allow to show help string in each of the contorl. 2016-03-24 13:00:15 +05:30
Dave Page a6e96c5576 Set appropriate default values for the boolean switch control. 2016-03-23 10:24:19 +00:00
Harshal Dhumal 219f208317 Evaluate the disabled option in SwitchControl.
Also - for consistency reason use the same evaluation logic in each of
the control.
2016-03-23 12:51:29 +05:30
Harshal Dhumal 709311b77c Fix issues with multiple subnode forms being open at once when adding rows to a grid. 2016-03-22 17:04:46 +00:00
Harshal Dhumal ddd4768937 Backform control for selecting multiple columns.
Usage:

{
  id: 'columns', label: '{{ _('Columns') }}',
  type: 'collection', group: '{{ _('Definition') }}', editable:true,
  canDelete: true, canAdd: true, control: Backform.MultiColumnSelectControl,
  deps: ['index'], node: 'column',
  model: pgBrowser.Node.Model.extend({
    keys: ['column'],
    defaults: {
      column: undefined
    }
  })
}

Note: When using this control model should have column attribute. And node property should be column.
2016-03-22 16:52:34 +00:00
Surinder Kumar 03349f4af6 Update the backform control to support sql-fields.
Following are the enhancements:
1. Added border to control which was missing earlier.
2. Allows user to provide height to sql-field control by specifying extraClasses field in model schema.
3. Defined new classes for sql-field control height in overrides.css
4. Added scrollbar to the control.

Usage:

{
  id: 'definition', label:'{{ _("Definition") }}', cell: 'string',
  type: 'text', mode: ['create', 'edit'], group: 'Definition',
  control: Backform.SqlFieldControl, extraClasses:['custom_height_css_class']
}
2016-03-22 16:36:54 +00:00
Harshal Dhumal 8189b39b1e Configuration options for switch control from different places should be merged together and not overridden. 2016-03-22 14:28:13 +00:00
Arun Kollan 06c0cf607d Make tabsets look consistent, and square off the properties sections a little. 2016-03-22 13:31:48 +00:00
Murtuza Zabuawala 530f58e66b Add support for inline fieldsets. 2016-03-18 16:54:43 +00:00
Ashesh Vashi 0fcfaa4ff2 Updated the font-awesome to 4.5 (latest) version. 2016-03-18 01:34:45 +05:30
Ashesh Vashi 96b33d1aa8 Updated the jQuery-contextMenu to 1.9.2 (latest stable) version.
Also, added the missing license information about it in the libraries.txt.
2016-03-18 01:11:22 +05:30
Neel Patel 3969e91563 Add support for Foreign data wrappers, servers and user mappings. 2016-03-17 11:39:38 +00:00
Arun Kollan 05e527505d First pass at improving the dialogue borders. 2016-03-16 17:12:41 +00:00
Khushboo Vashi 3df180831f Support textareas in backgrid. 2016-03-16 14:48:09 +00:00
Dave Page 62bd1a21cc Improve message display. 2016-03-15 15:45:40 +00:00
Dave Page 2711d3492d Reduce column header letter spacing a touch. 2016-03-15 14:12:54 +00:00
Ashesh Vashi b52a5736ff Improvements in the form/properties dialog control generation, and data
change events.

- In input & textarea control, call the change event on key up (but -
  not on every key up events, wait for sometime before trigger that
  event, so that - we do not overdo that).
- In unique/subnode control, whenever we create new model object, set
  all the required static fields used by pgAdmin form generation logic.
- In NodeAjaxListCell, we don't need to call the list generation
  operation (ajax operation) for each and every cell. They use the same
  shared column object.
2016-03-15 18:58:22 +05:30
Arun Kollan cdd7a1f637 Subnode collection layout improvements, with additional tweaks from me. 2016-03-15 12:30:01 +00:00
Murtuza Zabuawala 9220dcaa97 Fix an issue with uneditable text fields containing large amounts of data, 2016-03-14 09:31:36 +00:00
Khushboo Vashi 2f334673a3 Fix a couple of issues with the unique-collection control:
- Pass the data to evaluation functions like canEdit, canAdd
- Properly honour the canAdd option.
2016-03-11 09:36:26 +00:00
Dave Page d21e60cc60 Fix default height for text areas. 2016-03-11 09:24:05 +00:00
Arun Kollan 17ed27fbcd Make the dialogue control sizing slightly more compact and properly control textarea resizing. 2016-03-10 15:31:43 +00:00
Khushboo Vashi 3b03c17f2b Allow enabling/disabling of the Edit button of a sub-node collection grid. 2016-03-10 12:03:33 +00:00
Arun Kollan 5d6c5bc74d Improve display of error messages on dialogues. 2016-03-09 16:03:24 +00:00
Dave Page 5ea822f33e Preferences dialogue. Patch by Ashesh and Khushboo Vashi. 2016-03-07 11:48:53 +00:00
Ashesh Vashi 43116750b4 Honor the visible property of the model schema, and show/hide different
custom contorls based on it.
i.e.
UniqueCollectionControl, TabControl, FieldsetControl, etc.
2016-03-07 16:06:18 +05:30
Ashesh Vashi cc08708f23 Allow to specify special type - 'group' in schema for the browser node,
which allows to determine certain group to hide/show the whole
tab/fieldset control in the properties, and create dialog.

Using this functionality in the database for the
'default privileges - types', which is not allowed before PG < 9.2 using
the version check.
2016-03-06 18:50:10 +05:30
Ashesh Vashi ee71cab51e Removed the wrong copyright information in the javascript file, which is
owned by pgAdmin IV.
2016-03-04 17:39:51 +05:30
Murtuza Zabuawala fa97b5635e Enable/disable edit button functionality conditionally in backgrid. 2016-03-04 11:55:50 +00:00
Murtuza Zabuawala 6ed5e7183e Backform control enhancements:
1) Unique collection control: we have added 'Edit' button in grid, earlier it was only delete button.
2) Sql field control: We have added control to disabled & visible functionality which were not available.
2016-03-04 11:00:17 +00:00
Khushboo Vashi 789ece89fb In the current Backgrid implementation, a cell can be made editable through "editable: true/false" settings. It takes only a boolean value.
Add support for a function that can be set as an editable option value.

For Example:

editable: function(m) { return false; }
2016-03-03 14:03:59 +00:00
Ashesh Vashi 18d767b107 Updated the wcDocker to make use of wcSplitter (new functionalities),
which will be used by the debugger tool.

Updating the wcDocker from the repository -
'https://github.com/WebCabin/wcDocker' up to commit-id:
0f5690318ce0bf457fdd374dcec7418d22b72e22
2016-02-29 19:36:51 +05:30
Akshay Joshi b3ff96d2db Add backgrid extensions for use in various tools: select-all, paginator and filter 2016-02-26 11:08:45 +00:00
Dave Page f0e7bd91cb Improve warning message 2016-02-25 11:58:02 +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
Ashesh Vashi db9b5f0e0c Resolved the issue related showing errors in the radio control. 2016-02-22 17:00:17 +05:30
Khushboo Vashi 637a5838a8 Resolved a typo in variable name 'version_compatible' 2016-02-10 12:12:06 +05:30
Harshal Dhumal a0648ed54b Using different strategy to render different type of data based on the
type for the Variable control, instead of using the complex DynamicCell.
2016-02-05 14:35:52 +05:30
Ashesh Vashi 7df9e752bb Adding new control to show SQL query in a control.
It will be used by the nodes like view, which require to show the code
inside as one parameter.

Also, override the events for the Backform.TextareaControl in order
handle some cases, which were not handling the change in textarea
properly in all situations.

Also, we need to show the error message around the input control with
name attribute only.

Author: Surinder Kumar (small twicks by me).
Reviewed by: Ashesh Vashi
2016-02-05 13:37:01 +05:30