Commit Graph

43 Commits

Author SHA1 Message Date
Akshay Joshi
964d211260 Copyright updated for 2025 2025-01-01 11:26:42 +05:30
Rohit Bhati
8af25ba0c1
Change button labels and color in delete confirmation dialog for all objects to improve UX. #6513 2024-12-18 17:25:36 +05:30
Akshay Joshi
fe6e21a08b
Enhanced pgAdmin 4 with support for Workspace layouts. #7708 2024-12-16 14:52:56 +05:30
Ashesh Vashi
441cc57bb8
Don't show 'Types of objects' for the 'Cluster' operation. Fixes #7884 2024-09-18 07:48:09 +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
Ashesh Vashi
52af8d3e49
Introduce custom React Hook useSchemaState to simplify SchemaView component. #7776
Changes include: 
- Simplify current SchemaView code
- Add ability to reuse the schema data & state management implementation outside the SchemaDialogView component.
- Further split components in small and manageable separate files.
- Removed the 'DepListenerContext' context as there was no need for separate context.
- Added a reload functionality in the 'useSchemaState'
- Changes in feature tests.
2024-08-02 09:59:01 +05:30
Aditya Toshniwal
f8fa1cf6d6
- Fix few SonarQube issues.
- Cleanup NW.js related stuff.
2024-07-02 10:34:30 +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
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
5ec6faff13
Upgrade react-table from v7 to v8. #7419 2024-05-07 16:31:04 +05:30
Akshay Joshi
30d2d1b23e Fixed the following code smells:
1) useState call is not destructured into value + setter pair.
2) A fragment with only one child is redundant.
3) Unnecessary '.apply()' and '.call()'.
4) Expected the Promise rejection reason to be an Error.
2024-04-09 19:18:56 +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
Aditya Toshniwal
ace73ebb60
Added support for viewing Log Based Clusters. #7216
Co-authored-by: Akshay Joshi <akshay.joshi@enterprisedb.com>
2024-03-28 12:19:34 +05:30
Akshay Joshi
097b630738
Added support for EDB Job Scheduler. #7098 2024-03-18 11:53:59 +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
29e85a6b06 Fix SonarQube issues 2024-02-22 16:54:20 +05:30
Aditya Toshniwal
721290b1e9 Fix an issue where type column in dependents/dependencies tab is not showing correct label. #7225 2024-02-20 16:23:05 +05:30
Aditya Toshniwal
cdf49d6300 Fix failing feature tests 2024-01-30 13:01:57 +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
30509d1bc1
Added copy server support, allowing the duplication of existing servers with the option to make certain modifications. #6085 (#7106)
Added copy server support, allowing the duplication of existing servers with the option to make certain modifications. #6085
2024-01-08 12:16:49 +05:30
Akshay Joshi
740ce15bd7 Update copyright notices for 2024 2024-01-01 14:13:48 +05:30
Nikhil Mohite
a4e9f04a2e
Fixed an issue where changes done to a node using edit dialog are not reflecting on the properties tab if the properties tab is active. #7041 2023-12-27 11:06:04 +05:30
Aditya Toshniwal
0bc044fa67 Fixed an issue where Geometry Viewer renders geometry incorrectly after trying to view 3D or non-4326 SRID geometry. #6017 2023-11-17 16:29:01 +05:30
Aditya Toshniwal
17acce3e7b Continue fixing multiple UI issues found when testing wcDocker changes. #6479 2023-11-01 20:52:38 +05:30
Aditya Toshniwal
b11b2a2f50 Continue fixing multiple UI and SonarQube issues found when testing wcDocker changes. #6479 2023-10-27 15:51:45 +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
Akshay Joshi
557f33c4f9
Added support to drop databases using the 'WITH (FORCE)' option. #6367 2023-06-19 15:04:40 +05:30
Pravesh Sharma
a9399030f4
Fixed issue where pgAgent jobs were not getting dropped from properties tab #5834 2023-03-17 17:43:42 +05:30
Aditya Toshniwal
713ddb5f62
Remove usage of jQuery in pgAdmin.
Remove usage of Bootstrap in React components. #5701
2023-02-10 10:28:39 +05:30
Akshay Joshi
98184e5835 Update copyright notices for 2023 2023-01-02 11:53:55 +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
Pradip Parkale
f7836b67af Fixed the loader issue for the Statistics and Properties panel. Fixed column resizing for dependent and dependencies panels.
refs #7364
2022-05-30 12:58:24 +05:30
Pradip Parkale
11cfea3860 Added the ability to resize columns on dashboard tables. Fixes #7364 2022-05-18 17:49:54 +05:30
Pradip Parkale
a0c85431dc Ensure that the Dashboard column sort order should be remembered when the refresh button is clicked. Fixes #7339 2022-04-29 10:26:24 +05:30
Pradip Parkale
ab8e9a8ea5 Fixed an issue while creating a new database throwing an error that failed to retrieve data. Fixes #7322 2022-04-22 15:42:04 +05:30
Pradip Parkale
7d979fb196 1) Fixed an issue where deleting a constraint from the collection properties node, throws an error. Fixes #7296
2) The code to refresh the Dashboard after deleting session activities has been improved.
2022-04-11 17:42:16 +05:30
Pradip Parkale
efa971edb4 Ensure that after deleting multiple objects from the properties panel, the browser tree should be refreshed. Fixes #7296 2022-04-09 12:09:35 +05:30
Pradip Parkale
8f8adcf71b 1 Fixed the issue where db connection was getting disconnected for dashboard, if network is slow.
2 Fixed publication collection node properties issue which was missed during react node porting.
3 Removed unwanted variable from theme style sheet.
2022-04-05 13:40:22 +05:30
Aditya Toshniwal
953a9d7fd1 Fixes some issues and improves the PgTable component. 2022-04-05 12:10:51 +05:30
Pradip Parkale
b397ba7787 Fixed issues related to porting of properties collection and dashboard.
refs #7132
2022-04-04 17:42:42 +05:30
Pradip Parkale
cb052f1988 1) Port Properties panel for collection node, Dashboard, and SQL panel in React. Fixes #7132
2) Added transaction start time to Server activity sessions view. Fixes #7215
2022-03-30 12:06:59 +05:30