Commit Graph

222 Commits

Author SHA1 Message Date
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
Murtuza Zabuawala
cd311ca8a9 Remove session from the grid on the dashboard when it is terminated. 2019-01-22 14:25:11 +05:30
Dave Page
11870006c3 Correct dashboard title. 2019-01-07 18:02:22 +05:30
Aditya Toshniwal
d361e604c1 Further style tweaks. 2019-01-07 16:03:54 +05:30
Khushboo Vashi
ce1c06d7f1 Ensure we display the relation name (and not the OID) in the locks table wherever possible. Fixes #3702
Note that at the server level we fetch the data from pg_locks in the maintenance database,
so it can not fetch the pg_class relation for tables in other databasess (relation::regclass).
2019-01-04 14:45:28 +00:00
Murtuza Zabuawala
e23d307c56 Update copyright notices for 2019 2019-01-02 15:54:12 +05:30
Ashesh Vashi
5799ac14ba Improvement in the look and feel of the whole application
Changed the SCSS/CSS for the below third party libraries to adopt the
new look 'n' feel:
- wcDocker
- Alertify dialogs, and notifications
- AciTree
- Bootstrap Navbar
- Bootstrap Tabs
- Bootstrap Drop-Down menu
- Backgrid
- Select2

Adopated the new the look 'n' feel for the dialogs, wizard, properties,
tab panels, tabs, fieldset, subnode control, spinner control, HTML
table, and other form controls.

- Font is changed to Roboto
- Using SCSS variables to define the look 'n' feel
- Designer background images for the Login, and Forget password pages in
  'web' mode
- Improved the look 'n' feel for the key selection in the preferences
  dialog
- Table classes consistency changes across the application
- File Open and Save dialog list view changes

Author(s): Aditya Toshniwal & Khushboo Vashi
2018-12-21 17:14:55 +05:30
Murtuza Zabuawala
ed01dbd0ef Ensure the dashboard tabs are styles correctly. Fixes #3824 2018-12-20 09:53:35 +00:00
Aditya Toshniwal
0565f8dd78 Update to use Bootstrap 3 instead of Bootstrap 4. Fixes #3562 2018-10-10 12:43:26 +01:00
Aditya Toshniwal
a74b9c96c1 Add optional data point markers and mouse-over tooltips to display values on graphs. Fixes #3514
Ensure queries are no longer executed when dashboards are closed. Fixes #3576
2018-09-05 17:25:11 +01:00
Aditya Toshniwal
82c9cca683 Move all CSS into SCSS files for consistency and ease of colour maintenance etc. Fixes #2927 2018-09-04 11:24:51 +01:00
Murtuza Zabuawala
9c8cf26784 Ensure that refresh button on dashboard should refresh the table. Fixes #3525 2018-08-29 11:24:45 +05:30
Ashesh Vashi
c4267f0878 Fixed couple of issues for the dashboard.
- Filter for the grids were showing on the server level dashboard.
  It was regression of the commit-id: f7e43d5e5
- Mark 'is_server_dashboard', and 'is_database_dashboard' to false, when
  the node has its own dashboard URL defined.
2018-07-30 13:33:20 +05:30
Ashesh Vashi
00139f7750 Remove the unused variable to satisfy the linter. 2018-07-27 13:43:37 +05:30
Ashesh Vashi
5ff2942b4d Improved the functionality of enable/disable the auto-collection of
the graph data.

- Dashboard is intereseted only on the current selected object in the
  browser tree. And, not the one, which was got disconnected.
- Disable the auto-collection of data selectively, and only when the
  selected object got disconnected, and not when changing back to the
  Dashboard panel (as per Aditya).
2018-07-27 13:14:24 +05:30
Ashesh Vashi
35862b94a9 We need to remove the interval callbacks for retrieving the statistics
for the charts on dashboard every time the URL changed (not - just when
connection to the server was alive).
2018-07-26 22:44:34 +05:30
Aditya Toshniwal
be3f9570e3 Fixed dashboard reloading even if subnodes under a dashboard or server selected. 2018-07-25 13:11:00 +01:00
Ashesh Vashi
53b5043520 As per Aditya - we need the server version for the certain operations,
which was removed during previous commit.
2018-07-25 13:07:28 +05:30