Example #1
0
        /// <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));
        }
Example #2
0
 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;
        }
Example #5
0
        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>");
        }