// 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
%s:
\n
{{ params.%s }}
\n
", field.Dc, field.TsName) component string ) switch field.FormMode { case FormModeInputTextarea, FormModeInputEditor: component = fmt.Sprintf("
\n
%s:
\n
\n \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
%s:
\n
\n {{ getOptionLabel(options.%s, params?.%s) }}\n
\n
", field.Dc, in.options.dictMap[field.TsName], field.TsName, in.options.dictMap[field.TsName], field.TsName) case FormModeCheckbox, FormModeSelectMultiple: component = fmt.Sprintf("
\n
%s:
\n
\n \n
\n
", field.Dc, field.TsName, in.options.dictMap[field.TsName], in.options.dictMap[field.TsName]) case FormModeUploadImage: component = fmt.Sprintf("
\n
%s:
\n
\n \n
\n
", field.Dc, field.TsName) case FormModeUploadImages: component = fmt.Sprintf("
\n
%s:
\n
\n \n \n \n \n \n \n \n
\n
", field.Dc, field.TsName) case FormModeUploadFile: component = fmt.Sprintf("
\n
%s:
\n
\n
\n
\n
\n {{\n getFileExt(params.attachfile)\n }}\n
\n
\n
\n
\n
", field.TsName, field.TsName) case FormModeUploadFiles: component = fmt.Sprintf("
\n
%s:
\n
\n
\n \n \n
\n
\n {{\n getFileExt(item)\n }}\n
\n
\n
\n \n
\n
\n ", field.Dc, field.TsName) case FormModeSwitch: component = fmt.Sprintf("
\n
%s:
\n
\n \n
\n
", field.Dc, field.TsName) case FormModeRate: component = fmt.Sprintf("
\n
%s:
\n
\n \n
\n
", field.Dc, field.TsName) default: component = defaultComponent } buffer.WriteString(" " + component + "\n\n") } return buffer.String() }