protected virtual void ProcessWebPartDeletes( IEnumerable <Microsoft.SharePoint.Client.WebParts.WebPartDefinition> spWebPartDefenitions, DeleteWebPartsDefinition definition) { var webParts2Delete = new List <Microsoft.SharePoint.Client.WebParts.WebPartDefinition>(); if (definition.WebParts.Any()) { foreach (var webPartMatch in definition.WebParts) { var currentWebPartMatch = FindWebPartMatch(spWebPartDefenitions, webPartMatch); if (currentWebPartMatch != null && !webParts2Delete.Contains(currentWebPartMatch)) { webParts2Delete.Add(currentWebPartMatch); } } } else { webParts2Delete.AddRange(spWebPartDefenitions); } // clean up foreach (var wp in webParts2Delete) { wp.DeleteWebPart(); } }
protected virtual void ProcessWebPartDeletes( Microsoft.SharePoint.WebPartPages.SPLimitedWebPartManager wpManager, IEnumerable <WebPart> spWebPartDefenitions, DeleteWebPartsDefinition definition) { var webParts2Delete = new List <WebPart>(); if (definition.WebParts.Any()) { foreach (var webPartMatch in definition.WebParts) { var currentWebPartMatch = FindWebPartMatch(spWebPartDefenitions, webPartMatch); if (currentWebPartMatch != null && !webParts2Delete.Contains(currentWebPartMatch)) { webParts2Delete.Add(currentWebPartMatch); } } } else { webParts2Delete.AddRange(spWebPartDefenitions); } // clean up for (var index = 0; index < webParts2Delete.Count; index++) { wpManager.DeleteWebPart(webParts2Delete[index]); } }
public void CanDeploy_DeleteWebpart_ByTitle() { var wpPage = ModelGeneratorService.GetRandomDefinition <WikiPageDefinition>(); var title1 = "title1_" + Rnd.String(); var title2 = "title2_" + Rnd.String(); var wp1 = ModelGeneratorService.GetRandomDefinition <WebPartDefinition>(def => { def.Title = title1; }); var wp2 = ModelGeneratorService.GetRandomDefinition <WebPartDefinition>(def => { def.Title = title2; }); var model = SPMeta2Model.NewWebModel(web => { web.AddHostList(BuiltInListDefinitions.SitePages, list => { list.AddWikiPage(wpPage, page => { page.AddWebParts(new[] { wp1, wp2 }); }); }); }); var wpDeletionDef = new DeleteWebPartsDefinition { }; wpDeletionDef.WebParts.Add(new WebPartMatch { Title = title1 }); var deleteModel = SPMeta2Model.NewWebModel(web => { web.AddHostList(BuiltInListDefinitions.SitePages, list => { list.AddHostWikiPage(wpPage, page => { page.AddDeleteWebParts(wpDeletionDef); }); }); }); TestModel(model, deleteModel); }
public void CanDeployDeleteWebPartsDefinition_ByTitle() { var webPartPage = new WebPartPageDefinition { Title = "M2 webparts", FileName = "web-parts.aspx", PageLayoutTemplate = BuiltInWebPartPageTemplates.spstd1 }; // aiming to delete two web part with the following titles: // 'My Tasks' // 'My Projects' var myWebPartDeletionDef = new DeleteWebPartsDefinition { WebParts = new List <WebPartMatch>(new WebPartMatch[] { new WebPartMatch { Title = "My Tasks" }, new WebPartMatch { Title = "My Projects" } }) }; var model = SPMeta2Model.NewWebModel(web => { web.AddHostList(BuiltInListDefinitions.SitePages, list => { list.AddWebPartPage(webPartPage, page => { page.AddDeleteWebParts(myWebPartDeletionDef); }); }); }); DeployModel(model); }
public static ModelNode AddDeleteWebParts(this ModelNode model, DeleteWebPartsDefinition definition, Action <ModelNode> action) { return(model.AddDefinitionNode(definition, action)); }
public static ModelNode AddDeleteWebParts(this ModelNode model, DeleteWebPartsDefinition definition) { return(AddDeleteWebParts(model, definition, null)); }
public static TModelNode AddDeleteWebParts<TModelNode>(this TModelNode model, DeleteWebPartsDefinition definition, Action<DeleteWebPartsModelNode> action) where TModelNode : ModelNode, IWebpartHostModelNode, new() { return model.AddTypedDefinitionNode(definition, action); }
public static TModelNode AddDeleteWebParts<TModelNode>(this TModelNode model, DeleteWebPartsDefinition definition) where TModelNode : ModelNode, IWebpartHostModelNode, new() { return AddDeleteWebParts(model, definition, null); }