Commit Graph

99 Commits (b51eef12b7b2a167277c599336afe11e657dfbea)

Author SHA1 Message Date
Ashesh Vashi 5e96f0fd61
Fixes the Variable Schema UI issues and InlineView bug reported in #7884
* Show the icon for the 'Reset' button. (Reference #7884)

* Reload the server list after connecting to a server in the 'New
connection' dialog (QueryTool). (Reference: #7884)

* Pass the grid path during the bulk update (click on a radio action)

* Don't assign the cell value to the 'rowValue' variable.

* Don't rely on the 'optionsLoaded' for setting the variable types as it
is loaded asynchronously, and variable types data may not be available
while rendering the 'value' cell. (Fixes #7884)

* Fixed a type while checking for the 'inline-group'. fixes (#7884)

* 'vnameOptions' can be a Promise function too, hence - taken care accrodingly.

* Introduced a parameter 'reloadOnDepChanges' in the BaseSchemaUI field
to force reload the control on value change for one of the
dependencies.

* Reload on the components in case of dependent value changes.

* Introduced 'useSchemaStateSubscriber', which generates a state
subscriber mananager instance. It helps multiple subscribers in a
single control as we could have multiple subscribe within a control.
(For example - value, options, errors, etc).

* Fixed all the issues reported (#7884)
2024-09-16 00:04:37 +05:30
Ashesh Vashi e9af0c3226
Improved the extendability of the SchemaView and DataGridView. (#7876)
Restructured these modules for ease of maintenance and apply the single
responsibility principle (wherever applicable).

* SchemaView

 - Split the code based on the functionality and responsibility.
 - Introduced a new View 'InlineView' instead of using the
   'nextInline' configuration of the fields to have a better, and
   manageable view.
 - Using the separate class 'SchemaState' for managing the data and
   states of the SchemaView (separated from the 'useSchemaState'
   custom hook).
 - Introduced three new custom hooks 'useFieldValue',
   'useFieldOptions', 'useFieldError' for the individual control to
   use for each Schema Field.
 - Don't pass value as the parameter props, and let the
   'useFieldValue' and other custom hooks to decide, whether to
   rerender the control itself or the whole dialog/view. (single
   responsibility principle)
 - Introduced a new data store with a subscription facility.
 - Moving the field metadata (option) evaluation to a separate place
   for better management, and each option can be defined for a
   particular kind of field (for example - collection, row, cell,
   general, etc).
 - Allow to provide custom control for all kind of Schema field.

* DataGridView

 - Same as SchemaView, split the DataGridView call into smaller,
   manageable chunks. (For example - grid, row, mappedCell, etc).
 - Use context based approach for providing the row and table data
   instead of passing them as parameters to every component
   separately.
 - Have a facility to extend this feature separately in future.
   (for example - selectable cell, column grouping, etc.)
 - Separated the features like deletable, editable, reorder,
   expandable etc. cells using the above feature support.
 - Added ability to provide the CustomHeader, and CustomRow through the
   Schema field, which will extend the ability to customize better.
 - Removed the 'DataGridViewWithHeaderForm' as it has been achieved
   through providing 'CustomHeader', and also introduced
   'DataGridFormHeader' (a custom header) to achieve the same feature
   as 'DataGridViewWithHeaderForm'.
2024-09-09 14:27:31 +05:30
Khushboo Vashi b303693ae8 Fix Dashboard minor UI issues.
Fix the issue where PG logs doesn't display in CSV or JSON format even if it gets selected through the UI.
2024-07-11 10:26:42 +05:30
Yogesh Mahajan b0e7847962
Fixed bugs found while testing makeStyles JSS changes. #7363 2024-06-17 15:45:40 +05:30
Akshay Joshi 5866da8194 Fixed SonarQube code smells. 2024-06-13 18:48:02 +05:30
Yogesh Mahajan 6357672387
Provide an option to set the theme based on the OS theme. #5932 2024-06-12 16:18:37 +05:30
Yogesh Mahajan fff192eb95
Ensure that a user can connect to a server using SSL certificates and identity files from a shared storage. #7306 2024-06-11 14:48:11 +05:30
Yogesh Mahajan cc999ae5a5
Remove the usage of MUI makeStyles as it doesn't support React 18. #7363 2024-06-06 17:13:12 +05:30
Aditya Toshniwal b85d8c1446
Changes in Query Tool, Debugger, and ERD Tool shortcuts to remove the use of Accesskey which will allow them to be customized. #7192 2024-05-06 11:15:44 +05:30
Pravesh Sharma fd65f1b644
Fixed all input boxes in pgAdmin to show browser auto-fill only where it is relevant. #2410 2024-04-24 11:27:08 +05:30
Yogesh Mahajan 673b5ea5a1
Fix the date-time picker broken after MUI5 upgrade. 2024-04-23 17:03:34 +05:30
Yogesh Mahajan 102e0a9839
- Update MUI v4 to v5
- Remove the SCSS dependency completely and use MUI for theming.
- Update - date-fns, @date-io, notistack. Remove - popper.js, sass-loader.
- Cleanup webpack config.
- Port PSQL tool to use MUI themes instead of SCSS theme.
- Theme change will reflect realtime without refreshing pgAdmin.
2024-04-09 08:21:14 +05:30
Pravesh Sharma 1a02d13a28
Bug fixes and improvements in pgAdmin CLI. #7116 2024-03-14 18:12:28 +05:30
Aditya Toshniwal a5530f59f7 Fix sonarqube issues for the rule - 'If' statement should not be the only statement in 'else' block 2024-02-26 11:55:36 +05:30
Aditya Toshniwal d3ede3151a
Upgrade CodeMirror from version 5 to 6. #7097 2024-02-21 11:15:25 +05:30
Akshay Joshi 639a28fbfc Fixed code smell 'Prefer using an optional chain expression instead, as it's more concise and easier to read'. 2024-01-25 16:51:40 +05:30
Akshay Joshi fcfe7cfb7c Fixed an issue where DB Restrictions were not visible on the server dialog. #7059 2024-01-01 16:26:02 +05:30
Akshay Joshi 740ce15bd7 Update copyright notices for 2024 2024-01-01 14:13:48 +05:30
Aditya Toshniwal e837de5e8f Fixed browser autocomplete related issues on pgAdmin authentication related pages. #7082 2023-12-28 16:29:15 +05:30
Aditya Toshniwal 51b02ae6d4
Fix few accessibility related issues. #6991 2023-12-06 11:18:23 +05:30
Aditya Toshniwal 75a2d880f6 More fixes for UI issues found when testing wcDocker changes. #6479 2023-11-14 16:47:40 +05:30
Aditya Toshniwal 862f101772
Significant changes to use ReactJS extensively.
1. Replace the current layout library wcDocker with ReactJS based rc-dock. #6479
2. Have close buttons on individual panel tabs instead of common. #2821
3. Changes in the context menu on panel tabs - Add close, close all and close others menu items. #5394
4. Allow closing all the tabs, including SQL and Properties. #4733
5. Changes in docking behaviour of different tabs based on user requests and remove lock layout menu.
6. Fix an issue where the scroll position of panels was not remembered on Firefox. #2986
7. Reset layout now will not require page refresh and is done spontaneously.
8. Use the zustand store for storing preferences instead of plain JS objects. This will help reflecting preferences immediately.
9. The above fix incorrect format (no indent) of SQL stored functions/procedures. #6720
10. New version check is moved to an async request now instead of app start to improve startup performance.
11. Remove jQuery and Bootstrap completely.
12. Replace jasmine and karma test runner with jest. Migrate all the JS test cases to jest. This will save time in writing and debugging JS tests.
13. Other important code improvements and cleanup.
2023-10-23 17:43:17 +05:30
Nikhil Mohite 6997d0149e
Fetch database objects after opening the backup dialog. #6799 2023-10-10 15:28:25 +05:30
Nikhil Mohite aa973fc8ae
Added support to select/deselect objects in the Backup dialog. #642 2023-09-13 11:07:28 +05:30
Aditya Toshniwal 4676961fc4 Fix multiple Query Tool, ERD title related issues. 2023-07-13 20:06:24 +05:30
Aditya Toshniwal a08714cd65
Allow two controls to be inline in SchemaView. 2023-07-10 17:42:20 +05:30
Aditya Toshniwal d6cddd8c29
Remove Bootstrap and jQuery from authentication pages and rewrite them in ReactJS. #6295 2023-06-30 16:08:33 +05:30
Aditya Toshniwal 42220b1cb2
Fix select dropdown border issue. #5661 2023-01-09 18:42:48 +05:30
Akshay Joshi 98184e5835 Update copyright notices for 2023 2023-01-02 11:53:55 +05:30
Pravesh Sharma a954f22fe8
Fixed an issue where the CSV file would not download if the CSV quote character length exceeded 1. #5505 2022-11-28 13:49:22 +05:30
Aditya Toshniwal dd25bb0fff
Reposition the select dropdown when the browser is resized. #5206 2022-10-20 16:21:59 +05:30
Aditya Toshniwal 794cbed57c
Added support to specify the background fill color to the table nodes in the ERD tool. #4392 2022-10-12 10:07:30 +05:30
Nikhil Mohite 0c9c57e608 1. Resolved resize window issue for DDL result panel.
2. Updated the Screenshots.
3. Updated server group title to bold.

refs #6133
2022-09-08 15:24:43 +05:30
Akshay Joshi 18b77f15dd Remove Alertify from pgAdmin completely. Fixes #7619 2022-09-08 15:16:48 +05:30
Aditya Toshniwal c2b23465cc 1) Added support to show all background processes in separate panel. Fixes #3709
2) Port process watcher to React. Fixes #7404
2022-08-11 10:49:45 +05:30
Akshay Joshi 81f52a82c8 Port About dialog to React. Fixes #7567 2022-07-28 10:11:40 +05:30
Aditya Toshniwal 4808df5e95 1) Port the file/storage manager to React. Fixes #7313
2) Allow users to delete files/folders from the storage manager. Fixes #4607
3) Allow users to search within the file/storage manager. Fixes #7389
4) Fixed an issue where new folders cannot be created in the save dialog. Fixes #7524
2022-07-19 15:27:47 +05:30
Yogesh Mahajan 59f5c0d955 Added support for Azure PostgreSQL deployment in server mode. Fixes #7522 2022-07-06 11:43:49 +05:30
Nikhil Mohite d90b2621da Fixed an issue where passwords entered in the 'Connect To Server' dialog were truncated. Fixes #7440 2022-06-22 17:35:22 +05:30
Akshay Joshi 93bc1f3c57 Added support for visualise the graph using a Line chart in the query tool. Fixes #7485 2022-06-22 17:18:51 +05:30
Yogesh Mahajan 7e1e068370 Added capability to deploy PostgreSQL servers on Microsoft Azure. Fixes #7178 2022-06-15 11:22:42 +05:30
Aditya Toshniwal bd799ea51a Autofocus CodeMirror SQL input to the first element of a form. 2022-04-28 14:09:27 +05:30
Khushboo Vashi 5677b1e5f8 Added capability to deploy PostgreSQL servers on EDB BigAnimal. Fixes #7179 2022-04-26 16:41:10 +05:30
Pradip Parkale c2f1a7bdc5 Ensure the database and schema restriction controls are not shown as a drop-down. Fixes #7255 2022-04-09 12:09:35 +05:30
Aditya Toshniwal b5b9ee46a1 1) Port query tool to React. Fixes #6131
2) Added status bar to the Query Tool. Fixes #3253
3) Ensure that row numbers should be visible in view when scrolling horizontally. Fixes #3989
4) Allow removing a single query history. Refs #4113
5) Partially fixed Macros usability issues. Ref #6969
6) Fixed an issue where the Query tool opens on minimum size if the user opens multiple query tool Window quickly. Fixes #6725
7) Relocate GIS Viewer Button to the Left Side of the Results Table. Fixes #6830
8) Fixed an issue where the connection bar is not visible. Fixes #7188
9) Fixed an issue where an Empty message popup after running a query. Fixes #7260
10) Ensure that Autocomplete should work after changing the connection. Fixes #7262
11) Fixed an issue where the copy and paste row does not work if the first column contains no data. Fixes #7294
2022-04-07 17:36:56 +05:30
Nikhil Mohite 56a4263a5c Fixed an issue in loading user details on the properties panel. Fixes #7287 2022-04-05 11:19:24 +05:30
Nikhil Mohite 0b4a874f30 Fixed an issue where unexpected error messages are displayed when users change the language via preferences. Fixes #7267 2022-03-24 16:08:13 +05:30
Nikhil Mohite 2f37f0ca51 Fixes for the preferences dialog
1) Add server mode validation in the binary path.
  2) Updated preferences tree rendering to avoid using the ReactDOM render.
  3) Updated CSS for keyboard shortcuts checkbox border makes it consistent with input box border.
  4) Fixed jasmine test case and improved code coverage.
  5) Fixed SonarQube issues.
  6) Added validation to disable "Maximum column with" option if "Column sized by" option is set to "Column name" in Query Tool -> Result grid.
  7) Updated documentation with the latest screenshots.
  8) Correct typo in the documentation. Fixes #7261

refs #7149
2022-03-23 13:28:35 +05:30
Nikhil Mohite 74e794b416 Port preferences dialog to React. Fixes #7149 2022-03-21 13:29:26 +05:30
Khushboo Vashi 69069e9af3 The following issues related to cloud deployment have been resolved:
- Masking the credentials input fields
- The loading symbol doesn't work while reloading the options in the select control
- Reduce the wizard opening timeout
- urllib library upgrade impacts host IP fetch

refs #7177
2022-03-02 19:04:15 +05:30