Commit Graph
259 Commits
Author SHA1 Message Date
Aditya Toshniwal e84f4cd35b Fix an issue where view/edit tool is not opening in workspace layout.
Fixed few other theme related issues.
2024-12-17 17:03:37 +05:30
Akshay Joshi fe6e21a08b Enhanced pgAdmin 4 with support for Workspace layouts. #7708 2024-12-16 14:52:56 +05:30
Rohit Bhati 621a48c642 More fixes related to query tool prompting for unsaved changes when there are no changes. #8127 2024-12-05 19:03:31 +05:30
Aditya Toshniwal bd2a484c2f Added support for adding tags on a server node. #8192 2024-12-05 12:18:26 +05:30
Aditya Toshniwal 88e515093c Show auto-complete column names in filtered rows dialog of table and filter options of view/edit data tool. #3751
Allow setting NULL ordering for columns in view/edit data filter dialog. #3317
2024-11-28 10:13:57 +05:30
Pravesh Sharma 9ef5a53790 Add a user preference to enable/disable alternating row background colors in the data output of query tool. #8134
Fixed some theme related issues.
2024-11-27 11:23:13 +05:30
Aditya Toshniwal da530824d6 Fixed an issue where indent with space was not aligning to next tab position. #7486 2024-11-25 16:42:07 +05:30
Anil Sahoo 6d5b1673e6 Fix SonarQube code smells for PgTree directory. 2024-11-19 15:45:00 +05:30
Aditya Toshniwal 296befc881 Code refactoring at multiple places to improve re-usability 2024-11-14 14:16:38 +05:30
Aditya Toshniwal 3417186df7 Fix issues found while testing pagination changes. #1780 2024-11-07 18:02:39 +05:30
Pravesh Sharma 2f4cae35bd Updated the react-menu library from v2 to v4. #8061 2024-10-30 17:08:24 +05:30
Yogesh Mahajan 2cc8f5f272 Ensure server connection is successful for sslrootcert=system in server configuration. #7907 2024-10-14 16:17:46 +05:30
Rohit Bhati 509c696aa3 Fixed an issue where the copy shortcut was not working in the Query Tool data grid. #7920 2024-10-09 17:06:51 +05:30
Aditya Toshniwal c6d7a0a8da Add missing eslint React rules and fix the linter errors. 2024-10-01 16:32:04 +05:30
Rohit Bhati 4cb0f87dfd Added support for auto-detecting and setting the End-of-line character (LF/CRLF) in the query tool editor. #7393 2024-09-24 16:39:08 +05:30
Ashesh Vashi 1f53baee8f Fixed the dynamic column updation in the Unique & Primary Keys while creating a table.
* Updated the columns for the unique and primary keys while creating a table.
Use the 'editable' option for a Cell instead of 'disabled'.

* Don't need to define the hidden member as fields in GridHeaderSchema

* Updated the columns for the exclusion constraints while creating a
 table.

* Signaled the relevant field, when column options have changed, for all
the children of a table.

* Use current snapshot of data for the GrigFormHeadeer

* Fixed the styling for the search input box

* Don't check for the 'colOptions.editable' flag, as it could be
indirect call as well.
2024-09-19 18:57:09 +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
Akshay Joshi 53760dbf59 Fixed tree related issues. 2024-09-16 10:09:28 +05:30
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 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 1a1734cf5c Allow running non-continuous selected SQL code blocks in the query tool. #7293 2024-08-29 12:41:58 +05:30
Aditya Toshniwal 242dd48cbd Improve code highlighting in query editor. #7748 2024-08-14 16:48:51 +05:30
Pravesh Sharma 654dc0e2d7 Fixed an issue where the value in the find box is not updating with selected text in editor if find is already open and re-triggered. #7775 2024-08-06 11:59:22 +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
Khushboo Vashi 1fcb1f0228 Fix Dashboard UI issues. 2024-07-25 12:43:02 +05:30
Khushboo Vashi 3aedae1436 Call loadNextPage function only when it is required while loading the table. 2024-07-22 14:15:03 +05:30
Rohit Bhati 8030bc708b Add support for highlighting selection matches in the query editor. #7530 2024-07-18 17:51:20 +05:30
Khushboo Vashi b303693ae8 Fix Dashboard minor UI issues.
Fix the issue where PG logs doesn't display in CSV or JSON format even if it gets selected through the UI.
2024-07-11 10:26:42 +05:30
Aditya Toshniwal dbdea181a9 Fixed an issue where pop-up notifications from Object Explorer wouldn't get dismissed automatically if the Query Tool was opened. #6571 2024-07-09 16:25:04 +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
Aditya Toshniwal f8fa1cf6d6 - Fix few SonarQube issues.
- Cleanup NW.js related stuff.
2024-07-02 10:34:30 +05:30
Pravesh Sharma 391db5131d Fixed an issue where sorting the database activity table on the dashboard by any column caused the details to expand in the wrong position. #7554 2024-06-28 14:47:26 +05:30
Akshay Joshi 7d0bbf30ec Fixed the issue causing the 2FA dialog to appear distorted. 2024-06-25 14:46:30 +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 31a91409a0 Fixed incorrect sorting of size in statistics tab. #7542 2024-06-19 18:27:43 +05:30
Aditya Toshniwal 9279393dcd Add missing files from last commit. #7593 2024-06-19 17:57:34 +05:30
Aditya Toshniwal 439d6cb28f Fixed an issue where backslash breaks syntax highlighting. #7528 2024-06-17 16:16:15 +05:30
Yogesh Mahajan b0e7847962 Fixed bugs found while testing makeStyles JSS changes. #7363 2024-06-17 15:45:40 +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
Yogesh Mahajan 6357672387 Provide an option to set the theme based on the OS theme. #5932 2024-06-12 16:18:37 +05:30
Akshay Joshi df2f3460f0 Fix the following SonarQube code smells:
1) Use the "RegExp.exec()" method instead.
2) Remove parameter form or provide default value.
3) Extract this nested ternary operation into an independent statement.
4) Replace this character class by the character itself.
5) Unnecessary use of conditional expression for default assignment.
6) Prefer using an optional chain expression instead, as it's more concise and easier to read.
2024-06-11 18:07:22 +05:30
Yogesh Mahajan fff192eb95 Ensure that a user can connect to a server using SSL certificates and identity files from a shared storage. #7306 2024-06-11 14:48:11 +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