Files
certd/packages/ui/certd-client/src/views/crud/component/icon/crud.tsx
T
GitHub Actions Bot 282f8b4e02 🔱: [client] sync upgrade with 5 commits [trident-sync]
chore:
chore:
chore: editRequest 判断form.id不为空
chore:
2023-11-23 19:24:19 +00:00

80 lines
1.9 KiB
TypeScript

import * as api from "./api";
import { AddReq, CreateCrudOptionsProps, CreateCrudOptionsRet, DelReq, EditReq, UserPageQuery, UserPageRes } from "@fast-crud/fast-crud";
export default function ({ crudExpose }: CreateCrudOptionsProps): CreateCrudOptionsRet {
const pageRequest = async (query: UserPageQuery): Promise<UserPageRes> => {
return await api.GetList(query);
};
const editRequest = async ({ form, row }: EditReq) => {
if (form.id == null) {
form.id = row.id;
}
return await api.UpdateObj(form);
};
const delRequest = async ({ row }: DelReq) => {
return await api.DelObj(row.id);
};
const addRequest = async ({ form }: AddReq) => {
return await api.AddObj(form);
};
return {
crudOptions: {
request: {
pageRequest,
addRequest,
editRequest,
delRequest
},
columns: {
id: {
title: "ID",
key: "id",
type: "number",
column: {
width: 50
},
form: {
show: false
}
},
icon: {
title: "icon",
search: { show: true },
type: "text",
column: {
component: {
name: "fs-icon",
vModel: "icon",
style: "font-size:18px"
}
},
form: {
helper: {
render() {
return (
<a target={"_blank"} href={"https://iconify.design/icon-sets/ion/"}>
</a>
);
}
}
}
},
svg: {
title: "svg",
search: { show: true },
type: "text",
column: {
component: {
name: "fs-icon",
vModel: "icon",
style: "font-size:18px"
}
}
}
}
}
};
}