cg33 6 лет назад
Родитель
Сommit
96a0e03ca3
4 измененных файлов с 66 добавлено и 1 удалено
  1. BIN
      admin.db
  2. 64 0
      tables/profile.go
  3. 1 0
      tables/tables.go
  4. 1 1
      tables/users.go

+ 64 - 0
tables/profile.go

@@ -0,0 +1,64 @@
+package tables
+
+import (
+	"github.com/GoAdminGroup/go-admin/context"
+	"github.com/GoAdminGroup/go-admin/modules/db"
+	"github.com/GoAdminGroup/go-admin/plugins/admin/modules/table"
+	"github.com/GoAdminGroup/go-admin/template/types"
+	"github.com/GoAdminGroup/go-admin/template/types/form"
+	"path/filepath"
+	"strings"
+)
+
+func GetProfileTable(ctx *context.Context) table.Table {
+
+	profile := table.NewDefaultTable(table.DefaultConfigWithDriver("sqlite"))
+
+	info := profile.GetInfo().HideFilterArea()
+	info.AddField("ID", "id", db.Int).FieldFilterable()
+	info.AddField("UUID", "uuid", db.Varchar).FieldCopyable()
+	info.AddField("Pass", "pass", db.Tinyint).FieldBool("1", "0")
+	info.AddField("Photos", "photos", db.Varchar).FieldCarousel(func(value string) []string {
+		return strings.Split(value, ",")
+	}, 150, 100)
+	info.AddField("Finish State", "finish_state", db.Tinyint).
+		FieldDisplay(func(value types.FieldModel) interface{} {
+			if value.Value == "0" {
+				return "Step 1"
+			}
+			if value.Value == "1" {
+				return "Step 2"
+			}
+			if value.Value == "2" {
+				return "Step 3"
+			}
+			return "Unknown"
+		}).
+		FieldDot(map[string]types.FieldDotColor{
+			"Step 1": types.FieldDotColorDanger,
+			"Step 2": types.FieldDotColorInfo,
+			"Step 3": types.FieldDotColorPrimary,
+		}, types.FieldDotColorDanger)
+	info.AddField("Progress", "finish_progress", db.Int).FieldProgressBar()
+	info.AddField("Resume", "resume", db.Varchar).
+		FieldDisplay(func(value types.FieldModel) interface{} {
+			return filepath.Base(value.Value)
+		}).
+		FieldDownLoadable("http://yinyanghu.github.io/files/")
+	info.AddField("FileSize", "resume_size", db.Int).FieldFileSize()
+
+	info.SetTable("profile").SetTitle("Profile").SetDescription("Profile")
+
+	formList := profile.GetForm()
+	formList.AddField("UUID", "uuid", db.Varchar, form.Text)
+	formList.AddField("Photos", "photos", db.Varchar, form.Text)
+	formList.AddField("Resume", "resume", db.Varchar, form.Text)
+	formList.AddField("FileSize", "resume_size", db.Int, form.Number)
+	formList.AddField("Finish State", "finish_state", db.Tinyint, form.Number)
+	formList.AddField("Progress", "finish_progress", db.Int, form.Number)
+	formList.AddField("Pass", "pass", db.Tinyint, form.Number)
+
+	formList.SetTable("profile").SetTitle("Profile").SetDescription("Profile")
+
+	return profile
+}

+ 1 - 0
tables/tables.go

@@ -19,4 +19,5 @@ var Generators = map[string]table.Generator{
 	"posts":   GetPostsTable,
 	"users":   GetUserTable,
 	"authors": GetAuthorsTable,
+	"profile": GetProfileTable,
 }

+ 1 - 1
tables/users.go

@@ -83,7 +83,7 @@ func GetUserTable(ctx *context.Context) (userTable table.Table) {
 			return true, "", "<h2>hello world</h2>"
 		}))
 	info.AddButton("iframe", icon.Tv, action.PopUpWithIframe("/admin/iframe", "Iframe Example",
-		action.IframeData{Src: "/admin/info/profile/new"}, "900px", "600px"))
+		action.IframeData{Src: "/admin/info/profile/new"}, "900px", "480px"))
 	info.AddButton("ajax", icon.Android, action.Ajax("/admin/ajax",
 		func(ctx *context.Context) (success bool, msg string, data interface{}) {
 			return true, "success", ""