@ -9,7 +9,10 @@ import {
|
|||||||
useRequestedTextToCadGeneration,
|
useRequestedTextToCadGeneration,
|
||||||
useFolders,
|
useFolders,
|
||||||
} from '@src/machines/systemIO/hooks'
|
} from '@src/machines/systemIO/hooks'
|
||||||
import { NO_PROJECT_DIRECTORY, SystemIOMachineEvents } from '@src/machines/systemIO/utils'
|
import {
|
||||||
|
NO_PROJECT_DIRECTORY,
|
||||||
|
SystemIOMachineEvents,
|
||||||
|
} from '@src/machines/systemIO/utils'
|
||||||
import { useNavigate } from 'react-router-dom'
|
import { useNavigate } from 'react-router-dom'
|
||||||
import { useEffect } from 'react'
|
import { useEffect } from 'react'
|
||||||
import { submitAndAwaitTextToKclSystemIO } from '@src/lib/textToCad'
|
import { submitAndAwaitTextToKclSystemIO } from '@src/lib/textToCad'
|
||||||
@ -96,9 +99,14 @@ export function SystemIOMachineLogicListenerDesktop() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
const folderName = systemIOActor.getSnapshot().context.lastProjectDeleteRequest.project
|
const folderName =
|
||||||
|
systemIOActor.getSnapshot().context.lastProjectDeleteRequest.project
|
||||||
const folderPath = `${projectDirectoryPath}${window.electron.sep}${folderName}`
|
const folderPath = `${projectDirectoryPath}${window.electron.sep}${folderName}`
|
||||||
if (folderName !== NO_PROJECT_DIRECTORY && (eventType === 'unlinkDir' || eventType === 'unlink') && path.includes(folderPath)) {
|
if (
|
||||||
|
folderName !== NO_PROJECT_DIRECTORY &&
|
||||||
|
(eventType === 'unlinkDir' || eventType === 'unlink') &&
|
||||||
|
path.includes(folderPath)
|
||||||
|
) {
|
||||||
// NO OP: The systemIOMachine will be triggering the read in the state transition, don't spam it again
|
// NO OP: The systemIOMachine will be triggering the read in the state transition, don't spam it again
|
||||||
// once this event is processed after the deletion.
|
// once this event is processed after the deletion.
|
||||||
} else {
|
} else {
|
||||||
|
@ -32,31 +32,31 @@ export const systemIOMachine = setup({
|
|||||||
| {
|
| {
|
||||||
type: SystemIOMachineEvents.done_checkReadWrite
|
type: SystemIOMachineEvents.done_checkReadWrite
|
||||||
output: { value: boolean; error: unknown }
|
output: { value: boolean; error: unknown }
|
||||||
}
|
}
|
||||||
| {
|
| {
|
||||||
type: SystemIOMachineEvents.setProjectDirectoryPath
|
type: SystemIOMachineEvents.setProjectDirectoryPath
|
||||||
data: { requestedProjectDirectoryPath: string }
|
data: { requestedProjectDirectoryPath: string }
|
||||||
}
|
}
|
||||||
| {
|
| {
|
||||||
type: SystemIOMachineEvents.navigateToProject
|
type: SystemIOMachineEvents.navigateToProject
|
||||||
data: { requestedProjectName: string }
|
data: { requestedProjectName: string }
|
||||||
}
|
}
|
||||||
| {
|
| {
|
||||||
type: SystemIOMachineEvents.navigateToFile
|
type: SystemIOMachineEvents.navigateToFile
|
||||||
data: { requestedProjectName: string; requestedFileName: string }
|
data: { requestedProjectName: string; requestedFileName: string }
|
||||||
}
|
}
|
||||||
| {
|
| {
|
||||||
type: SystemIOMachineEvents.createProject
|
type: SystemIOMachineEvents.createProject
|
||||||
data: { requestedProjectName: string }
|
data: { requestedProjectName: string }
|
||||||
}
|
}
|
||||||
| {
|
| {
|
||||||
type: SystemIOMachineEvents.renameProject
|
type: SystemIOMachineEvents.renameProject
|
||||||
data: { requestedProjectName: string; projectName: string }
|
data: { requestedProjectName: string; projectName: string }
|
||||||
}
|
}
|
||||||
| {
|
| {
|
||||||
type: SystemIOMachineEvents.deleteProject
|
type: SystemIOMachineEvents.deleteProject
|
||||||
data: { requestedProjectName: string }
|
data: { requestedProjectName: string }
|
||||||
}
|
}
|
||||||
| {
|
| {
|
||||||
type: SystemIOMachineEvents.done_deleteProject
|
type: SystemIOMachineEvents.done_deleteProject
|
||||||
output: { message: string; name: string }
|
output: { message: string; name: string }
|
||||||
@ -172,7 +172,7 @@ export const systemIOMachine = setup({
|
|||||||
[SystemIOMachineActions.setLastProjectDeleteRequest]: assign({
|
[SystemIOMachineActions.setLastProjectDeleteRequest]: assign({
|
||||||
lastProjectDeleteRequest: ({ event }) => {
|
lastProjectDeleteRequest: ({ event }) => {
|
||||||
assertEvent(event, SystemIOMachineEvents.done_deleteProject)
|
assertEvent(event, SystemIOMachineEvents.done_deleteProject)
|
||||||
return {project: event.output.name}
|
return { project: event.output.name }
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
@ -286,8 +286,8 @@ export const systemIOMachine = setup({
|
|||||||
isProjectNew: true,
|
isProjectNew: true,
|
||||||
},
|
},
|
||||||
lastProjectDeleteRequest: {
|
lastProjectDeleteRequest: {
|
||||||
project: NO_PROJECT_DIRECTORY
|
project: NO_PROJECT_DIRECTORY,
|
||||||
}
|
},
|
||||||
}),
|
}),
|
||||||
states: {
|
states: {
|
||||||
[SystemIOMachineStates.idle]: {
|
[SystemIOMachineStates.idle]: {
|
||||||
@ -414,7 +414,10 @@ export const systemIOMachine = setup({
|
|||||||
},
|
},
|
||||||
onDone: {
|
onDone: {
|
||||||
target: SystemIOMachineStates.readingFolders,
|
target: SystemIOMachineStates.readingFolders,
|
||||||
actions: [SystemIOMachineActions.toastSuccess, SystemIOMachineActions.setLastProjectDeleteRequest]
|
actions: [
|
||||||
|
SystemIOMachineActions.toastSuccess,
|
||||||
|
SystemIOMachineActions.setLastProjectDeleteRequest,
|
||||||
|
],
|
||||||
},
|
},
|
||||||
onError: {
|
onError: {
|
||||||
target: SystemIOMachineStates.idle,
|
target: SystemIOMachineStates.idle,
|
||||||
|
@ -57,7 +57,7 @@ export enum SystemIOMachineActions {
|
|||||||
toastError = 'toastError',
|
toastError = 'toastError',
|
||||||
setReadWriteProjectDirectory = 'set read write project directory',
|
setReadWriteProjectDirectory = 'set read write project directory',
|
||||||
setRequestedTextToCadGeneration = 'set requested text to cad generation',
|
setRequestedTextToCadGeneration = 'set requested text to cad generation',
|
||||||
setLastProjectDeleteRequest = 'set last project delete request'
|
setLastProjectDeleteRequest = 'set last project delete request',
|
||||||
}
|
}
|
||||||
|
|
||||||
export const NO_PROJECT_DIRECTORY = ''
|
export const NO_PROJECT_DIRECTORY = ''
|
||||||
|
Reference in New Issue
Block a user