package base

import (
	"git.fsdpf.net/go/contracts/res_type"
)

type Layout struct {
	Uuid                   string                    `db:"uuid"`
	ResourceUuid           string                    `db:"resource_uuid"`          // 所属资源UUID
	Code                   string                    `db:"code"`                   // 布局标识
	Name                   string                    `db:"name"`                   // 布局名称
	Type                   int                       `db:"type"`                   // 布局类型
	Align                  string                    `db:"align"`                  // 方向
	PrimaryKey             string                    `db:"primaryKey"`             // 主键
	AutoComplete           string                    `db:"autoComplete"`           // 自动填充表单, off | on
	RowHeight              int                       `db:"rowHeight"`              // 栅格行高
	MarginX                int                       `db:"marginX"`                // 栅格 x 间距
	MarginY                int                       `db:"marginY"`                // 栅格 y 间距
	FormProps              res_type.ResFieldByAnys   `db:"formProps"`              // 表单PROPS
	ListenChangeFields     res_type.ResFieldByAnys   `db:"listenChangeFields"`     // 监听字段
	ListenChangeFieldsFunc res_type.ResFieldByString `db:"listenChangeFieldsFunc"` // 监听字段回调方法
	Roles                  res_type.ResFieldByAnys   `db:"roles"`
	UpdatedAt              string                    `db:"updated_at"`
	CreatedAt              string                    `db:"created_at"`
}

type GetLayout func(code string) (Layout, bool)