public override IEnumerable<IPageActionProjection> RegisterSidebarMainProjections(ContainerBuilder containerBuilder)
{
return new IPageActionProjection[]
{
new InheriteProjection(
"div",
new IPageActionProjection[]
{
new SwitchActionProjection(pagesJsModuleIncludeDescriptor, page => "changePublishStatus")
{
Order = 10,
Title = page => page.Status == PageStatus.Published ? PagesGlobalization.Sidebar_PageStatusUnpublish : PagesGlobalization.Sidebar_PageStatusPublish,
CssClass = page => page.Status == PageStatus.Published ? "bcms-switch bcms-switch-on" : "bcms-switch bcms-switch-off"
},
new HtmlElementProjection("div")
{
CssClass = page => "bcms-publisher-info",
InnerHtml = page => page.Status == PageStatus.Published ? PagesGlobalization.Sidebar_PageStatusPublished : PagesGlobalization.Sidebar_PageStatusUnpublished,
// TODO: add: <div class=\"bcms-publisher-includes-draft\">(Includes Drafts)</div>
Order = 11
}
})
{
Order = 10,
CssClass = page => "bcms-publisher-block",
AccessRole = RootModuleConstants.UserRoles.PublishContent,
ShouldBeRendered = page => !page.IsMasterPage && !IsReadOnly(page)
},
new ButtonActionProjection(pagesJsModuleIncludeDescriptor, page => "addNewPage")
{
Order = 20,
Title = page => PagesGlobalization.Sidebar_AddNewPageButtonTitle,
CssClass = page => "bcms-cp-btn bcms-cp-btn-add",
AccessRole = RootModuleConstants.UserRoles.EditContent
},
new ButtonActionProjection(pagesJsModuleIncludeDescriptor, page => "clonePage")
{
Order = 30,
Title = page => PagesGlobalization.Siderbar_ClonePageButtonTitle,
CssClass = page => "bcms-cp-btn",
AccessRole = RootModuleConstants.UserRoles.EditContent
},
new ButtonActionProjection(pagesJsModuleIncludeDescriptor, page => "translatePage")
{
Title = page => PagesGlobalization.Sidebar_TranslatePageButtonTitle,
CssClass = page => "bcms-cp-btn",
Order = 40,
ShouldBeRendered = page => CmsContext.Config.EnableMultilanguage && !page.IsMasterPage,
AccessRole = RootModuleConstants.UserRoles.EditContent
},
new ButtonActionProjection(masterPagesJsModuleIncludeDescriptor, page => "addMasterPage")
{
Title = page => PagesGlobalization.Sidebar_CreateMasterPageButtonTitle,
CssClass = page => "bcms-cp-btn js-redirect-to-new-page",
Order = 60,
ShouldBeRendered = page => page.IsMasterPage,
Id = page => "bcms-create-page-button-side-panel",
AccessRole = RootModuleConstants.UserRoles.EditContent
},
new InheriteProjection(
"div",
new IPageActionProjection[]
{
new ButtonActionProjection(seoJsModuleIncludeDescriptor, page => "openEditSeoDialog")
{
Order = 20,
Title = page => PagesGlobalization.Sidebar_EditSeoButtonTitle,
CssClass = page => "bcms-cp-settings-btn bcms-cp-seo-btn",
AccessRole = RootModuleConstants.UserRoles.EditContent,
ShouldBeRendered = page => !page.IsMasterPage
},
new EditPagePropertiesButtonProjection(pagePropertiesJsModuleIncludeDescriptor, page => page.IsMasterPage ? "editMasterPageProperties" : "editPageProperties")
{
Order = 30,
Title = page => page.IsMasterPage
? PagesGlobalization.Sidebar_EditMasterPagePropertiesButtonTitle
: PagesGlobalization.Sidebar_EditPagePropertiesButtonTitle,
CssClass = page => "bcms-cp-settings-btn"
},
})
{
Order = 800,
CssClass = page => "bcms-buttons-block"
},
new ButtonActionProjection(pagesJsModuleIncludeDescriptor, page => "deleteCurrentPage")
{
Order = 10000,
Title = page => PagesGlobalization.Sidebar_DeletePageButtonTitle,
CssClass = page => "bcms-cp-delete",
AccessRole = RootModuleConstants.UserRoles.DeleteContent
}
};
}