diff --git a/src/pages/dashboards/DataPage.tsx b/src/pages/dashboards/DataPage.tsx index 60a9888..cd48989 100644 --- a/src/pages/dashboards/DataPage.tsx +++ b/src/pages/dashboards/DataPage.tsx @@ -1,25 +1,36 @@ import { useParams } from 'react-router-dom'; -import {useApiDocumentation} from "../../API/hooks.ts"; +import { useApiDocumentation, useDataPage } from "../../API/hooks.ts"; +import { FieldInfo } from "../../types/common.ts"; export function DataPage() { const { applicationName, endpointName } = useParams<{ applicationName: string; endpointName: string }>(); - const {schema} = useApiDocumentation(applicationName || "", endpointName || ""); + // Получаем схему документации API + const { schema, loading: loadingSchema } = useApiDocumentation(applicationName || "", endpointName || ""); - console.log(schema) + // Получаем данные с помощью пагинации + const dataPage = useDataPage(applicationName || "", endpointName || "", {}, !loadingSchema); + // Функция для экспорта данных в Excel (пока пустая) const handleExport = () => { - // Пока пусто + // Логика для экспорта данных }; + // Функция для добавления новых данных (пока пустая) const handleAdd = () => { - // Пока пусто + // Логика для добавления данных }; + // Функция для фильтрации данных (пока пустая) const handleFilters = () => { - // Пока пусто + // Логика для фильтрации данных }; + // Если данные или схема загружаются, отображаем загрузку + if (loadingSchema) { + return
Загрузка схемы...
; + } + return (
@@ -31,14 +42,31 @@ export function DataPage() { - - - - + {schema?.map((field: FieldInfo) => ( + + ))} - {/* Тут могут быть строки данных */} + {dataPage.items && dataPage.items.length > 0 ? ( + dataPage.items.map((item: unknown) => ( + + {schema?.map((field: FieldInfo) => ( + + ))} + + )) + ) : ( + + + + )}
Header 1Header 2Header 3Header 4 + {field.title} +
+ {item[field.name]} +
+ Нет данных для отображения +