Skip to content

Commit 61a509c

Browse files
authored
fix(VariantManagement): correct initial focus of manage views dialog (#5329)
1 parent e7a55d4 commit 61a509c

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

packages/main/src/components/VariantManagement/ManageViewsDialog.tsx

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
import { isPhone, isTablet } from '@ui5/webcomponents-base/dist/Device.js';
22
import searchIcon from '@ui5/webcomponents-icons/dist/search.js';
3-
import { enrichEventWithDetails, ThemingParameters, useI18nBundle } from '@ui5/webcomponents-react-base';
3+
import {
4+
enrichEventWithDetails,
5+
ThemingParameters,
6+
useI18nBundle,
7+
useIsomorphicId
8+
} from '@ui5/webcomponents-react-base';
49
import type { MouseEventHandler, ReactNode } from 'react';
510
import React, { Children, useEffect, useRef, useState } from 'react';
611
import { createPortal } from 'react-dom';
@@ -83,8 +88,8 @@ interface ManageViewsDialogPropTypes {
8388
showSetAsDefault: boolean;
8489
showCreatedBy: boolean;
8590
variantNames: string[];
86-
portalContainer: Element;
87-
showOnlyFavorites?: boolean;
91+
portalContainer: VariantManagementPropTypes['portalContainer'];
92+
showOnlyFavorites?: VariantManagementPropTypes['showOnlyFavorites'];
8893
onManageViewsCancel?: VariantManagementPropTypes['onManageViewsCancel'];
8994
}
9095

@@ -102,6 +107,7 @@ export const ManageViewsDialog = (props: ManageViewsDialogPropTypes) => {
102107
showOnlyFavorites,
103108
onManageViewsCancel
104109
} = props;
110+
const uniqueId = useIsomorphicId();
105111
const i18nBundle = useI18nBundle('@ui5/webcomponents-react');
106112
const cancelText = i18nBundle.getText(CANCEL);
107113
const saveText = i18nBundle.getText(SAVE);
@@ -256,10 +262,12 @@ export const ManageViewsDialog = (props: ManageViewsDialogPropTypes) => {
256262
onAfterClose={onAfterClose}
257263
onBeforeClose={handleClose}
258264
headerText={manageViewsText}
265+
initialFocus={`search-${uniqueId}`}
259266
header={
260267
<FlexBox direction={FlexBoxDirection.Column} style={{ width: '100%' }} alignItems={FlexBoxAlignItems.Center}>
261268
<h2 className={classes.headerText}>{manageViewsText}</h2>
262269
<Input
270+
id={`search-${uniqueId}`}
263271
className={classes.search}
264272
placeholder={searchText}
265273
showClearIcon

packages/main/src/components/VariantManagement/SaveViewDialog.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ interface SaveViewDialogPropTypes {
4646
showApplyAutomatically: boolean;
4747
showSetAsDefault: boolean;
4848
variantNames: string[];
49-
portalContainer: Element;
49+
portalContainer: VariantManagementPropTypes['portalContainer'];
5050
saveViewInputProps?: Omit<InputPropTypes, 'value'>;
5151
onSaveViewCancel?: VariantManagementPropTypes['onSaveViewCancel'];
5252
}
@@ -64,7 +64,7 @@ export const SaveViewDialog = (props: SaveViewDialogPropTypes) => {
6464
saveViewInputProps,
6565
onSaveViewCancel
6666
} = props;
67-
const saveViewDialogRef = useRef<DialogDomRef>(null);
67+
const saveViewDialogRef = useRef<DialogDomRef | null>(null);
6868
const inputRef = useRef(undefined);
6969
const i18nBundle = useI18nBundle('@ui5/webcomponents-react');
7070
const classes = useStyles();
@@ -169,6 +169,7 @@ export const SaveViewDialog = (props: SaveViewDialogPropTypes) => {
169169
headerText={headingText}
170170
onAfterClose={onAfterClose}
171171
onBeforeClose={handleClose}
172+
initialFocus={`view-${uniqueId}`}
172173
footer={
173174
<Bar
174175
design={BarDesign.Footer}

0 commit comments

Comments
 (0)