Introduce ComponentState (#4386)
* Proof of concept ComponentState * Migrate to createState and createFamilyState * Refactor * Fix * Fix tests * Fix lint * Fix tests * Re-enable coverage
This commit is contained in:
@ -109,9 +109,9 @@ export const CommandMenu = () => {
|
||||
const openActivityRightDrawer = useOpenActivityRightDrawer();
|
||||
const isCommandMenuOpened = useRecoilValue(isCommandMenuOpenedState);
|
||||
const [commandMenuSearch, setCommandMenuSearch] = useRecoilState(
|
||||
commandMenuSearchState,
|
||||
commandMenuSearchState(),
|
||||
);
|
||||
const commandMenuCommands = useRecoilValue(commandMenuCommandsState);
|
||||
const commandMenuCommands = useRecoilValue(commandMenuCommandsState());
|
||||
const { closeKeyboardShortcutMenu } = useKeyboardShortcutMenu();
|
||||
|
||||
const handleSearchChange = (event: React.ChangeEvent<HTMLInputElement>) => {
|
||||
|
||||
@ -27,9 +27,9 @@ const meta: Meta<typeof CommandMenu> = {
|
||||
component: CommandMenu,
|
||||
decorators: [
|
||||
(Story) => {
|
||||
const setCurrentWorkspace = useSetRecoilState(currentWorkspaceState);
|
||||
const setCurrentWorkspace = useSetRecoilState(currentWorkspaceState());
|
||||
const setCurrentWorkspaceMember = useSetRecoilState(
|
||||
currentWorkspaceMemberState,
|
||||
currentWorkspaceMemberState(),
|
||||
);
|
||||
const { addToCommandMenu, setToInitialCommandMenu, openCommandMenu } =
|
||||
useCommandMenu();
|
||||
|
||||
@ -25,7 +25,7 @@ const renderHooks = () => {
|
||||
const commandMenu = useCommandMenu();
|
||||
const isCommandMenuOpened = useRecoilValue(isCommandMenuOpenedState);
|
||||
const [commandMenuCommands, setCommandMenuCommands] = useRecoilState(
|
||||
commandMenuCommandsState,
|
||||
commandMenuCommandsState(),
|
||||
);
|
||||
|
||||
return {
|
||||
|
||||
@ -17,7 +17,7 @@ import { Command } from '../types/Command';
|
||||
export const useCommandMenu = () => {
|
||||
const navigate = useNavigate();
|
||||
const setIsCommandMenuOpened = useSetRecoilState(isCommandMenuOpenedState);
|
||||
const setCommands = useSetRecoilState(commandMenuCommandsState);
|
||||
const setCommands = useSetRecoilState(commandMenuCommandsState());
|
||||
const { resetSelectedItem } = useSelectableList('command-menu-list');
|
||||
const {
|
||||
setHotkeyScopeAndMemorizePreviousScope,
|
||||
@ -52,7 +52,7 @@ export const useCommandMenu = () => {
|
||||
.getLoadable(isCommandMenuOpenedState)
|
||||
.getValue();
|
||||
|
||||
set(commandMenuSearchState, '');
|
||||
set(commandMenuSearchState(), '');
|
||||
|
||||
if (isCommandMenuOpened) {
|
||||
closeCommandMenu();
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
import { atom } from 'recoil';
|
||||
import { createState } from '@/ui/utilities/state/utils/createState';
|
||||
|
||||
import { Command, CommandType } from '../types/Command';
|
||||
|
||||
export const commandMenuCommandsState = atom<Command[]>({
|
||||
export const commandMenuCommandsState = createState<Command[]>({
|
||||
key: 'command-menu/commandMenuCommandsState',
|
||||
default: [
|
||||
defaultValue: [
|
||||
{
|
||||
id: '',
|
||||
to: '',
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { atom } from 'recoil';
|
||||
import { createState } from '@/ui/utilities/state/utils/createState';
|
||||
|
||||
export const commandMenuSearchState = atom<string>({
|
||||
export const commandMenuSearchState = createState<string>({
|
||||
key: 'command-menu/commandMenuSearchState',
|
||||
default: '',
|
||||
defaultValue: '',
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user