| 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) } |
|
|