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.
2. Fixed an issue where the History tab is getting blank and showing an error after some queries are executed. Fixes#7468
3. Fixed query tool view data crash.
2. Fixed an issue where the Query Editor loses focus when saving a query (Alt+s). Fixes#7521
3. Ensure that an error is thrown if clipboard access is not provided and change the copy rows shortcut. Fixes#7452
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
1) Change all theme's color codes.
2) Bar graph for the first and last labels on the X-axis does not display all the bars.
3) Make the graphs always start from zero on the Y-axis.
1) Allow the user to set the row limit and chart line width.
2) Zoom should only be applied to X-axis, not both.
3) On clicking the 'Generate' button, the chart should return to its original zoom level.
4) Negative values are not displayed.
refs #7485
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
1) In Dark mode > Replace/Find dialogue forward & reverse buttons are stuck to each other.
2) In Dark/High contrast mode > Checkbox is not visible for false value.
3) Wrap toolbar when size goes very small.
4) Replace functionality does not work when tried in sequence 2 times. Codemirror search is not cyclic. So, changes are made to always search from the start.
5) Replace all does not work when tried in sequence 2 times. Same reason as above.
6) Fix broken macros $SELECTION$ feature.
7) Make query history SQL readonly.
8) The Filter dialog save button should be disabled when opened.
1) Failed to fetch query history error sometimes.
2) In copy paste row, if a copied row has [null], then those are pasted as an empty string.
3) When Data output is empty, show an empty grid.
4) Schema diff generates a script button resulting in an empty window. Fixes#7306.
5) Detach the DataOutput panel > Try editing text cell > Text editor is hidden behind the data output panel
refs #6131
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
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
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
1) Immediately return this expression instead of assigning it to the temporary variable.
2) Extract this nested ternary operation into an independent statement.
3) Expected a `for-of` loop instead of a `for` loop with this simple iteration.
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) Remove extra line after Manage Macros menu while clearing all macros. Fixes#5906
3) Ensure that 'Clear All Rows' should not work if there is no existing macro available and the user does not specify any value. Fixes#5907
4) Fixed an issue where the server is disconnected error message displayed if the user creates Macro with invalid SQL. Fixes#5929
1. Show servers with server groups in the dropdown.
2. Highlighted current selected connection in the new connection dropdown.
3. Notify the user before changing the connection.
refs #3794
1. Updated connection success message. (Added database name in the success message.)
2. Resolve issue of the mouse pointer and dropdown will show below the connection string only.
3. Added loader for both new connections and load existing connections.
4. Removed async: false for update connection.
refs #3794
1) Replace the deprecated unit test method.
2) Wraps filter usage in a list call.
3) Converts the old metaclass syntax to new.
4) Use range instead of xrange method.
5) Change Unicode to str.
6) Several other transformations.
7) Fixed change password test cases.
8) Use simplejson instead of plain JSON.
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.
- Remove this assignment to the local variable, the value is never used.
- Rename local variables to match the regular expression
- Add logic to this except clause or eliminate it and rethrow the exception automatically.
- Rename fields to match the regular expression
- Extract this nested conditional expression into an independent statement.
- Change this default value to "None" and initialize this parameter inside the function/method.
- Update this function so that its implementation is not identical to __repr__
- Refactor this method to not always return the same value
- Reraise this exception to stop the application as the user expects
- Add missing parameters _w _PY3. This method overrides simplejson.decoder.JSONDecoder.decode.
- Remove this redundant continue.
- Remove this unused function declaration
- Remove this identity check; it will always be False.
- Refactor functions to not always return the same value.
- Rename "cls" to "self" or add the missing "self" parameter.
- Remove useless assignment to variables.
1. Boolean checks should not be inverted.
2. The comma operator should not be used.
3. Arguments to built-in functions should match documented types.
4. Redundant pairs of parentheses should be removed.
5. A conditionally executed single line should be denoted by indentation,
6. A while loop should be used instead of a 'for' loop.
We observed that sometimes the browser is getting hanged and sometimes
the ViewData grid is getting disappear. We suspect its due to the number
of rows to update on the slick grid after fetching next of rows.
1) Copy table rows across two or more active query tool sessions.
2) Copied rows can be pasted multiple times without selecting a row in the query tool grid.
3) Adds an empty row at the end in the query tool grid after pasting rows.
- fixed gettext usage with .format() only for original text with %s
- fixed typos
- fixed translation yes/no buttons in the dialog.
- improved translating sentences without "connecting" words (eg. see web/pgadmin/dashboard/static/js/dashboard.js,
word 'cancel' needs to be translated in the Czech language as 'zrušit' but in another sentence as 'zrušení')
- added gettext for text translations.
- Using the 'gettext' as oppose to '_', which is not defined
- Define missing variables
- Fixed escape character in string with double quote
- Removed some dead code in a test case
- Removed unnecessary self assignment
Includes some fixes for Accessibility improvements
- Use semantic markup to mark emphasized or special text
- Added hidden legend in <fieldset> for better screen reader support
1) Fixed usage gettext('') instead of _('') in javascript files.
2) Fixed usage gettext('') instead of `${gettext('')}` in javascript files,
because "pybabel extract" not support extracting from this syntax.
Improve the style of the highlighted code after query execution for Dark mode. Fixes#4996.
Changed background pattern for geometry viewer to use #fff for all themes. Fixes#5077
Changed the color of selected and hovered item for Select2 dropdown, also tweak the appearance of the tags in multi-select boxes. Fixes#4955
Fixed Firefox monospaced issue by updating the font to the latest version. Fixes#5184
Allow screen-reader to identify the alert errors. Fixes#4763
Added role alertdialog for confirm and alert dialog.
Added role status for all status bars/banners.
Added role alert for error bars.
Added aria-labelledby for charts on each dashboard.
Added tabindex for each chart so that it is navigable using tab key.
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.
1. Grid header should be center aligned vertically.
2. Increase the space between object counts.
3. The previous selected objects should not be re-selected on comparison.
Currently supported objects are Table, View, Materialized View, Function and Procedure.
Backend comparison of two schemas implemented by: Akshay Joshi
Fixes#3452.
2) Fix server connection drops out issue in query tool. Fixes#4818
3) Fix VPN network disconnect issue where pgAdmin4 hangs on expanding the Servers node. Fixes#4926.
4) Ensure that the Servers collection node should expand independently of server connections. Fixes#4933.
Set the default connection timeout to 10 seconds instead of 0.
1. Added an attribute 'data-click-counter' in query execute button which gets incremented
once query button is clicked up to 9 and then reset to 0. This is added just to support automation.
2. Locator for login_group_role is added and used to expand tree.
3. Functions for enabling and disable auto_commit and auto_rollback are made more precise.
4. Some scrolling problem is addressed in view_data_dml_query test.
5. Handled the stale element reference exception in query_tool_journey_test
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.
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
workaround rendering speed issues in CodeMirror with very large scripts.
Fixes#4631.
Re-arrange editor options in the Preferences dialogue to tidy things up.