Commit Graph

148 Commits

Author SHA1 Message Date
Aditya Toshniwal
6322674d98
Replace infinite scrolling with pagination in query tool data output for better UX and performance. #1780 2024-10-01 14:47:12 +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
Aditya Toshniwal
b00ea3cd99 Update release notes. 2024-08-14 11:12:30 +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
Khushboo Vashi
4f415f9768
Added support for viewing PostgreSQL Server Logs in Text, CSV and JSON formats. #3981 2024-07-03 16:17:29 +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
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
c0a1429664 Fix failing feature tests 2024-03-26 11:20:04 +05:30
Aditya Toshniwal
d3ede3151a
Upgrade CodeMirror from version 5 to 6. #7097 2024-02-21 11:15:25 +05:30
Yogesh Mahajan
5a74022e8a
Allow preferences customization using a configuration file. #6058 2024-02-15 14:58:31 +05:30
Akshay Joshi
740ce15bd7 Update copyright notices for 2024 2024-01-01 14:13:48 +05:30
Anil Sahoo
4b71519b80
Rename all references of 'Execute query' to 'Execute script' to be more relevant. #6842 2023-12-04 12:28:53 +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
Khushboo Vashi
2a22cf077c
Fix circular reference error for the multirange data types in the query tool. #6221
Add support for the multirange data types.
2023-05-10 10:32:47 +05:30
Aditya Toshniwal
6710969143
Rename 'Edit Object..' context menu back to 'Properties...'. #4734 2023-04-03 13:10:24 +05:30
Yogesh Mahajan
33953e9119
Fixed intermittent error "Connection Lost" shown while connecting to database. 2023-03-31 16:17:04 +05:30
Yogesh Mahajan
a607ab2d94
Another try to fix role related feature tests. 2023-03-29 13:48:54 +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
Yogesh Mahajan
fc0e36b313
Removed old path library used to validate client secret path while google authentication. #5750 2023-03-28 11:27:16 +05:30
Yogesh Mahajan
97bd417ea8
Fixed intermittent failures for the role related feature tests. 2023-03-27 11:51:28 +05:30
Khushboo Vashi
7ce03f3bea
Fix UUID datatype typecast issue. 2023-03-27 11:38:57 +05:30
Yogesh Mahajan
3de2e625b5
Fix feature test failures caused due to invalid binary path. 2023-03-15 18:54:22 +05:30
Yogesh Mahajan
026334a71a
Removed logging added for feature test failure. Added more assets to avoid false failures. 2023-02-13 11:58:54 +05:30
Yogesh Mahajan
ff877d6e91
Added logging for feature test failure on jenkins job. 2023-02-10 12:39:42 +05:30
Yogesh Mahajan
3841bc5253
Fixed feature test failures occurring due to tree changes. 2023-01-04 10:44:22 +05:30
Akshay Joshi
98184e5835 Update copyright notices for 2023 2023-01-02 11:53:55 +05:30
Aditya Toshniwal
5c34c10d4e
- Move pgadmin4-treeview to pgAdmin main repo.
- Use react based context menu for browser tree. #5615.
- Fix feature tests failure.
2023-01-02 10:51:13 +05:30
Aditya Toshniwal
ff9daec5ec
Rewrite pgAdmin main menu bar to use React. #5615 2022-12-22 14:25:18 +05:30
Yogesh Mahajan
7b96bf857c
Fixed intermittent feature test failures. 2022-11-29 17:35:07 +05:30
Mark Mayo
41508f7f67
python 3 updates
- Fix super() calls for python 3
- No need to inherit objects.
- No need for u at the start of strings
- Tidied up some brackets and f-strings too
2022-11-19 10:13:41 +05:30
Pravesh Sharma
5d4bac85e5
Fixed browser toolbar feature test. #5293 2022-09-28 13:11:20 +05:30
Yogesh Mahajan
cbf5886430 Fixed the following code smells:
1. Use concise character class syntax
2. Add a "break" statement or remove this "else" clause.
3. Replace this generic exception class with a more specific one.
4. Use a regular expression literal instead of the 'RegExp' constructor.
5. Use the opposite operator ("not in") instead.
2022-09-10 13:48:14 +05:30
Akshay Joshi
3b95a416ca Fixed 'Remove the unnecessary boolean literals' code smell. 2022-09-09 15:23:18 +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
Akshay Joshi
084203debc Fixed Securtiy Hotspot reported by SonarQube. 2022-08-12 17:10:26 +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
Yogesh Mahajan
5877b49f64 Fixed FileManager feature tests. 2022-08-03 18:59:01 +05:30
Yogesh Mahajan
8f2bda2309 1) Preserve the settings set by the user in the import/export data dialog. Fixes #7428
2) Fixed the JSON editor issue of hiding the first record. Fixes #7520
2022-07-18 10:54:03 +05:30
Yogesh Mahajan
683528b81c Fixed feature tests. 2022-07-12 11:10:23 +05:30
Yogesh Mahajan
1a5e60c44f Fixed feature tests. 2022-07-08 18:25:00 +05:30
Yogesh Mahajan
23869cd61f Fixed an issue where users would not be able to authenticate in Azure on Linux platforms. Fixes #7495 2022-06-23 18:19:32 +05:30
Yogesh Mahajan
95f63f6af8 Fixed feature tests. 2022-06-22 17:47:09 +05:30
Pradip Parkale
befd4b1fa8 Fixed feature test cases. 2022-05-24 11:43:57 +05:30
Pradip Parkale
6465dc951c Fixed feature test case failed as a result of converting preferences and other dialogs to React. 2022-05-17 19:06:24 +05:30
Akshay Joshi
44f9ba4a57 Port connect server password dialog to React. Fixes #7337 2022-05-16 16:21:14 +05:30
Aditya Toshniwal
ca8e14455f Fixed the following issues:
1. Feature test cases for the new query tool.
 2. Query tool panel rename is not persisting.
2022-05-12 18:29:09 +05:30
Yogesh Mahajan
ce8e6b47c1 Fixed feature tests. 2022-02-16 18:03:42 +05:30
Nikhil Mohite
e7e4d5cf0a Fixed feature test cases for maintenance dialog. 2022-01-18 14:51:02 +05:30