Skip to content

Commit df5dced

Browse files
Change icon buttons to show tooltip even when disabled. #8449
1 parent 1590df8 commit df5dced

File tree

2 files changed

+23
-14
lines changed

2 files changed

+23
-14
lines changed

web/pgadmin/static/js/components/Buttons.jsx

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -176,23 +176,30 @@ export const PgIconButton = forwardRef(({icon, title, shortcut, className, split
176176
shortcutTitle = <ShortcutTitle title={title} accesskey={accesskey} shortcut={shortcut}/>;
177177
}
178178

179-
/* Tooltip does not work for disabled items */
180179
if(props.disabled) {
181180
if(color == 'primary') {
182181
return (
183-
<PrimaryButton ref={ref} style={style}
184-
className={['Buttons-iconButton', (splitButton ? 'Buttons-splitButton' : ''), className].join(' ')}
185-
accessKey={accesskey} data-label={title || ''} {...props}>
186-
{icon}
187-
</PrimaryButton>
182+
<Tooltip title={shortcutTitle || title || ''} aria-label={title || ''} enterDelay={isDropdown ? 1500 : undefined} placement={tooltipPlacement}>
183+
<span>
184+
<PrimaryButton ref={ref} style={style}
185+
className={['Buttons-iconButton', (splitButton ? 'Buttons-splitButton' : ''), className].join(' ')}
186+
accessKey={accesskey} data-label={title || ''} {...props}>
187+
{icon}
188+
</PrimaryButton>
189+
</span>
190+
</Tooltip>
188191
);
189192
} else {
190193
return (
191-
<DefaultButton ref={ref} style={style}
192-
className={['Buttons-iconButton', 'Buttons-iconButtonDefault',(splitButton ? 'Buttons-splitButton' : ''), className].join(' ')}
193-
accessKey={accesskey} data-label={title || ''} {...props}>
194-
{icon}
195-
</DefaultButton>
194+
<Tooltip title={shortcutTitle || title || ''} aria-label={title || ''} enterDelay={isDropdown ? 1500 : undefined} placement={tooltipPlacement}>
195+
<span>
196+
<DefaultButton ref={ref} style={style}
197+
className={['Buttons-iconButton', 'Buttons-iconButtonDefault',(splitButton ? 'Buttons-splitButton' : ''), className].join(' ')}
198+
accessKey={accesskey} data-label={title || ''} {...props}>
199+
{icon}
200+
</DefaultButton>
201+
</span>
202+
</Tooltip>
196203
);
197204
}
198205
} else if(color == 'primary') {

web/pgadmin/static/js/helpers/ObjectExplorerToolbar.jsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import _ from 'lodash';
1818
import PropTypes from 'prop-types';
1919
import CustomPropTypes from '../custom_prop_types';
2020
import usePreferences from '../../../preferences/static/js/store';
21-
21+
import gettext from 'sources/gettext';
2222

2323
function ToolbarButton({menuItem, ...props}) {
2424
return (
@@ -73,8 +73,10 @@ export default function ObjectExplorerToolbar() {
7373
<Box display="flex" alignItems="center" gap="2px">
7474
<PgButtonGroup size="small">
7575
<ToolbarButton icon={<QueryToolIcon />} menuItem={menus['query_tool']} shortcut={browserPref?.sub_menu_query_tool} />
76-
<ToolbarButton icon={<ViewDataIcon />} menuItem={menus['view_all_rows_context']} shortcut={browserPref?.sub_menu_view_data} />
77-
<ToolbarButton icon={<RowFilterIcon />} menuItem={menus['view_filtered_rows_context']} />
76+
<ToolbarButton icon={<ViewDataIcon />} menuItem={menus['view_all_rows_context'] ??
77+
{label :gettext('All Rows')}}
78+
shortcut={browserPref?.sub_menu_view_data} />
79+
<ToolbarButton icon={<RowFilterIcon />} menuItem={menus['view_filtered_rows_context'] ?? { label : gettext('Filtered Rows...')}} />
7880
<ToolbarButton icon={<SearchOutlinedIcon style={{height: '1.4rem'}} />} menuItem={menus['search_objects']} shortcut={browserPref?.sub_menu_search_objects} />
7981
{!_.isUndefined(menus['psql']) && <ToolbarButton icon={<TerminalRoundedIcon style={{height: '1.4rem'}}/>} menuItem={menus['psql']} />}
8082
</PgButtonGroup>

0 commit comments

Comments
 (0)