private static void CreateSection(CrudOperationData jsonObject, StringBuilder sb, ApplicationSection section) { if (section.Parameters.ContainsKey("nodescription")) { return; } var sectionHeader = OpenSection(section); var displayables = DisplayableUtil.GetDisplayable <IApplicationAttributeDisplayable>( typeof(IApplicationAttributeDisplayable), section.Displayables, true, true); if (section.Id == "specification") { sb.Append(sectionHeader); HandleSpecifications(sb, (string)jsonObject.GetAttribute(section.Id), section); return; } var st = DoHandleDisplayables(jsonObject, displayables); if (!String.IsNullOrEmpty(st)) { sb.Append(sectionHeader); sb.Append(st); } }
public MobileApplicationSchema( bool isUserInteractionEnabled, IEnumerable <IApplicationDisplayable> fields, Preview previewTitle, Preview previewSubtitle, Preview previewFeatured, Preview previewExcerpt) { _isUserInteractionEnabled = isUserInteractionEnabled; _fields = DisplayableUtil.GetDisplayable <ApplicationFieldDefinition>(typeof(ApplicationFieldDefinition), fields); Compositions = DisplayableUtil.GetDisplayable <ApplicationCompositionDefinition>(typeof(ApplicationCompositionDefinition), fields); _previewTitle = previewTitle; _previewSubtitle = previewSubtitle; _previewFeatured = previewFeatured; _previewExcerpt = previewExcerpt; }
private static List <IApplicationDisplayable> MergeParentSchemaDisplayables(ApplicationSchemaDefinition childSchema, IApplicationDisplayableContainer parentContainer) { var resultingDisplayables = new List <IApplicationDisplayable>(); var parentDisplayables = parentContainer.Displayables; var childSections = DisplayableUtil.GetDisplayable <ApplicationSection>(typeof(ApplicationSection), childSchema.Displayables); foreach (var dis in parentDisplayables) { var parentSection = dis as ApplicationSection; if (parentSection == null) { //just adding the non-section displayable, on the child schema resultingDisplayables.Add(dis); continue; } var concreteSection = childSections.FirstOrDefault(s => s.Id == parentSection.Id); if (concreteSection == null) { //put the abstract anyway so that eventual subclasses of this can use it as well var cloneable = dis as IPCLCloneable; var clonedSection = (ApplicationSection)cloneable.Clone(); var resultDisplayables = MergeParentSchemaDisplayables(childSchema, clonedSection); clonedSection.Displayables = resultDisplayables; resultingDisplayables.Add(clonedSection); } else { if (concreteSection.OrientationEnum == ApplicationSectionOrientation.horizontal) { resultingDisplayables.Add(concreteSection); } else if (concreteSection.OrientationEnum == ApplicationSectionOrientation.vertical) { foreach (var sectionDisplayable in concreteSection.Displayables) { resultingDisplayables.Add(sectionDisplayable); } } } } return(resultingDisplayables); }
public IList <T> GetDisplayable <T>(Type displayableType, bool fetchInner = true) { return(DisplayableUtil.GetDisplayable <T>(displayableType, Displayables, fetchInner)); }
protected IList <T> GetDisplayable <T>(Type displayableType) { return(DisplayableUtil.GetDisplayable <T>(displayableType, Displayables)); }