pull/924/head
yann300 4 years ago
parent d467f4b331
commit c70a5a74a7
  1. 125
      libs/remix-ui/workspace/src/lib/remix-ui-workspace.tsx

@ -97,18 +97,13 @@ export const Workspace = (props: WorkspaceProps) => {
message: 'Please choose a name for the workspace', message: 'Please choose a name for the workspace',
ok: { ok: {
label: '', label: '',
fn: () => onFinishRenameWorkspace() fn: () => {}
}, },
cancel: { cancel: {
label: '', label: '',
fn: () => {} fn: () => {}
}, },
handleHide: () => { handleHide: null
setState(prevState => {
state.renameModal.hide = true
return { ...prevState, ...state.renameModal }
})
}
}, },
deleteModal: { deleteModal: {
id: 'deleteWorkspace', id: 'deleteWorkspace',
@ -117,18 +112,13 @@ export const Workspace = (props: WorkspaceProps) => {
message: 'Please confirm workspace deletion', message: 'Please confirm workspace deletion',
ok: { ok: {
label: '', label: '',
fn: () => onFinishDeleteWorkspace() fn: () => {}
}, },
cancel: { cancel: {
label: '', label: '',
fn: () => {} fn: () => {}
}, },
handleHide: () => { handleHide: null
setState(prevState => {
state.deleteModal.hide = true
return { ...prevState, ...state.deleteModal }
})
}
}, },
createModal: { createModal: {
id: 'createWorkspace', id: 'createWorkspace',
@ -137,63 +127,96 @@ export const Workspace = (props: WorkspaceProps) => {
message: 'Please choose a name for the workspace', message: 'Please choose a name for the workspace',
ok: { ok: {
label: '', label: '',
fn: () => onFinishCreateWorkspace() fn: () => {}
}, },
cancel: { cancel: {
label: '', label: '',
fn: () => {} fn: () => {}
}, },
handleHide: () => { handleHide: null
setState(prevState => {
state.createModal.hide = true
return { ...prevState, ...state.createModal }
})
}
} }
}) })
/* workspace creation, renaming and deletion */ /* workspace creation, renaming and deletion */
// const modal = (title: string, message: string, ok: { label: string, fn: () => void }, cancel: { label: string, fn: () => void }) => { const renameCurrentWorkspace = () => {
// setState(prevState => {
// return {
// ...prevState,
// modals: [...prevState.modals,
// {
// message,
// title,
// ok,
// cancel,
// handleHide: handleHideModal
// }]
// }
// })
// }
const workspaceRenameInput = useRef()
const workspaceCreateInput = useRef()
const createWorkspace = () => {
setState(prevState => { setState(prevState => {
state.createModal.hide = false return {
return { ...prevState, ...state.createModal } ...prevState,
renameModal: {
...prevState.renameModal,
hide: false,
ok: {
label: '',
fn: () => onFinishRenameWorkspace()
},
cancel: {
label: '',
fn: () => {}
},
handleHide: () => {
setState(prevState => {
return { ...prevState, renameModal: {...prevState.renameModal, hide: true } }
})
}
},
}
}) })
} }
const renameCurrentWorkspace = () => { const createWorkspace = () => {
setState(prevState => { setState(prevState => {
state.renameModal.hide = false return {
return { ...prevState, ...state.renameModal } ...prevState,
createModal: {
...prevState.createModal,
hide: false,
ok: {
label: '',
fn: () => onFinishCreateWorkspace()
},
cancel: {
label: '',
fn: () => {}
},
handleHide: () => {
setState(prevState => {
return { ...prevState, createModal: {...prevState.createModal, hide: true } }
})
}
}
}
}) })
} }
const deleteCurrentWorkspace = () => { const deleteCurrentWorkspace = () => {
setState(prevState => { setState(prevState => {
state.deleteModal.hide = false return {
return { ...prevState, ...state.deleteModal } ...prevState,
deleteModal: {
...prevState.deleteModal,
hide: false,
ok: {
label: '',
fn: () => onFinishDeleteWorkspace()
},
cancel: {
label: '',
fn: () => {}
},
handleHide: () => {
setState(prevState => {
return { ...prevState, deleteModal: {...prevState.deleteModal, hide: true } }
})
}
},
}
}) })
} }
const workspaceRenameInput = useRef()
const workspaceCreateInput = useRef()
const onFinishRenameWorkspace = async () => { const onFinishRenameWorkspace = async () => {
if (workspaceRenameInput.current === undefined) return if (workspaceRenameInput.current === undefined) return
// @ts-ignore: Object is possibly 'null'. // @ts-ignore: Object is possibly 'null'.

Loading…
Cancel
Save