public override ModelNode ReverseSingleHost(object reverseHost, ReverseOptions options) { var item = (reverseHost as ContentTypeReverseHost).HostContentType; var def = new HideContentTypeFieldLinksDefinition(); foreach (var fieldLink in item.FieldLinks.ToArray() .Where(l => l.Hidden)) { def.Fields.Add(new FieldLinkValue { Id = fieldLink.Id }); } return(new HideContentTypeFieldLinksModelNode { Options = { RequireSelfProcessing = true }, Value = def }); }
public static ModelNode AddHideContentTypeFieldLinks(this ModelNode model, HideContentTypeFieldLinksDefinition definition, Action <ModelNode> action) { return(model.AddDefinitionNode(definition, action)); }
public static ModelNode AddHideContentTypeFieldLinks(this ModelNode model, HideContentTypeFieldLinksDefinition definition) { return(AddHideContentTypeFieldLinks(model, definition, null)); }
private void DeployHideContentTypeLinks(object modelHost, SPContentType contentType, HideContentTypeFieldLinksDefinition hideFieldLinksModel) { var fieldLinks = contentType.FieldLinks.OfType <SPFieldLink>().ToList(); InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioning, Object = contentType, ObjectType = typeof(SPContentType), ObjectDefinition = hideFieldLinksModel, ModelHost = modelHost }); // re-order foreach (var srcFieldLink in hideFieldLinksModel.Fields) { SPFieldLink currentFieldLink = null; if (!string.IsNullOrEmpty(srcFieldLink.InternalName)) { currentFieldLink = fieldLinks.FirstOrDefault(c => c.Name == srcFieldLink.InternalName); } if (currentFieldLink == null && srcFieldLink.Id.HasValue) { currentFieldLink = fieldLinks.FirstOrDefault(c => c.Id == srcFieldLink.Id.Value); } if (currentFieldLink != null) { currentFieldLink.ReadOnly = false; currentFieldLink.Required = false; currentFieldLink.Hidden = true; } } InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioned, Object = contentType, ObjectType = typeof(SPContentType), ObjectDefinition = hideFieldLinksModel, ModelHost = modelHost }); }
public static TModelNode AddHideContentTypeFieldLinks <TModelNode>(this TModelNode model, HideContentTypeFieldLinksDefinition definition, Action <HideContentTypeFieldLinksModelNode> action) where TModelNode : ModelNode, IContentTypeModelNode, new() { return(model.AddTypedDefinitionNode(definition, action)); }
public static TModelNode AddHideContentTypeFieldLinks <TModelNode>(this TModelNode model, HideContentTypeFieldLinksDefinition definition) where TModelNode : ModelNode, IContentTypeModelNode, new() { return(AddHideContentTypeFieldLinks(model, definition, null)); }