Commit Graph

224 Commits (f4ea95da124a884d5b5dd6e68b6cd40331f857e8)

Author SHA1 Message Date
Nikhil Mohite e1942d8c9e 1) Port schema diff to React. Fixes #6133
2) Remove SlickGrid.
2022-09-07 19:20:03 +05:30
Aditya Toshniwal 0f46f070ed Port the remaining components of the ERD Tool to React. Fixes #7343
1. Make use of MUI styles and remove SCSS.
2. Use the new common components for buttons and tooltips, so that they are consistent.
3. UI design should be aligned with the query tool.
4. Remove tippyjs and Alertify dependencies.
2022-09-06 18:09:13 +05:30
Dave Page bbef9acaf6 Fixes a bunch of warnings about missing utilities in the webpack process. 2022-08-26 12:32:09 +05:30
Akshay Joshi 2cdee919c1 Fixed audit issues. 2022-07-21 13:44:19 +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
Akshay Joshi a11f42b3e0 Fixed audit issues. 2022-07-14 11:24:17 +05:30
Akshay Joshi 93bc1f3c57 Added support for visualise the graph using a Line chart in the query tool. Fixes #7485 2022-06-22 17:18:51 +05:30
Akshay Joshi 3381516013 Upgrade Chartjs to the latest 3.8.0. Fixes #7469 2022-06-13 17:26:17 +05:30
Pradip Parkale 628e609e6a 1) Added the option 'Show template databases?' to display template databases regardless of the setting of 'Show system objects?'.
2) Ensure that the user should be able to create a template database using create dialog instead of updating it later.

Fixes #7351
2022-06-13 14:50:17 +05:30
Akshay Joshi 3bc373fff0 Upgraded and removed some unwanted packages. 2022-06-02 18:07:59 +05:30
Nikhil Mohite e3225b6565 Fixed the browser tree overlapping nodes and expansion issue. Fixes #6962 2022-05-28 13:26:17 +05:30
Aditya Toshniwal aaab5c51a7 Fixed an issue where the data grid scroll is not reset when a query is executed. 2022-05-25 17:53:52 +05:30
Aditya Toshniwal 6d26d5833f Added support for multi-cell selection in the query tool grid. Fixes #7380 2022-05-24 11:39:34 +05:30
Akshay Joshi c956f730e9 Update notistack to the latest version. Fixes #7396 2022-05-23 18:20:56 +05:30
Akshay Joshi 4f7bcc2919 Added the ability to detect and warn users about bidirectional Unicode characters. Fixes #7002 2022-05-23 16:04:21 +05:30
Aditya Toshniwal 31be1ae026 Upgrades react-data-grid to the latest which has a fix for grid issues. 2022-05-09 14:58:45 +05:30
Aditya Toshniwal 1135821870 Fix Query tool issues:
1. Warning/Confirm dialogs should be inside the query tool.
2. The Help button in View/Edit data should open the corresponding help page.
3. Disable execute options when query tool in transaction.
4. Grid not loading more than 10000 rows. react-data-grid issue, PR sent. Use a fork till then.
5. NOTICE messages should not be part of Notifier success popups.

Fixes #7350
2022-05-09 12:39:29 +05:30
Akshay Joshi f725cc2307 Fixed audit issues. 2022-04-27 10:37:53 +05:30
Khushboo Vashi 7d91cca14d 1) Fixed linter error.
2) Fixed an issue where a password popup will appear on disconnecting from the server.
2022-04-26 18:16:33 +05:30
Aditya Toshniwal e5ef6a7b21 Fixed following issues for Query Tool (after React Porting):
1) Find/Replace both opens the same dialogue box.(by clicking menu option)
2) Add New Server Connection > Server options keep loading(For multiple Server groups & should have some server)
3) Fixed CSS issues of slickgrid at various places.
4) C should be captial in ’<New connection…>'
5) In pop title for New Connection, all words should be capital.(Add new connection)
6) Explain > Analaysis tab > Column heading missing ROWS PLAN with cost & In explain only.
7) Explain > Analaysis tab > with cost enabled > Upward arrow size does not match with font of number. Arrow is little bigger than number.
8) Boolean default is not considered while ading new row.(try table from feature test defaults)
9) In query history , when not query history present, warning icon size big. Match it to warning message - No history found
10) Select table/db object > Open query tool from Tools menu > NOT FOUND error is shown. Existing issue, fixed.
11) Any cell just open by clicking it > Do NOT change any thing > Click Ok > Cell is shown as edited.

refs #6131
2022-04-20 19:02:16 +05:30
Akshay Joshi 86a3696ab4 Remove aciTree and its references. 2022-04-13 17:35:01 +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
Pradip Parkale b397ba7787 Fixed issues related to porting of properties collection and dashboard.
refs #7132
2022-04-04 17:42:42 +05:30
Pradip Parkale cb052f1988 1) Port Properties panel for collection node, Dashboard, and SQL panel in React. Fixes #7132
2) Added transaction start time to Server activity sessions view. Fixes #7215
2022-03-30 12:06:59 +05:30
Nikhil Mohite 74e794b416 Port preferences dialog to React. Fixes #7149 2022-03-21 13:29:26 +05:30
Akshay Joshi 901e3ede39 Increase the value of --max-old-space-size to fix the Treser Plugin issue. 2022-03-14 09:56:15 +05:30
Akshay Joshi adf4634459 Added '--max-old-space-size' to fix any memory consumption issues while bundling the package. 2022-03-07 17:28:04 +05:30
Akshay Joshi 6b9ae466c2 Fixed audit issues 2022-03-02 12:13:59 +05:30
Aditya Toshniwal bc4e8a3c82 Implemented utilities in React to make porting easier for pgAdmin tools. 2022-02-11 10:36:24 +05:30
Aditya Toshniwal f62c20d0b9 Fixed one wcDocker issue. 2022-02-07 21:18:12 +05:30
Aditya Toshniwal 28be10a1b5 Ensure that layout should not be reset if a query tool is opened and pgAdmin is restaretd. Fixes #7154 2022-02-04 15:20:55 +05:30
Nikhil Mohite 37d82d457c Fixed an issue where the F2 Function key removes browser panel contents. Fixes #7126 2022-01-28 10:55:23 +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
Aditya Toshniwal dfdaf7f6d1 Implemented React based modal provider to create models on the fly.
Also, use this to replace Alertify alert and confirm dialog.
2021-12-03 12:50:24 +05:30
Akshay Joshi c6424e3897 Replaced alertifyjs notifiers with React-based notistack. Fixes #7004 2021-12-02 16:05:52 +05:30
Akshay Joshi 0f9b9b9dcf Added 'eslint-plugin-react-hooks' to identify the linter errors related to react hooks. 2021-12-01 17:43:20 +05:30
Aditya Toshniwal 9d804d2857 Update the dropzone version to 5.9.3 and Flask-SQLAlchemy to 2.5.*. Fixes #7044 2021-12-01 17:23:46 +05:30
Khushboo Vashi cc38bc132e Fixed scroll issue in the browser tree when navigating using the keyboard. 2021-11-15 18:26:16 +05:30
Khushboo Vashi e67bad3461 Ensure that the user should be able to navigate browser tree objects using arrow keys from keyboard. Fixes #6896 2021-11-15 11:17:42 +05:30
Aditya Toshniwal 600690a789 Fixed JS audit issues. 2021-11-12 14:19:09 +05:30
Pradip Parkale a61a9e5b8f Fixed an issue where older server group name displayed in the confirmation
pop-up when the user removes server group. Fixes #6939
2021-11-10 11:17:51 +05:30
Akshay Joshi 2c4ed4d115 Reverted the last patch to pin mozjpeg as it didn't work. 2021-10-21 17:06:04 +05:30
Aditya Toshniwal fc233ed993 Pin mozjpeg to 7.1.0 as the latest version will require zlib to be re-compiled. 2021-10-21 16:18:06 +05:30
Aditya Toshniwal 1d8810775c Fixed JS audit issues wherever possible and ignores devDependencies from packages.json 2021-10-21 15:08:24 +05:30
Aditya Toshniwal d28e249673 Ignore flask-security-too irrelevant vulnerability. 2021-10-21 11:14:27 +05:30
Khushboo Vashi 5b411caabe Fixed an issue where each click to refresh the collection node, the number of objects decreasing by tens or more. Fixes #6908 2021-10-16 12:50:51 +05:30
Nikhil Mohite 476d7c5fc9 Fixed background colour issue in the browser tree. Fixes #6890 2021-10-16 12:40:57 +05:30
Khushboo Vashi 2aac87569b Fixed an issue where the users are unable to load the databases behind an HTTP reverse proxy. Fixes #6905 2021-10-14 11:35:11 +05:30
Khushboo Vashi ac6c6fbf97 Fixed an issue where the browser tree doesn't show all contents on changing resolution. Fixes #6881 2021-10-12 15:02:46 +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
Khushboo Vashi 44e1a405f0 1) Newly added server/server group is not visible in the tree unless pgAdmin is refreshed. Fixes #6839
2) Internal server error displayed if disconnect the server. Fixes #6852
2021-10-03 12:12:02 +05:30
Khushboo Vashi 5e0c113c7b Properties panel is not updated when any object is added/deleted from the browser tree. Fixes #6833 2021-09-30 18:21:43 +05:30
Aditya Toshniwal 381f5edbd5 Few more stability improvements to date time picker.
refs #6816
2021-09-30 15:00:32 +05:30
Khushboo Vashi aa8854db53 1) Browser panel turns blank on connecting disconnected database & server has multiple databases. Fixes #6817
2) The object is not selected/properties panel is not updated when the user moves to object with arrow keys. Fixes #6821
3) Object gets deselected after editing. Fixes #6824
2021-09-29 17:18:55 +05:30
Aditya Toshniwal 332351efaf 1. Date time control not working on firefox.
2. Replace moment with date-fns in date time control as date-fns is more maintained.

Fixes #6816
2021-09-29 13:43:05 +05:30
Khushboo Vashi 24399daefe 1) Browser panel turns blank on connecting/disconnecting the database when the
server has multiple databases. Fixes #6817
2) Use a hand pointer instead of an arrow. Fixes #6820
2021-09-28 17:50:54 +05:30
Khushboo Vashi 483e2ca8d0 Port browser tree to React. Fixes #6129 2021-09-27 16:44:26 +05:30
Aditya Toshniwal 19f0181756 Pin @material-ui/lab to 4.0.0-alpha.58, to fix build on Windows x64 2021-09-23 13:15:53 +05:30
Aditya Toshniwal 8d681d68d7 Pin material-ui to 4.11 as later versions have some problems. Test cases are also failing on the latest material-ui version. 2021-09-23 12:12:14 +05:30
Nikhil Mohite 7aa213a5ce 1) Port Grant Wizard to react. Fixes #6687
2) Fixed an issue where grant wizard is unresponsive if the database size is huge. Fixes #2097
2021-09-20 13:02:41 +05:30
Akshay Joshi af0a24a5bc Added moment for DateTimePicker control. 2021-09-09 13:00:36 +05:30
Aditya Toshniwal 0998ddefa2 Add package and lock files for html-react-parse. 2021-09-09 13:00:33 +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
Rahul Shirsat a2c1aa2c4c Make closing tabs to be smarter by focusing on the appropriate tab when the user closed a tab. Fixes #6625 2021-09-02 11:36:10 +05:30
Yogesh Mahajan 51d73b1672 Fixed errors related to HTML tags shown in the error message for JSON editor. Fixes #6668 2021-08-26 14:54:51 +05:30
Yogesh Mahajan 8e214ca8fb Added support for formatted JSON viewer/editor when interacting with data in a JSON column. Fixes #5198 2021-08-03 11:36:45 +05:30
Nikhil Mohite 313224e6f5 Ensure that Data Output panel can be snapped back after it is detached. Fixes #4189 2021-06-23 15:06:06 +05:30
Nikhil Mohite 3ddf941cd7 Added support to launch PSQL for the connected database server. Fixes #2341 2021-05-25 20:12:57 +05:30
Rahul Shirsat 37dece2cd8 Added window maximize/restore functionality for properties dialog. Fixes #4064 2021-05-24 22:08:23 +05:30
Aditya Toshniwal c8a2057410 Fixed JS audit warnings 2021-05-14 13:24:45 +05:30
Murtuza Zabuawala 98546e1876 Update require.js library to the latest version. 2021-05-04 17:48:13 +05:30
Aditya Toshniwal d046a2800d Fixed build errors which are occurring after updating sass-resources-loader package. 2021-04-15 16:42:25 +05:30
Aditya Toshniwal c88a63edf8 Included JSX files in the linter check. 2021-04-08 17:56:18 +05:30
Aditya Toshniwal 3d7ecd16aa Upgrade the React version from 16 to 17 and also update other dependent libraries. 2021-03-15 15:47:21 +05:30
Aditya Toshniwal 701f21186b Remove 'imagemin-gifsicle' package which is used to compress gif images. The latest version of imagemin-gifsicle requires the binaries to be built from the source. 2021-02-10 13:46:42 +05:30
Aditya Toshniwal 1317e4254b Updated the JS dependencies to the latest
1) Migrate from webpack 4 to webpack 5. This had a lot of breaking changes,
   so updated multiple webpack plugins and changed the config accordingly.
2) Replaced iconfont-webpack-plugin with a more maintained webfonts-loader.
3) Replaced deprecated babel-eslint with @babel/eslint-parser.
4) Replaced optimize-css-assets-webpack-plugin with a more maintained css-minimizer-webpack-plugin.
5) Updated all other JS packages and made the required code changes.

Fixes #6207
2021-02-10 12:47:52 +05:30
Aditya Toshniwal 13db981445 Fixed following issues in ERD:
1) After opening an existing project, the first table is already selected but the edit, clone, delete buttons are disabled.
 2) ERD project title gets changed when 2 ERD projects are open & anyone of it edited.
 3) Closing the ERD tab does not ask for a confirmation pop-up.
 4) Shortcut for 'Show more/Fewer details' is missing.
 5) Deleting the primary key does not delete associated links.
 6) The long table & schema name are getting out of the box.
 7) The long table name in the notes pop-up needs re-alignment.
 8) The same table name present in ERD/canvas is allowed in Add Table dialogue. Added validation in the dialog.
 9) Download image option is added, but it is not perfect yet. Image icons (table, schema, etc.) are not showing up.
 10) Rename panel option should be disabled by default. It should be enabled for the tools which implement rename functionality.
 11) The Toolbar is not visible in Safari for the ERD tool.

refs #1802
2021-01-25 17:32:56 +05:30
Aditya Toshniwal 5afa4f1995 Remove few dependencies which are not required for ERD Tool. 2021-01-18 12:53:58 +05:30
Aditya Toshniwal 0c8226ff39 Added ERD Diagram support with basic table fields, primary key, foreign key, and DDL SQL generation. Fixes #1802 2021-01-16 17:06:50 +05:30
Nikhil Mohite c86a3d64fc Added support to rename query tool and debugger tabs. Fixes #4230
Fixed an issue where non-closeable tabs are getting closed. Fixes #5923
2020-10-23 17:16:31 +05:30
Nikhil Mohite 93adf6884f Upgrade font awesome from v4 to v5. Fixes #5731 2020-08-13 12:04:00 +05:30
Pramod Ahire 68a5027d15 Added ability to generate code coverage reports for java script files. 2020-08-07 12:27:12 +05:30
Aditya Toshniwal f715373218 Replace charting library Flotr2 with ChartJS using React. Fixes #3904 2020-07-29 14:49:22 +05:30
Dave Page 85e89c869a Cleanup some code smells identified by SonarQube. 2020-06-10 16:42:59 +01:00
Aditya Toshniwal eb971a0320 Update Codemirror version to the latest which allows us to set screen reader labels on Codemirror editor.
refs #5197
2020-06-08 12:26:12 +05:30
Aditya Toshniwal 824e3866d8 Replace the existing color picker - spectrum-colorpicker with @simonwep/pickr.
spectrum-colorpicker has accessibility issues and is not maintained since long

Part of #5197
2020-04-03 17:06:47 +05:30
Pradip Parkale eaf4781f5f 1) Added accessibility support in AlertifyJS. Fixes #5154
2) Fix accessibility issue for the maximize button of the Alertify dialog. Fixes #5143
2020-02-25 18:23:36 +05:30
Nagesh Dhope b6173c9d7b Added tab navigation on close buttons for all the panels and create/properties dialog.
Added tab navigation for scroll left and scroll right buttons on the main window.

Fixes #4601
2020-02-04 11:30:33 +05:30
Aditya Toshniwal e2bfac9e42 Replace node-sass with sass for SCSS compilation. Fixes #5096
This will fix issues reported by the yarn audit. sass is better-maintained library than node-sass.
2020-01-16 14:44:58 +05:30
Aditya Toshniwal 8b99a33e6e 1) Ensure that path file name should not disappear when changing ext from the dropdown in file explorer dialog. Fixes #3812.
2) Fix column resizable issue in the file explorer dialog. Fixes #4827.

Used tablesorter's resizable widget.
2020-01-10 12:53:32 +05:30
Nagesh Dhope a54efeddfa Updated wcDocker package which includes aria-label accessibility improvements. Fixes #5072. 2020-01-10 11:58:55 +05:30
Aditya Toshniwal 964f746d76 Fix syntax highlighting in code mirror for backslash and escape constant. Fixes #4198. 2020-01-01 18:11:47 +05:30
Aditya Toshniwal 43d37e3b4c Fix vulnerability issues reported by 'yarn audit'. Replace the deprecated uglifyjs-webpack-plugin with a terser-webpack-plugin. Fixes #5004. 2019-12-11 14:02:27 +05:30
Akshay Joshi bb845817d6 Fix vulnerability issue for package 'mem', which is a dependency module for eclint.
Remove unused eclint module from the package.json
2019-11-20 14:47:04 +05:30
Aditya Toshniwal 8180403f97 1) Added support for custom theme creation and selection. Fixes #4348.
2) Added Dark(Beta) UI Theme option. Fixes #3741.
3) Fix an issue where a black arrow-kind image is displaying at the background of browser tree images. Fixes #4171

Changes include:
  1) New theme option in preferences - Miscellaneous -> Themes. You can select the theme from the dropdown.
     It also has a preview of the theme just below the dropdown. Note that, a page refresh is needed to apply changes.
     On saving, a dialog appears to ask for refresh.
  2) You can create your own theme and submit to hackers. README is updated to help you create a theme. Theme will be available only after the bundle.
  3) Correction of SASS variables at few places and few other CSS corrections.
  4) Added iconfont-webpack-plugin, which will convert all the SVG files(monochrome) used as icons for buttons to font icons.
     This will allow us to change the color of the icon by using CSS color property.
  5) All the .css files will bundle into a separate file now- pgadmin.style.css. This will help reduce the size of
     theme CSS files as CSS in .css files will not change with the change of SASS variables.
2019-11-07 18:51:03 +05:30
Aditya Toshniwal f16498a8a7 Optimize Webpack to improve overall performance.
Changes include:
1) Remove underscore-string and sprintf-js packages as we were using only %s. Instead, added a function to do the same. Also changed gettext to behave like sprintf directly.
2) backgrid.sizeable.columns was not used anywhere, removed. @babel/polyfill is deprecated, replaced it with core-js.
3) Moved few css to make sure they get minified and bundled.
4) Added Flask-Compress to send static files as compressed gzip. This will reduce network traffic and improve initial load time for pgAdmin.
5) Split few JS files to make code reusable.
6) Lazy load few modules like leaflet, wkx is required only if geometry viewer is opened. snapsvg loaded only when explain plan is executed. This will improve sqleditor initial opening time.

Reviewed By: Khushboo Vashi
Fixes #4701
2019-10-10 12:05:28 +05:30
Aditya Toshniwal 99b51f8f20 Remove HardSourceWebpackPlugin as WebPack 4 is fast enough and it causes more problems than it solves. 2019-08-08 15:38:47 +01:00
Aditya Toshniwal 8780462708 Add various make targets for auditing the Python and JS modules. Update the install-node target so that it de-dupes JS modules.
Original patch by Aditya, with further work from Ashesh and I.
2019-08-02 14:05:09 +01:00
Aditya Toshniwal aab5fadc01 Update wcDocker to allow the browser's context menu to be used except in tab strips and panel headers. Fixes #4229
Update wcDocker to prevent window state loading creating blank dialogues. Fixes #4489
2019-08-01 15:36:40 +01:00
Dave Page 3cb02bcdc3 Add a warning to notify packagers of dependency updates. 2019-07-29 11:24:54 +01:00