Commit Graph

27 Commits

Author SHA1 Message Date
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
Anil Sahoo
05b595d32d
Fixed the failure of python test cases of EPAS and JS tests for publication node. #5868 2023-05-29 17:41:45 +05:30
Aditya Toshniwal
1e7517dc98
Show object breadcrumbs path along with its comment on object hover. #2078 2023-04-26 11:18:16 +05:30
Akshay Joshi
98184e5835 Update copyright notices for 2023 2023-01-02 11:53:55 +05:30
Nikhil Mohite
d147b41d19 Fixed Jasmine test cases. 2022-09-22 18:26:29 +05:30
Aditya Toshniwal
4808df5e95 1) Port the file/storage manager to React. Fixes #7313
2) Allow users to delete files/folders from the storage manager. Fixes #4607
3) Allow users to search within the file/storage manager. Fixes #7389
4) Fixed an issue where new folders cannot be created in the save dialog. Fixes #7524
2022-07-19 15:27:47 +05:30
Nikhil Mohite
d90b2621da Fixed an issue where passwords entered in the 'Connect To Server' dialog were truncated. Fixes #7440 2022-06-22 17:35:22 +05:30
Aditya Toshniwal
9c30d983bd Fixed following issues for query tool after react porting:
1) Add New Server Connection > Server options keep loading(For empty Server group).
 2) After clicking indent/Unindent(for all operations) for large query option left as it is till operation completes
 3) Check sign beside options in Execute Option/Copy Header is little bit big
 4) In explain > Analysis tab does not show ROWS column
 5) In explain > Explain > analysis previous explain output is NOT cleared. New rows are appended. Same applies to the statistics tab.
 6) Update new query tool connection tool tip. Fixes #7289
 7) Explain-Analyze > Loops column is empty.
 8) Explain-Analyze with Verbose & Costs > in ROW X columns upward arrows are missing.
 9) Explain-Analyze with all option checked > background colors are missing for timing.
 10) Explain-Analyze > Additional bullet is added before Hash Cond.
 11) Browser Tree > Filtered rows icon is not working.
 12) Create table with timestamp and default value as function now() > Add new row > Enter mandatory columns except column where default value is function(now()) > Click Save > New row added but column with default value has value [default]. not updated to actual value. / Default values are not considered for any column while adding a new entry.
 13) Disable execute options in View/Edit data.
 14) The Boolean column always shows null.
 15) In Query history Remove & Remove all buttons are stuck to each other.
 16) On Remove all, the right panel is empty.
 17) Create a column with boolean[]/ text[], Try to add a new entry from data grid, enter “” quotes > Click Ok > Now try edit cell > You can not change value.
 18) In query history - Select queries are suffixed by ’Save Data’ icon
 19) Edit any table with PK > Try to insert duplicate PK > Error thrown > Correct pK value > Still old error shown > Not able to add new entry (This works when focus is moved from edited cell)
 20) Clicking arrows after opening dropdown options, does not collapse dropdown.

refs #6131
2022-04-18 12:50:51 +05:30
Aditya Toshniwal
a91762fb30 Ensure that Columns should always be visible in the import/export dialog. Fixes #7252 2022-04-11 17:25:19 +05:30
Aditya Toshniwal
b5b9ee46a1 1) Port query tool to React. Fixes #6131
2) Added status bar to the Query Tool. Fixes #3253
3) Ensure that row numbers should be visible in view when scrolling horizontally. Fixes #3989
4) Allow removing a single query history. Refs #4113
5) Partially fixed Macros usability issues. Ref #6969
6) Fixed an issue where the Query tool opens on minimum size if the user opens multiple query tool Window quickly. Fixes #6725
7) Relocate GIS Viewer Button to the Left Side of the Results Table. Fixes #6830
8) Fixed an issue where the connection bar is not visible. Fixes #7188
9) Fixed an issue where an Empty message popup after running a query. Fixes #7260
10) Ensure that Autocomplete should work after changing the connection. Fixes #7262
11) Fixed an issue where the copy and paste row does not work if the first column contains no data. Fixes #7294
2022-04-07 17:36:56 +05:30
Nikhil Mohite
931a399890 Fixed issues in the Preferences:
1) Show a single note in the binary path.
  2) Resolved issue in the keyboard shortcut.

refs #7149
2022-03-29 16:27:33 +05:30
Aditya Toshniwal
7f2e87b27d Fixed Jasmine test cases. 2022-03-24 12:05:59 +05:30
Nikhil Mohite
2f37f0ca51 Fixes for the preferences dialog
1) Add server mode validation in the binary path.
  2) Updated preferences tree rendering to avoid using the ReactDOM render.
  3) Updated CSS for keyboard shortcuts checkbox border makes it consistent with input box border.
  4) Fixed jasmine test case and improved code coverage.
  5) Fixed SonarQube issues.
  6) Added validation to disable "Maximum column with" option if "Column sized by" option is set to "Column name" in Query Tool -> Result grid.
  7) Updated documentation with the latest screenshots.
  8) Correct typo in the documentation. Fixes #7261

refs #7149
2022-03-23 13:28:35 +05:30
Nikhil Mohite
74e794b416 Port preferences dialog to React. Fixes #7149 2022-03-21 13:29:26 +05:30
Aditya Toshniwal
bc4e8a3c82 Implemented utilities in React to make porting easier for pgAdmin tools. 2022-02-11 10:36:24 +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
c98fb887cc Fixed code smell 'Unexpected empty arrow function' reported by SonarQube. 2022-01-12 17:32:20 +05:30
Akshay Joshi
2786f7ac5a Update copyright notices for 2022 2022-01-04 13:54:25 +05:30
Akshay Joshi
c6424e3897 Replaced alertifyjs notifiers with React-based notistack. Fixes #7004 2021-12-02 16:05:52 +05:30
Aditya Toshniwal
dc8ab7cd2a 1. Switch control and CodeMirror control UI improvements for read-only and disabled states.
2. If a form input value changes to null, pass it as an empty string in URL params.
3. Use server_type instead of type from the server info.
2021-09-28 10:24:25 +05:30
Aditya Toshniwal
27e446a0b0 Fixed following: - Dropdown selected menu color - CodeMirror render on properties tab - Placeholders on select control - Codemirror borders 2021-09-09 13:06:24 +05:30
Aditya Toshniwal
261cec1d20 Port Table, Column, Primary key, Foreign key, Check constraint, Unique constraint, Exclusion constraint. 2021-09-09 13:05:57 +05:30
Pradip Parkale
1f430227aa Port Subscriptions node to react. Fixes #6634 2021-09-09 13:01:52 +05:30
Aditya Toshniwal
bcab0e3754 - Fix jasmine test cases. - Unregister listener when row removed in DataGrid. 2021-09-09 13:00:36 +05:30
Akshay Joshi
4b8e655948 Port Foreign Data Wrapper, Foreign Server and User Mapping nodes to react. Fixes #6583 2021-09-09 12:48:24 +05:30
Nikhil Mohite
793dbc6e7f Port Event Triggers node to react. Fixes #6578 2021-09-09 12:44:37 +05:30
Aditya Toshniwal
764677431f Added React framework for the properties dialog and port Server Group, Server, and Database dialogs.
Following changes done for the framework:
 - Framework for creating React based dynamic form view out of a pre-defined UI schema. Previously, it was based on Backform/Backbone.
 - The new framework and components will use MaterialUI as the base. Previously, Bootstrap/Backform/jQuery components were used.
 - The new code uses JSS instead of CSS since material UI and most modern React libraries also use JSS. In the future, this will allow us to change the theme in real-time without refresh.
 - 90% code covered by 80-85 new jasmine test cases.
 - Server group node UI Schema migration to new, with schema test cases.
 - Server node UI Schema migration to new, with schema test cases.
 - Database node UI Schema migration to new, with schema test cases.
 - Few other UI changes.

Fixes #6130
2021-09-09 12:20:59 +05:30