Commit Graph

1535 Commits

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
e21911b1c6 All the issues are fixed 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.
2024-09-11 12:21:41 +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
Anil Sahoo
8bae604129 Fix the query tool restore connection issue on the server disconnection from the left side object explorer. #6502 2024-09-02 15:06:11 +05:30
Aditya Toshniwal
47fcf87ae4 Update JS and Python packages 2024-08-22 17:20:50 +05:30
Aditya Toshniwal
35d585251a Upgrade xterm realted packages to the latest @xterm based namespace. 2024-08-14 18:15:03 +05:30
Pravesh Sharma
c0b6c8726e Add a home button to the geometry viewer to set original zoom level when the viewer was opened. #2046 2024-08-14 11:09:28 +05:30
Rohit Bhati
52c550e3fe Fix an issue where ERD tool should to be able to open saved pgerd file when using keyboard shortcuts. #7688 2024-08-13 14:30:58 +05:30
Aditya Toshniwal
57e72ce598 Fixed bugs found when testing react-data-grid upgrade changes. #7705 2024-08-13 13:00:52 +05:30
Khushboo Vashi
fb0022923a Fix import Export Server loading issue, affected due to SchemaView component changes. 2024-08-12 11:27:21 +05:30
Akshay Joshi
00e2480b7b 1) Fixed an issue where refreshing the Schema Diff tool opened in a new tab caused an error. #7499
2) Fixed an issue where the Generate Script ignored filter conditions when a parent node was selected. #7682
2024-08-08 13:02:38 +05:30
Aditya Toshniwal
c6e7ce03cc Upgrade react-data-grid fork to latest and change pgAdmin accordingly. #7705 2024-07-31 19:12:36 +05:30
Aditya Toshniwal
1d5f5a2067 Fixed an issue where ERD Open/Save shorcuts were not working on Windows/Linux. #7639 2024-07-24 15:11:05 +05:30
Akshay Joshi
87ba177ff3 Fixed linter error. 2024-07-24 13:02:46 +05:30
Akshay Joshi
0511554db9 The following issues have been fixed:
1) White screen issue after closing the Macro dialog.
2) Schema Diff database and schema selection issue.
3) CSV download issue.
2024-07-24 12:54:20 +05:30
Rohit Bhati
8030bc708b Add support for highlighting selection matches in the query editor. #7530 2024-07-18 17:51:20 +05:30
Pravesh Sharma
bfcdcdc4f1 Add a precautionary check for the query tool connection cursor to fix the error 'NoneType' object has no attribute '_query'. #7660 2024-07-18 14:24:50 +05:30
Aditya Toshniwal
8e16e000c3 Fix issues found in electron testing. #7494 2024-07-16 20:29:10 +05:30
Aditya Toshniwal
cd6ff48cc0 Fix query tool, ERD closing issue in Electron. #7494 2024-07-10 15:01:35 +05:30
Rohit Bhati
721a5da895 Fixed an issue where Generate Script button should be disabled if no objects are selected in the schema diff result. #7638 2024-07-09 13:44:04 +05:30
Anil Sahoo
5c5b61c4db Fixed an issue where paste operation in query tool data grid should skip bytea columns and put the value as NULL instead. #3199 2024-07-09 10:33:29 +05:30
Aditya Toshniwal
760e38293c Fix issues found during Electron testing. #7494
Fix application crash when using users dialog. #7607
2024-07-08 19:24:29 +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
Pravesh Sharma
10b2e91e29 Update react-diagrams library which is used in ERD to the latest version. #7644
Added patch for DataGridView failing when adding a new row.
2024-07-03 18:19:27 +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
Rohit Bhati
22cdb86aab Fix issue with missing new added records in download file. #5345 2024-07-02 11:48:13 +05:30
Aditya Toshniwal
f8fa1cf6d6 - Fix few SonarQube issues.
- Cleanup NW.js related stuff.
2024-07-02 10:34:30 +05:30
Aditya Toshniwal
3bb9f0ba8c Remove support for Python 3.7 as Debian 10 is EOL. 2024-07-01 12:39:12 +05:30
Aditya Toshniwal
91eb60a363 Replace pgAdmin NW.js container with Electron container. #7494 2024-07-01 11:27:42 +05:30
Aditya Toshniwal
feb3093c6d Automatically apply virtualization in the DataGridView of SchemaView if the schema contains only one collection. #7607 2024-06-27 13:21:18 +05:30
Akshay Joshi
3be2221948 Ensure that pgAdmin 4 is compatible with PostgreSQL v17. #7537 2024-06-27 13:18:26 +05:30
Yogesh Mahajan
6410ae5f69 Fixed some more styling issues broken due to JSS changes. #7363 2024-06-20 17:18:38 +05:30
Aditya Toshniwal
9279393dcd Add missing files from last commit. #7593 2024-06-19 17:57:34 +05:30
Akshay Joshi
6984e97f8d Use correct for loop syntax. 2024-06-19 13:15:45 +05:30
Yogesh Mahajan
95ffd1b9a1 More fixes for issues reported while testing changes related to makeStyle JSS changes and auto-theme. #7363 2024-06-19 11:54:18 +05:30
Akshay Joshi
0452828cc7 1) Change the cursor to a pointer for JSON editor toolbar buttons.
2) Remove the extra scrollbar in JSON editor.
3) Set the focus on the PSQL tool.
2024-06-18 16:42:17 +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
Yogesh Mahajan
b0e7847962 Fixed bugs found while testing makeStyles JSS changes. #7363 2024-06-17 15:45:40 +05:30
Anil Sahoo
a946c70869 Fixed an issue where changing a column name should reflect in all the constraints in table object dialog and ERD table dialog. #7476 2024-06-17 14:07:45 +05:30
Akshay Joshi
5866da8194 Fixed SonarQube code smells. 2024-06-13 18:48:02 +05:30
Aditya Toshniwal
ad34ee2699 Fixed new line indentation in query editor and add a user preference to disable it. #7295 2024-06-13 18:06:13 +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
Pravesh Sharma
b5c8692f34 Fixed an issue where resizable data editors in query tool should not be allowed to resize beyond the app window bounds. #7241 2024-06-13 14:07:44 +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
Rohit Bhati
c98cea2ea9 Search Objects dialog should focus on search input on open. #7536 2024-06-12 17:17:35 +05:30
Aditya Toshniwal
056aff4742 Revert the changes done for removing support for Python 3.7 2024-06-12 16:23:27 +05:30
Akshay Joshi
c47390e643 Fixed API test cases for BatchProcess 2024-06-11 12:59:48 +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
Aditya Toshniwal
de712b0805 - Update JS packages.
- Remove support for Python 3.7 as Debian 10 is EOL.
2024-06-07 14:17:22 +05:30
Rohit Bhati
85d4473af4 Disable the query tool editor input if any SQL is being loaded to prevent users from typing. #6357 2024-06-06 18:06:49 +05:30