github.com/kotovmak/go-admin@v1.1.1/template/types/display/label.go (about)

     1  package display
     2  
     3  import (
     4  	"github.com/kotovmak/go-admin/template"
     5  	"github.com/kotovmak/go-admin/template/types"
     6  )
     7  
     8  type Label struct {
     9  	types.BaseDisplayFnGenerator
    10  }
    11  
    12  func init() {
    13  	types.RegisterDisplayFnGenerator("label", new(Label))
    14  }
    15  
    16  func (label *Label) Get(args ...interface{}) types.FieldFilterFn {
    17  	return func(value types.FieldModel) interface{} {
    18  		params := args[0].([]types.FieldLabelParam)
    19  		if len(params) == 0 {
    20  			return template.Default().Label().
    21  				SetContent(template.HTML(value.Value)).
    22  				SetType("success").
    23  				GetContent()
    24  		} else if len(params) == 1 {
    25  			return template.Default().Label().
    26  				SetContent(template.HTML(value.Value)).
    27  				SetColor(params[0].Color).
    28  				SetType(params[0].Type).
    29  				GetContent()
    30  		}
    31  		return ""
    32  	}
    33  }