Skip to content

Commit 064892b

Browse files
committed
fix async widget mock
1 parent 03eb8db commit 064892b

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

src/app-layout/visual-refresh-toolbar/state/props-merger.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ export const getPropsToMerge = (props: AppLayoutInternalProps, appLayoutState: A
7070
return {
7171
breadcrumbs: props.breadcrumbs,
7272
ariaLabels: state ? state.ariaLabels : props.ariaLabels,
73-
navigation: !props.navigationTriggerHide && (state ? state.navigation : props.navigation),
73+
navigation: !props.navigationTriggerHide && !props.navigationHide,
7474
navigationOpen: state ? state.navigationOpen : props.navigationOpen,
7575
onNavigationToggle: state?.onNavigationToggle,
7676
navigationFocusRef: state?.navigationFocusControl.refs.toggle,

src/internal/widgets/loader-mock.tsx

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ const isAppLayoutDelayedWidget = () => {
1616

1717
const enableDelayedComponents = isAppLayoutDelayedWidget();
1818

19+
let loadPromise: Promise<void>;
20+
1921
export function createLoadableComponent<ComponentType extends FunctionComponent<any>>(
2022
Component: ComponentType
2123
): ComponentType | undefined {
@@ -26,8 +28,18 @@ export function createLoadableComponent<ComponentType extends FunctionComponent<
2628
const [mounted, setMounted] = useState(false);
2729

2830
useEffect(() => {
29-
const timeoutId = setTimeout(() => setMounted(true), 1000);
30-
return () => clearTimeout(timeoutId);
31+
if (!loadPromise) {
32+
loadPromise = new Promise(resolve => setTimeout(() => resolve(), 1000));
33+
}
34+
let mounted = true;
35+
loadPromise.then(() => {
36+
if (mounted) {
37+
setMounted(true);
38+
}
39+
});
40+
return () => {
41+
mounted = false;
42+
};
3143
}, []);
3244

3345
if (mounted) {

0 commit comments

Comments
 (0)