is set to True and AUTHENTICATION_SOURCES is the webserver. Fixes#6928
2) Fixed an issue where the existing server group is disappeared on rename it. Fixes#6930
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
1. When attaching a partition, tables were not loading in the dropdown.
2. When adding a sub partition in a partition, collations were not loading in dropdown.
3. Fix some grid column widths in table node.
Fixes#6783
2) Default values not populated for inherited columns. The existing issue, API changed.
3) Options are not populated for Name in Column > Variable tab.
4) The empty check error message is changed from Label cannot be empty to Label in Collection cannot be empty for collections.
Fixes#6763
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
Fixed following issues:
1. If the database name contains escape characters then PSQL unable to connect.
2. If the user terminates the connection by typing the 'exit' command, PSQL
will show the connection termination msg.
Fixes#2341
2) Ensure that proper error message should be shown on the properties and statistics tab in case of insufficient privileges for a subscription. Fixes#6259
3) Fixed an issue where the 'Create Slot' option is disabled in case of the same IP/host provided but the port is different. Fixes#6260
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
instead of the system tray and web browser. Used NWjs to get rid of QT
and C++. Fixes#5967
Use cheroot as the default production server for pgAdmin4. Fixes#5017
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
- Refactor functions to not always return the same value.
- Rename "cls" to "self" or add the missing "self" parameter.
- Remove useless assignment to variables.
The screen.width & screen.height does not reflect the values of the
height and width respectively when zoom level is changed for the
browser. It is better to review the calculated height and width based
on the window.innerHeight and window.innerWidth and re-evaluate them.
1) Properties of variables with "null" or "undefined" values should not be accessed
2) Variables should not be self-assigned
3) "in" should not be used with primitive types
1) option+arrow (L/R) should skip by "word"
2) option+arrow (up/down) should go up/down one line
3) shift+option+arrow (L/R) should select/highlight by "word"
- 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.
1) Added entry for .scss to change the shadow of 'ajs-close' button.
2) allow the user to use the keyboard to update the Backgrid cell DateTime picker control.
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.
With the change of data adapter, we have configured adapters for tags and tokenizers.
We also renamed the method onDemandLoad to showOnScroll to avoid confusion.
1) Dashboard -> Server Activity grid: terminate the session, cancel active button not navigable using tab key.
2) SQL -> If the focus inside code mirror control tab navigation not working.
Fixes#4930
1) Suppress ESC key presses in Alertify dialogues when the come from Select2 controls (It also closes the alertify dialog when user try to close Select2 using ESC key)
2) Do not allow Tabindex focus on Switch control when it is disbaled
3) Tab keyboard shortcut navigation does not work in wcDocker iframe.
Fixes#4935
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
Attached is a tiny but very effective patch to improve the speed of
finding a node using path (used internally).
If you right click or just click on a node, internally the node is
traversed using its path. But currently, it compares with the path of
all the open nodes to find a match.
So if you 1000+ tables and the tables node is open and if you click on
a view, the view path is compared with all the 1000+ tables (and with
any other open nodes above) before arriving to path. You're at bad luck
if you have more open servers above.
Code is changed to check if the path of node to be found starts with the
current node path. If it doesn't match, why bother the children's of
current node.
This change will not show much effect for small data, but it does matter
for large servers.
One more change is to remove unnecessary calls to find node and use the
data available with Main Menu -> Object to enable/disable node context
menu items.
tree toggle issue
Query tool inteliSence issue eg. when there is only one option and drop down is not shown
Backup and restore windows locator changes
Fixes required due to resolving rm # 4041
Dependent tab not showing data sometime, so refreshed the page and handled it
Due to change of logic for auto commit, did the required changes
Due to fix of RM 4062, did the required workaround which broke the test case.