Commit Graph

239 Commits

Author SHA1 Message Date
Matěj Cepl
7a4951f211
Remove dependency on simplejson package. 2023-02-15 11:10:12 +05:30
Aditya Toshniwal
be72cee6be
Fix failing jasmin test cases. #5701 2023-02-10 14:47:29 +05:30
Aditya Toshniwal
713ddb5f62
Remove usage of jQuery in pgAdmin.
Remove usage of Bootstrap in React components. #5701
2023-02-10 10:28:39 +05:30
Aditya Toshniwal
4a3bcfa202
Use uplot for Dashboard graphs to reduce CPU usage. #5794 2023-02-06 15:55:02 +05:30
Akshay Joshi
98184e5835 Update copyright notices for 2023 2023-01-02 11:53:55 +05:30
Mark Mayo
41508f7f67
python 3 updates
- Fix super() calls for python 3
- No need to inherit objects.
- No need for u at the start of strings
- Tidied up some brackets and f-strings too
2022-11-19 10:13:41 +05:30
Khushboo Vashi
76a6feb2e7 Remove some more references of Backgrid and Backform.
refs #6134
2022-09-12 11:17:23 +05:30
Khushboo Vashi
ca8b5c68fd Remove Backgrid and Backform. Fixes #6134 2022-09-10 14:22:49 +05:30
Aditya Toshniwal
b128ba2f57 Fixed a couple of SonarQube issues. 2022-09-10 14:04:28 +05:30
Pravesh Sharma
43022b7aa2 Fixed 'ternary operators should not be nested' code smell. 2022-09-10 14:00:22 +05:30
Akshay Joshi
18b77f15dd Remove Alertify from pgAdmin completely. Fixes #7619 2022-09-08 15:16:48 +05:30
Dave Page
92741680b5 Fixes a bunch of warnings in the webpack process stemming from the use of the now deprecated division operator. 2022-08-26 12:34:48 +05:30
Khushboo Vashi
8bcd1e4e60 Strings are wrapped into gettext in the Dashboard and Cloud modules. 2022-08-18 13:41:27 +05:30
Dave Page
71647c886d Fix label. 2022-08-17 12:34:47 +01:00
Akshay Joshi
1e94c3bd81 Fixed Security Hotspot reported by SonarQube. 2022-08-14 07:09:45 +05:30
Aditya Toshniwal
7bd0d55c83 Fixed Security Hotspot reported by SonarQube. 2022-08-12 17:14:15 +05:30
Aditya Toshniwal
c2b23465cc 1) Added support to show all background processes in separate panel. Fixes #3709
2) Port process watcher to React. Fixes #7404
2022-08-11 10:49:45 +05:30
Pradip Parkale
8c24d28740 Remove the SQL files for the unsupported versions of the database server. Fixes #7462
Fixed API test cases for Postgres 14.4. Fixes #7527
2022-08-09 13:24:52 +05:30
Pradip Parkale
e59471d87d Ensure that dashboard graph API is not called after the panel has been closed. Fixes #7518 2022-07-04 12:03:18 +05:30
Aditya Toshniwal
cb635f6706 Removing dynamic module loading and replacing it with static loading. Fixes #7492
Gets rid of all occurrences and usage of get_own_javascripts since it is no longer used.
2022-06-30 11:06:50 +05:30
Pradip Parkale
e95eb14651 Fixed an issue where the connection wasn't being closed when the user switched
to a new connection and closed the query tool. Fixes #7461

Fixed the 'Show activity?' issue which was missed during Dashboard porting.
2022-06-23 18:15:16 +05:30
Akshay Joshi
2556771c32 The following issues were fixed in Graph Visualiser:
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
2022-06-23 14:52:11 +05:30
Akshay Joshi
93bc1f3c57 Added support for visualise the graph using a Line chart in the query tool. Fixes #7485 2022-06-22 17:18:51 +05:30
Akshay Joshi
3381516013 Upgrade Chartjs to the latest 3.8.0. Fixes #7469 2022-06-13 17:26:17 +05:30
Akshay Joshi
3bc373fff0 Upgraded and removed some unwanted packages. 2022-06-02 18:07:59 +05:30
Akshay Joshi
50b1ba5c80 Ensure that Dashboard graphs should be refreshed on changing the node from the browser tree. Fixes #7402 2022-05-23 13:26:40 +05:30
Pradip Parkale
11cfea3860 Added the ability to resize columns on dashboard tables. Fixes #7364 2022-05-18 17:49:54 +05:30
Pradip Parkale
7c61017f57 Fixed an issue where the Dashboard Server Activity was showing old queries as active. Fixes #7305 2022-04-28 12:10:42 +05:30
Pradip Parkale
131ff4de48 Ensure that sorting should be preserved on refresh for Server Activity. Fixes #7308 2022-04-14 11:11:45 +05:30
Pradip Parkale
7d979fb196 1) Fixed an issue where deleting a constraint from the collection properties node, throws an error. Fixes #7296
2) The code to refresh the Dashboard after deleting session activities has been improved.
2022-04-11 17:42:16 +05:30
Akshay Joshi
8ce7ccb031 Fixed some issues related to z-index and color. 2022-04-05 14:26:40 +05:30
Pradip Parkale
8f8adcf71b 1 Fixed the issue where db connection was getting disconnected for dashboard, if network is slow.
2 Fixed publication collection node properties issue which was missed during react node porting.
3 Removed unwanted variable from theme style sheet.
2022-04-05 13:40:22 +05:30
Aditya Toshniwal
953a9d7fd1 Fixes some issues and improves the PgTable component. 2022-04-05 12:10:51 +05:30
Aditya Toshniwal
4fff26c571 Makes some improvements/restructurings to the PgTable component. 2022-04-04 19:06:43 +05:30
Pradip Parkale
b397ba7787 Fixed issues related to porting of properties collection and dashboard.
refs #7132
2022-04-04 17:42:42 +05:30
Pradip Parkale
cb052f1988 1) Port Properties panel for collection node, Dashboard, and SQL panel in React. Fixes #7132
2) Added transaction start time to Server activity sessions view. Fixes #7215
2022-03-30 12:06:59 +05:30
Akshay Joshi
0ce3434631 Fixed code smell 'Update this function so that its implementation is not identical' reported by SonarQube. 2022-01-25 20:10:31 +05:30
Akshay Joshi
9f836f5433 Fixed following code smells reported by SonarQube:
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.
2022-01-18 14:49:54 +05:30
Akshay Joshi
2786f7ac5a Update copyright notices for 2022 2022-01-04 13:54:25 +05:30
Akshay Joshi
fd53e4f5f9 Replace Alertify alert and confirm with React-based model dialog. Fixes #7053 2021-12-07 18:52:40 +05:30
Akshay Joshi
c6424e3897 Replaced alertifyjs notifiers with React-based notistack. Fixes #7004 2021-12-02 16:05:52 +05:30
Yogesh Mahajan
abe5303448 Fixed an issue where the error is thrown while creating a new server using
Add New Server from the dashboard while tree item is not selected.

Fixes #7015
2021-11-28 13:32:30 +05:30
Akshay Joshi
d644b4f94e 1) Replace Flask-BabelEx with Flask-Babel. Fixes #6088
2) Upgrade Flask to version 2. Fixes #7010
2021-11-24 17:22:57 +05:30
huangj.fnst@fujitsu.com
8a21d9b500 Fixed some typos in the documentation and comments. 2021-10-14 11:13:16 +05:30
Khushboo Vashi
483e2ca8d0 Port browser tree to React. Fixes #6129 2021-09-27 16:44:26 +05:30
Akshay Joshi
eeff75ba20 Remove GPDB support completely. Fixes #6692 2021-09-09 13:09:53 +05:30
Nikhil Mohite
22f20a38ec Fixed an issue where the user can not paste the updated table header in safari 12 and 13 browsers. Fixes #4815 2021-08-30 14:46:42 +05:30
Nikhil Mohite
737bc6a965 Ensure that the lock panel should not be blocked for larger records. Fixes #6570 2021-08-25 11:05:28 +05:30
Akshay Joshi
03477d407e Fixed dashboard server activity issue when active_since parameter is None. Fixes #6650 2021-07-29 11:49:27 +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
Akshay Joshi
ef67409d61 Highlighted long running queries on the dashboards. Fixes #1975 2021-07-01 18:10:55 +05:30
Aditya Toshniwal
c88a63edf8 Included JSX files in the linter check. 2021-04-08 17:56:18 +05:30
Rahul Shirsat
a2be30d257 Use schema qualification while accessing the catalog objects. Fixes #3976 2021-03-09 13:18:45 +05:30
Akshay Joshi
008bc6da28 Fixed some SonarQube issues. 2021-03-02 14:53:05 +05:30
Nikhil Mohite
8279e7e01c Ensure that the user should be able to kill the session from Dashboard if the user has a 'pg_signal_backend' role. Fixes #6159 2021-02-26 12:50:30 +05:30
Aditya Toshniwal
73b6b95fbc Make Statistics, Dependencies, Dependants tabs closable and the user can add them back using the 'Add panel' option. Fixes #5091 2021-02-03 12:46:32 +05:30
Akshay Joshi
b372f08a59 Update copyright notices for 2021 2021-01-04 15:34:45 +05:30
Akshay Joshi
1c70a43b91 Fixed code smells 'Define a constant instead of duplicating this literal' reported by SonarQube. 2020-09-29 15:08:14 +05:30
Aditya Toshniwal
796a8a013a 1) Changing the state of the react directly is not recommended, so avoid changing it directly.
2) Fixed API test cases.
2020-09-09 13:08:58 +05:30
Aditya Toshniwal
8c2e965f6e Fixed excessive CPU usage by stopping the indefinite growth of the graph dataset. Fixes #5794 2020-09-07 18:23:04 +05:30
Cyril Jouve
5a253f9053 Change the following to replace Python 2 code with Python 3:
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.
2020-08-31 16:45:31 +05:30
Akshay Joshi
fbbbc36221 Fixed code smell 'Define a constant instead of duplicating this literal' reported by SonarQube. 2020-08-20 20:26:51 +05:30
Akshay Joshi
103b08c9c5 Define constants for preferences label to fix SonarQube issues. 2020-08-20 17:58:37 +05:30
Nikhil Mohite
93adf6884f Upgrade font awesome from v4 to v5. Fixes #5731 2020-08-13 12:04:00 +05:30
Aditya Toshniwal
8129df42da Fixed cognitive complexity issues reported by SonarQube. 2020-08-11 15:13:35 +05:30
Aditya Toshniwal
e494b1520d Fixed an issue where ajax call continues to fire even after disconnect the database server. Fixes #5716 2020-08-06 16:52:16 +05:30
Murtuza Zabuawala
d2621282dc Change the scope of '.dashboard-graph-body' CSS class to prevent it from affecting other places. 2020-08-05 12:30:09 +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
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
357a9179b1 Fixed convention related issues reported by SonarQube. 2020-07-09 18:55:33 +05:30
Pramod Ahire
a6ce78a8c0 Fixed SonarQube issues in css/scss files. 2020-07-06 19:11:43 +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
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
Yogesh Mahajan
6d3f13076f Fixed 'Comma operator should not be used' issue reported by SonarQube. 2020-06-18 16:17:55 +05:30
Akshay Joshi
5ed1e1e5b6 Fixed some sonarqube issues. 2020-06-17 19:30:56 +05:30
Nikhil Mohite
023a1f222f Remove duplicate properties in CSS and few js standard fixes reported by SonarQube. 2020-06-15 17:15:15 +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
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
Nagesh Dhope
0ed3cd248b Set Active query details subnode control as read-only instead of disabled for accessibility. 2020-03-06 17:59:57 +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
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
Dave Page
01c7636c75 Update copyright notices for 2020. 2020-01-02 14:43:50 +00:00
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
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
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
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
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
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
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
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
e4417229aa Update all Python and JS dependencies. Fixes #4019 2019-03-14 15:11:16 +00:00
Dave Page
d7bf6ec69f String review and subsequent cleanup
Ashesh Vashi
Abhilasha Narendra
Karen Blatchley
Susan Douglas
Dave Page
2019-03-05 14:08:16 +00:00
Aditya Toshniwal
98bfbcff8f Fix dashboard test cases. 2019-02-25 12:27:15 +00:00
Aditya Toshniwal
59446bb4b5 Ensure JSON data isn't modified in-flight by psycopg2 when using View/Edit data. Fixes #3600 2019-02-25 10:34:36 +00:00
Dave Page
1fc66406f5 Don't embed docs and external sites in iframes, to allow the external sites to set X-FRAME-OPTIONS = DENY for security. Fxies #3985 2019-02-12 16:07:38 +00:00
Aditya Toshniwal
605b1f4799 Fixed API test case for dashboard graphs. 2019-02-04 16:36:16 +05:30
Akshay Joshi
da83c3d1b8 Added 'pga4dash' comment for consistency 2019-02-04 15:51:07 +05:30
Aditya Toshniwal
aad7830d37 Dashboard graph optimization. Fixes #3941 2019-02-04 15:39:47 +05:30