/// <summary> /// Adds scripts/templates for the core angular framework and the /// specified module and then bootstraps it. /// </summary> /// <param name="routeLibrary">Js routing library for the module to bootstrap,</param> public static IHtmlString Bootstrap(ModuleJsRouteLibrary routeLibrary, ICurrentUserViewHelper currentUserHelper, object options = null) { var script = string.Concat( RenderScript(SharedRouteLibrary.Js.Main), RenderScript(SharedRouteLibrary.Js.Templates), RenderScript(routeLibrary.Main), RenderScript(routeLibrary.Templates), RenderBootstrapper(routeLibrary, currentUserHelper, options) ); return(new HtmlString(script)); }
public CofoundryPageHelper( IContentRouteLibrary contentRouteLibrary, IStaticFileViewHelper staticFileViewHelper, ISettingsViewHelper settings, ICurrentUserViewHelper currentUser, IJavascriptViewHelper js, IHtmlSanitizerHelper sanitizer, ICofoundryHtmlHelper html ) { Routing = contentRouteLibrary; StaticFiles = staticFileViewHelper; Settings = settings; CurrentUser = currentUser; Js = js; Sanitizer = sanitizer; Html = html; }
public CofoundryPageBlockTypeHelper( IContentRouteLibrary contentRouteLibrary, IStaticFileViewHelper staticFileViewHelper, ISettingsViewHelper settings, ICurrentUserViewHelper currentUser, IJavascriptViewHelper js, IHtmlSanitizerHelper sanitizer, ICofoundryHtmlHelper html ) : base( contentRouteLibrary, staticFileViewHelper, settings, currentUser, js, sanitizer, html ) { BlockType = new PageBlockHelper <TModel>(); }
public CofoundryTemplatePageHelper( IContentRouteLibrary contentRouteLibrary, IStaticFileViewHelper staticFileViewHelper, ISettingsViewHelper settings, ICurrentUserViewHelper currentUser, IJavascriptViewHelper js, IHtmlSanitizerHelper sanitizer, ICofoundryHtmlHelper html, IPageTemplateHelper <TModel> pageTemplateHelper ) : base( contentRouteLibrary, staticFileViewHelper, settings, currentUser, js, sanitizer, html ) { Template = pageTemplateHelper; }
private static string RenderBootstrapper(ModuleJsRouteLibrary routeLibrary, ICurrentUserViewHelper currentUserHelper, object options) { var args = string.Empty; if (Debugger.IsAttached) { // use strict DI when in debug mode to throw up errors args = ", { strictDi: true }"; } // Might need to add more info at some point, but right now we just need roles. var currentUserInfo = new { PermissionCodes = currentUserHelper.Role.Permissions.Select(p => p.GetUniqueCode()) }; return(@"<script>angular.element(document).ready(function() { angular.module('" + SharedRouteLibrary.Js.AngularModuleName + @"') .constant('csrfToken', '" + GetCsrfToken() + @"')" + GetConstant(routeLibrary, "options", options) // not sure why the current module is loaded into the shared module - seems like a mistake? + GetConstant(SharedRouteLibrary.Js, "currentUser", currentUserInfo) + @"; angular.bootstrap(document, ['" + routeLibrary.AngularModuleName + "']" + args + @"); });</script>"); }