package model

// ChartGraph G6关系图数据对象 chart_graph
type ChartGraph struct {
	RowID     int64   `json:"rowId,omitempty" gorm:"column:row_id;primaryKey;autoIncrement"` // 记录ID
	RowType   string  `json:"rowType,omitempty" gorm:"column:row_type"`                      // 记录类型(node/edge/combo)
	RowGroup  string  `json:"rowGroup,omitempty" gorm:"column:row_group"`                    // 记录组名
	ID        string  `json:"id,omitempty" gorm:"column:id"`                                 // 元素ID
	Type      string  `json:"type,omitempty" gorm:"column:type"`                             // node/combo 类型
	Depth     int     `json:"depth,omitempty" gorm:"column:depth"`                           // node/combo 深度
	X         float64 `json:"x,omitempty" gorm:"column:x"`                                   // node/combo 横向坐标
	Y         float64 `json:"y,omitempty" gorm:"column:y"`                                   // node/combo 纵向坐标
	Size      string  `json:"size,omitempty" gorm:"column:size"`                             // node/combo 大小-JSON数组
	Icon      string  `json:"icon,omitempty" gorm:"column:icon"`                             // node-部分类型支持图标JSON配置
	Img       string  `json:"img,omitempty" gorm:"column:img"`                               // node-img 图片
	ClipCfg   string  `json:"clipCfg,omitempty" gorm:"column:clip_cfg"`                      // node-img 图片裁剪JSON配置
	Direction string  `json:"direction,omitempty" gorm:"column:direction"`                   // node-triangle 三角形的方向(up/down/left/right)
	Source    string  `json:"source,omitempty" gorm:"column:source"`                         // edge-边起始
	Target    string  `json:"target,omitempty" gorm:"column:target"`                         // edge-边目标
	ComboID   string  `json:"combo_id,omitempty" gorm:"column:combo_id"`                     // combo-分组
	Padding   string  `json:"padding,omitempty" gorm:"column:padding"`                       // combo-JSON分组内边距
	ParentID  string  `json:"parentId,omitempty" gorm:"column:parent_id"`                    // combo-父级分组
	Children  string  `json:"children,omitempty" gorm:"column:children"`                     // combo-JSON分组内含元素
	Style     string  `json:"style,omitempty" gorm:"column:style"`                           // 元素样式-JONS配置
	Label     string  `json:"label,omitempty" gorm:"column:label"`                           // 标签文本
	LabelCfg  string  `json:"labelCfg,omitempty" gorm:"column:label_cfg"`                    // 标签文本-JSON配置
}

func (ChartGraph) TableName() string {
	return "chart_graph"
}
