private string CssPathWithoutVersion(ModuleRouteLibrary moduleRouteLibrary, string fileName) { fileName = Path.GetFileNameWithoutExtension(fileName); var virtualPath = moduleRouteLibrary.CssFile(fileName); return(virtualPath); }
public IEnumerable <AdminModule> GetModules() { foreach (var userArea in _userAreaRepository.GetAll()) { var routeLibrary = new ModuleRouteLibrary(SlugFormatter.ToSlug(userArea.Name) + "-users"); var module = new AdminModule() { AdminModuleCode = "COFUSR" + userArea.UserAreaCode, Title = userArea.Name + " Users", Description = "Manage users in the " + userArea.Name + " user area.", MenuCategory = AdminModuleMenuCategory.Settings, PrimaryOrdering = AdminModuleMenuPrimaryOrdering.Secondry, Url = routeLibrary.CreateAngularRoute() }; if (userArea is CofoundryAdminUserArea) { module.RestrictedToPermission = new CofoundryUserAdminModulePermission(); } else { module.RestrictedToPermission = new NonCofoundryUserAdminModulePermission(); } yield return(module); } }
public ModuleStaticContentRouteLibrary( ModuleRouteLibrary moduleRouteLibrary ) { _moduleRouteLibrary = moduleRouteLibrary; EmbeddedResourceRegistrationPath = _moduleRouteLibrary.ResourcePrefix + "content"; }
public ModuleJsRouteLibrary( ModuleRouteLibrary moduleRouteLibrary ) { _moduleRouteLibrary = moduleRouteLibrary; AngularModuleIdentifier = TextFormatter.Camelize(moduleRouteLibrary.ModuleFolderName); AngularModuleName = "cms." + AngularModuleIdentifier; JsFolderPath = _moduleRouteLibrary.ResourcePrefix + "js"; MvcViewFolderPath = _moduleRouteLibrary.ResourcePrefix + "mvc/views"; }
public AngularScriptRoutes(ModuleRouteLibrary moduleRouteLibrary) { AngularModuleIdentifier = TextFormatter.Camelize(moduleRouteLibrary.ModuleFolderName); AngularModuleName = "cms." + AngularModuleIdentifier; var jsPrefix = moduleRouteLibrary.ModuleFolderName.ToLowerInvariant(); MainScriptName = jsPrefix; TemplateScriptName = jsPrefix + "_templates"; }
/// <summary> /// Gets a collection of css tags for all the files in the css /// directory of the specified route library. /// </summary> /// <param name="moduleRouteLibrary">Route library containg the path to find css files in.</param> public IEnumerable <HtmlString> CssTagsForDirectory(ModuleRouteLibrary moduleRouteLibrary) { var directoryScripts = _staticResourceFileProvider .GetDirectoryContents(moduleRouteLibrary.CssDirectory()) .Select(f => ReduceResourceName(f.Name)) .Distinct(); var formattedScripts = directoryScripts .Select(f => CssTag(moduleRouteLibrary, "css/" + f)); return(formattedScripts); }
/// <summary> /// Returns a script tag with an application relative path to a js file in the conventional /// '[modulepath]/Content/js' directory if it exists, otherwise an empty HtmlString is returned. /// The path is automatically versioned e.g. 'myfile.js?v=uniquehash. The renderer first checks /// for a minified file by appending '_min' to the filename and will use that file unless /// DebugSettings.UseUncompressedResources is set to true. /// </summary> /// <param name="moduleRouteLibrary">Route library for the module to render the script for.</param> /// <param name="fileName">The javascript filename without a .js extension.</param> public HtmlString ScriptTagIfExists(ModuleRouteLibrary moduleRouteLibrary, string fileName) { var jsPath = JsPathWithoutVersion(moduleRouteLibrary, fileName); if (!FileExists(jsPath)) { return(HtmlString.Empty); } var jsPathWithVersion = _staticFilePathFormatter.AppendVersion(jsPath); return(FormatScriptTag(jsPathWithVersion)); }
public void RegisterRoutes(RouteCollection routes) { var controllerNamespace = new string[] { typeof(CustomEntityModuleController).Namespace }; foreach (var definition in _customEntityModuleDefinition) { var routePrefix = SlugFormatter.ToSlug(definition.NamePlural); var routeLibrary = new ModuleRouteLibrary(routePrefix); var jsRouteLibrary = new ModuleJsRouteLibrary(routeLibrary); routes.MapRoute( "Custom Entity Admin Module - " + definition.NamePlural, RouteConstants.AdminAreaPrefix + "/" + routePrefix, new { controller = "CustomEntityModule", action = "Index", definition = definition, Area = RouteConstants.AdminAreaName }, controllerNamespace ); } }
public void RegisterRoutes(RouteCollection routes) { var controllerNamespace = new string[] { typeof(StandardModuleController).Namespace }; foreach (var registration in _standardAdminModuleRegistrations) { ModuleRouteLibrary routeLibrary = GetRouteLibrary(registration); var jsRouteLibrary = new ModuleJsRouteLibrary(routeLibrary); routes.MapRoute( "Cofoundry Admin Module - " + registration.RoutePrefix, RouteConstants.AdminAreaPrefix + "/" + registration.RoutePrefix, new { controller = "StandardModule", action = "Index", routeLibrary = routeLibrary, Area = RouteConstants.AdminAreaName }, controllerNamespace ); } }
public void RegisterRoutes(RouteCollection routes) { var controllerNamespace = new string[] { typeof(UsersRouteRegistration).Namespace }; foreach (var userArea in _userAreaRepository.GetAll()) { var routePrefix = SlugFormatter.ToSlug(userArea.Name); var routeLibrary = new ModuleRouteLibrary(routePrefix); var jsRouteLibrary = new ModuleJsRouteLibrary(routeLibrary); routes.MapRoute( "Users Cofoundry Admin Module - " + userArea.Name, RouteConstants.AdminAreaPrefix + "/" + routePrefix + "-users", new { controller = "UsersModule", action = "Index", userArea = userArea, Area = RouteConstants.AdminAreaName }, controllerNamespace ); } }
public IEnumerable <AdminModule> GetModules() { foreach (var definition in _customEntityModuleDefinition) { var routeLibrary = new ModuleRouteLibrary(SlugFormatter.ToSlug(definition.NamePlural)); var module = new AdminModule() { AdminModuleCode = definition.CustomEntityDefinitionCode, Description = definition.Description, MenuCategory = AdminModuleMenuCategory.ManageSite, PrimaryOrdering = AdminModuleMenuPrimaryOrdering.Tertiary, Title = definition.NamePlural, Url = routeLibrary.CreateAngularRoute() }; yield return(module); } }
private ModuleRouteLibrary GetRouteLibrary(IStandardAngularModuleRegistration registration) { ModuleRouteLibrary routeLibrary; if (registration is IInternalAngularModuleRegistration) { // Internal modules are in a different folder format to prevent name clashes routeLibrary = new ModuleRouteLibrary(registration.RoutePrefix, RouteConstants.InternalModuleResourcePathPrefix); } else if (registration is IPluginAngularModuleRegistration) { // Internal modules are in a different folder format to prevent name clashes routeLibrary = new ModuleRouteLibrary(registration.RoutePrefix, RouteConstants.PluginModuleResourcePathPrefix); } else { routeLibrary = new ModuleRouteLibrary(registration.RoutePrefix); } return(routeLibrary); }
private void AddScript( List <string> scriptToAddTo, ModuleRouteLibrary moduleRouteLibrary, string fileName, bool checkIfResourceExists = false ) { HtmlString script; if (checkIfResourceExists) { script = _staticResourceReferenceRenderer.ScriptTagIfExists(moduleRouteLibrary, fileName); } else { script = _staticResourceReferenceRenderer.ScriptTag(moduleRouteLibrary, fileName); } if (script != null) { scriptToAddTo.Add(script.ToString()); } }
private string JsPathWithoutVersion(ModuleRouteLibrary moduleRouteLibrary, string fileName) { fileName = Path.GetFileNameWithoutExtension(fileName); string virtualPath = null; // check for a minified resource first if (!_debugSettings.UseUncompressedResources) { var minPath = moduleRouteLibrary.JsFile(fileName + "_min"); if (FileExists(minPath)) { virtualPath = minPath; } } if (virtualPath == null) { virtualPath = moduleRouteLibrary.JsFile(fileName); } return(virtualPath); }
public VisualEditorJsRouteLibrary( ModuleRouteLibrary moduleRouteLibrary ) : base(moduleRouteLibrary) { }
public SharedJsRouteLibrary( ModuleRouteLibrary moduleRouteLibrary ) : base(moduleRouteLibrary) { }
/// <summary> /// Returns a script tag with an application relative path to a js file in the conventional /// '[modulepath]/Content/js' directory. The path is automatically versioned e.g. 'myfile.js?v=uniquehash. /// The renderer first checks for a minified file by appending '_min' to the filename and /// will use that file unless DebugSettings.UseUncompressedResources is set to true. /// </summary> /// <param name="moduleRouteLibrary">Route library for the module to render the script for.</param> /// <param name="fileName">The javascript filename without a .js extension.</param> public HtmlString ScriptTag(ModuleRouteLibrary moduleRouteLibrary, string fileName) { var jsPath = JsPath(moduleRouteLibrary, fileName); return(FormatScriptTag(jsPath)); }
/// <summary> /// Returns an application relative path to a css file in the conventional /// '[modulepath]/Content/css' directory. The path is automatically versioned e.g. 'myfile.css?v=uniquehash. /// The renderer first checks for a minified file by appending '_min' to the filename and /// will use that file unless DebugSettings.UseUncompressedResources is set to true. /// </summary> /// <param name="moduleRouteLibrary">Route library for the module to render the stylesheet for.</param> /// <param name="fileName">The stylesheet filename without a .css extension.</param> public string CssPath(ModuleRouteLibrary moduleRouteLibrary, string fileName) { var virtualPath = CssPathWithoutVersion(moduleRouteLibrary, fileName); return(_staticFilePathFormatter.AppendVersion(virtualPath)); }
public ActionResult Index(ModuleRouteLibrary routeLibrary) { var jsRouteLibrary = new ModuleJsRouteLibrary(routeLibrary); return(View("~/Framework/StandardAngularModules/Routes/index.cshtml", jsRouteLibrary)); }
/// <summary> /// Returns a link tag containing an application relative path to a css file in the conventional /// '[modulepath]/Content/css' directory. The path is automatically versioned e.g. 'myfile.css?v=uniquehash. /// The renderer first checks for a minified file by appending '_min' to the filename and /// will use that file unless DebugSettings.UseUncompressedResources is set to true. /// </summary> /// <param name="moduleRouteLibrary"></param> /// <param name="fileName"></param> /// <returns></returns> public HtmlString CssTag(ModuleRouteLibrary moduleRouteLibrary, string fileName) { var cssPath = CssPath(moduleRouteLibrary, fileName); return(FormatCssTag(cssPath)); }
public AuthJSRouteLibrary( ModuleRouteLibrary moduleRouteLibrary ) : base(moduleRouteLibrary) { }