github.com/kotovmak/go-admin@v1.1.1/template/types/display/dot.go (about) 1 package display 2 3 import ( 4 "html/template" 5 6 "github.com/kotovmak/go-admin/template/types" 7 ) 8 9 type Dot struct { 10 types.BaseDisplayFnGenerator 11 } 12 13 func init() { 14 types.RegisterDisplayFnGenerator("dot", new(Dot)) 15 } 16 17 func (d *Dot) Get(args ...interface{}) types.FieldFilterFn { 18 return func(value types.FieldModel) interface{} { 19 icons := args[0].(map[string]types.FieldDotColor) 20 defaultDot := types.FieldDotColor("") 21 if len(args) > 1 { 22 defaultDot = args[1].(types.FieldDotColor) 23 } 24 for k, style := range icons { 25 if k == value.Value { 26 return template.HTML(`<span class="label-`+style+`" 27 style="width: 8px;height: 8px;padding: 0;border-radius: 50%;display: inline-block;"> 28 </span> `) + 29 template.HTML(value.Value) 30 } 31 } 32 if defaultDot != "" { 33 return template.HTML(`<span class="label-`+defaultDot+`" 34 style="width: 8px;height: 8px;padding: 0;border-radius: 50%;display: inline-block;"> 35 </span> `) + 36 template.HTML(value.Value) 37 } 38 return value.Value 39 } 40 }