Merge branch 'main' into Adding-Kapa-assistant-to-docs

This commit is contained in:
Millun Atluri 2023-12-15 09:46:25 +11:00 committed by GitHub
commit 4b00f8fc82
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 30 additions and 26 deletions

View File

@ -950,9 +950,9 @@
"problemSettingTitle": "Problem Setting Title", "problemSettingTitle": "Problem Setting Title",
"reloadNodeTemplates": "Reload Node Templates", "reloadNodeTemplates": "Reload Node Templates",
"removeLinearView": "Remove from Linear View", "removeLinearView": "Remove from Linear View",
"resetWorkflow": "Reset Workflow Editor", "newWorkflow": "New Workflow",
"resetWorkflowDesc": "Are you sure you want to reset the Workflow Editor?", "newWorkflowDesc": "Create a new workflow?",
"resetWorkflowDesc2": "Resetting the Workflow Editor will clear all nodes, edges and workflow details. Saved workflows will not be affected.", "newWorkflowDesc2": "Your current workflow has unsaved changes.",
"scheduler": "Scheduler", "scheduler": "Scheduler",
"schedulerDescription": "TODO", "schedulerDescription": "TODO",
"sDXLMainModelField": "SDXL Model", "sDXLMainModelField": "SDXL Model",
@ -1634,10 +1634,10 @@
"userWorkflows": "My Workflows", "userWorkflows": "My Workflows",
"defaultWorkflows": "Default Workflows", "defaultWorkflows": "Default Workflows",
"openWorkflow": "Open Workflow", "openWorkflow": "Open Workflow",
"uploadWorkflow": "Upload Workflow", "uploadWorkflow": "Load from File",
"deleteWorkflow": "Delete Workflow", "deleteWorkflow": "Delete Workflow",
"unnamedWorkflow": "Unnamed Workflow", "unnamedWorkflow": "Unnamed Workflow",
"downloadWorkflow": "Download Workflow", "downloadWorkflow": "Save to File",
"saveWorkflow": "Save Workflow", "saveWorkflow": "Save Workflow",
"saveWorkflowAs": "Save Workflow As", "saveWorkflowAs": "Save Workflow As",
"savingWorkflow": "Saving Workflow...", "savingWorkflow": "Saving Workflow...",
@ -1652,7 +1652,7 @@
"searchWorkflows": "Search Workflows", "searchWorkflows": "Search Workflows",
"clearWorkflowSearchFilter": "Clear Workflow Search Filter", "clearWorkflowSearchFilter": "Clear Workflow Search Filter",
"workflowName": "Workflow Name", "workflowName": "Workflow Name",
"workflowEditorReset": "Workflow Editor Reset", "newWorkflowCreated": "New Workflow Created",
"workflowEditorMenu": "Workflow Editor Menu", "workflowEditorMenu": "Workflow Editor Menu",
"workflowIsOpen": "Workflow is Open" "workflowIsOpen": "Workflow is Open"
}, },

View File

@ -11,44 +11,48 @@ import {
Text, Text,
useDisclosure, useDisclosure,
} from '@chakra-ui/react'; } from '@chakra-ui/react';
import { useAppDispatch } from 'app/store/storeHooks'; import { useAppDispatch, useAppSelector } from 'app/store/storeHooks';
import { nodeEditorReset } from 'features/nodes/store/nodesSlice'; import { nodeEditorReset } from 'features/nodes/store/nodesSlice';
import { addToast } from 'features/system/store/systemSlice'; import { addToast } from 'features/system/store/systemSlice';
import { makeToast } from 'features/system/util/makeToast'; import { makeToast } from 'features/system/util/makeToast';
import { memo, useCallback, useRef } from 'react'; import { memo, useCallback, useRef } from 'react';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import { FaTrash } from 'react-icons/fa'; import { FaCircleNodes } from 'react-icons/fa6';
const ResetWorkflowEditorMenuItem = () => { const NewWorkflowMenuItem = () => {
const { t } = useTranslation(); const { t } = useTranslation();
const dispatch = useAppDispatch(); const dispatch = useAppDispatch();
const { isOpen, onOpen, onClose } = useDisclosure(); const { isOpen, onOpen, onClose } = useDisclosure();
const cancelRef = useRef<HTMLButtonElement | null>(null); const cancelRef = useRef<HTMLButtonElement | null>(null);
const isTouched = useAppSelector((state) => state.workflow.isTouched);
const handleConfirmClear = useCallback(() => { const handleNewWorkflow = useCallback(() => {
dispatch(nodeEditorReset()); dispatch(nodeEditorReset());
dispatch( dispatch(
addToast( addToast(
makeToast({ makeToast({
title: t('workflows.workflowEditorReset'), title: t('workflows.newWorkflowCreated'),
status: 'success', status: 'success',
}) })
) )
); );
onClose(); onClose();
}, [dispatch, t, onClose]); }, [dispatch, onClose, t]);
const onClick = useCallback(() => {
if (!isTouched) {
handleNewWorkflow();
return;
}
onOpen();
}, [handleNewWorkflow, isTouched, onOpen]);
return ( return (
<> <>
<MenuItem <MenuItem as="button" icon={<FaCircleNodes />} onClick={onClick}>
as="button" {t('nodes.newWorkflow')}
icon={<FaTrash />}
sx={{ color: 'error.600', _dark: { color: 'error.300' } }}
onClick={onOpen}
>
{t('nodes.resetWorkflow')}
</MenuItem> </MenuItem>
<AlertDialog <AlertDialog
@ -61,13 +65,13 @@ const ResetWorkflowEditorMenuItem = () => {
<AlertDialogContent> <AlertDialogContent>
<AlertDialogHeader fontSize="lg" fontWeight="bold"> <AlertDialogHeader fontSize="lg" fontWeight="bold">
{t('nodes.resetWorkflow')} {t('nodes.newWorkflow')}
</AlertDialogHeader> </AlertDialogHeader>
<AlertDialogBody py={4}> <AlertDialogBody py={4}>
<Flex flexDir="column" gap={2}> <Flex flexDir="column" gap={2}>
<Text>{t('nodes.resetWorkflowDesc')}</Text> <Text>{t('nodes.newWorkflowDesc')}</Text>
<Text variant="subtext">{t('nodes.resetWorkflowDesc2')}</Text> <Text variant="subtext">{t('nodes.newWorkflowDesc2')}</Text>
</Flex> </Flex>
</AlertDialogBody> </AlertDialogBody>
@ -75,7 +79,7 @@ const ResetWorkflowEditorMenuItem = () => {
<Button ref={cancelRef} onClick={onClose}> <Button ref={cancelRef} onClick={onClose}>
{t('common.cancel')} {t('common.cancel')}
</Button> </Button>
<Button colorScheme="error" ml={3} onClick={handleConfirmClear}> <Button colorScheme="error" ml={3} onClick={handleNewWorkflow}>
{t('common.accept')} {t('common.accept')}
</Button> </Button>
</AlertDialogFooter> </AlertDialogFooter>
@ -85,4 +89,4 @@ const ResetWorkflowEditorMenuItem = () => {
); );
}; };
export default memo(ResetWorkflowEditorMenuItem); export default memo(NewWorkflowMenuItem);

View File

@ -9,7 +9,7 @@ import IAIIconButton from 'common/components/IAIIconButton';
import { useGlobalMenuCloseTrigger } from 'common/hooks/useGlobalMenuCloseTrigger'; import { useGlobalMenuCloseTrigger } from 'common/hooks/useGlobalMenuCloseTrigger';
import { useFeatureStatus } from 'features/system/hooks/useFeatureStatus'; import { useFeatureStatus } from 'features/system/hooks/useFeatureStatus';
import DownloadWorkflowMenuItem from 'features/workflowLibrary/components/WorkflowLibraryMenu/DownloadWorkflowMenuItem'; import DownloadWorkflowMenuItem from 'features/workflowLibrary/components/WorkflowLibraryMenu/DownloadWorkflowMenuItem';
import ResetWorkflowEditorMenuItem from 'features/workflowLibrary/components/WorkflowLibraryMenu/ResetWorkflowEditorMenuItem'; import NewWorkflowMenuItem from 'features/workflowLibrary/components/WorkflowLibraryMenu/NewWorkflowMenuItem';
import SaveWorkflowAsMenuItem from 'features/workflowLibrary/components/WorkflowLibraryMenu/SaveWorkflowAsMenuItem'; import SaveWorkflowAsMenuItem from 'features/workflowLibrary/components/WorkflowLibraryMenu/SaveWorkflowAsMenuItem';
import SaveWorkflowMenuItem from 'features/workflowLibrary/components/WorkflowLibraryMenu/SaveWorkflowMenuItem'; import SaveWorkflowMenuItem from 'features/workflowLibrary/components/WorkflowLibraryMenu/SaveWorkflowMenuItem';
import SettingsMenuItem from 'features/workflowLibrary/components/WorkflowLibraryMenu/SettingsMenuItem'; import SettingsMenuItem from 'features/workflowLibrary/components/WorkflowLibraryMenu/SettingsMenuItem';
@ -39,7 +39,7 @@ const WorkflowLibraryMenu = () => {
{isWorkflowLibraryEnabled && <SaveWorkflowAsMenuItem />} {isWorkflowLibraryEnabled && <SaveWorkflowAsMenuItem />}
<DownloadWorkflowMenuItem /> <DownloadWorkflowMenuItem />
<UploadWorkflowMenuItem /> <UploadWorkflowMenuItem />
<ResetWorkflowEditorMenuItem /> <NewWorkflowMenuItem />
<MenuDivider /> <MenuDivider />
<SettingsMenuItem /> <SettingsMenuItem />
</MenuList> </MenuList>