0.10.13 • Published 3 years ago

sandfish v0.10.13

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

sandfish

这是一个根据mysql数据库自动生成 antd 的表格列配置、表单配置以及一个枚举自动化创建文件的脚本

字典和权限脚本已经单独拆开: enum-maker

Install

npm install sandfish
## or
yarn add sandfish

Usage

我们认为用数字命名枚举是不合法且毫无可读性可言的行为,会使系统陷入迭代维护困境。插件会自动为你过滤用数字命名的枚举,

如果提示 Cannot find module 'mysql',请安装一下该依赖,因为这个库引用了 readable-stream 还有一个暂未关闭的Circular dependencies,暂时没有将该包打包进去

const { generateColumns } = require('sandfish');
const config = {
  connectionConfig: {
    host: 'localhost',
    user: 'root',
    password: '949440946',
  },
  dataBaseNames: ['DYLAN'], // 数据库名字
  outputPath: './tests/.output', // 输出目录
  ignoreTableNames: ['database_history'], // 不生成表格表单配置的黑名单
  needFormConfig: true, // 是否需要生成表单配置, 默认关闭
};
generateColumns(config);

Columns

在日常表格开发中,我们经常需要根据数据库的列配置书写本地表格的列配置,然后传入我们的antd/table组件

// code examples
/**
 * @description 用户名称
 */
export const username: ColumnType<string> = {
  title: '用户名称',
  dataIndex: 'username',
};

Form

关于表单我们先同步一个概念,表单组件颗粒的定义,如下UserFormItem就是一个表单组件颗粒

const UserFormItem = (
  <Item name="user" label="用户名称" {...itemProps}>
    <ActionInputComponents>
  </Item>
)

如果选用组件开发,颗粒的属性[name, label]都可以复用,所以我们会自动生成这部分复用json,这时候可能复用率还不够明显。 如果你是用formily,这个配置在schema json的复用率会有明显的提升

/**
 * @description 用户名称
 */
export const usernameFormConfig: FormConfig = {
  label: '用户名称',
  name: 'username',
};
0.10.12

3 years ago

0.10.13

3 years ago

0.10.11

3 years ago

0.10.0

3 years ago

0.0.8

3 years ago

0.0.6

3 years ago

0.0.2

3 years ago

0.0.4

3 years ago

0.0.1

3 years ago

0.0.0

3 years ago