Commit Graph

29 Commits

Author SHA1 Message Date
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
Dave Page
01c7636c75 Update copyright notices for 2020. 2020-01-02 14:43:50 +00:00
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
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
Akshay Joshi
350ffcce7c 1) Add support of Compound Triggers for EPAS 12+. Fixes #4144.
2) Ensure enable trigger menu should be visible when trigger is disabled. Fixes #4578.
2019-08-08 16:59:11 +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
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
Khushboo Vashi
e4417229aa Update all Python and JS dependencies. Fixes #4019 2019-03-14 15:11:16 +00:00
Ashesh Vashi
38feacd04d Remove hacky way to open/close the dropdown submenu 2019-01-31 17:49:41 +05:30
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
Aditya Toshniwal
0565f8dd78 Update to use Bootstrap 3 instead of Bootstrap 4. Fixes #3562 2018-10-10 12:43:26 +01:00
Dave Page
6e54a13ba2 Update test cases to match style changes 2018-09-04 12:04:57 +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
Aditya Toshniwal
9f13865777 Update jQuery to 3.3.1. Fixes #3271
Patch by Aditya, with test enhancements from Anthony and Joao at Pivotal.
2018-05-25 16:26:37 +01:00
Ashesh Vashi
c32eb6bd37 Fixed the warnings/errors reported by eslint for all the static
javascripts.
2018-01-12 13:00:14 +05:30
Ashesh Vashi
3bbd1a8a48 Remove icons from the menus to de-clutter the UI and make it more consistent with most OSs. 2017-09-11 09:51:26 +01:00
Ashesh Vashi
845025db8f Some cosmetic changes.
- Loading 'pgadmin' as 'sources/pgadmin', as found under the 'sources'
  reference directory to be consistent with other files.
- Removed the 'pgadmin' reference from the base.html template.
- Renamed 'pgadmin.slickgrid.editors.js', and
  'pgadmin.slickgrid.formatters.js' as 'editors.js', and 'formatters.js'
  respectively, as they're already in the 'pgadmin/static/js/slickgrid'
  directory.
- Removed the duplicate entry of 'translations' from the webpack.shim.js
2017-08-09 16:52:12 +05:30
Ashesh Vashi
d26337a1ba Moved the javascripts of the following browser node modules to the
'static' directory from 'templates' in the respective module directory:
- Server Group
- Server
- Database
- Schema
- Cast
- Event trigger
- Extension
- Foreign data wrapper
- Language
- Catalog Object
- Collation
- Domain Constraint
- Domain
- Foreign server
- FTS Configuration
- FTS Dictionary
- FTS Parser
- FTS Template
- Function
- Procedure
- Trigger Function
- Package
- Sequence
- Catalog
- Schema
- Synonym
- Table
- Type
- Materialized View
- View
- pgAgent Modules
  + Job (pga_job)
  + Schedule (pga_schedule)
  + Steps (pga_jobstep)

Added new dynanic modules for listing the supported server types, and
current user information.

NOTE: We've not yet moved the javascripts for the children of the table
module.
2017-06-22 15:58:32 +05:30
Shruti B Iyer
0d05385585 Update the styling to use the set of grays defined in the WIP style guide. 2017-06-07 13:57:49 +01:00
Ashesh Vashi
2540e9687f Fixed some of the javascript syntax in menu.js 2016-09-06 23:20:38 +05:30
Murtuza Zabuawala
bf042d46a2 Check valid DOMElement existance before accessing it while updating the
menu updation.
2016-06-02 15:01:16 +05:30
Ashesh Vashi
748497916e Honour the node type (if provided) in the menu item, and disable it on
any other nodes.
2016-05-25 01:15:10 +05:30
Surinder Kumar
01e83f1807 Adding missing dependency 'underscore.string' in the 'menu.js'. 2016-05-11 12:11:06 +05:30
Ashesh Vashi
87f9834951 Allow to create sub-menu/menu-group by specify the same category in
multiple menu-items (not just the 'create' menu-group).

Moved all the main menu/context menu generation implementation in the
'menu' javascript menu.

In this implementation, if more than one menu-items specify same type
of categories, they will be created withing that group, otherwise - it
will be created separately (unless 'single' property of that category is
set to true).

We can also provide icon, priority, separator(s) above/below it for the
individual sub-menu too using pgAdmin.Browser.add_menu_category
function(...).
2016-03-21 23:56:08 +05:30
Ashesh Vashi
e7bcba0050 Send the consistent data from both menus and context menus. 2016-01-15 19:46:45 +05:30
Ashesh Vashi
84843f8c37 Pass the tree item object to the menu objects, which could be used by
the disabled function to make it enable/disable based on the current
selected item.
2016-01-04 17:22:06 +05:30
Ashesh Vashi
dee3185bae Resolved a bug with the menu enable/disble logic.
Also, do not generate list disabled menu in the context menu
2015-07-17 10:06:04 +05:30
Ashesh Vashi
aa150030eb Introduced a mechanism to load required javascripts at runtime
(lazy loading) using the require.js. This allows us to load the
javascript required for any node, only when it was loaded in the browser
tree. Also, introduced the mechanism to show/edit/create of any node in
a tab panel (wcDocker.Panel).
2015-06-30 11:21:57 +05:30