Commit Graph

949 Commits

Author SHA1 Message Date
Khushboo Vashi
9bee91b6f6 1) Fixed an issue where the Save button is enabled by default in Macro. Fixes #5905
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
2021-01-20 13:52:00 +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
a2edf317a9 Ensure that the user should be able to specify an older date for the account expiration of the role/user. Fixes #6120 2021-01-15 11:38:08 +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
Akshay Joshi
b372f08a59 Update copyright notices for 2021 2021-01-04 15:34:45 +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
Aditya Toshniwal
5448de2d3f Added support for expression in exclusion constraints. Fixes #5571 2020-12-24 12:50:57 +05:30
Nikhil Mohite
c933771016 Fixed accessibility issues in schema diff module. Fixes #6065 2020-12-23 12:57:16 +05:30
Rahul Shirsat
6475a70514 Ensure that the macro query result should be download properly. Fixes #5965 2020-12-14 11:58:53 +05:30
Nikhil Mohite
5370bb4515 Added the appropriate server icon based on the server type in the new connection dialog. Fixes #5983 2020-11-12 17:52:54 +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
Nikhil Mohite
6c723a7e43 Fixed an issue where connection to the server is on wait state if a different user is provided. Fixes #5953 2020-10-28 12:32:22 +05:30
Nikhil Mohite
b5f9fffadd Fixed the following issues:
RM-4232:
1. If the user adds a percentage (other than for placeholders) then it is stripped off.
2. Backslash is getting removed in the connection string if we provide the backslash(\) in placeholders or the database name contains it.
3. If the user added only spaces( )in placeholders it is not getting reset to default values.

RM-4230:
1. Rename panel option is not working in the debugger.
2. Added Rename panel for schema diff.

Fixes #4232 #4230
2020-10-27 11:03:00 +05:30
Pradip Parkale
7573fac29f Ensure that query history should be listed by date/time in descending order. Fixes #5842 2020-10-23 15:06:56 +05:30
Nikhil Mohite
275d13d40f Following issues have been resolved for the new connection feature:
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
2020-10-21 17:14:59 +05:30
Nikhil Mohite
18cad32bd4 Added tab title placeholder for Query Tool, View/Edit Data, and Debugger. Fixes #4232 2020-10-20 15:41:54 +05:30
Nikhil Mohite
2b7e3ce64e Fixed an issue on a new connection when the server is disconnected and we are trying to connect it using the new connection model. 2020-10-12 17:14:42 +05:30
Khushboo Vashi
49b139bb75 Added escape and unescape for the strings used in query tool and new connection support. Fixes #5899. 2020-10-12 16:20:33 +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
Khushboo Vashi
f4d6290b50 Update the macro help link. 2020-10-09 11:52:46 +05:30
Nikhil Mohite
1c796720be Fixed the following issues for RM 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
2020-10-08 11:38:05 +05:30
Murtuza Zabuawala
483eeeca39 Added gettext and escape around Macro name and label. Fixes #5894 2020-10-08 11:23:45 +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
Aditya Toshniwal 
95a5b1e459 Some more accessibility fixes.
refs #5732
2020-09-17 20:16:38 +05:30
Pradip Parkale
8e132eab08 Fixed some accessibility issues. Fixes #5732 2020-09-15 13:03:18 +05:30
Rahul Shirsat
62e6848dc8 1) Added tooltip & keyboard shortcut for the query tool button.
2) Fixed TypeError issue.

refs #4059
2020-09-09 19:32:33 +05:30
Aditya Toshniwal
f8f00b4ecf Fixed an issue in the query tool when columns are having the same name as javascript object internal functions. Fixes #5765. 2020-09-07 18:10:27 +05:30
Akshay Joshi
ddf5b33219 Added exclamation icon to alertify warning messages. 2020-09-02 17:27:26 +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
Neel Patel
b53de0c31d Updated some more font awesome icons for v5 2020-08-21 14:15:18 +05:30
Akshay Joshi
dd6ae193ff Replace 'fa-clock-o' with 'fa-clock' which is appropriate for font awesome v5 2020-08-21 13:44:29 +05:30
Dave Page
79e6480513 Added SQL Formatter support in Query Tool. Fixes #2042 2020-08-20 13:05:00 +05:30
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
26a758a0d6 Fixed an issue where copying and pasting a cell with multiple line data
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.
2020-08-10 16:53:32 +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
9d0f3ce90b Fixed code smell 'potential hiding of variables declared in an outer scope'. 2020-07-16 19:53:39 +05:30
Satish V
522ddad72b Fixed code smell 'Variables should not be shadowed'. 2020-07-15 15:03:47 +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
Yogesh Mahajan
776bec0d82 Fixed following SoanrQube issues:
1) Variables should not be shadowed.
  2) Variables and functions should not be redeclared.
2020-07-07 16:25:46 +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
Yogesh Mahajan
80ab596992 Fixed the SoanrQube code smell 'Variables should not be shadowed'. 2020-07-03 14:33:30 +05:30
Khushboo Vashi
b5f0190799 Fixed the SonarQube Code smells having Rule 'Functions, methods and lambdas should not have too many parameters'. 2020-07-03 14:24:54 +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
Nikhil Mohite
2ec8051303 Remove the duplicate code for tab indent and add the logic into codemirror. 2020-07-03 10:47:39 +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
Yogesh Mahajan
6dd3ca31be Fixed SonarQube code smell 'Variables should not be shadowed'. 2020-07-01 13:43:00 +05:30
Nikhil Mohite
c2e875d54b Fixed tab indent issue on a selection of lines is deleting the content when 'use spaces == true' in the preferences. Fixes #4235 2020-07-01 13:34:48 +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
4c05287677 Fixed SonarQube code smell 'Variables should not be shadowed'. 2020-06-30 17:26:18 +05:30
Yogesh Mahajan
707ff450b5 Fixed following SonarQube issues:
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.
2020-06-26 13:12:07 +05:30
Aditya Toshniwal
d3b3d07f2e Fixed SonarQube issues with the tag unused. All the unused variables, assignments, code comments are fixed. 2020-06-25 11:09: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
Aditya Toshniwal
6620f9263d Fixed issues reported by SonarQube with tag 'bad-practice'. 2020-06-22 12:18:59 +05:30
Akshay Joshi
bc24e3643f More code cleanup for SonarQube. 2020-06-18 16:20:34 +01:00
Yogesh Mahajan
6d3f13076f Fixed 'Comma operator should not be used' issue reported by SonarQube. 2020-06-18 16:17:55 +05:30
Aditya Toshniwal
f0490a54b7 Fixed redundant tagged issue reported by SonarQube. 2020-06-18 11:14:56 +05:30
Akshay Joshi
5ed1e1e5b6 Fixed some sonarqube issues. 2020-06-17 19:30:56 +05:30
Akshay Joshi
cb268075c2 1) Added option to ignore the whitespaces while comparing objects in schema diff. Fixes #5468
2) Added server group name while selecting servers in schema diff. Fixes #5500
3) Fixed an issue where two identical tables showing different by schema diff tool. Fixes #5584
2020-06-17 16:27:51 +05:30
Aditya Toshniwal
3e00fe2b0f Fixed vulnerabilities and few design suspicions where two conditional structures are having the same implementation. Reported by SonarQube 2020-06-16 11:14:57 +05:30
Satish V
ee1ea47e88 Fixed issue 'expects 4 arguments, but 5 were provided' reported by SonarQube. 2020-06-12 15:15:07 +05:30
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
Satish V
d22e276586 Ensure that proper error should be displayed for the deleted node. Fixes #3669 2020-06-03 11:26:26 +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
Satish V
9338bdcb3a Fixed an issue where the newly added table is not alphabetically added to the tree. Fixes #5434
Fixed an issue when renaming the column not added in the proper order. Fixes #5450
2020-05-08 12:52:03 +05:30
Aditya Toshniwal
99d1068f70 Fixed an issue where the search object not able to locate pg_toast_* tables in the pg_toast schema. Fixes #5441 2020-04-27 19:51:56 +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
Satish V
2e29f3fd6d Fixed an issue where columns names should be visible in the order of their creation in the browser tree. Fixes #5043 2020-04-23 16:42:42 +05:30
Neel Patel
07f72252d7 Added job step and job schedule disable icons to identify it quickly within the browser tree. Fixes #4636
Add Reverse Engineered and Modified SQL tests for pgAgent jobs. Fixes #4623
Fixed modified SQL issue while adding an exception in pgAgent job schedule. Fixes #5356
2020-04-21 17:00:21 +05:30
Pradip Parkale
3d516101a4 Fixed an issue wherein grant wizard the last object is not selectable. Fixes #4545 2020-04-21 13:09:15 +05:30
Akshay Joshi
4692b21bcf Fixed an issue where schema diff marks an identical table as different. Fixes #5350
Fixed an issue where schema diff showing changes in the identical domain constraints. Fixes #5315

Ignore the keys from the source and target list and also sort both the lists.
2020-04-20 18:04:16 +05:30
Libor M
36a3d4e53b Some more gettext() usage fixes:
- fixed `%` vs. `.format()`
  - unified texts and usage `%s` vs. `{}`/`{0}`
  - improved text sentences for translate
  - added gettext for next texts
2020-04-20 11:19:09 +05:30
Nagesh Dhope
8bdfa18efb Ensure that if the delimiter is set other than comma then download the file as '.txt' file. Fixes #4573 2020-04-17 17:37:02 +05:30
Nagesh Dhope
0ce4f49e08 Fixed copy-paste row issues in View/Edit Data. Fixes #3947
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.
2020-04-16 15:25:39 +05:30
Murtuza Zabuawala
c41da41efe Fixed python exception error when user tries to download the CSV and there is a connection issue. Fixes #4858 2020-04-15 16:46:03 +05:30
Khushboo Vashi
ed0a596286 Added alert message to Reset Layout if any of the panels from Query Tool failed to load. Fixes #5366 2020-04-15 16:23:54 +05:30
Pradip Parkale
a05acb4f99 Fixed tab key navigation for some dialogs. Fixes #5371 2020-04-14 13:32:03 +05:30
Aditya Toshniwal
b427a87724 Fixed an issue where changing the values of columns with JSONB or JSON types to NULL. Fixes #4969 2020-04-13 12:34:32 +05:30
Aditya Toshniwal
077589e08b Fixed an issue where right-clicking a browser object does not apply to the object on which right-click was fired. Fixes #3523
Fixes keyboard navigation on the context menu applied to browser tree.
2020-04-10 17:34:57 +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
Libor M
6a9af07f7a Fixed gettext usage:
- 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.
2020-04-10 14:52:41 +05:30
Pradip Parkale
33deacacee Ensure that the grant wizard should be closed on pressing the ESC key. Fixes #4206 2020-04-07 13:48:56 +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
Vishal Sawale
99a72e529b Fixed some accessibility issues:
1) Added missing search filter label in backgrid.
  2) broken aria issue for objects menu.
2020-04-03 17:11:46 +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
Vishal Sawale
4036f2a0f2 Fixed accessibility issue for the missing label from the table header. 2020-04-02 12:47:39 +05:30
Murtuza Zabuawala
37f55ccc25 Ensure that switch cell is in sync with switch control for accessibility. Fixes #5314 2020-04-02 12:25:55 +05:30
Rahul Shirsat
75b6341a84 Ensure that the start and end date should be deleted when clear the selection for pgAgent Job. Fixes #3645 2020-04-01 13:31:36 +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
Ganesh Jaybhay
4c0b229b14 Fixed an issue where focus doesn't go to the immediate next editable cell after pressing the tab key on switch cell. 2020-03-26 10:50:01 +05:30
Libor M
94864104e4 Added and fixed gettext usage for better translation coverage. Fixes #5284
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.
2020-03-24 11:14:05 +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
Pradip Parkale
96361656e4 Fixed some accessibility issues in the dialogs:
1) Aria-label additions at few missing places.
  2) Label additions with  'sr-only' class where hidden labels required.
  3) Converted label to span to solve accessibility error.

Fixes #4608
2020-03-19 16:08:51 +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
Ganesh Jaybhay
6586be5158 Fixed some accessibility issues:
1) Screen reader to read elements in radio modern control.
2) Aria-label additions at few missing places.
3) Radiocontrol to have different ids for each option.
2020-03-12 11:09:29 +05:30
Pradip Parkale
1bd14895c3 Fix an issue where the user can not change the value of DateTime picker control using keyboard. Fixes #4237. 2020-03-10 13:21:17 +05:30
Pradip Parkale
82155cd859 Fix an accessibility issue to maximize the panel for all alertify dialog. Fixes #5143 2020-03-06 18:47:22 +05:30
Aditya Toshniwal
4db0a6524d Fix an issue where debugger not showing all arguments anymore after hitting SQL error while debugging. Fixes #5101
Added a "Clear All" button to the argument dialog which will clear all the saved arguments values from SQLite DB.
2020-02-28 15:27:01 +05:30
Aditya Toshniwal
5262405f06 Fix an issue where pgAdmin4 does not display properly on the IE browser. It's a regression of #5133
There are some changes in the backgrid-select-all.js in vendor directory and the vendor directory
is excluded from webpack compiling. We used ES6 code syntax which does not work on IE.

Code changes are done to use ES5 syntax. Fixes #5219
2020-02-28 12:29:19 +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
Akshay Joshi
29c236c33d Ensure that AlertifyJS should not be visible as a title for alert dialog. Fixes #5058 2020-02-24 12:33:23 +05:30
Nagesh Dhope
1964e824c8 Initialize the label and control className for select2 which was missing in the last commit. 2020-02-18 10:58:30 +05:30
Nagesh Dhope
3e10e2c978 Added option to override the class name of a label tag for select2 control. Fixes #5185 2020-02-17 11:58:28 +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
Pradip Parkale
210bbfdbe1 1) Added labels and titles after parsing and validating all the pgAdmin4 web pages for accessibility. Fixes #4770
2) Fixed an issue where Save Password control disappears after clicking on it while creating a server. Fixes #5116
2020-01-31 14:21:35 +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
Murtuza Zabuawala
989aa462f7 Set proper focus on tab navigation for file manager dialog. Fixes #5107.
Initial patch sent by Ganesh Jaybhay
2020-01-31 11:43:30 +05:30
Aditya Toshniwal
75a3e92098 Fixed an issue where logout inactive session did not work when a new tab is opened from the already opened tab. 2020-01-31 11:20:45 +05:30
Nagesh Dhope
f167d77b61 Allow screen-reader to read label & description of non-textable elements. Fixes #4762.
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.
2020-01-28 11:32:11 +05:30
Aditya Toshniwal
fde8e4054a Fixed an issue where Grant wizard unable to handle multiple objects when the query string parameter exceeds its limit. Fixes #4511 2020-01-20 17:53:21 +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
d4ee869281 Fixed broken tags and tokenizer options of select2. Regression of #5038
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.
2020-01-06 12:47:56 +05:30
Dave Page
01c7636c75 Update copyright notices for 2020. 2020-01-02 14:43:50 +00:00
Aditya Toshniwal
febbd729ec Ensure that constraints, indexes, rules, triggers, and compound triggers should be created on partitions. Fixes #4842. 2020-01-01 12:59:48 +05:30
Aditya Toshniwal
737f8375fb Added support for on-demand loading of items in Select2. Fixes #5038. 2020-01-01 11:24:16 +05:30
Nagesh Dhope
8c4dff057f Added aria-label attribute wherever missing for accessibility. 2020-01-01 10:37:17 +05:30
Nagesh Dhope
37f76142fb 1) Added aria-label to buttons used in graphical explain plan.
2) Fixed minor issue where we use dialog tab navigator keyboard shortcut only on visible tabs.
3) Fixed an issue where Zoom in, Zoom out, Zoom to original and Download button should not blur the focus after a click on them.

Initial patch sent by Murtuza Zabuawala.
2019-12-31 13:05:46 +05:30
Aditya Toshniwal
f1a18749f6 1) Allow screen-reader to read relationship attributes for tab, tabpanels and tables under it. Similar changes are done for subnode controls.
2) Add role="img" for font icons.

Fixes #4764
2019-12-17 13:22:36 +05:30
Ashesh Vashi
1f5ccd1c3b Fixed any typo - we were using the function
'TreeNode.prototype.hasParent(...)' to find the server parent node
instead of 'TreeNode.prototype.anyParen(...)'.
2019-12-14 10:31:33 +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
Akshay Joshi
f7cc79fab1 Fix an issue where the inherited table name with quotes did not escape correctly. Fixes #4985. 2019-12-03 19:31:32 +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
Khushboo Vashi
ae2aadeede Fix an issue where pgAdmin4 unable to retrieve table node if the trigger is already disabled and the user clicks on Enable All. Fixes #4953. 2019-12-02 15:26:36 +05:30
Khushboo Vashi
cccc6e5676 Added role=status attribute to all the status messages for accessibility. Fixes #4773. 2019-12-02 14:15:31 +05:30
Aditya Toshniwal
4ed2d74d9c 1) Fix network disconnect issue while establishing the connection via SSH Tunnel and it impossible to expand the Servers node. Fixes #4724.
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.
2019-11-26 09:04:41 +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
Murtuza Zabuawala
6a5d98cf19 Fix accessibility issues:
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
2019-11-15 11:06:00 +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
f85efb2797 Handle NULL values appropriately when sorting backgrid tables. Fixes #4242 2019-11-01 12:04:40 +00:00
Aditya Toshniwal
4bec7df33b Suppress Enter key presses in Alertify dialogues when the come from Select2 controls to allow item selection with Enter. Fixes #4610 2019-10-30 10:42:06 +00:00
Aditya Toshniwal
4f9d2de8cd Ensure Javascript errors during Query Tool execution are reported as such and not as Ajax errors.. Fixes #4564 2019-10-29 15:51:28 +00:00
Aditya Toshniwal
06022dfd7e Fix an issue in the Query Tool where shortcut keys could be ignored following a query error. Fixes #3915 2019-10-29 11:51:01 +00:00
Aditya Toshniwal
1f6a0a87f6 Ensure all messages are retained in the Query Tool from long running queries. Fixes #4730 2019-10-25 12:38:46 +01:00
Aditya Toshniwal
6d7ff9444a Don't quote bigints when copying them from the Query Tool results grid. Fixes #4459 2019-10-25 11:53:39 +01:00
Aditya Toshniwal
a804485a4c Ensure context menus never get hidden below the menu bar. Fixes #3789 2019-10-25 11:31:25 +01:00
Ganesh Jaybhay
5b438e13cc Fixed potential error in the properties dialog for the Code tab. Fixes #4845. 2019-10-18 17:38:15 +05:30
Nagesh Dhope
687fe617cc Fixed an issue where Datetimepicker control opens when clicking on the label.
Change the click event to 'click .input-group'.

Fixes #4850
2019-10-18 17:37:57 +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
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
Akshay Joshi
55c6fa0d93 Fix an error where 'false' string is displayed when we add a new parameter in the Parameters tab,
also clear the old value when the user changes the parameter name.

Corrected the implementation of BooleanCellFormatter.

Fixes #4753
2019-10-07 16:00:28 +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
Khushboo Vashi
56e00d74ad There is no option to Copy data with headers from Query Tool/View Data.
Added drop-down 'Copy with headers' near to the copy button in Query Tool/View Data.

Fixes #3009
2019-09-27 12:14:39 +05:30
Aditya Toshniwal
73dc130908 Fix issue where pgAdmin does not load completely if loaded in an iframe. Fixes #4756 2019-09-23 12:55:02 +05:30
Akshay Joshi
da553eec9b Ensure port and username should not be mandatory when a service is provided. Fixes #4642 2019-09-13 11:54:16 +05:30
Aditya Toshniwal
1c2ba72f02 Add editor options for plain text mode and to disable block folding to
workaround rendering speed issues in CodeMirror with very large scripts.
Fixes #4631.

Re-arrange editor options in the Preferences dialogue to tidy things up.
2019-09-04 15:46:08 +01:00
Aditya Toshniwal
06ad6b8ba8 1) Ensure Boolean columns should be editable using keyboard keys. Fixes #3778
2) Ensure Boolean columns should be editable in View/Edit data and Query Tool. Fixes #4487
2019-08-28 11:09:30 +05:30
Yosry Muhammad
f8f7d5ac6f Ensure editable and read-only columns in Query Tool should be identified by icons and tooltips in the column header. Fixes #4667 2019-08-26 14:17:40 +05:30
Yosry Muhammad
5887fb3815 Some refactoring of sqleditor.js. 2019-08-23 16:15:43 +01:00
Aditya Toshniwal
234efc3be7 Don't wait for the database connection before rendering the Query Tool UI, for improved UX. Fixes #4453
In addition, unescape HTML entities in database names in the Query Tool title bar. Fixes #4584
2019-08-23 12:14:20 +01:00
Yosry Muhammad
687204771c Add support in query history to show internal queries generated by pgAdmin during save data operations. Fixes #4612 2019-08-16 17:17:12 +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
Aditya Toshniwal
6800b1f723 Add an optimisation to the internal code responsible for searching for treeview nodes. Fixes #4570
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.
2019-08-06 14:02:57 +01:00
Aditya Toshniwal
b5c8c85c90 Ensure triggers should be updated properly for EPAS server. Fixes #4559 2019-08-05 12:49:33 +05:30
Aditya Toshniwal
99a8b70e00 Fix some errors thrown on the JS console when dragging text in the Query Tool. Fixes #4552 2019-08-02 11:28:57 +01:00
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
Murtuza Zabuawala
108af5c10b Fix accessibility issue for Datetime cell in backgrid. Fixes #4508 2019-07-25 17:54:24 +05:30
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
Khushboo Vashi
c019778a47 1) Fix an error while retrieving json data from the table. Fixes #4427
2) Fix an issue where Explain and Explain Analyze are not working, it's regression of #1760. Fixes #4484
3) Fix an issue where Filter toolbar button is not working in view/edit data, it's regression of keyboard navigation. Fixes #4485
2019-07-22 18:42:48 +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
0aa18fd466 Ensure drag/drop from the treeview works as expected on Firefox. Fixes #4429 2019-07-04 14:49:09 +01:00
Aditya Toshniwal
0340b8fb28 Add EXPLAIN options for SETTINGS and SUMMARY. Fixes #4335
Prevent flickering of large tooltips on the Graphical EXPLAIN canvas. Fixes #4224
EXPLAIN options should be Query Tool instance-specific. Fixes #4395
2019-07-03 13:57:56 +01:00
Aditya Toshniwal
24ec882f45 Properly escape dragged node text. Fixes #4139 2019-06-28 08:17:04 -04: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
Dave Page
fb4afce629 Fix formatting change which inadvertently broke the feature tests. 2019-06-20 12:43:07 +01:00
Aditya Toshniwal
3b69f92d70 Ensure strings are properly encoded in the Query History. Fixes #4349 2019-06-14 09:17:02 +01: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
2ca11c84e8 Ensure that the Return key can be used to submit the Master Password dialogue. Fixes #4310
Ensure that browser auto-fill doesn't cause Help pages to be opened unexpectedly. Fixes #4317
2019-06-10 14:03:56 +01:00
Aditya Toshniwal
f561c0cee6 Fix keyboard navigation in "inner" tabsets such as the Query Tool and Debugger. Fixes #4195 2019-06-10 11:10:49 +01:00
Aditya Toshniwal
d90136d93d Prevent the geometry viewer grabbing key presses when not in focus under Firefox, IE and Edge. Fixes #4255 2019-06-05 12:00:09 +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
dfa892d2a2 1. Added Master Password to increase the security of saved passwords. Fixes #4184
2. In server(web) mode, update all the saved server credentials when user password is changed. Fixes #3377
2019-05-28 12:00:18 +05:30
Khushboo Vashi
6f0eafb223 Fixed CSRF security vulnerability issue. per Alvin Lindstam. Fixes #4217
Initial patch by: Khushboo Vashi
Modified by: Ashesh Vashi and Murtuza Zabuawala
2019-05-28 10:59:51 +05:30