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
2) Ensure that the diagram should not vanish entirely if zooming out too far in ERD. Fixes#6164
3) Fixed an issue where Generate SQL displayed twice in the ERD tool. Fixes#6179
4) Updated missing documentation for the 'Download Image' option in ERD. Fixes#6180
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
will result in multiple rows. Fixes#5526
Fixed an old issue where quotes are not escaped when copying the cells.
As per CSV standards, if the string is in double quotes and there are
double quotes inside the string then they should be escaped with extra double-quotes.
Introduced two config params:
1. USER_INACTIVITY_TIMEOUT - Interval in seconds for the timeout. Default is 0-Zero which means disabled.
2. OVERRIDE_USER_INACTIVITY_TIMEOUT - If set to true, tools like query tool or debugger will override USER_INACTIVITY_TIMEOUT
and will not allow the application to timeout if a query is running for a long time.
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
When a query is run in the Query Tool, check if the source of the columns
can be identified as being from a single table, and that we have all
columns that make up the primary key. If so, consider the resultset to
be editable and allow the user to edit data and add/remove rows in the
grid. Changes to data are saved using SAVEPOINTs as part of any
transaction that's in progress, and rolled back if there are integrity
violations, without otherwise affecting the ongoing transaction.
Implemented by Yosry Muhammad as a Google Summer of Code project.