using JNPF.Common.Const; namespace JNPF.VisualDev.Engine; /// /// 模板解析. /// public static class TemplateAnalysis { /// /// 解析模板数据 /// 移除模板内的布局类型控件. /// public static List AnalysisTemplateData(List fieldsModelList) { var template = new List(); // 将模板内的无限children解析出来 // 不包含子表children foreach (var item in fieldsModelList) { var config = item.__config__; switch (config.jnpfKey) { case JnpfKeyConst.TABLE: item.__config__.defaultCurrent = item.__config__.children.Any(it => it.__config__.defaultCurrent); template.Add(item); break; case JnpfKeyConst.ROW: case JnpfKeyConst.CARD: template.AddRange(AnalysisTemplateData(config.children)); break; case JnpfKeyConst.COLLAPSE: case JnpfKeyConst.TAB: foreach (FieldsModel? collapse in config.children) { template.AddRange(AnalysisTemplateData(collapse.__config__.children)); } break; case JnpfKeyConst.JNPFTEXT: case JnpfKeyConst.DIVIDER: case JnpfKeyConst.GROUPTITLE: case JnpfKeyConst.BUTTON: case JnpfKeyConst.ALERT: case JnpfKeyConst.LINK: break; default: template.Add(item); break; } } return template; } }