chore: implemented open and create project for e2e testing. They are hard coded in poor spot for now.
This commit is contained in:
@ -7,7 +7,10 @@ import {
|
|||||||
useRequestedFileName,
|
useRequestedFileName,
|
||||||
useRequestedProjectName,
|
useRequestedProjectName,
|
||||||
} from '@src/machines/systemIO/hooks'
|
} from '@src/machines/systemIO/hooks'
|
||||||
import {folderSnapshot} from '@src/machines/systemIO/snapshotContext'
|
import {
|
||||||
|
folderSnapshot,
|
||||||
|
defaultProjectFolderNameSnapshot,
|
||||||
|
} from '@src/machines/systemIO/snapshotContext'
|
||||||
import { SystemIOMachineEvents } from '@src/machines/systemIO/utils'
|
import { SystemIOMachineEvents } from '@src/machines/systemIO/utils'
|
||||||
import { useEffect } from 'react'
|
import { useEffect } from 'react'
|
||||||
import { useNavigate } from 'react-router-dom'
|
import { useNavigate } from 'react-router-dom'
|
||||||
@ -23,15 +26,18 @@ export function SystemIOMachineLogicListener() {
|
|||||||
const settings = useSettings()
|
const settings = useSettings()
|
||||||
|
|
||||||
const openProjectCommand: Command = {
|
const openProjectCommand: Command = {
|
||||||
|
icon: 'arrowRight',
|
||||||
name: 'Open projecct',
|
name: 'Open projecct',
|
||||||
displayName: `Open project`,
|
displayName: `Open project`,
|
||||||
description:
|
description: 'Open a project',
|
||||||
'Open a project',
|
|
||||||
groupId: 'projects',
|
groupId: 'projects',
|
||||||
needsReview: false,
|
needsReview: false,
|
||||||
onSubmit: (record) => {
|
onSubmit: (record) => {
|
||||||
if (record) {
|
if (record) {
|
||||||
systemIOActor.send({type:SystemIOMachineEvents.navigateToProject,data:{requestedProjectName: record.name}})
|
systemIOActor.send({
|
||||||
|
type: SystemIOMachineEvents.navigateToProject,
|
||||||
|
data: { requestedProjectName: record.name },
|
||||||
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
args: {
|
args: {
|
||||||
@ -41,22 +47,45 @@ export function SystemIOMachineLogicListener() {
|
|||||||
options: () => {
|
options: () => {
|
||||||
const folders = folderSnapshot()
|
const folders = folderSnapshot()
|
||||||
const options: CommandArgumentOption<any>[] = []
|
const options: CommandArgumentOption<any>[] = []
|
||||||
folders.forEach((folder)=>{
|
folders.forEach((folder) => {
|
||||||
options.push({
|
options.push({
|
||||||
name: folder.name,
|
name: folder.name,
|
||||||
value: folder.name,
|
value: folder.name,
|
||||||
isCurrent: false
|
isCurrent: false,
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
return options
|
return options
|
||||||
} ,
|
},
|
||||||
},
|
},
|
||||||
}}
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
const createProjectCommand: Command = {
|
||||||
|
icon: 'folder',
|
||||||
|
name: 'Create project',
|
||||||
|
displayName: `Create project`,
|
||||||
|
description: 'Create a project',
|
||||||
|
groupId: 'projects',
|
||||||
|
needsReview: false,
|
||||||
|
onSubmit: (record) => {
|
||||||
|
if (record) {
|
||||||
|
systemIOActor.send({
|
||||||
|
type: SystemIOMachineEvents.createProject,
|
||||||
|
data: { requestedProjectName: record.name },
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
args: {
|
||||||
|
name: {
|
||||||
|
required: true,
|
||||||
|
inputType: 'string',
|
||||||
|
defaultValue: defaultProjectFolderNameSnapshot,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const commands = [
|
const commands = [openProjectCommand, createProjectCommand]
|
||||||
openProjectCommand,
|
|
||||||
]
|
|
||||||
commandBarActor.send({
|
commandBarActor.send({
|
||||||
type: 'Add commands',
|
type: 'Add commands',
|
||||||
data: {
|
data: {
|
||||||
|
|||||||
@ -4,3 +4,8 @@ export const folderSnapshot = () => {
|
|||||||
const { folders } = systemIOActor.getSnapshot().context
|
const { folders } = systemIOActor.getSnapshot().context
|
||||||
return folders
|
return folders
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const defaultProjectFolderNameSnapshot = () => {
|
||||||
|
const { defaultProjectFolderName } = systemIOActor.getSnapshot().context
|
||||||
|
return defaultProjectFolderName
|
||||||
|
}
|
||||||
|
|||||||
@ -224,9 +224,6 @@ const Home = () => {
|
|||||||
data: {
|
data: {
|
||||||
groupId: 'projects',
|
groupId: 'projects',
|
||||||
name: 'Create project',
|
name: 'Create project',
|
||||||
argDefaultValues: {
|
|
||||||
name: settings.projects.defaultProjectName.current,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user