🔱: [client] sync upgrade with 5 commits [trident-sync]

refactor: 1.11.9
refactor: 1.11.9
perf: 增加表单字段render示例
refactor: 删除无用的index
pull/14/head
GitHub Actions Bot 2023-03-28 19:24:02 +00:00
parent e7628bdbdd
commit 8aa8c5d8ae
9 changed files with 179 additions and 23 deletions

View File

@ -3,6 +3,10 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.11.9](https://github.com/fast-crud/fast-crud/compare/v1.11.8...v1.11.9) (2023-03-28)
**Note:** Version bump only for package @fast-crud/fs-admin-antdv
## [1.11.8](https://github.com/fast-crud/fast-crud/compare/v1.11.7...v1.11.8) (2023-03-24) ## [1.11.8](https://github.com/fast-crud/fast-crud/compare/v1.11.7...v1.11.8) (2023-03-24)
### Bug Fixes ### Bug Fixes

View File

@ -1,6 +1,6 @@
{ {
"name": "@fast-crud/fs-admin-antdv", "name": "@fast-crud/fs-admin-antdv",
"version": "1.11.8", "version": "1.11.9",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",
@ -25,10 +25,10 @@
"@ant-design/icons-vue": "^6.1.0", "@ant-design/icons-vue": "^6.1.0",
"@aws-sdk/client-s3": "^3.292.0", "@aws-sdk/client-s3": "^3.292.0",
"@aws-sdk/s3-request-presigner": "^3.292.0", "@aws-sdk/s3-request-presigner": "^3.292.0",
"@fast-crud/fast-crud": "^1.11.8", "@fast-crud/fast-crud": "^1.11.9",
"@fast-crud/fast-extends": "^1.11.8", "@fast-crud/fast-extends": "^1.11.9",
"@fast-crud/ui-antdv": "^1.11.8", "@fast-crud/ui-antdv": "^1.11.9",
"@fast-crud/ui-interface": "^1.11.8", "@fast-crud/ui-interface": "^1.11.9",
"@iconify/iconify": "^3.1.0", "@iconify/iconify": "^3.1.0",
"@iconify/json": "^2.2.35", "@iconify/json": "^2.2.35",
"@purge-icons/generated": "^0.9.0", "@purge-icons/generated": "^0.9.0",

View File

@ -1,17 +0,0 @@
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= htmlWebpackPlugin.options.title %></title>
</head>
<body>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>

View File

@ -21,7 +21,7 @@ _.forEach(viewMocks, (value) => {
list.forEach((apiFile: any) => { list.forEach((apiFile: any) => {
for (const item of apiFile) { for (const item of apiFile) {
mock.onAny(new RegExp(item.path)).reply(async (config) => { mock.onAny(new RegExp(item.path)).reply(async (config: any) => {
console.log("------------fake request start -------------"); console.log("------------fake request start -------------");
console.log("request:", config); console.log("request:", config);
const data = config.data ? JSON.parse(config.data) : {}; const data = config.data ? JSON.parse(config.data) : {};

View File

@ -418,6 +418,12 @@ export const crudResources = [
name: "FormNest", name: "FormNest",
path: "/crud/form/nest", path: "/crud/form/nest",
component: "/crud/form/nest/index.vue" component: "/crud/form/nest/index.vue"
},
{
title: "字段组件周围render",
name: "FormRender",
path: "/crud/form/render",
component: "/crud/form/render/index.vue"
} }
] ]
}, },

View File

@ -0,0 +1,42 @@
import { requestForMock } from "/src/api/service";
const request = requestForMock;
const apiPrefix = "/mock/FormRender";
export function GetList(query: any) {
return request({
url: apiPrefix + "/page",
method: "get",
data: query
});
}
export function AddObj(obj: any) {
return request({
url: apiPrefix + "/add",
method: "post",
data: obj
});
}
export function UpdateObj(obj: any) {
return request({
url: apiPrefix + "/update",
method: "post",
data: obj
});
}
export function DelObj(id: any) {
return request({
url: apiPrefix + "/delete",
method: "post",
params: { id }
});
}
export function GetObj(id: any) {
return request({
url: apiPrefix + "/info",
method: "get",
params: { id }
});
}

View File

@ -0,0 +1,68 @@
import * as api from "./api";
import { AddReq, CreateCrudOptionsProps, CreateCrudOptionsRet, DelReq, EditReq, UserPageQuery, UserPageRes, useUi } 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) => {
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);
};
const { ui } = useUi();
return {
crudOptions: {
request: {
pageRequest,
addRequest,
editRequest,
delRequest
},
columns: {
name: {
title: "演示表单组件周围的render",
type: "text",
form: {
helper: "演示组件周围自定义render",
topRender({ value }) {
return <a-tag color="red">topRender</a-tag>;
},
bottomRender({ value }) {
return <a-tag color="red">bottomRender {value ?? ""}</a-tag>;
},
prefixRender({ value }) {
return <a-tag color="red">prefixRender</a-tag>;
},
suffixRender({ value }) {
return <a-tag color="red">suffixRender</a-tag>;
}
}
},
render: {
title: "字段组件本身render",
type: "text",
form: {
helper: "组件本身render",
render({ form }) {
return (
<div>
<a-input v-model={[form.render, "value"]} />
render value : {form.render}
</div>
);
}
}
}
}
}
};
}

View File

@ -0,0 +1,33 @@
<template>
<fs-page>
<template #header>
<div class="title">表单字段组件周围的render</div>
<div class="more">
<a target="_blank" href="http://fast-crud.docmirror.cn/api/crud-options/columns.html#key-form-prefixrender">文档</a>
</div>
</template>
<fs-crud ref="crudRef" v-bind="crudBinding" />
</fs-page>
</template>
<script lang="ts">
import { defineComponent, onMounted } from "vue";
import { useFs } from "@fast-crud/fast-crud";
import createCrudOptions from "./crud";
export default defineComponent({
name: "FormRender",
setup() {
const { crudBinding, crudRef, crudExpose } = useFs({ createCrudOptions });
//
onMounted(() => {
crudExpose.doRefresh();
});
return {
crudBinding,
crudRef
};
}
});
</script>

View File

@ -0,0 +1,20 @@
import mockUtil from "/src/mock/base";
const options: any = {
name: "FormRender",
idGenerator: 0
};
const list = [
{
name: "王小虎"
},
{
name: "张三"
}
];
options.list = list;
options.copyTimes = 1000;
const mock = mockUtil.buildMock(options);
export default mock;