コード例 #1
0
        //[SampleMetadataTag(Name = BuiltInTagNames.SampleHidden)]
        public void CanDeployScriptEditorWebPartwithContent()
        {
            var scriptEditor = new ScriptEditorWebPartDefinition
            {
                Title     = "Pre-provisioned Script Editor",
                Id        = "m2ScriptEditorWithLoggerWhichMustBeMoreThan32Chars",
                ZoneIndex = 20,
                ZoneId    = "Main",
                Content   = " <script> console.log('script editor log');  </script> Pre-provisioned Script Editor Content"
            };

            var webPartPage = new WebPartPageDefinition
            {
                Title              = "M2 Script Editor provision",
                FileName           = "script-editor-webpart-provision.aspx",
                PageLayoutTemplate = BuiltInWebPartPageTemplates.spstd1
            };

            var model = SPMeta2Model.NewWebModel(web =>
            {
                web
                .AddHostList(BuiltInListDefinitions.SitePages, list =>
                {
                    list.AddWebPartPage(webPartPage, page =>
                    {
                        page.AddScriptEditorWebPart(scriptEditor);
                    });
                });
            });

            DeployModel(model);
        }
コード例 #2
0
        //[SampleMetadataTag(Name = BuiltInTagNames.SampleHidden)]
        public void CanDeploySimpleScriptEditorWebPartDefinition()
        {
            var scriptEditor = new ScriptEditorWebPartDefinition
            {
                Title     = "Empty Script Editor",
                Id        = "m2EmptyScriptEditorrWhichMustBeMoreThan32Chars",
                ZoneIndex = 10,
                ZoneId    = "Main"
            };

            var webPartPage = new WebPartPageDefinition
            {
                Title              = "M2 Script Editor provision",
                FileName           = "script-editor-webpart-provision.aspx",
                PageLayoutTemplate = BuiltInWebPartPageTemplates.spstd1
            };

            var model = SPMeta2Model.NewWebModel(web =>
            {
                web
                .AddHostList(BuiltInListDefinitions.SitePages, list =>
                {
                    list.AddWebPartPage(webPartPage, page =>
                    {
                        page.AddScriptEditorWebPart(scriptEditor);
                    });
                });
            });

            DeployModel(model);
        }
コード例 #3
0
        public void ScriptEditorWebPartDefinition_Id_LessThan_32_ShouldFail()
        {
            var id = Rnd.String(31);

            var def = new ScriptEditorWebPartDefinition
            {
                Id = id
            };
        }
コード例 #4
0
        public void ScriptEditorWebPartDefinition_Id_LessThan_32_ShouldPass()
        {
            var id = Rnd.String(32);

            var def = new ScriptEditorWebPartDefinition
            {
                Id = id
            };

            Assert.IsTrue(id == def.Id);
        }
コード例 #5
0
        public void CanDeploy_ScriptEditorTo_WikiPageContent_As_AddToPageContent()
        {
            // Some web part provision on wiki page give empty markup
            // https://github.com/SubPointSolutions/spmeta2/issues/693

            // web part ID, zone and AddToPageContent must be as such
            // you can move these params into your web part definition

            var scriptEditor1 = new ScriptEditorWebPartDefinition
            {
                Title            = string.Format("ScriptEditorWebPartDefinition - {0}", Rnd.String()),
                Id               = "g_" + Guid.NewGuid().ToString("D").Replace('-', '_'),
                ZoneIndex        = 10,
                ZoneId           = "wpz",
                AddToPageContent = true,
                Content          = String.Format("<script> console.log('M2 loves wiki page web part provision - 1 - {0}'); </script>",
                                                 Rnd.String())
            };

            var scriptEditor2 = new ScriptEditorWebPartDefinition
            {
                Title            = string.Format("ScriptEditorWebPartDefinition - {0}", Rnd.String()),
                Id               = "g_" + Guid.NewGuid().ToString("D").Replace('-', '_'),
                ZoneIndex        = 10,
                ZoneId           = "wpz",
                AddToPageContent = true,
                Content          = String.Format("<script> console.log('M2 loves wiki page web part provision - 2 - {0}'); </script>",
                                                 Rnd.String())
            };

            var webModel = SPMeta2Model.NewWebModel(web =>
            {
                web.AddWebFeature(BuiltInWebFeatures.WikiPageHomePage.Inherit(def =>
                {
                    def.Enable = true;
                }));

                web
                .AddHostList(BuiltInListDefinitions.SitePages, list =>
                {
                    list
                    .AddRandomWikiPage(page =>
                    {
                        page.RegExcludeFromValidation();

                        page.AddScriptEditorWebPart(scriptEditor1);
                        page.AddScriptEditorWebPart(scriptEditor2);
                    });
                });
            });

            TestModel(webModel);
        }
コード例 #6
0
 public static ModelNode AddScriptEditorWebPart(this ModelNode model, ScriptEditorWebPartDefinition definition, Action <ModelNode> action)
 {
     return(model.AddDefinitionNode(definition, action));
 }
コード例 #7
0
 public static ModelNode AddScriptEditorWebPart(this ModelNode model, ScriptEditorWebPartDefinition definition)
 {
     return(AddScriptEditorWebPart(model, definition, null));
 }
コード例 #8
0
 public static TModelNode AddScriptEditorWebPart <TModelNode>(this TModelNode model, ScriptEditorWebPartDefinition definition,
                                                              Action <ScriptEditorWebPartModelNode> action)
     where TModelNode : ModelNode, IWebpartHostModelNode, new()
 {
     return(model.AddTypedDefinitionNode(definition, action));
 }
コード例 #9
0
 public static TModelNode AddScriptEditorWebPart <TModelNode>(this TModelNode model, ScriptEditorWebPartDefinition definition)
     where TModelNode : ModelNode, IWebpartHostModelNode, new()
 {
     return(AddScriptEditorWebPart(model, definition, null));
 }