private static IEnumerable <IHtmlString> IncludeModulesScripts(this IFrontHtmlHelper frontHtml, bool compressed, string baseUri = null) { //var site = frontHtml.Page_Context.PageRequestContext.Site; //if (frontHtml.Page_Context.PageRequestContext.Page.EnableScript) //{ // if (frontHtml.Page_Context.ModuleResults != null) // { // foreach (ModuleActionInvokedContext actionInvoked in PageContext.ModuleResults.Values) // { // var moduleRequestContext = (ModuleRequestContext)actionInvoked.ControllerContext.RequestContext; // if (moduleRequestContext.ModuleContext.FrontEndContext.EnableScript) // { // var scripts = ServiceFactory.ModuleManager.AllScripts(moduleRequestContext.ModuleContext.ModuleName); // if (site.Mode == ReleaseMode.Debug) // { // foreach (var script in scripts) // { // yield return this.Html.Script(UrlUtility.ToHttpAbsolute(baseUri, script.VirtualPath)); // } // } // else if (scripts.Count() > 0) // { // yield return this.Html.Script(this.PageContext.FrontUrl.ModuleScriptsUrl(moduleRequestContext.ModuleContext.ModuleName, baseUri, compressed).ToString()); // } // } // } // } //} return(new IHtmlString[0]); }
public static IHtmlString Meta(this IFrontHtmlHelper frontHtml) { AggregateHtmlString htmlStrings = new AggregateHtmlString(); var htmlMeta = frontHtml.Page_Context.HtmlMeta; if (htmlMeta != null) { if (!string.IsNullOrEmpty(htmlMeta.Canonical)) { htmlStrings.Add(new HtmlString(string.Format("<link rel=\"canonical\" href=\"{0}\"/>", htmlMeta.Canonical.StripAllTags()))); } if (!string.IsNullOrEmpty(htmlMeta.Author)) { htmlStrings.Add(BuildMeta("author", htmlMeta.Author)); } if (!string.IsNullOrEmpty(htmlMeta.Description)) { htmlStrings.Add(BuildMeta("description", htmlMeta.Description)); } if (!string.IsNullOrEmpty(htmlMeta.Keywords)) { htmlStrings.Add(BuildMeta("keywords", htmlMeta.Keywords)); } if (htmlMeta.Customs != null) { foreach (var item in htmlMeta.Customs) { htmlStrings.Add(BuildMeta(item.Key, item.Value)); } } } return(htmlStrings); }
public static IHtmlString LoadAbsoluteStyles(this IFrontHtmlHelper frontHtml, string baseUri, string themeName) { IEnumerable <IHtmlString> styles = new IHtmlString[0]; var key = "___RegisteredSystemStyles____"; if (frontHtml.Html.ViewContext.HttpContext.Items[key] == null) { styles = styles //.Concat(this.IncludeModuleThemeStyles(baseUri)) //.Concat(this.IncludeInlineEditingStyles(baseUri)) //.Concat(this.IncludeStyleEditingStyles(baseUri)) .Distinct(new IHtmlStringComparer()); //if (this.PageContext.PageRequestContext.Site.EnableJquery) //{ // styles = styles.Concat(new[] { Kooboo.Common.Web.WebResourceLoader.MvcExtensions.ExternalResources(this.Html, null, "jQuery-Styles", null, baseUri) }); //} styles = styles.Concat(frontHtml.Page_Context.Styles); frontHtml.Html.ViewContext.HttpContext.Items[key] = new object(); } styles = styles.Concat(IncludeThemeStyles(frontHtml, themeName, baseUri)); return(new AggregateHtmlString(styles)); }
/// <summary> /// Registers the absolute scripts. /// </summary> /// <param name="baseUri">The base URI.</param> /// <param name="compressed">if set to <c>true</c> [compressed].</param> /// <returns></returns> public static IHtmlString LoadAbsoluteScripts(this IFrontHtmlHelper frontHtml, string baseUri, bool compressed) { return(new AggregateHtmlString(IncludeInlineEditingScripts(frontHtml, baseUri) //.Concat(IncludeStyleEditingScripts(frontHtml, baseUri)) //.Concat(IncludeModulesScripts(frontHtml, compressed, baseUri)) .Concat(IncludeSiteScripts(frontHtml, compressed, baseUri)) .Concat(frontHtml.Page_Context.Scripts) .Distinct(new IHtmlStringComparer()))); }
private static IHtmlString RenderPageContent(IFrontHtmlHelper htmlHelper, IPageContent pageContent) { var renderer = ResolvePageContentRenderer(pageContent); if (renderer != null) { return renderer.Render(htmlHelper, pageContent); } return null; }
/// <summary> /// HTMLs the title. /// </summary> /// <param name="defaultTitle">The HTML title.</param> /// <returns></returns> public static IHtmlString HtmlTitle(this IFrontHtmlHelper frontHtml, string defaultTitle) { var title = string.IsNullOrEmpty(frontHtml.Page_Context.HtmlMeta.HtmlTitle) ? defaultTitle : frontHtml.Page_Context.HtmlMeta.HtmlTitle; if (!string.IsNullOrEmpty(title)) { return(new HtmlString(string.Format("<title>{0}</title>", title.StripAllTags()))); } return(new HtmlString("")); }
private static IHtmlString RenderPageContent(IFrontHtmlHelper htmlHelper, IPageContent pageContent) { var renderer = ResolvePageContentRenderer(pageContent); if (renderer != null) { return(renderer.Render(htmlHelper, pageContent)); } return(null); }
internal CmsPagerBuilder(IFrontHtmlHelper html, IPagedList pageList, PagerOptions pagerOptions, RouteValueDictionary routeValues, IDictionary<string, object> htmlAttributes) : base(html.Html, null, null, pageList, pagerOptions, null, routeValues, htmlAttributes) { frontHtml = html; this.routeValues = routeValues ?? new RouteValueDictionary(); _pageList = pageList; this._pagerOptions = pagerOptions; }
//private IEnumerable<IHtmlString> IncludeInlineEditingStyles(string baseUri = null) //{ // if (PageContext.PageRequestContext.RequestChannel != FrontRequestChannel.Design) // { // if (PageContext.InlineEditing) // { // //Inline editing的脚本样式不能用CDN // yield return Kooboo.Common.Web.WebResourceLoader.MvcExtensions.ExternalResources(this.Html, "Sites", "inlineEditingCss", null, null); // } // } //} //private IEnumerable<IHtmlString> IncludeStyleEditingStyles(string baseUri = null) //{ // if (PageContext.PageRequestContext.RequestChannel != FrontRequestChannel.Design) // { // if (PageContext.StyleEditing) // { // //Inline editing的脚本样式不能用CDN // yield return Kooboo.Common.Web.WebResourceLoader.MvcExtensions.ExternalResources(this.Html, "Sites", "styleEditingFrontCss", null, null); // } // } //} private static IEnumerable <IHtmlString> IncludeThemeStyles(IFrontHtmlHelper frontHtml, string themeName, string baseUri = null) { var site = frontHtml.Page_Context.PageRequestContext.Site; if (!string.IsNullOrEmpty(themeName)) { return(IncludeThemeStyles(site, themeName, baseUri)); } return(new IHtmlString[0]); }
public static bool IsEmptyHolder(this IFrontHtmlHelper frontHtmlHelper, string id) { if (frontHtmlHelper.Page_Context.PageRequestContext.SiteMappedContext.RequestChannel == FrontRequestChannel.Design) { return(false); } else { return(GetPageContents(frontHtmlHelper, id).Length == 0); } }
internal CmsPagerBuilder(IFrontHtmlHelper html, IPagedList pageList, PagerOptions pagerOptions, RouteValueDictionary routeValues, IDictionary <string, object> htmlAttributes) : base(html.Html, null, null, pageList, pagerOptions, null, routeValues, htmlAttributes) { frontHtml = html; this.routeValues = routeValues ?? new RouteValueDictionary(); _pageList = pageList; this._pagerOptions = pagerOptions; }
private static IEnumerable <IHtmlString> IncludeInlineEditingScripts(this IFrontHtmlHelper frontHtml, string baseUri = null) { //if (PageContext.PageRequestContext.RequestChannel != FrontRequestChannel.Design) //{ // if (PageContext.InlineEditing) // { // yield return InlineEditingVariablesScript(); // yield return this.Html.Script("~/Scripts/tiny_mce/tinymce.min.js"); // //Inline editing的脚本样式不能用CDN // yield return Kooboo.Common.Web.WebResourceLoader.MvcExtensions.ExternalResources(this.Html, "Sites", "inlineEditingJs", null, null); // } //} return(new IHtmlString[0]); }
//private static IHtmlString InlineEditingVariablesScript(this IFrontHtmlHelper frontHtml) //{ // var repository = PageContext.PageRequestContext.Site.GetRepository().AsActual(); // return this.Html.Script(PageContext.Url.Action("Variables" // , new // { // controller = "InlineEditing", // repositoryName = repository == null ? "" : repository.Name, // siteName = PageContext.PageRequestContext.Site.FullName, // pageName = PageContext.PageRequestContext.Page.FullName, // area = "Sites", // _draft_ = PageContext.ControllerContext.RequestContext.GetRequestValue("_draft_") // })); //} //private IEnumerable<IHtmlString> IncludeStyleEditingScripts(string baseUri = null) //{ // if (PageContext.PageRequestContext.RequestChannel != FrontRequestChannel.Design) // { // if (PageContext.StyleEditing) // { // yield return this.StyleEditingVariablesScript(); // //Inline editing的脚本样式不能用CDN // yield return Kooboo.Common.Web.WebResourceLoader.MvcExtensions.ExternalResources(this.Html, "Sites", "styleEditingFrontJs", null, null); // } // } //} //private IHtmlString StyleEditingVariablesScript() //{ // var repository = PageContext.PageRequestContext.Site.GetRepository().AsActual(); // return this.Html.Script(PageContext.Url.Action("FrontVariables", new // { // controller = "StyleEditing", // repositoryName = repository == null ? "" : repository.Name, // siteName = PageContext.PageRequestContext.Site.FullName, // pageName = PageContext.PageRequestContext.Page.FullName, // area = "Sites", // _draft_ = PageContext.ControllerContext.RequestContext.GetRequestValue("_draft_") // })); //} private static IEnumerable <IHtmlString> IncludeSiteScripts(this IFrontHtmlHelper frontHtml, bool compressed, string baseUrl = null) { var site = frontHtml.Page_Context.PageRequestContext.Site; List <IHtmlString> scripts = new List <IHtmlString>(); if (frontHtml.Page_Context.PageRequestContext.Page.EnableScript) { //if (frontHtml.Page_Context.PageRequestContext.Site.EnableJquery) //{ // scripts.Add(Kooboo.Common.Web.WebResourceLoader.MvcExtensions.ExternalResources(this.Html, null, "jQuery", null, baseUrl)); //} scripts.AddRange(GetScriptsBySite(site, "", compressed, baseUrl)); } return(scripts); }
public static IHtmlString ViewLink(this IFrontHtmlHelper frontHtmlHelper, object linkText, string viewName, object routeValues, object htmlAttributes) { var htmlValues = RouteValuesHelper.GetRouteValues(htmlAttributes); string url = frontHtmlHelper.Page_Context.FrontUrl.ViewUrl(viewName, routeValues).ToString(); TagBuilder builder = new TagBuilder("a") { InnerHtml = linkText != null?HttpUtility.HtmlEncode(linkText) : string.Empty }; builder.MergeAttributes <string, object>(htmlValues); builder.MergeAttribute("href", url); var html = new HtmlString(builder.ToString(TagRenderMode.Normal)); return(html); }
public static IHtmlString PlaceHolder(this IFrontHtmlHelper frontHtmlHelper, string id, Func <string> defaultContentFunc) { if (frontHtmlHelper.Page_Context.PageRequestContext.SiteMappedContext.RequestChannel == FrontRequestChannel.Design) { //render designer code return(new HtmlString("todo: render the desinger code")); } else { var positions = GetContents(frontHtmlHelper.Page_Context.PageRequestContext.Page, id); if (positions.Length == 0) { defaultContentFunc = defaultContentFunc == null ? () => "" : defaultContentFunc; return(new HtmlString(defaultContentFunc())); } else { var htmlStrings = RenderPositionContents(frontHtmlHelper, positions).ToArray(); return(new AggregateHtmlString(htmlStrings)); } } }
//Optional parameter does not support NVelocity public static IHtmlString Pager(this IFrontHtmlHelper frontHtml, object model, object routeValues, PagerOptions options, object htmlAttributes) { options = options ?? new PagerOptions(); //if ((model is DataRulePagedList)) //{ // options.PageIndexParameterName = ((DataRulePagedList)model).PageIndexParameterName; //} var pagedList = (IPagedList)model; var builder = new CmsPagerBuilder ( frontHtml, pagedList, options, RouteValuesHelper.GetRouteValues(routeValues), RouteValuesHelper.GetRouteValues(htmlAttributes) ); return(new HtmlString(builder.RenderPager().ToString())); }
public static IHtmlString PageLink(this IFrontHtmlHelper frontHtml, object linkText, string urlKey, object routeValues, object htmlAttributes) { var htmlValues = RouteValuesHelper.GetRouteValues(htmlAttributes); Page page; string url = frontHtml.Page_Context.FrontUrl.PageUrl(urlKey, routeValues, out page).ToString(); var innerHtml = ""; if (linkText == null) { innerHtml = page.GetLinkText(); } else { innerHtml = HttpUtility.HtmlEncode(linkText); } TagBuilder builder = new TagBuilder("a") { InnerHtml = innerHtml }; builder.MergeAttributes <string, object>(htmlValues); builder.MergeAttribute("href", url); //if (page != null && page.Route != null) //{ // builder.MergeAttribute("target", page.Route.LinkTarget.ToString()); //} var html = new HtmlString(builder.ToString(TagRenderMode.Normal)); #if Page_Trace stopwatch.Stop(); HttpContext.Current.Response.Write(string.Format("PageLink,{0}.</br>", stopwatch.Elapsed)); #endif return(html); }
/// <summary> /// Registers the absolute scripts. /// </summary> /// <param name="baseUri">The base URI.</param> /// <returns></returns> public static IHtmlString LoadAbsoluteScripts(this IFrontHtmlHelper frontHtml, string baseUri) { return(LoadAbsoluteScripts(frontHtml, baseUri, true)); }
public static IHtmlString ViewLink(this IFrontHtmlHelper frontHtmlHelper, object linkText, string viewName, object routeValues) { return(ViewLink(frontHtmlHelper, linkText, viewName, routeValues, null)); }
//private IEnumerable<IHtmlString> IncludeInlineEditingStyles(string baseUri = null) //{ // if (PageContext.PageRequestContext.RequestChannel != FrontRequestChannel.Design) // { // if (PageContext.InlineEditing) // { // //Inline editing的脚本样式不能用CDN // yield return Kooboo.Common.Web.WebResourceLoader.MvcExtensions.ExternalResources(this.Html, "Sites", "inlineEditingCss", null, null); // } // } //} //private IEnumerable<IHtmlString> IncludeStyleEditingStyles(string baseUri = null) //{ // if (PageContext.PageRequestContext.RequestChannel != FrontRequestChannel.Design) // { // if (PageContext.StyleEditing) // { // //Inline editing的脚本样式不能用CDN // yield return Kooboo.Common.Web.WebResourceLoader.MvcExtensions.ExternalResources(this.Html, "Sites", "styleEditingFrontCss", null, null); // } // } //} private static IEnumerable<IHtmlString> IncludeThemeStyles(IFrontHtmlHelper frontHtml, string themeName, string baseUri = null) { var site = frontHtml.Page_Context.PageRequestContext.Site; if (!string.IsNullOrEmpty(themeName)) { return IncludeThemeStyles(site, themeName, baseUri); } return new IHtmlString[0]; }
public static IHtmlString LoadAbsoluteStyles(this IFrontHtmlHelper frontHtml, string baseUri) { return(LoadAbsoluteStyles(frontHtml, baseUri, frontHtml.Page_Context.PageTheme)); }
/// <summary> /// Registers the styles. /// </summary> /// <returns></returns> public static IHtmlString LoadStyles(this IFrontHtmlHelper frontHtml) { return(LoadStyles(frontHtml, frontHtml.Page_Context.PageTheme)); }
public static IHtmlString Pager(this IFrontHtmlHelper frontHtml, object model, PagerOptions options) { return(Pager(frontHtml, model, null, options, null)); }
private static IEnumerable<IHtmlString> RenderPositionContents(IFrontHtmlHelper htmlHelper, IEnumerable<IPageContent> pageContents) { return pageContents.Select(it => RenderPageContent(htmlHelper, it)).Where(it => it != null); }
public static IHtmlString PageLink(this IFrontHtmlHelper frontHtml, string urlKey) { return(PageLink(frontHtml, null, urlKey)); }
public static IHtmlString ResizeImage(this IFrontHtmlHelper frontHtml, string imagePath, int width, int height, bool?preserverAspectRatio, int?quality, string alt) { return(new HtmlString(string.Format("<img src=\"{0}\" alt=\"{1}\" />" , frontHtml.Page_Context.FrontUrl.ResizeImageUrl(imagePath, width, height, preserverAspectRatio, quality) , alt))); }
public static IHtmlString ResizeImage(this IFrontHtmlHelper frontHtml, string imagePath, int width, int height, string alt) { return(ResizeImage(frontHtml, imagePath, width, height, null, null, alt)); }
/// <summary> /// Registers the scripts. /// </summary> /// <param name="compressed">if set to <c>true</c> [compressed].</param> /// <returns></returns> public static IHtmlString LoadScripts(this IFrontHtmlHelper frontHtml, bool compressed) { return(LoadAbsoluteScripts(frontHtml, frontHtml.Page_Context.PageRequestContext.Site.ResourceDomain, compressed)); }
private static IPageContent[] GetPageContents(IFrontHtmlHelper frontHtmlHelper, string id) { var pageContents = (frontHtmlHelper.Page_Context.PageRequestContext.Page.PageContents ?? new IPageContent[0]).Where(it => it.PlaceHolderId.Equals(id, StringComparison.InvariantCultureIgnoreCase)).ToArray(); return(pageContents); }
/// <summary> /// /// </summary> /// <param name="style"></param> /// <param name="media"></param> public static void IncludeStylesheet(this IFrontHtmlHelper frontHtml, string style, string media) { frontHtml.Page_Context.Styles.Add(frontHtml.Html.Stylesheet(style, media)); }
private static IEnumerable <IHtmlString> RenderPositionContents(IFrontHtmlHelper htmlHelper, IEnumerable <IPageContent> pageContents) { return(pageContents.Select(it => RenderPageContent(htmlHelper, it)).Where(it => it != null)); }
/// <summary> /// Registers the styles to the view. /// </summary> /// <returns></returns> public static IHtmlString LoadStyles(this IFrontHtmlHelper frontHtml, string themeName) { return(LoadAbsoluteStyles(frontHtml, frontHtml.Page_Context.PageRequestContext.Site.ResourceDomain, themeName)); }
/// <summary> /// HTMLs the title. /// </summary> /// <returns></returns> public static IHtmlString HtmlTitle(this IFrontHtmlHelper frontHtml) { return(HtmlTitle(frontHtml, null)); }
private static IPageContent[] GetPageContents(IFrontHtmlHelper frontHtmlHelper, string id) { var pageContents = (frontHtmlHelper.Page_Context.PageRequestContext.Page.PageContents ?? new IPageContent[0]).Where(it => it.PlaceHolderId.Equals(id, StringComparison.InvariantCultureIgnoreCase)).ToArray(); return pageContents; }
public static IHtmlString PageLink(this IFrontHtmlHelper frontHtml, object linkText, string urlKey, object routeValues) { return(PageLink(frontHtml, linkText, urlKey, routeValues, null)); }