Skip to content

Commit

Permalink
update document custom types
Browse files Browse the repository at this point in the history
  • Loading branch information
ciur committed Oct 7, 2024
1 parent e4bb470 commit 3fd696d
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 5 deletions.
5 changes: 3 additions & 2 deletions ui2/src/features/api/slice.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,9 @@ export const apiSlice = createApi({
"Node",
"Folder",
"Document",
"CustomField",
"DocumentType"
"CustomField", // CRUD custom field
"DocumentType",
"DocumentCustomField" // custom fields associated to specific document (via document type)
],
endpoints: _ => ({})
})
13 changes: 11 additions & 2 deletions ui2/src/features/document/apiSlice.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import {RootState} from "@/app/types"
import {ONE_DAY_IN_SECONDS} from "@/cconstants"
import {apiSlice} from "@/features/api/slice"
import type {CustomFieldValueType} from "@/types"
import type {CustomFieldValueType, DocumentCustomFieldValue} from "@/types"
import {DocumentType, ExtractStrategyType, TransferStrategyType} from "@/types"
import {getBaseURL, getDefaultHeaders, imageEncode} from "@/utils"

Expand Down Expand Up @@ -148,6 +148,14 @@ export const apiSliceWithDocuments = apiSlice.injectEndpoints({
method: "PATCH",
body: data.body
})
}),
getDocumentCustomFields: builder.query<DocumentCustomFieldValue[], string>({
query: documentID => ({
url: `/documents/${documentID}/custom-fields`
}),
providesTags: (_result, _error, arg) => [
{type: "DocumentCustomField", id: arg}
]
})
})
})
Expand All @@ -158,5 +166,6 @@ export const {
useApplyPageOpChangesMutation,
useMovePagesMutation,
useExtractPagesMutation,
useUpdateDocumentCustomFieldsMutation
useUpdateDocumentCustomFieldsMutation,
useGetDocumentCustomFieldsQuery
} = apiSliceWithDocuments
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@ import {
useGetDocumentTypeQuery,
useGetDocumentTypesQuery
} from "@/features/document-types/apiSlice"
import {useUpdateDocumentCustomFieldsMutation} from "@/features/document/apiSlice"
import {
useGetDocumentCustomFieldsQuery,
useUpdateDocumentCustomFieldsMutation
} from "@/features/document/apiSlice"
import {selectCurrentNodeID} from "@/features/ui/uiSlice"
import type {CustomField, CustomFieldValueType, PanelMode} from "@/types"
import {Button, ComboboxItem, Select, Skeleton, TextInput} from "@mantine/core"
Expand All @@ -30,6 +33,9 @@ export default function CustomFields() {
>([])
const [updateDocumentCustomFields, {error}] =
useUpdateDocumentCustomFieldsMutation()
const {data: documentCustomFields} = useGetDocumentCustomFieldsQuery(
docID ?? skipToken
)

useEffect(() => {
if (documentType?.custom_fields) {
Expand Down Expand Up @@ -110,6 +116,7 @@ export default function CustomFields() {
{showSaveButton && <Button onClick={onSave}>Save</Button>}
{error && (
<div>
{/* @ts-ignore*/}
{error.status} {JSON.stringify(error.data)}
</div>
)}
Expand Down
8 changes: 8 additions & 0 deletions ui2/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -433,3 +433,11 @@ export interface CustomFieldValueType {
custom_field_id: string
value: string
}

export type DocumentCustomFieldValue = {
id: string
name: string
data_type: string
extra_data: string
value: string
}

0 comments on commit 3fd696d

Please sign in to comment.