提交 b89db667 编写于 作者: aaronchen2k2k's avatar aaronchen2k2k

new definition format

上级 0de36299
......@@ -23,8 +23,8 @@ func Generate(def string, total int, fieldsToExportStr string, out string, forma
constant.InputDir = filepath.Dir(def) + string(os.PathSeparator)
referRangeFields, referInstFields := gen.LoadDefinitionFromFile(def, fieldsToExport)
gen.LoadReferRes(referRangeFields, referInstFields)
referRangeFields, referInstFields := gen.LoadDefinitionFromFile(def, fieldsToExport) // init constant.RootDef
gen.LoadReferRes(referRangeFields, referInstFields) // init const.ResMap
rows, colTypes := gen.GenerateForDefinition(total, fieldsToExport)
content := Print(rows, format, table, colTypes, fieldsToExport)
......
......@@ -4,6 +4,7 @@ import (
"github.com/easysoft/zendata/src/model"
constant "github.com/easysoft/zendata/src/utils/const"
logUtils "github.com/easysoft/zendata/src/utils/log"
stringUtils "github.com/easysoft/zendata/src/utils/string"
"gopkg.in/yaml.v2"
"io/ioutil"
"strings"
......@@ -26,26 +27,27 @@ func LoadDefinitionFromFile(file string, fieldsToExport []string) ([]model.ClsRa
return referRangeFields, referInstFields
}
if strings.Index(file, "def") != 0 && constant.Definition.Title == "" { // only add the fields in first level yaml file
constant.Definition = def
if strings.Index(file, "def") != 0 && constant.RootDef.Title == "" { // only add the fields in first level yaml file
constant.RootDef = def
}
for _, field := range def.Fields {
_ = field
// TODO: dealwith referRangeFields and referInstFields for constant.LoadedResValues
}
if !stringUtils.FindInArr(field.Field, fieldsToExport) { continue }
//for _, field := range def.Fields {
// fieldValue := model.FieldValue{}
// // TODO: 生成fieldValue
// constant.LoadedResValues[field.Field] = fieldValue // add to a map
//}
// TODO: dealwith referRangeFields and referInstFields for constant.ResMap
}
return referRangeFields, referInstFields
}
func LoadReferRes([]model.ClsRange, []model.ClsInst) {
//fieldValueMap := map[string]model.FieldValue{}
//
//LoadDefinitionFromFile(constant.ResBuildIn) // load buildin resource
// init const.ResMap
//for _, field := range def.Fields {
// fieldValue := model.FieldValue{}
// // TODO: 生成fieldValue
// constant.ResMap[field.Field] = fieldValue // add to a map
//}
}
......@@ -10,7 +10,7 @@ import (
)
func GenerateForDefinition(total int, fieldsToExport []string) ([][]string, []bool) {
def := constant.Definition
def := constant.RootDef
fieldNameToValues := map[string][]string{}
......@@ -70,7 +70,7 @@ func GenerateForField(field *model.DefField, total int) []string {
} else if field.From != "" && field.Select != "" { // refer to excel
arr := strings.Split(field.From, ".")
referField := constant.LoadedResValues[arr[0]]
referField := constant.ResMap[arr[0]]
referField.From = field.From
referField.Select = field.Select
......@@ -89,7 +89,7 @@ func GenerateForField(field *model.DefField, total int) []string {
//LoadDefinitionFromFile(constant.InputDir + field.Range)
}
//referField := constant.LoadedResValues[field.Field]
//referField := constant.ResMap[field.Field]
//values = GenerateForField(&referField, total)
// TODO: 需要处理range: small,large等逻辑
......
......@@ -30,8 +30,8 @@ var (
WorkDir string = ""
InputDir string = ""
Definition model.DefData = model.DefData{}
LoadedResValues map[string]model.FieldValue = map[string]model.FieldValue{}
RootDef model.DefData = model.DefData{}
ResMap map[string]model.FieldValue = map[string]model.FieldValue{}
ResDir string = "data/"
ResBuildIn string = ResDir + "system/buildin.yaml"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册