private static string GetEditValue(this HtmlHelper html, PropertyContext propertyContext, IList<ElementDescriptor> childElements, bool addToThis, bool noFinder) { string tooltip = propertyContext.Property.Description; string id = propertyContext.GetFieldInputId(); if (propertyContext.Property.IsCollection) { propertyContext.IsPropertyEdit = false; return html.GetChildCollection(propertyContext); } var consent = propertyContext.Property.IsUsable(propertyContext.Target); if (consent.IsVetoed && !propertyContext.Target.IsTransient) { propertyContext.IsPropertyEdit = false; return html.GetViewField(propertyContext, consent.Reason); } bool readOnly = consent.IsVetoed && propertyContext.Target.IsTransient; // for the moment do not allow file properties to be edited if (propertyContext.Property.Specification.IsFileAttachment) { // return html.GetFileProperty(propertyContext, id, tooltip); readOnly = true; } if (propertyContext.Property.Specification.IsParseable) { return html.GetTextField(propertyContext, id, tooltip, readOnly); } if (propertyContext.Property.IsInline) { var inlineNakedObject = propertyContext.GetValue(html.Facade()); TagBuilder elementSet = ElementDescriptor.BuildElementSet(html.EditObjectFields(inlineNakedObject, propertyContext, x => true, null, true)); html.AddAjaxDataUrlsToElementSet(inlineNakedObject, elementSet, propertyContext); return elementSet.ToString(); } return html.GetReferenceField(propertyContext, id, tooltip, childElements, addToThis, readOnly, noFinder); }