fix(Dashboard): Support "Edit chart" click on a new window (#28054)

This commit is contained in:
Geido 2024-04-16 20:03:17 +02:00 committed by GitHub
parent 5a9ddbba2e
commit 89da4f82d3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 7 additions and 11 deletions

View File

@ -529,6 +529,7 @@ const SliceHeaderControls = (props: SliceHeaderControlsPropsWithRouter) => {
const [openScopingModal, scopingModal] = useCrossFiltersScopingModal(
props.slice.slice_id,
);
const history = useHistory();
const queryMenuRef: RefObject<any> = useRef(null);
const menuRef: RefObject<any> = useRef(null);
@ -590,7 +591,12 @@ const SliceHeaderControls = (props: SliceHeaderControlsPropsWithRouter) => {
case MenuKeys.ExploreChart:
// eslint-disable-next-line no-unused-expressions
props.logExploreChart?.(props.slice.slice_id);
window.open(props.exploreUrl);
if (domEvent.metaKey || domEvent.ctrlKey) {
domEvent.preventDefault();
window.open(props.exploreUrl, '_blank');
} else {
history.push(props.exploreUrl);
}
break;
case MenuKeys.ExportCsv:
// eslint-disable-next-line no-unused-expressions
@ -907,16 +913,6 @@ const SliceHeaderControls = (props: SliceHeaderControlsPropsWithRouter) => {
placement="bottomRight"
visible={dropdownIsOpen}
onVisibleChange={status => toggleDropdown({ close: !status })}
onBlur={e => {
// close unless the dropdown menu is clicked
const relatedTarget = e.relatedTarget as HTMLElement;
if (
dropdownIsOpen &&
menuRef?.current?.props.id !== relatedTarget?.id
) {
toggleDropdown({ close: true });
}
}}
onKeyDown={e =>
handleDropdownNavigation(
e,