Commit Graph

280 Commits

Author SHA1 Message Date
Rohit Bhati
a9bfa8a71d Fix multiple issues related to debugger params dialog input. #7883
- Handle multiple possible values for a boolean parameter.
- Disable value input when "Use default" is enabled.
2024-10-29 16:01:46 +05:30
Akshay Joshi
7d12dc3b80 Remove unused variable from Debugger. 2024-10-10 17:54:15 +05:30
Pravesh Sharma
7a7782a350 Fixed an issue in the debugger where function arguments of the character data type were being truncated. #8007 2024-10-10 15:25:08 +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
dcfef154ce - Set the browser target to ES6 and reduce the JS bundle size considerably
- Upgrade ESLint to v9.x and migrate the .eslintrc.js file to make it work
2024-07-04 18:25:47 +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
Yogesh Mahajan
6410ae5f69 Fixed some more styling issues broken due to JSS changes. #7363 2024-06-20 17:18:38 +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
5866da8194 Fixed SonarQube code smells. 2024-06-13 18:48:02 +05:30
Aditya Toshniwal
e03d65d547 Fixed an issue where query tool shortcuts for find/replace are not working. #7555 2024-06-13 17:26:47 +05:30
Akshay Joshi
dea5335ce5 Fixed the following SonarQube code smells:
1) Do not use the Array index in keys.
2) Import from the same module should be merged.
3) Mutable variables should not be exported.
4) Variables should not be initialized to undefined.
5) startswith or endswith method should be used.
6) Unwrap this unnecessarily grouped subpattern.

Additionally, addressed many other SonarQube rules.
2024-06-12 18:09:06 +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
Ahmad
5c30695d66 Fixed Typos 2024-05-23 12:52:41 +05:30
Pravesh Sharma
afc28d95cf 1. Disable ERD for system Catalogs. #5849
2. Disable Debugger for system catalogs. #6060
3. Fixed an issue where the keyboard shortcut for launching the debugger from Object Explorer was not working.
2024-05-08 15:29:01 +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
Khushboo Vashi
f4761f55f7 Fixed Multi-Factor Authentication bypass vulnerability (CVE-2024-4215). #7425 2024-04-29 13:41:02 +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
Akshay Joshi
edec9adbfb Fixed SonarQube code smell 'Unnecessary use of boolean literals in conditional expression'. 2024-04-08 17:19:51 +05:30
Aditya Toshniwal
cc1ce09b73 More CodeMirror fixes. #7268
Fix query tool autocomplete results when cursor is in between the SQL query. #7299
Fix an issue in query tool where custom keyboard shortcuts are not working for some. #7305
2024-03-23 18:22:06 +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
0e0cbc40b8 Fixed SonarQube code smell Replace the unused local variable with '_'. 2024-01-24 18:33:43 +05:30
Yogesh Mahajan
a166f8dc89 Skip debugger test cases to fix "too many clients" error on github actions. 2024-01-18 16:41:18 +05:30
Akshay Joshi
740ce15bd7 Update copyright notices for 2024 2024-01-01 14:13:48 +05:30
Aditya Toshniwal
c4a5f8d707 Fix a crash issue occurring when debugging a function with arguments when using pgAdmin with external config database. #6904 2023-11-15 17:42:58 +05:30
Aditya Toshniwal
85dd1e92ad Fix issues found when testing Flask upgrade and wcDocker changes. #6479 2023-11-08 18:07:32 +05:30
Aditya Toshniwal
ef0b30b1ca Continue fixing multiple UI issues found when testing wcDocker changes. #6479 2023-11-06 18:08:16 +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
3bcac26ff9 Fix multiple UI and SonarQube issues found when testing wcDocker changes. #6479 2023-10-26 12:06:28 +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
4050545f7c Fixed an issue where the wrong message 'Current database has been moved or renamed' is displayed when debugging any function. #6482 2023-09-26 18:07:25 +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
Khushboo Vashi
d98f411ea9 Show proper message if the debugger is stopped by the user. #6059 2023-04-20 17:05:05 +05:30
Khushboo Vashi
bc5e710d49 Fixed error while executing continue in debugging session after some time of debug execution. #5953 2023-04-03 15:28:11 +05:30
Khushboo Vashi
5cb64f7602 Fix Debugger restart issue. 2023-03-24 14:33:07 +05:30
Aditya Toshniwal
b923f5fcfa Use fetch instead of axios to close connections in SQLEditor, ERD, Schema Diff and Debugger to ensure it completes. When closing a browser tab, axios does not guarantee AJAX request completion. #5894 2023-03-20 18:20:48 +05:30
Khushboo Vashi
366dd3a973 Remove psycopg2 completely. 2023-03-20 16:57:30 +05:30
Aditya Toshniwal
42ac0d577d Add .ts and .tsx files under linter and fix linter issues. #5830 2023-03-16 17:22:26 +05:30
Khushboo Vashi
66c4b9d05a Fix Debugger test cases. 2023-03-13 11:51:15 +05:30
Akshay Joshi
3c56c0e4b7 Revert "Update SQLAlchemy, Flask, Flask-SQLAlchemy, and other packages to current versions. #5901"
This reverts commit 31818bb67a.
2023-03-09 16:53:43 +05:30
Aditya Toshniwal
31818bb67a Update SQLAlchemy, Flask, Flask-SQLAlchemy, and other packages to current versions. #5901
Remove the python version check from the requirements.txt.
2023-03-08 18:26:51 +05:30
Khushboo Vashi
5e0daccf76 Added support for psycopg3 along with psycopg2. #5011 2023-02-15 11:31:29 +05:30
Matěj Cepl
7a4951f211 Remove dependency on simplejson package. 2023-02-15 11:10:12 +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
Nikhil Mohite
a48828e7a3 Improve performance by removing signal-based zoom-in, zoom-out, etc functionality from the runtime environment. #5723 2023-01-17 17:18:35 +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
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