feat: selected area id in provider
This commit is contained in:
parent
8369230b7c
commit
c1ad2132ac
Binary file not shown.
@ -56,7 +56,6 @@ function classNames(...classes: any[]) {
|
|||||||
|
|
||||||
function Sidebar() {
|
function Sidebar() {
|
||||||
const [selectedGroupId, setSelectedGroupId] = useState('')
|
const [selectedGroupId, setSelectedGroupId] = useState('')
|
||||||
const [selectedAreaId, setSelectedAreaId] = useState('')
|
|
||||||
const [isAddNewDocumentInputShowing, setIsAddNewDocumentInputShowing] = useState(false)
|
const [isAddNewDocumentInputShowing, setIsAddNewDocumentInputShowing] = useState(false)
|
||||||
const [isAddNewGroupInputShowing, setIsAddNewGroupInputShowing] = useState(false)
|
const [isAddNewGroupInputShowing, setIsAddNewGroupInputShowing] = useState(false)
|
||||||
const [isEditAreaNameInputShowing, setIsEditAreaNameInputShowing] = useState(false)
|
const [isEditAreaNameInputShowing, setIsEditAreaNameInputShowing] = useState(false)
|
||||||
@ -71,6 +70,8 @@ function Sidebar() {
|
|||||||
requestUpdateArea,
|
requestUpdateArea,
|
||||||
requestAddDocument,
|
requestAddDocument,
|
||||||
requestAddDocumentGroup,
|
requestAddDocumentGroup,
|
||||||
|
selectedAreaId,
|
||||||
|
setSelectedAreaId,
|
||||||
selectedDocumentId,
|
selectedDocumentId,
|
||||||
setSelectedDocumentId,
|
setSelectedDocumentId,
|
||||||
} = useProject()
|
} = useProject()
|
||||||
@ -86,10 +87,6 @@ function Sidebar() {
|
|||||||
return groupId
|
return groupId
|
||||||
}
|
}
|
||||||
|
|
||||||
// const getGroupIdFromAreaId = (areaId: string) => {
|
|
||||||
// return navigation.find(g => g.documents.map(d => d.areas.map(a => a.id)).flat().includes(areaId))?.id
|
|
||||||
// }
|
|
||||||
|
|
||||||
const getDocumentIdFromAreaId = (areaId: string) => {
|
const getDocumentIdFromAreaId = (areaId: string) => {
|
||||||
let documentId = ''
|
let documentId = ''
|
||||||
navigation.map(g => g.documents).flat().forEach(d => {
|
navigation.map(g => g.documents).flat().forEach(d => {
|
||||||
|
|||||||
@ -5,6 +5,7 @@ const makeDefaultProject = (): ProjectContextType => ({
|
|||||||
id: '',
|
id: '',
|
||||||
documents: [] as ipc.Document[],
|
documents: [] as ipc.Document[],
|
||||||
groups: [] as ipc.Group[],
|
groups: [] as ipc.Group[],
|
||||||
|
selectedAreaId: '',
|
||||||
selectedDocumentId: '',
|
selectedDocumentId: '',
|
||||||
getSelectedDocument: () => new ipc.Document(),
|
getSelectedDocument: () => new ipc.Document(),
|
||||||
getAreaById: (areaId) => undefined,
|
getAreaById: (areaId) => undefined,
|
||||||
@ -12,6 +13,7 @@ const makeDefaultProject = (): ProjectContextType => ({
|
|||||||
requestUpdateArea: (updatedArea) => Promise.resolve(new ipc.Area()),
|
requestUpdateArea: (updatedArea) => Promise.resolve(new ipc.Area()),
|
||||||
requestAddDocument: (groupId, documentName) => Promise.resolve(new ipc.Document()),
|
requestAddDocument: (groupId, documentName) => Promise.resolve(new ipc.Document()),
|
||||||
requestAddDocumentGroup: (groupName: string) => Promise.resolve(new ipc.Group()),
|
requestAddDocumentGroup: (groupName: string) => Promise.resolve(new ipc.Group()),
|
||||||
|
setSelectedAreaId: (id) => {},
|
||||||
setSelectedDocumentId: (id) => {}
|
setSelectedDocumentId: (id) => {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@ -16,6 +16,7 @@ type Props = { children: ReactNode, projectProps: ProjectProps }
|
|||||||
export function ProjectProvider({ children, projectProps }: Props) {
|
export function ProjectProvider({ children, projectProps }: Props) {
|
||||||
const [ documents, setDocuments ] = useState<ipc.Document[]>(projectProps.documents)
|
const [ documents, setDocuments ] = useState<ipc.Document[]>(projectProps.documents)
|
||||||
const [ groups, setGroups ] = useState<ipc.Group[]>(projectProps.groups)
|
const [ groups, setGroups ] = useState<ipc.Group[]>(projectProps.groups)
|
||||||
|
const [ selectedAreaId, setSelectedAreaId ] = useState<string>('')
|
||||||
const [selectedDocumentId, setSelectedDocumentId] = useState<string>('')
|
const [selectedDocumentId, setSelectedDocumentId] = useState<string>('')
|
||||||
|
|
||||||
const updateDocuments = async () => {
|
const updateDocuments = async () => {
|
||||||
@ -72,6 +73,8 @@ export function ProjectProvider({ children, projectProps }: Props) {
|
|||||||
requestAddDocument,
|
requestAddDocument,
|
||||||
requestAddDocumentGroup,
|
requestAddDocumentGroup,
|
||||||
requestUpdateArea,
|
requestUpdateArea,
|
||||||
|
selectedAreaId,
|
||||||
|
setSelectedAreaId,
|
||||||
selectedDocumentId,
|
selectedDocumentId,
|
||||||
setSelectedDocumentId,
|
setSelectedDocumentId,
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,6 +23,8 @@ export type ProjectContextType = {
|
|||||||
requestUpdateArea: (area: AreaProps) => Promise<ipc.Area>
|
requestUpdateArea: (area: AreaProps) => Promise<ipc.Area>
|
||||||
requestAddDocument: (groupId: string, documentName: string) => Promise<ipc.Document>
|
requestAddDocument: (groupId: string, documentName: string) => Promise<ipc.Document>
|
||||||
requestAddDocumentGroup: (groupName: string) => Promise<ipc.Group>
|
requestAddDocumentGroup: (groupName: string) => Promise<ipc.Group>
|
||||||
|
selectedAreaId: string,
|
||||||
|
setSelectedAreaId: (id: string) => void,
|
||||||
selectedDocumentId: string
|
selectedDocumentId: string
|
||||||
setSelectedDocumentId: (id: string) => void
|
setSelectedDocumentId: (id: string) => void
|
||||||
} & ProjectProps
|
} & ProjectProps
|
||||||
Loading…
x
Reference in New Issue
Block a user