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

     1  package action
     2  
     3  import (
     4  	"html/template"
     5  )
     6  
     7  type JumpSelectBoxAction struct {
     8  	BaseAction
     9  	Options     JumpOptions
    10  	NewTabTitle string
    11  }
    12  
    13  type JumpOptions []JumpOption
    14  
    15  type JumpOption struct {
    16  	Value string
    17  	Url   string
    18  }
    19  
    20  func SelectBoxJump(options JumpOptions) *JumpSelectBoxAction {
    21  	return &JumpSelectBoxAction{Options: options}
    22  }
    23  
    24  func (jump *JumpSelectBoxAction) ExtContent() template.HTML {
    25  
    26  	cm := ``
    27  	for _, obejct := range jump.Options {
    28  		cm += `if (e.params.data.text === "` + obejct.Value + `") {
    29  		$.pjax({url: "` + obejct.Url + `", container: '#pjax-container'});
    30  	}`
    31  	}
    32  
    33  	return template.HTML(`<script>
    34  $("select` + jump.BtnId + `").on("select2:select",function(e){
    35  	` + cm + `
    36  })
    37  </script>`)
    38  }