package table import "github.com/yaoapp/gou" // Table 数据表格配置结构 type Table struct { Table string `json:"-"` Source string `json:"-"` Name string `json:"name"` Version string `json:"version"` Title string `json:"title,omitempty"` Decription string `json:"decription,omitempty"` Bind Bind `json:"bind,omitempty"` APIs map[string]API `json:"apis,omitempty"` Columns map[string]Column `json:"columns,omitempty"` Filters map[string]Filter `json:"filters,omitempty"` List Page `json:"list,omitempty"` Edit Page `json:"edit,omitempty"` View Page `json:"view,omitempty"` Insert Page `json:"insert,omitempty"` } // Bind 绑定数据模型 type Bind struct { Model string `json:"model"` Withs map[string]gou.With `json:"withs,omitempty"` } // API API 配置数据结构 type API struct { Name string `json:"-"` Source string `json:"-"` Process string `json:"process,omitempty"` Guard string `json:"guard,omitempty"` Default []interface{} `json:"default,omitempty"` } // Column 字段呈现方式 type Column struct { Label string `json:"label"` View Render `json:"view,omitempty"` Edit Render `json:"edit,omitempty"` Form Render `json:"form,omitempty"` } // Filter 查询过滤器 type Filter struct { Label string `json:"label"` Bind string `json:"bind,omitempty"` Input Render `json:"input,omitempty"` } // Page 页面 type Page struct { Primary string `json:"primary"` Layout map[string]interface{} `json:"layout"` Actions map[string]Render `json:"actions,omitempty"` } // Render 组件渲染方式 type Render struct { Type string `json:"type,omitempty"` Props map[string]interface{} `json:"props,omitempty"` }