Skip to content

Commit 86aac86

Browse files
authored
chore: Migrate isResourceEditedState to Jotai (#4116)
* chore: Migrate isResourceEditedState to Jotai * fix: add debug label
1 parent cca2994 commit 86aac86

File tree

7 files changed

+17
-17
lines changed

7 files changed

+17
-17
lines changed

src/components/Modules/KymaModulesEdit.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import {
3535
} from './kymaModulesQueries';
3636
import { findModuleSpec, findModuleStatus, setChannel } from './support';
3737
import CommunityModulesEdit from 'components/Modules/community/CommunityModulesEdit';
38+
import { useSetAtom } from 'jotai';
3839

3940
const addChannelsToModules = moduleReleaseMetas => {
4041
return (acc, module) => {
@@ -113,7 +114,7 @@ export default function KymaModulesEdit({ resource, ...props }) {
113114
const [kymaResource, setKymaResource] = useState(cloneDeep(resource));
114115
const [initialResource] = useState(resource);
115116
const [initialUnchangedResource] = useState(cloneDeep(resource));
116-
const setIsResourceEdited = useSetRecoilState(isResourceEditedState);
117+
const setIsResourceEdited = useSetAtom(isResourceEditedState);
117118
const setIsFormOpen = useSetRecoilState(isFormOpenState);
118119

119120
const resourceName = kymaResource?.metadata.name;

src/components/Modules/community/CommunityModulesAddModule.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { useTranslation } from 'react-i18next';
22
import { useNavigate } from 'react-router';
3-
import { SetterOrUpdater, useSetRecoilState } from 'recoil';
4-
import { useAtom } from 'jotai';
3+
import { SetterOrUpdater } from 'recoil';
4+
import { useAtom, useSetAtom } from 'jotai';
55
import { useFeature } from 'hooks/useFeature';
66
import { columnLayoutState } from 'state/columnLayoutAtom';
77
import { ResourceForm } from 'shared/ResourceForm';
@@ -118,7 +118,7 @@ export default function CommunityModulesAddModule(props: any) {
118118
);
119119
const notification = useNotification();
120120
const post = usePost();
121-
const setIsResourceEdited = useSetRecoilState(isResourceEditedState);
121+
const setIsResourceEdited = useSetAtom(isResourceEditedState);
122122
const [resourcesToApply, setResourcesToApply] = useState<{ value: any }[]>(
123123
[],
124124
);

src/components/Modules/community/CommunityModulesEdit.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import { Button, Form, FormItem, MessageStrip } from '@ui5/webcomponents-react';
2020
import { useContext, useEffect, useMemo, useState } from 'react';
2121
import { UnsavedMessageBox } from 'shared/components/UnsavedMessageBox/UnsavedMessageBox';
2222
import { createPortal } from 'react-dom';
23-
import { SetterOrUpdater, useSetRecoilState } from 'recoil';
23+
import { SetterOrUpdater } from 'recoil';
2424
import { isResourceEditedState } from 'state/resourceEditedAtom';
2525
import { useUploadResources } from 'resources/Namespaces/YamlUpload/useUploadResources';
2626
import { usePost } from 'shared/hooks/BackendAPI/usePost';
@@ -32,6 +32,7 @@ import {
3232
import { ModuleTemplatesContext } from 'components/Modules/providers/ModuleTemplatesProvider';
3333

3434
import 'components/Modules/community/CommunityModule.scss';
35+
import { useSetAtom } from 'jotai';
3536

3637
const isModuleInstalled = (
3738
foundModuleTemplate: ModuleTemplateType,
@@ -146,7 +147,7 @@ export default function CommunityModulesEdit() {
146147
);
147148
const notification = useNotification();
148149
const post = usePost();
149-
const setIsResourceEdited = useSetRecoilState(isResourceEditedState);
150+
const setIsResourceEdited = useSetAtom(isResourceEditedState);
150151
const [resourcesToApply, setResourcesToApply] = useState<{ value: any }[]>(
151152
[],
152153
);

src/shared/components/DynamicPageComponent/DynamicPageComponent.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ export const DynamicPageComponent = ({
117117
const [showTitleDescription, setShowTitleDescription] = useState(false);
118118
const [layoutColumn, setLayoutColumn] = useAtom(columnLayoutState);
119119
const { t } = useTranslation();
120-
const [isResourceEdited, setIsResourceEdited] = useRecoilState(
120+
const [isResourceEdited, setIsResourceEdited] = useAtom(
121121
isResourceEditedState,
122122
);
123123
const [isFormOpen, setIsFormOpen] = useRecoilState(isFormOpenState);

src/shared/hooks/useFormEditTracking.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
import { useSetAtom } from 'jotai';
12
import { cloneDeep, isEqual } from 'lodash';
23
import { useEffect, useMemo } from 'react';
3-
import { useRecoilValue, useSetRecoilState } from 'recoil';
4+
import { useRecoilValue } from 'recoil';
45
import { isFormOpenState } from 'state/formOpenAtom';
56
import { isResourceEditedState } from 'state/resourceEditedAtom';
67

@@ -20,7 +21,7 @@ export function useFormEditTracking(
2021
editorError = false,
2122
) {
2223
const { formOpen } = useRecoilValue(isFormOpenState);
23-
const setIsResourceEdited = useSetRecoilState(isResourceEditedState);
24+
const setIsResourceEdited = useSetAtom(isResourceEditedState);
2425

2526
const excludedResource = useMemo(() => excludeStatus(resource), [resource]);
2627

src/shared/hooks/useFormNavigation.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@ import { useCallback } from 'react';
22
import { useRecoilState } from 'recoil';
33
import { isResourceEditedState } from 'state/resourceEditedAtom';
44
import { isFormOpenState } from 'state/formOpenAtom';
5+
import { useAtom } from 'jotai';
56

67
export function useFormNavigation() {
7-
const [isResourceEdited, setIsResourceEdited] = useRecoilState(
8+
const [isResourceEdited, setIsResourceEdited] = useAtom(
89
isResourceEditedState,
910
);
1011
const [{ formOpen }, setIsFormOpen] = useRecoilState(isFormOpenState);

src/state/resourceEditedAtom.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { atom, RecoilState } from 'recoil';
1+
import { atom } from 'jotai';
22

33
export interface IsResourceEditedState {
44
isEdited: boolean;
@@ -7,9 +7,5 @@ export interface IsResourceEditedState {
77

88
const defaultValue = { isEdited: false };
99

10-
export const isResourceEditedState: RecoilState<IsResourceEditedState> = atom<
11-
IsResourceEditedState
12-
>({
13-
key: 'isResourceEditedState',
14-
default: defaultValue,
15-
});
10+
export const isResourceEditedState = atom<IsResourceEditedState>(defaultValue);
11+
isResourceEditedState.debugLabel = 'isResourceEditedState';

0 commit comments

Comments
 (0)