refactor(doc-search-view): updated to initalize the documents in the component

This commit is contained in:
tekh 2025-07-15 16:58:48 +02:00
parent f58fa0dd80
commit 1fbcdd82c8
3 changed files with 12 additions and 23 deletions

View File

@ -1,27 +1,15 @@
import { useEffect, useState } from 'react';
import { _posts } from 'src/_mock'; import { _posts } from 'src/_mock';
import { CONFIG } from 'src/config-global'; import { CONFIG } from 'src/config-global';
import { Doc, getDocuments } from 'src/services/document-service';
import { DocSearchView } from 'src/sections/document/view'; import { DocSearchView } from 'src/sections/document/view';
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
export default function Page() { export default function Page() {
const [docs, setDocs] = useState<Doc[]>([]);
useEffect(() => {
getDocuments({}).then((res) => {
setDocs(res);
});
}, []);
return ( return (
<> <>
<title>{`Document Search - ${CONFIG.appName}`}</title> <title>{`Document Search - ${CONFIG.appName}`}</title>
<DocSearchView />
<DocSearchView docs={docs} />
</> </>
); );
} }

View File

@ -6,8 +6,8 @@ import Button from '@mui/material/Button';
import Typography from '@mui/material/Typography'; import Typography from '@mui/material/Typography';
import Pagination from '@mui/material/Pagination'; import Pagination from '@mui/material/Pagination';
import { Doc } from 'src/services/document-service';
import { DashboardContent } from 'src/layouts/dashboard'; import { DashboardContent } from 'src/layouts/dashboard';
import { Doc, getDocuments } from 'src/services/document-service';
import { Attribute, getAttributes } from 'src/services/attribute-service'; import { Attribute, getAttributes } from 'src/services/attribute-service';
import { Iconify } from 'src/components/iconify'; import { Iconify } from 'src/components/iconify';
@ -20,11 +20,7 @@ import { DecimalFilter, IntFilter } from '../num-filter';
import { DateFilter, DateTimeFilter, TimeFilter } from '../date-filter'; import { DateFilter, DateTimeFilter, TimeFilter } from '../date-filter';
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
type Props = { export function DocSearchView() {
docs: Doc[];
};
export function DocSearchView({ docs }: Props) {
const [sortBy, setSortBy] = useState('latest'); const [sortBy, setSortBy] = useState('latest');
const [filters, setFilters] = useState<Attribute[]>([]) const [filters, setFilters] = useState<Attribute[]>([])
@ -39,6 +35,14 @@ export function DocSearchView({ docs }: Props) {
}); });
}, []); }, []);
const [docs, setDocs] = useState<Doc[]>([]);
useEffect(() => {
getDocuments({}).then((res) => {
setDocs(res);
});
}, []);
const [openCreateFilterModal, setOpenCreateFilterModal] = useState(false); const [openCreateFilterModal, setOpenCreateFilterModal] = useState(false);
//#region example components //#region example components

View File

@ -1,7 +1,5 @@
import { _documents } from "src/_mock" import { _documents } from "src/_mock"
import { Type } from "./attribute-service";
export type FileFormat = export type FileFormat =
| 'pdf' | 'pdf'
| 'docx' | 'docx'
@ -26,8 +24,7 @@ const validExtensions: FileFormat[] = [
type DocAttribute = { type DocAttribute = {
name: string; name: string;
serilizedValue: string; serilizedValue?: string;
type: Type;
} }
export class Doc { export class Doc {