feat(ui): optimize table UI

This commit is contained in:
Fu Diwei 2024-12-09 13:19:25 +08:00
parent 048150d779
commit c5498b92a2
4 changed files with 20 additions and 0 deletions

View File

@ -4,6 +4,7 @@ import { Avatar, Button, Empty, Modal, notification, Space, Table, Tooltip, Typo
import { PageHeader } from "@ant-design/pro-components"; import { PageHeader } from "@ant-design/pro-components";
import { Copy as CopyIcon, Pencil as PencilIcon, Plus as PlusIcon, Trash2 as Trash2Icon } from "lucide-react"; import { Copy as CopyIcon, Pencil as PencilIcon, Plus as PlusIcon, Trash2 as Trash2Icon } from "lucide-react";
import moment from "moment"; import moment from "moment";
import { ClientResponseError } from "pocketbase";
import AccessEditDialog from "@/components/certimate/AccessEditDialog"; import AccessEditDialog from "@/components/certimate/AccessEditDialog";
import { Access as AccessType, accessProvidersMap } from "@/domain/access"; import { Access as AccessType, accessProvidersMap } from "@/domain/access";
@ -123,6 +124,10 @@ const AccessList = () => {
setTableData(items); setTableData(items);
setTableTotal(configContext.config.accesses.length); setTableTotal(configContext.config.accesses.length);
} catch (err) { } catch (err) {
if (err instanceof ClientResponseError && err.isAbort) {
return;
}
console.error(err); console.error(err);
notificationApi.error({ message: t("common.text.request_error"), description: <>{String(err)}</> }); notificationApi.error({ message: t("common.text.request_error"), description: <>{String(err)}</> });
} finally { } finally {

View File

@ -5,6 +5,7 @@ import { Button, Divider, Empty, Menu, notification, Radio, Space, Table, theme,
import { PageHeader } from "@ant-design/pro-components"; import { PageHeader } from "@ant-design/pro-components";
import { Eye as EyeIcon, Filter as FilterIcon } from "lucide-react"; import { Eye as EyeIcon, Filter as FilterIcon } from "lucide-react";
import moment from "moment"; import moment from "moment";
import { ClientResponseError } from "pocketbase";
import CertificateDetailDrawer from "@/components/certificate/CertificateDetailDrawer"; import CertificateDetailDrawer from "@/components/certificate/CertificateDetailDrawer";
import { Certificate as CertificateType } from "@/domain/certificate"; import { Certificate as CertificateType } from "@/domain/certificate";
@ -192,6 +193,10 @@ const CertificateList = () => {
setTableData(resp.items); setTableData(resp.items);
setTableTotal(resp.totalItems); setTableTotal(resp.totalItems);
} catch (err) { } catch (err) {
if (err instanceof ClientResponseError && err.isAbort) {
return;
}
console.error(err); console.error(err);
notificationApi.error({ message: t("common.text.request_error"), description: <>{String(err)}</> }); notificationApi.error({ message: t("common.text.request_error"), description: <>{String(err)}</> });
} finally { } finally {

View File

@ -10,6 +10,7 @@ import {
SquareSigma as SquareSigmaIcon, SquareSigma as SquareSigmaIcon,
Workflow as WorkflowIcon, Workflow as WorkflowIcon,
} from "lucide-react"; } from "lucide-react";
import { ClientResponseError } from "pocketbase";
import { type Statistic as StatisticType } from "@/domain/domain"; import { type Statistic as StatisticType } from "@/domain/domain";
import { get as getStatistics } from "@/api/statistics"; import { get as getStatistics } from "@/api/statistics";
@ -43,6 +44,10 @@ const Dashboard = () => {
const data = await getStatistics(); const data = await getStatistics();
setStatistic(data); setStatistic(data);
} catch (err) { } catch (err) {
if (err instanceof ClientResponseError && err.isAbort) {
return;
}
console.error(err); console.error(err);
notificationApi.error({ message: t("common.text.request_error"), description: <>{String(err)}</> }); notificationApi.error({ message: t("common.text.request_error"), description: <>{String(err)}</> });
} finally { } finally {

View File

@ -21,6 +21,7 @@ import {
import { PageHeader } from "@ant-design/pro-components"; import { PageHeader } from "@ant-design/pro-components";
import { Filter as FilterIcon, Pencil as PencilIcon, Plus as PlusIcon, Trash2 as Trash2Icon } from "lucide-react"; import { Filter as FilterIcon, Pencil as PencilIcon, Plus as PlusIcon, Trash2 as Trash2Icon } from "lucide-react";
import moment from "moment"; import moment from "moment";
import { ClientResponseError } from "pocketbase";
import { Workflow as WorkflowType } from "@/domain/workflow"; import { Workflow as WorkflowType } from "@/domain/workflow";
import { list as listWorkflow, remove as removeWorkflow, save as saveWorkflow } from "@/repository/workflow"; import { list as listWorkflow, remove as removeWorkflow, save as saveWorkflow } from "@/repository/workflow";
@ -219,6 +220,10 @@ const WorkflowList = () => {
setTableData(resp.items); setTableData(resp.items);
setTableTotal(resp.totalItems); setTableTotal(resp.totalItems);
} catch (err) { } catch (err) {
if (err instanceof ClientResponseError && err.isAbort) {
return;
}
console.error(err); console.error(err);
notificationApi.error({ message: t("common.text.request_error"), description: <>{String(err)}</> }); notificationApi.error({ message: t("common.text.request_error"), description: <>{String(err)}</> });
} finally { } finally {