Commit Graph

217 Commits

Author SHA1 Message Date
Yogesh Mahajan
c7fd1ae535 Enables pgAdmin to retrieve user permissions in case of nested roles which helps to terminate the session for AWS RDS. Fixes #6641 2021-08-24 17:01:06 +05:30
Yogesh Mahajan
8d53c10643 Fixed styling for JSON Editor to match with pgAdmin4 style.
refs #5198
2021-08-06 18:01:50 +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
Akshay Joshi
a0b2a28ee2 1) Set the default value of the long-running threshold to 2 minutes for warning and 5 minutes for the alert.
2) Use $color-danger for the alert threshold.
2021-07-06 19:52:37 +05:30
Khushboo Vashi
48ca83f31d Added support for OAuth 2 authentication. Fixes #5940
Initial patch sent by: Florian Sabonchi
2021-07-06 13:22:58 +05:30
Akshay Joshi
ef67409d61 Highlighted long running queries on the dashboards. Fixes #1975 2021-07-01 18:10:55 +05:30
Rahul Shirsat
658a2de619 Fixed the issue of renaming the database by another user. Fixes #4203 2021-05-31 12:41:09 +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
Akshay Joshi
ac403d0dfa Fixed an issue where the current debug line is not visible in the 'Dark' theme. Fixes #6409 2021-05-04 12:34:03 +05:30
Aditya Toshniwal
2b1910c1c1 Better fix for the black screen issues, reverted the old fix.
refs #6334
2021-04-16 18:23:29 +05:30
Nikhil Mohite
be31fb08f1 Fix following scroll bar issues:
1) Stop overwriting the text in the scroll bar area.
2) Make scroll bars functional.
2021-03-23 19:17:01 +05:30
Pradip Parkale
ff06a18155 1) Fixed an issue where the incorrect values visible in the dependents tab for publication. Fixes #6307
2) Ensure that the primary key should be visible properly in the table dialog. Fixes #6316
2021-03-16 11:43:27 +05:30
Nikhil Mohite
8031961205 Fixed alignment issue under preferences for the German language. Fixes #4014 2021-03-12 13:33:04 +05:30
Nikhil Mohite
7bad4ca535 Show the login roles that are members of a group role be shown when examining a group role. Fixes #5404 2021-03-12 13:11:09 +05:30
Pradip Parkale
408df750be Fixed color issue on the statistics tab for collection node in the safari browser. Fixes #4020 2021-03-12 11:49:58 +05:30
Nikhil Mohite
f65eb546b7 Fixed codemirror black screen issue on OSX. 2021-02-19 11:14:49 +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
Pramod Ahire
b948f43dda Added Quick Search functionality for menu items and help articles. Fixes #6148 2021-02-02 14:47:58 +05:30
Aditya Toshniwal
3f563d8cbf 1) Fixed an issue where the Save button is disabled due to the existing table check in ERD.
2) Fix warnings given by webpack.
2021-01-25 19:44:24 +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
Aditya Toshniwal
6589f82e77 Improve the explain plan details by showing popup instead of tooltip on clicking of the specified node. Fixes #5488 2021-01-12 16:43:30 +05:30
Aditya Toshniwal
233736897d Added 'CREATE TABLE' SQL missed in the last patch for #5571
refs #5571
2021-01-04 15:06:28 +05:30
Nikhil Mohite
dbb4a46d46 Fixed accessibility issues in various dialogs. Fixes #6077 2020-12-24 13:26:25 +05:30
Nikhil Mohite
c933771016 Fixed accessibility issues in schema diff module. Fixes #6065 2020-12-23 12:57:16 +05:30
Nikhil Mohite
2793747d3c 1) Added support for dynamic tab size. Fixes #4231
2) Fixed an issue where a long file name is not visible on the process watcher dialog. Fixes #5950
2020-11-04 17:45:28 +05:30
Rahul Shirsat
183c83f0d2 Fixed an issue where the validation error message is shown twice. Fixes #5736 2020-10-30 14:59:22 +05:30
Pradip Parkale
365ec0ba9f Fixed an issue where 'Rows X' column values were not visible properly for Explain Analyze in Dark theme. Fixes #5853. 2020-10-09 18:17:27 +05:30
Nikhil Mohite
be7bb81a19 Allow user to change the database connection from an open query tool tab. Fixes #3794 2020-10-01 13:29:46 +05:30
Aditya Toshniwal
1fc06b8d57 Added useful message when the explain plan is not used and empty. Fixes #4806 2020-09-28 17:51:59 +05:30
Khushboo Vashi
4616a74029 Added Macro support. Fixes #1402 2020-09-28 15:26:45 +05:30
Aditya Toshniwal 
bf183bdcff Change the explain plan SVG colors based on the theme. Fixed some minor color issues in the analysis tab. 2020-09-17 20:17:54 +05:30
Pradip Parkale
8e132eab08 Fixed some accessibility issues. Fixes #5732 2020-09-15 13:03:18 +05:30
Aditya Toshniwal
28b637c99c Fixed RE-SQL test cases failed due to the previous commit.
Introduces a new key - replace_regex_pattern to synchronize the
expected SQL with the backend SQL based on the regex string
2020-08-27 19:08:00 +05:30
Dave Page
4eb17afe4e Warn the user when connecting to a server that is older than pgAdmin supports. Fixes #5772 2020-08-25 17:18:43 +01:00
Akshay Joshi
8f61944386 1) Added special handling for the extension to resolve the dependency.
2) Added 'is_sys_obj' to the ignore list of Schema Diff.
3) Font awesome v5 fixes.
2020-08-13 17:48:04 +05:30
Nikhil Mohite
93adf6884f Upgrade font awesome from v4 to v5. Fixes #5731 2020-08-13 12:04:00 +05:30
Aditya Toshniwal
f715373218 Replace charting library Flotr2 with ChartJS using React. Fixes #3904 2020-07-29 14:49:22 +05:30
Nikhil Mohite
5f619ae40a Ensure that data output color is readable on row selection. Fixes #5687 2020-07-21 18:54:06 +05:30
Nikhil Mohite
3983e2c13c Fix the following issues for High Contrast Theme:
1) Schema diff compare button icon is not visible on hover.
  2) Schema diff for identical section text is not readable due to the same color as the background.
  3) Removed extra variables used for set text color for explain - Analysis section (Issue related dark theme.). 
  4) Issue related to the disabled toggle button.

refs #5653
2020-07-20 15:12:46 +05:30
Nikhil Mohite
7edcca9b07 Added High Contrast theme support. Fixes #5653
Fixed text color issue in explain analyze for the Dark theme. Fixes #5677
2020-07-20 11:51:21 +05:30
Aditya Toshniwal
161c9b0fc7 Fixed code smell 'Variables should not be shadowed'.
Fixed all the duplicate CSS blocks issues raised by SonarQube.
2020-07-14 15:45:01 +05:30
Satish V
2ebf203412 Fixed issue of error message not getting displayed when filename is empty for backup, restore, and import/export. Fixes #3814. 2020-07-06 19:04:26 +05:30
Aditya Toshniwal
341c3aded6 Fixed dark theme-related CSS and modify the color codes. Fixes #5287
Fixed backgrid row hover issue where on hover background color is set for edit and delete cell only. Fixes #5470
2020-07-03 11:47:40 +05:30
Ashesh Vashi
1366dd1fcd Show horizontal scrollbar when needed in the menubar in the lower
resolution, when navbar button is visible.

Added appropriate CSS in the .navbar-collapse class to show scrollbar
in screen resolution (992px widith)
2020-07-02 11:21:23 +05:30
Ashesh Vashi
3102a8d24b Fix the dialog size when zoom level is changed of the browser.
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.
2020-07-01 11:49:43 +05:30
Satish V
a1fd9ea3ce Fixed issue related to extra semicolons and function naming convention reported by SonarQube. 2020-06-24 16:16:12 +05:30
Akshay Joshi
15c621b1d8 Fixed following SonarQube issues:
1) TypeError can be thrown as <variable_name> might be null or undefined here.
2) Unexpected duplicate "white-space".
3) Unexpected missing generic font family.
4) Unexpected shorthand "padding" after "padding-left".
2020-06-24 15:57:01 +05:30
Akshay Joshi
5ed1e1e5b6 Fixed some sonarqube issues. 2020-06-17 19:30:56 +05:30
Akshay Joshi
9d08776824 Ensure that maintenance job should be worked properly for indexes under a materialized view. Fixes #4223. 2020-05-11 16:47:36 +05:30
Aditya Toshniwal
90849fe29b Fixed mouse click issue where it does not select an object in Browser unless the pointer is over the object. Fixes #4180 2020-04-24 11:32:11 +05:30
Aditya Toshniwal
014ce31589 Fixed user management related issues:
1) Unable to add a user when there are many users. The dialog went blank. Fixed.
 2) The error message did not have a close button. Fixed.
 3) When clicked on the add button, then the cursor will focus on the email box of
    the new row for convenience.
 4) When the dialog opens, the cursor will focus on the search text box.
 5) By default, the "User" role will be selected when adding a new user.
    Also removed an empty option in the roles dropdown.
 6) When the search filter is applied and we try to add an already existing user, the
    validation is done only on the filtered data and not on all the users' data. 

Fixes #5227
2020-04-10 16:49:33 +05:30
Aditya Toshniwal
d6bc3ccc8b Fixed cursor disappeared issue in the query editor for some of the characters when zoomed out. Fixes #3988 2020-04-07 11:51:19 +05:30
Aditya Toshniwal
e1f990190e Added search object functionality. Fixes #2172 2020-04-06 17:33:07 +05:30
Aditya Toshniwal
4f71dae598 Fixed calendar opening issue on the exception tab inside the schedules tab of pgAgent. Fixes #4512 2020-04-06 12:59:22 +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
13b65c9a6a Fixed tab key navigation issue for Grant Wizard. Fixes #5241
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.
2020-03-30 17:31:50 +05:30
Nagesh Dhope
f17d4530a3 Fixed focus color issue for Alertify dialog buttons. Fixes #5292 2020-03-26 15:30:31 +05:30
Aditya Toshniwal
6988ce96d7 Change some colors and opacity to comply with WCAG color contrast standards. Fixes #5128 2020-03-23 18:15:39 +05:30
Murtuza Zabuawala
83785da1bc Enhance the color of switch control for both light and dark theme. Fixes #5271 2020-03-19 13:59:03 +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
Aditya Toshniwal
9bad590e9e Improvements in the UI for both default and dark themes. Fixes #5133
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
2020-02-24 14:11:00 +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
0da23b837d Set input controls as read-only instead of disabled will allow tab navigation in the properties tab and also allow screen readers to read it. Fixes #4993 2020-01-31 12:37:44 +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
Khushboo Vashi
45f2e35a99 Added Schema Diff tool to compare two schemas and generate the difference script.
Currently supported objects are Table, View, Materialized View, Function and Procedure.

Backend comparison of two schemas implemented by: Akshay Joshi

Fixes #3452.
2020-01-10 15:42:09 +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
Aditya Toshniwal
6e2cf8ced2 Changed the open query tool and data filter icons. Fixes #4990. 2019-12-06 19:27:55 +05:30
Murtuza Zabuawala
f901eeeb4a Fix an issue where context menu is open along with submenu and the focus is not on context menu or submenu. Fixes #4991. 2019-12-05 11:14:59 +05:30
Aditya Toshniwal
0a67b2ecb9 Added aria-label to provide an invisible label where a visible label cannot be used. Fixes #4772. 2019-12-03 12:47:42 +05:30
Nagesh Dhope
397a1b9616 Fix main window tab navigation accessibility issue:
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
2019-11-15 11:31:19 +05:30
Aditya Toshniwal
42cd2a2276 Set browser autofill color as primary light to highlight autofill. This works only on WebKit browsers. 2019-11-13 11:35:09 +05:30
Aditya Toshniwal
79e04d5e23 Customize the scrollbar stying. Added new SASS variable to change the color as per theme. 2019-11-12 19:38:35 +05:30
Aditya Toshniwal
636ab29669 Further changes to the welcome dashboard for theme customization. 2019-11-12 17:53:52 +05:30
Aditya Toshniwal
c1c682402a 1) Further styling tweaks for Dark Theme.
2) Theme related code changes are removed from config.py and moved to miscellaneous under a new package - "themes".
2019-11-11 18:47:43 +05:30
Dave Page
4c192393b0 Tone down the primary FG colour in dark mode a touch. 2019-11-07 14:24:42 +00:00
Dave Page
1ebf7948c6 Quick tweak to increase the contrast of dark mode a little prior to a real review of the colours tomorrow. 2019-11-07 14:09:51 +00:00
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
a804485a4c Ensure context menus never get hidden below the menu bar. Fixes #3789 2019-10-25 11:31:25 +01:00
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
Ashesh Vashi
6e4923d762 Fixes # 4778 - Implement the query plan analyzer
Look 'n' Feel and implementation logic are inspired from
'http://explain.depsez.com'.

It now creates three tabs under the 'Explain' panel when executing a
query using the Explain Analyze/Explain button from the toolbar of the
Query tool.

Graphical
---------
-> Graphical Explain Plan

Analysis
--------
-> Table to show details of the explain plan analyse.
-> Each row represents the statistics per Explain Plan Node
-> It may contains columns like node information, exclusive timing
   (time spent for this explain node excluding the child nodes),
   inclusive timing, actual rows, plan rows,
   rowsx (misestimation between planned vs actual rows), loop.
-> Background color of exclusive, inclusive, rows changes based on
   their values.
i.e.
If Percentage of exclusive, and inclusive timings of total query time
is:
> 90 - Red Color
> 50 - Orange (Between Red & Yellow Color)
> 10 - Yellow color

If planner misestimation for the rows is
> 1000 times - Red Color
> 100 times - Orange (Between Red & Yellow Color)
> 10 times - Yellow Color
Also - if actual rows <= planned rows then it shows up arrow, else it
shows down arrow.

Statistics
----------
-> It contains a HTML table for the statistics per Node Type, and
   a HTML table for the statistics per table.

Reviewed by: Akshay Joshi
2019-10-08 16:44:24 +05:30
Aditya Toshniwal
41ee58e79a Highlighted the color of closing or opening parenthesis when user select them in CodeMirror. Fixes #4728 2019-10-04 13:55:00 +05:30
Aditya Toshniwal
1281f5cd6c Fix console error when changing kind(SQL/BATCH) for pgAgent job step. Fixes #4582 2019-08-08 18:43:38 +05:30
Akshay Joshi
537c27a58e Use the full tab space for CodeMirror instances on dialogues where appropriate. Fixes #4540 2019-08-02 10:25:21 +01:00
Dave Page
9a8a28e4f9 Allow a banner to be displayed on the login and other related pages showing custom text. Fixes #4549 2019-08-01 11:39:40 +01:00
Akshay Joshi
2ef3080d0e Add support for generated columns in Postgres 12+. Fixes #4334
Ensure columns can be created when they are IDENTITY fields with the CYCLE option enabled. Fixes #4496
Ensure purely numeric comments can be saved on new columns. Fixed #4497
2019-07-25 16:38:26 +01:00
Ganesh Jaybhay
136bb412a1 1) Fix accessibility issue for checkbox in IE11. Fixes #4490
2) Fix adjacent switch cell focus issue in backgrid for IE.
2019-07-25 17:23:56 +05:30
Yosry Muhammad
710d520631 Add support for editing of resultsets in the Query Tool, if the data can be identified as updatable. Fixes #1760
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.
2019-07-17 11:45:20 +01:00
Murtuza Zabuawala
20a5899c7d Fix some minor UI issues on IE11. Fixes #4462
Includes some Jasmine test case fixes from Ganesh.
2019-07-12 10:06:30 +01:00
Ganesh Jaybhay
4cbc1f2f59 Allow keyboard navigation of all controls on subnode grids. Partially fixes #3919 2019-07-11 10:14:01 +01:00
Aditya Toshniwal
173b812b93 Allow some objects to be dragged/dropped into the Query Tool to insert their signature into the query text. Fixes #4139 2019-06-27 10:30:05 -04:00
Aditya Toshniwal
23364464c2 Ensure the correct label is used in panel headers when viewing filtered rows. Fixes #4228 2019-06-11 15:11:23 +01:00
Dave Page
2dd075161d Allow the UI layout to be fully locked or to prevent docking changes. Fixes #2653 2019-05-31 11:51:30 -04:00
Aditya Toshniwal
15252b0a26 Added Help button on all master password dialogs. 2019-05-29 13:07:50 +05:30
Aditya Toshniwal
361f7077fd Update the UI logo. Artwork by Chethana Kumar. Fixes #4208 2019-05-23 16:39:10 +01:00
Aditya Toshniwal
db4bb22cc6 Ensure that element should get highlighted when they get focus on using Tab key. Fixes #4245 2019-05-15 17:42:07 +05:30
Khushboo Vashi
97919d091a Add support for IDENTITY columns. Fixes #4030 2019-03-28 13:13:43 -04:00
Dave Page
a5ebdafb82 Enlarge the grab handles for resizing dialogs etc. Fixes #4063 2019-03-25 07:50:55 -04:00
Dave Page
870d373ced Change the CodeMirror active line background colour to $color-danger-lighter so it doesn't conflict with the selection colour. Fixes #4073 2019-03-13 16:04:26 +00:00
Dave Page
1770c94b07 Fix the text highlight colour. 2019-02-25 17:08:05 +00:00