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/widget"
	"github.com/sirupsen/logrus"
	"github.com/spf13/cast"
)

type ItemsSellView struct {
	BaseformView
}

func (this *ItemsSellView) CreateView(t *model.TestCase) fyne.CanvasObject {
	geziId := widget.NewEntry()
	geziId.PlaceHolder = "格子ID"
	this.form.AppendItem(widget.NewFormItem(common.APP_TESTCASE_FORM_ITEM_GEZIID, geziId))

	wupinId := widget.NewEntry()
	wupinId.PlaceHolder = "物品ID"
	this.form.AppendItem(widget.NewFormItem(common.APP_TESTCASE_FORM_ITEM_GOODSID, wupinId))

	amount := widget.NewEntry()
	amount.PlaceHolder = "使用数量"
	this.form.AppendItem(widget.NewFormItem(common.APP_TESTCASE_FORM_LABEL_NUM, amount))

	this.form.OnSubmit = func() {
		if err := service.GetPttService().SendToClient(
			t.MainType,
			t.SubType,
			&pb.ItemsSellItemReq{
				GridId: geziId.Text,
				ItemId: wupinId.Text,
				Amount: cast.ToUint32(amount.Text),
			},
		); err != nil {
			logrus.Error(err)
			return
		}

	}
	return this.form
}
