Skip to content

Commit c9e185d

Browse files
author
cg33
committed
admin plugin => improve show info method ToDisplay
1 parent ca6b95f commit c9e185d

File tree

1 file changed

+58
-22
lines changed

1 file changed

+58
-22
lines changed

plugins/admin/modules/table/table.go

Lines changed: 58 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -661,18 +661,31 @@ func (tb DefaultTable) GetDataFromDatabaseWithId(id string) ([]types.FormField,
661661
if value[j] == formList[i].Field {
662662
if checkInTable(columns, formList[i].Field) {
663663
if formList[i].FormType.IsSelect() {
664-
valueArr := formList[i].ToDisplay(types.FieldModel{
664+
valueRet := formList[i].ToDisplay(types.FieldModel{
665665
ID: id,
666666
Value: db.GetValueFromDatabaseType(formList[i].TypeName, res[formList[i].Field]).String(),
667667
Row: res,
668-
}).([]string)
669-
for _, v := range formList[i].Options {
670-
if modules.InArray(valueArr, v["value"]) {
671-
v["selected"] = "selected"
672-
} else {
673-
v["selected"] = ""
668+
})
669+
670+
if _, ok := valueRet.(string); ok {
671+
for _, v := range formList[i].Options {
672+
if v["value"] == valueRet {
673+
v["selected"] = "selected"
674+
} else {
675+
v["selected"] = ""
676+
}
677+
}
678+
} else {
679+
valueArr := valueRet.([]string)
680+
for _, v := range formList[i].Options {
681+
if modules.InArray(valueArr, v["value"]) {
682+
v["selected"] = "selected"
683+
} else {
684+
v["selected"] = ""
685+
}
674686
}
675687
}
688+
676689
} else if formList[i].FormType.IsRadio() {
677690
value := formList[i].ToDisplay(types.FieldModel{
678691
ID: id,
@@ -695,17 +708,28 @@ func (tb DefaultTable) GetDataFromDatabaseWithId(id string) ([]types.FormField,
695708
}
696709
} else {
697710
if formList[i].FormType.IsSelect() {
698-
valueArr := formList[i].ToDisplay(types.FieldModel{
711+
valueRet := formList[i].ToDisplay(types.FieldModel{
699712
ID: id,
700713
Value: "",
701714
Row: res,
702-
}).([]string)
703-
704-
for _, v := range formList[i].Options {
705-
if modules.InArray(valueArr, v["value"]) {
706-
v["selected"] = "selected"
707-
} else {
708-
v["selected"] = ""
715+
})
716+
717+
if _, ok := valueRet.(string); ok {
718+
for _, v := range formList[i].Options {
719+
if v["value"] == valueRet {
720+
v["selected"] = "selected"
721+
} else {
722+
v["selected"] = ""
723+
}
724+
}
725+
} else {
726+
valueArr := valueRet.([]string)
727+
for _, v := range formList[i].Options {
728+
if modules.InArray(valueArr, v["value"]) {
729+
v["selected"] = "selected"
730+
} else {
731+
v["selected"] = ""
732+
}
709733
}
710734
}
711735
} else if formList[i].FormType.IsRadio() {
@@ -792,16 +816,28 @@ func (tb DefaultTable) GetDataFromDatabaseWithId(id string) ([]types.FormField,
792816
}
793817
} else {
794818
if formList[i].FormType.IsSelect() {
795-
valueArr := formList[i].ToDisplay(types.FieldModel{
819+
valueRet := formList[i].ToDisplay(types.FieldModel{
796820
ID: id,
797821
Value: "",
798822
Row: res,
799-
}).([]string)
800-
for _, v := range formList[i].Options {
801-
if modules.InArray(valueArr, v["value"]) {
802-
v["selected"] = "selected"
803-
} else {
804-
v["selected"] = ""
823+
})
824+
825+
if _, ok := valueRet.(string); ok {
826+
for _, v := range formList[i].Options {
827+
if v["value"] == valueRet {
828+
v["selected"] = "selected"
829+
} else {
830+
v["selected"] = ""
831+
}
832+
}
833+
} else {
834+
valueArr := valueRet.([]string)
835+
for _, v := range formList[i].Options {
836+
if modules.InArray(valueArr, v["value"]) {
837+
v["selected"] = "selected"
838+
} else {
839+
v["selected"] = ""
840+
}
805841
}
806842
}
807843
} else if formList[i].FormType.IsRadio() {

0 commit comments

Comments
 (0)