Documentation
¶
Index ¶
- Variables
- func DefaultHTML(value string) template.HTML
- func GetFormTypeFromFieldType(typeName db.DatabaseType, fieldName string) string
- func HiddenInputHTML(field, value string) template.HTML
- type Layout
- type Type
- func (t Type) FixOptions(m map[string]interface{}) map[string]interface{}
- func (t Type) GetDefaultOptions(field string) (map[string]interface{}, map[string]interface{}, template.JS)
- func (t Type) IsArray() bool
- func (t Type) IsCode() bool
- func (t Type) IsCustom() bool
- func (t Type) IsDate() bool
- func (t Type) IsDateRange() bool
- func (t Type) IsDateTime() bool
- func (t Type) IsDateTimeRange() bool
- func (t Type) IsEditor() bool
- func (t Type) IsFile() bool
- func (t Type) IsMultiFile() bool
- func (t Type) IsMultiSelect() bool
- func (t Type) IsRange() bool
- func (t Type) IsRichText() bool
- func (t Type) IsSelect() bool
- func (t Type) IsSingleSelect() bool
- func (t Type) IsSlider() bool
- func (t Type) IsTable() bool
- func (t Type) IsTextarea() bool
- func (t Type) Name() string
- func (t Type) SelectedLabel() []template.HTML
- func (t Type) String() string
Constants ¶
This section is empty.
Variables ¶
var AllType = []Type{Default, Text, Array, SelectSingle, Select, IconPicker, SelectBox, File, Multifile, Password, RichText, Datetime, DatetimeRange, Checkbox, CheckboxStacked, Radio, Table, Email, Url, Ip, Color, Currency, Number, NumberRange, TextArea, Custom, Switch, Code, Rate, Slider, Date, DateRange, CheckboxSingle}
AllType 所有表单字段类型的列表 用于类型验证和遍历
Functions ¶
func DefaultHTML ¶
DefaultHTML 生成默认的 HTML 包装器 用于包装表单字段的 HTML 内容
参数:
- value: 要包装的 HTML 内容
返回值:
- template.HTML: 包装后的 HTML
func GetFormTypeFromFieldType ¶
func GetFormTypeFromFieldType(typeName db.DatabaseType, fieldName string) string
GetFormTypeFromFieldType 根据数据库字段类型获取表单类型 用于自动推断表单字段的类型
参数:
- typeName: 数据库字段类型
- fieldName: 字段名称
返回值:
- string: 表单类型名称
使用示例:
// 根据数据库字段类型自动推断表单类型 GetFormTypeFromFieldType(db.Int, "age")
func HiddenInputHTML ¶
HiddenInputHTML 生成隐藏输入框的 HTML 用于在表单中存储隐藏数据
参数:
- field: 字段名称
- value: 字段值
返回值:
- template.HTML: 隐藏输入框的 HTML
Types ¶
type Layout ¶
type Layout uint8
Layout 表单布局类型枚举 定义了表单字段的布局方式
func GetLayoutFromString ¶
GetLayoutFromString 从字符串获取布局类型 用于从配置文件或数据库中读取布局配置
参数:
- s: 布局类型的字符串表示
返回值:
- Layout: 对应的布局类型,无效时返回默认布局
type Type ¶
type Type uint8
Type 表单字段类型枚举 定义了所有支持的表单字段类型 使用 uint8 类型,节省内存空间
const ( Default Type = iota // 默认类型 Text // 文本输入框 SelectSingle // 单选下拉框 Select // 多选下拉框 IconPicker // 图标选择器 SelectBox // 选择框(带搜索) File // 文件上传 Multifile // 多文件上传 Password // 密码输入框 RichText // 富文本编辑器 Datetime // 日期时间选择器 DatetimeRange // 日期时间范围选择器 Radio // 单选按钮组 Checkbox // 复选框组 CheckboxStacked // 堆叠式复选框 CheckboxSingle // 单个复选框 Email // 邮箱输入框 Date // 日期选择器 DateRange // 日期范围选择器 Url // URL 输入框 Ip // IP 地址输入框 Color // 颜色选择器 Array // 数组输入框 Currency // 货币输入框 Rate // 评分组件 Number // 数字输入框 Table // 表格组件 NumberRange // 数字范围输入框 TextArea // 多行文本输入框 Custom // 自定义组件 Switch // 开关组件 Code // 代码编辑器 Slider // 滑块组件 )
func CheckType ¶
CheckType 检查表单类型是否有效 如果类型有效,返回该类型;否则返回默认类型
参数:
- t: 要检查的表单类型
- def: 默认类型,当 t 无效时返回
返回值:
- Type: 有效的表单类型
使用示例:
// 检查类型是否有效,无效则返回 Text 类型 CheckType(unknownType, Text)
func (Type) FixOptions ¶
FixOptions 修复表单类型的默认选项 为特定类型的表单字段设置默认配置
参数:
- m: 选项映射
返回值:
- map[string]interface{}: 修复后的选项映射
使用示例:
// 为滑块字段设置默认选项 Slider.FixOptions(options)
func (Type) GetDefaultOptions ¶
func (t Type) GetDefaultOptions(field string) (map[string]interface{}, map[string]interface{}, template.JS)
GetDefaultOptions 获取表单类型的默认选项 为不同类型的表单字段生成默认配置选项
参数:
- field: 字段名称
返回值:
- map[string]interface{}: 主选项映射
- map[string]interface{}: 次选项映射(用于范围字段)
- template.JS: JavaScript 配置代码
func (Type) IsDateTimeRange ¶
IsDateTimeRange 判断是否为日期时间范围字段
返回值:
- bool: 如果是日期时间范围字段返回 true,否则返回 false
func (Type) IsEditor ¶
IsEditor 判断是否为编辑器字段 编辑器字段包括代码编辑器、富文本编辑器和多行文本输入框
返回值:
- bool: 如果是编辑器字段返回 true,否则返回 false
func (Type) IsMultiSelect ¶
IsMultiSelect 判断是否为多选字段 多选字段可以选择多个选项
返回值:
- bool: 如果是多选字段返回 true,否则返回 false
func (Type) IsSelect ¶
IsSelect 判断是否为选择类字段 选择类字段包括下拉框、单选按钮、复选框等
返回值:
- bool: 如果是选择类字段返回 true,否则返回 false
func (Type) IsSingleSelect ¶
IsSingleSelect 判断是否为单选字段 单选字段只能选择一个选项
返回值:
- bool: 如果是单选字段返回 true,否则返回 false
func (Type) SelectedLabel ¶
SelectedLabel 返回选中状态的 HTML 属性 用于生成表单字段的选中状态属性
参数:
- field: 字段名称
返回值:
- []template.HTML: 选中状态的 HTML 属性数组
- 第一个元素:选中属性("selected" 或 "checked")
- 第二个元素:空字符串