Commit Graph

97 Commits (master)

Author SHA1 Message Date
Aditya Toshniwal ec3d142ad9 Fix issues while testing role permissions feature. #7310 2025-04-21 15:14:18 +05:30
Aditya Toshniwal 7d8a915ee0
Add support for custom roles and role permissions management in pgAdmin. #7310 2025-04-15 11:25:31 +05:30
Akshay Joshi 964d211260 Copyright updated for 2025 2025-01-01 11:26:42 +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
Akshay Joshi 2b04f3ca1d Fixed incorrect handling of the code smell for the reject API call 2024-06-17 18:22:38 +05:30
Akshay Joshi 8857f0d179 Fix SonarQube code smells:
1) String literals should not be duplicated.
2) Prefer using an optional chain expression instead, as it's more concise and easier to read.
3) Expected the Promise rejection reason to be an Error.
2024-06-10 18:04:32 +05:30
Pravesh Sharma e18a8bf620
Fixed issue found during testing of #7163. 2024-04-29 13:12:21 +05:30
Pravesh Sharma f143aa05a3
Added support for excluding multiple tables while taking Backup. #7163 2024-04-15 11:50:08 +05:30
Akshay Joshi edec9adbfb
Fixed SonarQube code smell 'Unnecessary use of boolean literals in conditional expression'. 2024-04-08 17:19:51 +05:30
Akshay Joshi 740ce15bd7 Update copyright notices for 2024 2024-01-01 14:13:48 +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
Akshay Joshi 8ec5fca4a0 Remove the 'Objects' tab from the backup dialog as the feature is not yet implemented 2023-07-24 17:30:54 +05:30
Akshay Joshi a3c3d91515 Fixed some issues in Backup and PSQL tool 2023-07-19 20:31:29 +05:30
Akshay Joshi bd4e14da89 Added new/missing parameters to pg_restore. #6562 2023-07-13 13:01:48 +05:30
Akshay Joshi fbb43f8c3e Align two switch controls inline for Backup Server and Backup Object dialog. 2023-07-10 18:47:07 +05:30
Aditya Toshniwal a08714cd65
Allow two controls to be inline in SchemaView. 2023-07-10 17:42:20 +05:30
Akshay Joshi 7686280cb2 1) Added --exclude-database option for Backup Server.
2) Fixed Jasmine test cases.
2023-07-10 12:44:26 +05:30
Akshay Joshi 9aa116bf3f
1) Added new/missing parameters to pg_dumpall (Backup Server). #6416
2) Added new/missing parameters to pg_dump (Backup Objects). #6417
2023-07-10 10:34:30 +05:30
Aditya Toshniwal 9924fae378
Nomenclature changes:
1. Rename "Properties..." context menu option of object to "Edit Object...".
2. Rename "Browser" tree to "Object Explorer". #4734
2023-03-28 22:20:14 +05:30
Pravesh Sharma 89c8a7f907
Added option to create unique constraint with nulls not distinct. #5855 2023-03-15 18:55:42 +05:30
Akshay Joshi 98184e5835 Update copyright notices for 2023 2023-01-02 11:53:55 +05:30
Nikhil Mohite 2480d08e0f
Added native menu support in desktop mode. #5503 2022-12-06 18:16:36 +05:30
Akshay Joshi b8f63adf41 Fixes following code smell reported by SonarQube:
1) Replace this if-then-else flow by a single return statement
 2) Remove the unnecessary boolean literals.
2022-09-08 19:56:02 +05:30
Akshay Joshi 7086719640 Fixed SonarQube issues. 2022-09-08 18:08:58 +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 81b0d1138b Remove Alertify dialog from Grant Wizard, Import/Export Servers and Cloud. 2022-07-28 10:14:04 +05:30
Khushboo Vashi e61a1045f5 Added capability to deploy PostgreSQL servers on Amazon RDS. Fixes #7177 2022-02-14 12:13:48 +05:30
Yogesh Mahajan 1141aeb524 1) Fixes the incorrect title shown for the error message in restore/backup.
2) Doc updates for webserver authentication.
3) Cleanup task for API tests.
2022-02-07 11:51:27 +05:30
Akshay Joshi 0ce3434631 Fixed code smell 'Update this function so that its implementation is not identical' reported by SonarQube. 2022-01-25 20:10:31 +05:30
Akshay Joshi 343c3ee49c Fixed following code smells reported by SonarQube:
1) Remove this redundant jump.
 2) Remove this commented out code.
 3) Variables should not be shadowed.
2022-01-21 18:54:23 +05:30
Akshay Joshi 1013d7ccdd Fixed code smell reported by SonarQube. 2022-01-20 16:58:21 +05:30
Akshay Joshi 9f836f5433 Fixed following code smells reported by SonarQube:
1) Immediately return this expression instead of assigning it to the temporary variable.
 2) Extract this nested ternary operation into an independent statement.
 3) Expected a `for-of` loop instead of a `for` loop with this simple iteration.
2022-01-18 14:49:54 +05:30
Akshay Joshi e3807ec3d6 Fixed following code smells reported by SonarQube:
1) Boolean checks should not be inverted.
 2) Review this redundant assignment.
 3) Extract this nested ternary operation into an independent statement.
 4) Unexpected empty function.
 5) Immediately return this expression instead of assigning it to the temporary variable.
2022-01-17 13:56:01 +05:30
Akshay Joshi 4e414f57e6 Fixed code smell 'Default parameters should be last' reported by SonarQube. 2022-01-12 18:40:18 +05:30
Rahul Shirsat 6528d086ba Fixed review comments:
1. Split the restore options/backup options into 2 tabs
2. Restore icon changes
3. feature tests issues
4. restore help link broken
5. Comment section not visible

refs #7018
2022-01-06 16:46:44 +05:30
Akshay Joshi 2786f7ac5a Update copyright notices for 2022 2022-01-04 13:54:25 +05:30
Rahul Shirsat 603d91be0e Port Restore dialog to React. Fixes #7018 2021-12-28 13:45:59 +05:30
Akshay Joshi 92a997b16a Rearrange tools menu on the basis of usability and form groups of similar sub-menus. 2021-12-16 18:29:44 +05:30
Akshay Joshi fd53e4f5f9 Replace Alertify alert and confirm with React-based model dialog. Fixes #7053 2021-12-07 18:52:40 +05:30
Nikhil Mohite 3dcee71a92 Resolved issue if the binary path is not present/correct, then show error notification to add/correct the binary path.
refs #6984
2021-11-24 17:28:04 +05:30
Nikhil Mohite 3afeb8ca46 Port Backup Global, Backup Server, and Backup object dialog in React. Fixes #6984 2021-11-22 11:20:44 +05:30
Khushboo Vashi 483e2ca8d0 Port browser tree to React. Fixes #6129 2021-09-27 16:44:26 +05:30
Akshay Joshi 4bc4ca1ba9 1) Added browse button to select the binary path in the Preferences. Fixes #1561
2) Added support to set the binary path for the different database server versions. Fixes #5370
2021-06-04 17:55:35 +05:30
Khushboo Vashi 7275ce906e 1) Fixed an issue where the user is not warned if Kerberos ticket expiration
is less than 30 min while initiating a global backup. Fixes #6444

2) Ensure that proper identification should be there when the server is
   connected using Kerberos or without Kerberos. Fixes #6445
2021-05-14 12:33:01 +05:30
Khushboo Vashi b30ec71098 Ensure that while connecting to the server using SSPI login, it should not prompt for the password. Fixes #5776 2021-05-05 11:40:48 +05:30
Khushboo Vashi 72f3730c34 Added support to connect PostgreSQL servers via Kerberos authentication. Fixes #6158 2021-05-03 16:10:45 +05:30
Pramod Ahire 9e90350e44 Fixed jasmine test cases and added some missing messages for disabled menus. 2021-02-03 12:15:37 +05:30