package formview import ( "go_dreamfactory/cmd/v2/lib/common" "go_dreamfactory/cmd/v2/model" "go_dreamfactory/cmd/v2/service" "go_dreamfactory/pb" "fyne.io/fyne/v2" "fyne.io/fyne/v2/container" "fyne.io/fyne/v2/widget" "github.com/sirupsen/logrus" "github.com/spf13/cast" ) type HeroStrengthenUplvView struct { BaseformView } func (this *HeroStrengthenUplvView) CreateView(t *model.TestCase) fyne.CanvasObject { heroObjID := widget.NewEntry() key := widget.NewEntry() key.PlaceHolder = common.APP_TESTCASE_FORM_LABEL_OID val := widget.NewEntry() val.PlaceHolder = common.APP_TESTCASE_FORM_LABEL_NUM key2 := widget.NewEntry() key2.PlaceHolder = common.APP_TESTCASE_OPTIONS val2 := widget.NewEntry() val2.PlaceHolder = common.APP_TESTCASE_OPTIONS expCards := container.NewGridWithColumns(2, key, val, key2, val2) this.form.AppendItem(widget.NewFormItem(common.APP_TESTCASE_FORM_LABEL_HEROOBJID, heroObjID)) this.form.AppendItem(widget.NewFormItem(common.APP_TESTCASE_FORM_LABEL_EXPCARDS, expCards)) this.form.OnSubmit = func() { var cards []*pb.MapStringInt32 if key.Text != "" && val.Text != "" { cards = append(cards, &pb.MapStringInt32{ Key: key.Text, Value: cast.ToInt32(val.Text), }) } if key2.Text != "" && val2.Text != "" { cards = append(cards, &pb.MapStringInt32{ Key: key2.Text, Value: cast.ToInt32(val2.Text), }) } if err := service.GetPttService().SendToClient(t.MainType, t.SubType, &pb.HeroStrengthenUplvReq{ HeroObjID: heroObjID.Text, ExpCards: cards}); err != nil { logrus.Error(err) return } } return this.form }