package chartjs
import (
"html/template"
template2 "github.com/GoAdminGroup/go-admin/template"
)
type Chart struct {
*template2.BaseComponent
ID string
Title template.HTML
Js template.JS
Height int
JsContentOptions *Options
dataSetIndex int
}
func (c *Chart) SetID(id string) *Chart {
c.ID = id
return c
}
func (c *Chart) SetTitle(title template.HTML) *Chart {
c.Title = title
return c
}
func (c *Chart) SetHeight(height int) *Chart {
c.Height = height
return c
}
func (c *Chart) SetOptionAnimationDuration(duration int) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Animation == nil {
c.JsContentOptions.Animation = new(OptionAnimation)
}
c.JsContentOptions.Animation.Duration = duration
}
func (c *Chart) SetOptionAnimationEasing(easing string) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Animation == nil {
c.JsContentOptions.Animation = new(OptionAnimation)
}
c.JsContentOptions.Animation.Easing = easing
}
func (c *Chart) SetOptionLayoutPaddingLeft(left int) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Layout == nil {
c.JsContentOptions.Layout = new(OptionLayout)
}
c.JsContentOptions.Layout.Padding.Left = left
}
func (c *Chart) SetOptionLayoutPaddingRight(right int) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Layout == nil {
c.JsContentOptions.Layout = new(OptionLayout)
}
c.JsContentOptions.Layout.Padding.Right = right
}
func (c *Chart) SetOptionLayoutPaddingTop(top int) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Layout == nil {
c.JsContentOptions.Layout = new(OptionLayout)
}
c.JsContentOptions.Layout.Padding.Top = top
}
func (c *Chart) SetOptionLayoutPaddingBottom(bottom int) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Layout == nil {
c.JsContentOptions.Layout = new(OptionLayout)
}
c.JsContentOptions.Layout.Padding.Bottom = bottom
}
func (c *Chart) SetOptionLegendDisplay(display bool) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Legend == nil {
c.JsContentOptions.Legend = new(OptionLegend)
}
c.JsContentOptions.Legend.Display = display
}
func (c *Chart) SetOptionLegendPosition(position string) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Legend == nil {
c.JsContentOptions.Legend = new(OptionLegend)
}
c.JsContentOptions.Legend.Position = position
}
func (c *Chart) SetOptionLegendAlign(align string) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Legend == nil {
c.JsContentOptions.Legend = new(OptionLegend)
}
c.JsContentOptions.Legend.Align = align
}
func (c *Chart) SetOptionLegendFullWidt(fullWidth bool) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Legend == nil {
c.JsContentOptions.Legend = new(OptionLegend)
}
c.JsContentOptions.Legend.FullWidth = fullWidth
}
func (c *Chart) SetOptionLegendRevers(reverse bool) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Legend == nil {
c.JsContentOptions.Legend = new(OptionLegend)
}
c.JsContentOptions.Legend.Reverse = reverse
}
func (c *Chart) SetOptionLegendRt(rtl bool) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Legend == nil {
c.JsContentOptions.Legend = new(OptionLegend)
}
c.JsContentOptions.Legend.Rtl = rtl
}
func (c *Chart) SetOptionLegendTextDirection(textDirection string) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Legend == nil {
c.JsContentOptions.Legend = new(OptionLegend)
}
c.JsContentOptions.Legend.TextDirection = textDirection
}
func (c *Chart) SetOptionLegendLabels(labels *OptionLegendLabel) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Legend == nil {
c.JsContentOptions.Legend = new(OptionLegend)
}
c.JsContentOptions.Legend.Labels = labels
}
func (c *Chart) SetOptionTitleDisplay(display bool) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Title == nil {
c.JsContentOptions.Title = new(OptionTitle)
}
c.JsContentOptions.Title.Display = display
}
func (c *Chart) SetOptionTitleFontSize(fontSize int) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Title == nil {
c.JsContentOptions.Title = new(OptionTitle)
}
c.JsContentOptions.Title.FontSize = fontSize
}
func (c *Chart) SetOptionTitlePosition(position string) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Title == nil {
c.JsContentOptions.Title = new(OptionTitle)
}
c.JsContentOptions.Title.Position = position
}
func (c *Chart) SetOptionTitleFontFamily(fontFamily string) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Title == nil {
c.JsContentOptions.Title = new(OptionTitle)
}
c.JsContentOptions.Title.FontFamily = fontFamily
}
func (c *Chart) SetOptionTitleFontColor(fontColor Color) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Title == nil {
c.JsContentOptions.Title = new(OptionTitle)
}
c.JsContentOptions.Title.FontColor = fontColor
}
func (c *Chart) SetOptionTitleFontStyle(fontStyle string) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Title == nil {
c.JsContentOptions.Title = new(OptionTitle)
}
c.JsContentOptions.Title.FontStyle = fontStyle
}
func (c *Chart) SetOptionTitlePadding(padding int) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Title == nil {
c.JsContentOptions.Title = new(OptionTitle)
}
c.JsContentOptions.Title.Padding = padding
}
func (c *Chart) SetOptionTitleLineHeight(lineHeight int) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Title == nil {
c.JsContentOptions.Title = new(OptionTitle)
}
c.JsContentOptions.Title.LineHeight = lineHeight
}
func (c *Chart) SetOptionTitleText(text string) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Title == nil {
c.JsContentOptions.Title = new(OptionTitle)
}
c.JsContentOptions.Title.Text = text
}
func (c *Chart) SetOptionTooltipsEnabled(enabled bool) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.Enabled = enabled
}
func (c *Chart) SetOptionTooltipsMode(mode string) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.Mode = mode
}
func (c *Chart) SetOptionTooltipsIntersect(intersect bool) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.Intersect = intersect
}
func (c *Chart) SetOptionTooltipsPosition(position string) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.Position = position
}
func (c *Chart) SetOptionTooltipsBackgroundColor(backgroundColor Color) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.BackgroundColor = backgroundColor
}
func (c *Chart) SetOptionTooltipsTitleFontFamily(titleFontFamily string) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.TitleFontFamily = titleFontFamily
}
func (c *Chart) SetOptionTooltipsTitleFontSize(titleFontSize int) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.TitleFontSize = titleFontSize
}
func (c *Chart) SetOptionTooltipsTitleFontStyle(titleFontStyle string) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.TitleFontStyle = titleFontStyle
}
func (c *Chart) SetOptionTooltipsTitleFontColor(titleFontColor Color) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.TitleFontColor = titleFontColor
}
func (c *Chart) SetOptionTooltipsTitleAlign(titleAlign string) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.TitleAlign = titleAlign
}
func (c *Chart) SetOptionTooltipsTitleSpacing(titleSpacing int) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.TitleSpacing = titleSpacing
}
func (c *Chart) SetOptionTooltipsTitleMarginBottom(titleMarginBottom int) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.TitleMarginBottom = titleMarginBottom
}
func (c *Chart) SetOptionTooltipsBodyFontFamily(bodyFontFamily string) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.BodyFontFamily = bodyFontFamily
}
func (c *Chart) SetOptionTooltipsBodyFontSize(bodyFontSize int) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.BodyFontSize = bodyFontSize
}
func (c *Chart) SetOptionTooltipsBodyFontStyle(bodyFontStyle string) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.BodyFontStyle = bodyFontStyle
}
func (c *Chart) SetOptionTooltipsBodyFontColor(bodyFontColor Color) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.BodyFontColor = bodyFontColor
}
func (c *Chart) SetOptionTooltipsBodyAlign(bodyAlign string) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.BodyAlign = bodyAlign
}
func (c *Chart) SetOptionTooltipsBodySpacing(bodySpacing int) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.BodySpacing = bodySpacing
}
func (c *Chart) SetOptionTooltipsFooterFontFamily(footerFontFamily string) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.FooterFontFamily = footerFontFamily
}
func (c *Chart) SetOptionTooltipsFooterFontSize(footerFontSize int) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.FooterFontSize = footerFontSize
}
func (c *Chart) SetOptionTooltipsFooterFontStyle(footerFontStyle string) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.FooterFontStyle = footerFontStyle
}
func (c *Chart) SetOptionTooltipsFooterFontColor(footerFontColor Color) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.FooterFontColor = footerFontColor
}
func (c *Chart) SetOptionTooltipsFooterAlign(footerAlign string) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.FooterAlign = footerAlign
}
func (c *Chart) SetOptionTooltipsFooterSpacing(footerSpacing int) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.FooterSpacing = footerSpacing
}
func (c *Chart) SetOptionTooltipsFooterMarginTop(footerMarginTop int) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.FooterMarginTop = footerMarginTop
}
func (c *Chart) SetOptionTooltipsXPadding(xPadding int) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.XPadding = xPadding
}
func (c *Chart) SetOptionTooltipsYPadding(yPadding int) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.YPadding = yPadding
}
func (c *Chart) SetOptionTooltipsCaretPadding(caretPadding int) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.CaretPadding = caretPadding
}
func (c *Chart) SetOptionTooltipsCaretSize(caretSize int) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.CaretSize = caretSize
}
func (c *Chart) SetOptionTooltipsCornerRadius(cornerRadius int) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.CornerRadius = cornerRadius
}
func (c *Chart) SetOptionTooltipsMultiKeyBackground(multiKeyBackground Color) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.MultiKeyBackground = multiKeyBackground
}
func (c *Chart) SetOptionTooltipsDisplayColors(displayColors bool) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.DisplayColors = displayColors
}
func (c *Chart) SetOptionTooltipsBorderColor(borderColor Color) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.BorderColor = borderColor
}
func (c *Chart) SetOptionTooltipsBorderWidth(borderWidth int) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.BorderWidth = borderWidth
}
func (c *Chart) SetOptionTooltipsRtl(rtl bool) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.Rtl = rtl
}
func (c *Chart) SetOptionTooltipsTextDirection(textDirection string) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Tooltips == nil {
c.JsContentOptions.Tooltips = new(OptionTooltips)
}
c.JsContentOptions.Tooltips.TextDirection = textDirection
}
func (c *Chart) SetOptionElementPoint(point *OptionElementPoint) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Elements == nil {
c.JsContentOptions.Elements = new(OptionElement)
}
c.JsContentOptions.Elements.Point = point
}
func (c *Chart) SetOptionElementLine(line *OptionElementLine) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Elements == nil {
c.JsContentOptions.Elements = new(OptionElement)
}
c.JsContentOptions.Elements.Line = line
}
func (c *Chart) SetOptionElementArc(arc *OptionElementArc) {
if c.JsContentOptions == nil {
c.JsContentOptions = new(Options)
}
if c.JsContentOptions.Elements == nil {
c.JsContentOptions.Elements = new(OptionElement)
}
c.JsContentOptions.Elements.Arc = arc
}
func (c *Chart) SetOptionElementRectangle(rectangle *OptionElementRectangle) {
if c.JsContentOptions.Elements == nil {
c.JsContentOptions.Elements = new(OptionElement)
}
c.JsContentOptions.Elements.Rectangle = rectangle
}
type JsContent struct {
Type string `json:"type,omitempty"`
Options *Options `json:"options,omitempty"`
}
type OptionAnimation struct {
Duration int `json:"duration,omitempty"`
Easing string `json:"easing,omitempty"`
}
type OptionLayout struct {
Padding struct {
Left int `json:"left,omitempty"`
Right int `json:"right,omitempty"`
Top int `json:"top,omitempty"`
Bottom int `json:"bottom,omitempty"`
} `json:"padding,omitempty"`
}
type OptionLegend struct {
Display bool `json:"display,omitempty"`
Position string `json:"position,omitempty"`
Align string `json:"align,omitempty"`
FullWidth bool `json:"full_width,omitempty"`
Reverse bool `json:"reverse,omitempty"`
Rtl bool `json:"rtl,omitempty"`
TextDirection string `json:"text_direction,omitempty"`
Labels *OptionLegendLabel `json:"labels,omitempty"`
}
type OptionLegendLabel struct {
BoxWidth int `json:"box_width,omitempty"`
FontSize int `json:"fontSize,omitempty"`
FontStyle string `json:"fontStyle,omitempty"`
FontColor Color `json:"fontColor,omitempty"`
FontFamily string `json:"fontFamily,omitempty"`
Padding int `json:"padding,omitempty"`
UsePointStyle bool `json:"usePointStyle,omitempty"`
}
type OptionTitle struct {
Display bool `json:"display,omitempty"`
Position string `json:"position,omitempty"`
FontSize int `json:"fontSize,omitempty"`
FontFamily string `json:"fontFamily,omitempty"`
FontColor Color `json:"fontColor,omitempty"`
FontStyle string `json:"fontStyle,omitempty"`
Padding int `json:"padding,omitempty"`
LineHeight int `json:"lineHeight,omitempty"`
Text string `json:"text,omitempty"`
}
type OptionTooltips struct {
Enabled bool `json:"enabled,omitempty"`
Mode string `json:"mode,omitempty"`
Intersect bool `json:"intersect,omitempty"`
Position string `json:"position,omitempty"`
BackgroundColor Color `json:"backgroundColor,omitempty"`
TitleFontFamily string `json:"titleFontFamily,omitempty"`
TitleFontSize int `json:"titleFontSize,omitempty"`
TitleFontStyle string `json:"titleFontStyle,omitempty"`
TitleFontColor Color `json:"titleFontColor,omitempty"`
TitleAlign string `json:"titleAlign,omitempty"`
TitleSpacing int `json:"titleSpacing,omitempty"`
TitleMarginBottom int `json:"titleMarginBottom,omitempty"`
BodyFontFamily string `json:"bodyFontFamily,omitempty"`
BodyFontSize int `json:"bodyFontSize,omitempty"`
BodyFontStyle string `json:"bodyFontStyle,omitempty"`
BodyFontColor Color `json:"bodyFontColor,omitempty"`
BodyAlign string `json:"bodyAlign,omitempty"`
BodySpacing int `json:"bodySpacing,omitempty"`
FooterFontFamily string `json:"footerFontFamily,omitempty"`
FooterFontSize int `json:"footerFontSize,omitempty"`
FooterFontStyle string `json:"footerFontStyle,omitempty"`
FooterFontColor Color `json:"footerFontColor,omitempty"`
FooterAlign string `json:"footerAlign,omitempty"`
FooterSpacing int `json:"footerSpacing,omitempty"`
FooterMarginTop int `json:"footerMarginTop,omitempty"`
XPadding int `json:"xPadding,omitempty"`
YPadding int `json:"yPadding,omitempty"`
CaretPadding int `json:"caretPadding,omitempty"`
CaretSize int `json:"caretSize,omitempty"`
CornerRadius int `json:"cornerRadius,omitempty"`
MultiKeyBackground Color `json:"multiKeyBackground,omitempty"`
DisplayColors bool `json:"displayColors,omitempty"`
BorderColor Color `json:"borderColor,omitempty"`
BorderWidth int `json:"borderWidth,omitempty"`
Rtl bool `json:"rtl,omitempty"`
TextDirection string `json:"textDirection,omitempty"`
}
type OptionElement struct {
Point *OptionElementPoint `json:"point,omitempty"`
Line *OptionElementLine `json:"line,omitempty"`
Rectangle *OptionElementRectangle `json:"rectangle,omitempty"`
Arc *OptionElementArc `json:"arc,omitempty"`
}
type OptionElementPoint struct {
Radius int `json:"radius,omitempty"`
PointStyle string `json:"pointStyle,omitempty"`
Rotation int `json:"rotation,omitempty"`
BackgroundColor Color `json:"backgroundColor,omitempty"`
BorderWidth int `json:"borderWidth,omitempty"`
BorderColor Color `json:"borderColor,omitempty"`
HitRadius int `json:"hitRadius,omitempty"`
HoverRadius int `json:"hoverRadius,omitempty"`
HoverBorderWidth int `json:"hoverBorderWidth,omitempty"`
}
type OptionElementLine struct {
Tension int `json:"tension,omitempty"`
BackgroundColor Color `json:"background_color,omitempty"`
BorderWidth int `json:"border_width,omitempty"`
BorderColor Color `json:"border_color,omitempty"`
BorderCapStyle string `json:"border_cap_style,omitempty"`
BorderDash int `json:"border_dash,omitempty"`
BorderDashOffset int `json:"border_dash_offset,omitempty"`
BorderJoinStyle string `json:"border_join_style,omitempty"`
CapBezierPoints bool `json:"cap_bezier_points,omitempty"`
CubicInterpolationMode string `json:"cubic_interpolation_mode,omitempty"`
Fill bool `json:"fill,omitempty"`
Stepped bool `json:"stepped,omitempty"`
}
type OptionElementRectangle struct {
BackgroundColor Color `json:"backgroundColor,omitempty"`
BorderWidth int `json:"borderWidth,omitempty"`
BorderColor Color `json:"borderColor,omitempty"`
BorderSkipped string `json:"borderSkipped,omitempty"`
}
type OptionElementArc struct {
Angle int `json:"angle,omitempty"`
BackgroundColor Color `json:"backgroundColor,omitempty"`
BorderAlign string `json:"borderAlign,omitempty"`
BorderColor Color `json:"borderColor,omitempty"`
BorderWidth int `json:"borderWidth,omitempty"`
}
type Options struct {
Animation *OptionAnimation `json:"animation,omitempty"`
Layout *OptionLayout `json:"layout,omitempty"`
Legend *OptionLegend `json:"legend,omitempty"`
Title *OptionTitle `json:"title,omitempty"`
Tooltips *OptionTooltips `json:"tooltips,omitempty"`
Elements *OptionElement `json:"elements,omitempty"`
}
type Attributes struct {
Labels []string `json:"labels,omitempty"`
}
type DataSets []DataSet
type DataSet struct {
Label string `json:"label,omitempty"`
Data []float64 `json:"data,omitempty"`
Type string `json:"type,omitempty"`
}
type Color string
func NewChart() *Chart {
return &Chart{
BaseComponent: &template2.BaseComponent{
Name: "chartjs",
HTMLData: List["chartjs"],
},
}
}
func (c *Chart) GetAssetList() []string { return AssetsList }
func (c *Chart) GetAsset(name string) ([]byte, error) { return Asset(name[1:]) }
func (c *Chart) GetContent() template.HTML { return c.GetContentWithData(c) }