Commit Graph

96 Commits

Author SHA1 Message Date
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
8cf316b853
Fixed some of the issues reported due to introduction of the custom hook 'useSchemaState'. #7776 2024-08-19 09:53:00 +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
Pravesh Sharma
e18a8bf620
Fixed issue found during testing of #7163. 2024-04-29 13:12:21 +05:30
Aditya Toshniwal
7374997425
Fix an issue in table dialog where changing column name was not syncing table constraints appropriately. #7229 2024-03-08 11:45:32 +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
Akshay Joshi
a22b2a6074
Added keep-alive support for SSH sessions when connecting to a PostgreSQL server via an SSH tunnel. #7016 2023-12-19 16:16:03 +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
Aditya Toshniwal
6ba9c192ce Fix failing JS test cases after scale related commit. #6851 2023-10-11 16:31:02 +05:30
Yogesh Mahajan
3cd547f879
Implement column node and its features for foreign table. #640, #6373, #6674 2023-09-26 15:03:03 +05:30
Nikhil Mohite
aa973fc8ae
Added support to select/deselect objects in the Backup dialog. #642 2023-09-13 11:07:28 +05:30
Pravesh Sharma
a43b70e360
1. Added USING method while creating the table. #6378
2. Added USING method while creating the materialized view. #6400
2023-09-06 11:22:30 +05:30
Pravesh Sharma
27c7ea2ff1
Added all like options while creating a table. #6377 2023-08-07 11:20:04 +05:30
Anil Sahoo
7d7b8a71c1
1. Added Expression to CREATE INDEX. #2595
2. Added support for ALTER INDEX column statistics. #6375
2023-08-01 12:37:47 +05:30
Akshay Joshi
bd4e14da89 Added new/missing parameters to pg_restore. #6562 2023-07-13 13:01:48 +05:30
Akshay Joshi
7686280cb2 1) Added --exclude-database option for Backup Server.
2) Fixed Jasmine test cases.
2023-07-10 12:44:26 +05:30
Anil Sahoo
8b7eeca545
Implement new PostgreSQL 15 features in publication dialog and SQL. #5868 2023-05-25 16:25:12 +05:30
Aditya Toshniwal
932dcd9666
Fix an issue where role is used as username for newly added servers when opening query tool. #5702 2023-02-01 13:11:00 +05:30
Akshay Joshi
a7cf698d09
1) Added support for setting PostgreSQL connection parameters. #4728
2) Fixed an issue where Kerberos authentication to the server is not imported/exported. #5732
3) Increase the length of the value column of the setting table. #5746
4) Upgrade Flask-Migrate to 4.0.0. #5525
2023-01-23 17:19:59 +05:30
Akshay Joshi
98184e5835 Update copyright notices for 2023 2023-01-02 11:53:55 +05:30
Aditya Toshniwal
9c45a62b53 Fixed jasmine test cases introduced by the theme patch. 2022-07-01 15:01:51 +05:30
Nikhil Mohite
f97e294c80 Fixed jasmine test cases. 2022-06-21 10:47:08 +05:30
Nikhil Mohite
2adca6bbc4 1) Added mouse over indication for breakpoint area in the Debugger. Fixes #2647
2) Added search text option to the Debugger panel. Fixes #2648
3) Port Debugger to React. Fixes #6132
2022-06-15 11:37:54 +05:30
Nikhil Mohite
74e794b416 Port preferences dialog to React. Fixes #7149 2022-03-21 13:29:26 +05:30
Akshay Joshi
b9e533e31a Fixed code smell 'Update this function so that its implementation is not identical' reported by SonarQube. 2022-01-31 20:04:04 +05:30
Akshay Joshi
1a89c1f85f Fixed code smell 'Update this function so that its implementation is not identical' reported by SonarQube. 2022-01-28 17:20:34 +05:30
Akshay Joshi
343c3ee49c Fixed following code smells reported by SonarQube:
1) Remove this redundant jump.
 2) Remove this commented out code.
 3) Variables should not be shadowed.
2022-01-21 18:54:23 +05:30
Yogesh Mahajan
c983aae881 Port Import/Export dialog to React. Fixes #7017. 2022-01-21 11:48:52 +05:30
Akshay Joshi
1013d7ccdd Fixed code smell reported by SonarQube. 2022-01-20 16:58:21 +05:30
Akshay Joshi
e3807ec3d6 Fixed following code smells reported by SonarQube:
1) Boolean checks should not be inverted.
 2) Review this redundant assignment.
 3) Extract this nested ternary operation into an independent statement.
 4) Unexpected empty function.
 5) Immediately return this expression instead of assigning it to the temporary variable.
2022-01-17 13:56:01 +05:30
Akshay Joshi
c98fb887cc Fixed code smell 'Unexpected empty arrow function' reported by SonarQube. 2022-01-12 17:32:20 +05:30
Nikhil Mohite
ad862f4084 Port Maintenance dialog to React. Fixes #7019 2022-01-07 12:07:49 +05:30
Akshay Joshi
2786f7ac5a Update copyright notices for 2022 2022-01-04 13:54:25 +05:30
Akshay Joshi
9dd957a2aa Added support to import/export server groups and servers from GUI. Fixes #4803 2022-01-04 12:27:17 +05:30
Rahul Shirsat
603d91be0e Port Restore dialog to React. Fixes #7018 2021-12-28 13:45:59 +05:30
Akshay Joshi
fd53e4f5f9 Replace Alertify alert and confirm with React-based model dialog. Fixes #7053 2021-12-07 18:52:40 +05:30
Nikhil Mohite
3afeb8ca46 Port Backup Global, Backup Server, and Backup object dialog in React. Fixes #6984 2021-11-22 11:20:44 +05:30
Akshay Joshi
39992a817d Added support of Aggregate and Operator node in view-only mode. Fixes #3834 2021-10-29 16:14:33 +05:30
Pradip Parkale
c7cd57db91 Ensure that columns should be merged if the newly added column is present in the parent table. Fixes #6780 2021-10-21 10:59:52 +05:30
Aditya Toshniwal
8b7b63868f Added support for composite foreign keys in the ERD tool. Fixes #6891 2021-10-13 14:28:55 +05:30
Nikhil Mohite
96ce298789 Port columns node under the Catalog Objects in React. 2021-10-13 12:59:08 +05:30
Aditya Toshniwal
a92c1b43a2 1) Added support for advanced table fields like the foreign key, primary key in the ERD tool. Fixes #6081
2) Added index creation when generating SQL in the ERD tool. Fixes #6529
2021-10-11 17:42:14 +05:30
Rahul Shirsat
bfb65e82aa Fixed dialog crash issue when added security label and changing the type to shell. Fixes #6744 2021-10-05 17:24:16 +05:30
Aditya Toshniwal
7eaa3179ad Fixed an issue where the index is not loaded in the Unique Constraint dialog. Fixes #6857 2021-10-04 19:28:27 +05:30
Aditya Toshniwal
e77f933fe7 Foreign key issues in edit mode:
1. Couple of foreign key issues in edit mode. Fixes #6837
2. Table "Of type" related issues. Fixes #6825
2021-10-04 14:14:27 +05:30
Rahul Shirsat
1632e5287a Fixed some additional issues for the Type node.
refs #6744
2021-09-30 15:16:21 +05:30
Aditya Toshniwal
c57fc74e18 Fixed Jasmine test cases. 2021-09-29 16:36:49 +05:30
Aditya Toshniwal
be69470d55 Server and Database node fixes:
1. Unable to change shared server switch.
2. DB restriction and schema restriction have an empty option.
3. File select input control does not allow manual text input.
4. In the Parameters tab if the value is a switch control, then an empty value error should not come.
5. Values for parameters should be reset on changing parameters.
6. Added a new key - helpMessageMode which can have a value similar to mode. It will show the help message if the mode is supported.

Fixes #6814
2021-09-28 15:05:32 +05:30
Aditya Toshniwal
9179b7464b Fixed following issues after React Porting:
1. Unique constraint should not allow changing values for deferrable, deferred, included columns.
2. Primary keys should not allow changing values for deferrable, deferred, included columns.
3. Foreign keys should not allow changing match type. The referenced table name is empty.
4. Exclude - Column/Expression has incorrect values.
5. Save should not be enabled when Custom auto-vacuum is enabled but none of the parameters are edited.

Fixes #6777
2021-09-23 14:46:10 +05:30