// Package views // @Link https://github.com/bufanyun/hotgo // @Copyright Copyright (c) 2023 HotGo CLI // @Author Ms <133814250@qq.com> // @License https://github.com/bufanyun/hotgo/blob/master/LICENSE package views import ( "bytes" "context" "fmt" "github.com/gogf/gf/v2/frame/g" ) func (l *gCurd) webViewTplData(ctx context.Context, in *CurdPreviewInput) (data g.Map, err error) { data = make(g.Map) data["item"] = l.generateWebViewItem(ctx, in) return } func (l *gCurd) generateWebViewItem(ctx context.Context, in *CurdPreviewInput) string { buffer := bytes.NewBuffer(nil) for _, field := range in.masterFields { if !field.IsEdit { continue } var ( defaultComponent = fmt.Sprintf("\n \n {{ formValue.%s }}\n ", field.Dc, field.TsName) component string ) switch field.FormMode { case FormModeInputTextarea, FormModeInputEditor: component = fmt.Sprintf("\n \n ", field.Dc, field.TsName) case FormModeInputDynamic: component = defaultComponent case FormModeDate: component = defaultComponent case FormModeTime: component = defaultComponent case FormModeRadio, FormModeSelect: component = fmt.Sprintf("\n {{ getOptionLabel(options.%s, formValue?.%s) }}\n ", field.Dc, in.options.dictMap[field.TsName], field.TsName, in.options.dictMap[field.TsName], field.TsName) case FormModeCheckbox, FormModeSelectMultiple: component = fmt.Sprintf("\n \n ", field.Dc, field.TsName, in.options.dictMap[field.TsName], in.options.dictMap[field.TsName]) case FormModeUploadImage: component = fmt.Sprintf("\n \n ", field.Dc, field.TsName) case FormModeUploadImages: component = fmt.Sprintf("\n \n \n \n \n \n \n \n \n ", field.Dc, field.TsName) case FormModeUploadFile: component = fmt.Sprintf("\n \n \n
\n
\n
\n {{ getFileExt(formValue.%s) }}\n
\n
\n
\n \n
", field.Dc, field.TsName, field.TsName, field.TsName) case FormModeUploadFiles: component = fmt.Sprintf("\n \n
\n \n \n
\n
\n {{\n getFileExt(item)\n }}\n
\n
\n
\n \n \n
", field.Dc, field.TsName) case FormModeSwitch: component = fmt.Sprintf("\n ", field.Dc, field.TsName) case FormModeRate: component = fmt.Sprintf("", field.Dc, field.TsName) default: component = defaultComponent } buffer.WriteString(" " + component + "\n\n") } return buffer.String() }