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>&nbsp;&nbsp;`) +
    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>&nbsp;&nbsp;`) +
    36  				template.HTML(value.Value)
    37  		}
    38  		return value.Value
    39  	}
    40  }