restrict to a single theme per site
This commit is contained in:
@ -32,20 +32,19 @@ namespace Oqtane.Services
|
||||
List<ThemeControl> GetThemeControls(List<Theme> themes);
|
||||
|
||||
/// <summary>
|
||||
/// Returns a list of layouts (<see cref="ThemeControl"/>) from the given themes with a matching theme name
|
||||
/// Returns a list of <see cref="ThemeControl"/>s from the given themes with a matching theme type
|
||||
/// </summary>
|
||||
/// <param name="themes"></param>
|
||||
/// <param name="themeName"></param>
|
||||
/// <returns></returns>
|
||||
List<ThemeControl> GetLayoutControls(List<Theme> themes, string themeName);
|
||||
List<ThemeControl> GetThemeControls(List<Theme> themes, string themeType);
|
||||
|
||||
/// <summary>
|
||||
/// Returns a list of containers (<see cref="ThemeControl"/>) from the given themes with a matching theme name
|
||||
/// Returns a list of containers (<see cref="ThemeControl"/>) from the given themes with a matching theme type
|
||||
/// </summary>
|
||||
/// <param name="themes"></param>
|
||||
/// <param name="themeName"></param>
|
||||
/// <returns></returns>
|
||||
List<ThemeControl> GetContainerControls(List<Theme> themes, string themeName);
|
||||
List<ThemeControl> GetContainerControls(List<Theme> themes, string themeType);
|
||||
|
||||
/// <summary>
|
||||
/// Updates a existing theem
|
||||
@ -73,5 +72,14 @@ namespace Oqtane.Services
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
Task<List<Template>> GetThemeTemplatesAsync();
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Returns a list of layouts (<see cref="ThemeControl"/>) from the given themes with a matching theme name
|
||||
/// </summary>
|
||||
/// <param name="themes"></param>
|
||||
/// <param name="themeName"></param>
|
||||
/// <returns></returns>
|
||||
List<ThemeControl> GetLayoutControls(List<Theme> themes, string themeName);
|
||||
}
|
||||
}
|
||||
|
@ -5,6 +5,7 @@ using System.Threading.Tasks;
|
||||
using Oqtane.Documentation;
|
||||
using Oqtane.Models;
|
||||
using Oqtane.Shared;
|
||||
using Oqtane.UI;
|
||||
|
||||
namespace Oqtane.Services
|
||||
{
|
||||
@ -30,16 +31,15 @@ namespace Oqtane.Services
|
||||
return themes.SelectMany(item => item.Themes).OrderBy(item => item.Name).ToList();
|
||||
}
|
||||
|
||||
//[Obsolete("This method is deprecated.", false)]
|
||||
public List<ThemeControl> GetLayoutControls(List<Theme> themes, string themeName)
|
||||
public List<ThemeControl> GetThemeControls(List<Theme> themes, string themeType)
|
||||
{
|
||||
return null;
|
||||
return themes.First(item => item.Themes.Any(item => item.TypeName == themeType)).Themes.OrderBy(item => item.Name).ToList();
|
||||
}
|
||||
|
||||
public List<ThemeControl> GetContainerControls(List<Theme> themes, string themeName)
|
||||
|
||||
public List<ThemeControl> GetContainerControls(List<Theme> themes, string themeType)
|
||||
{
|
||||
return themes.Where(item => Utilities.GetTypeName(themeName).StartsWith(Utilities.GetTypeName(item.ThemeName)))
|
||||
.SelectMany(item => item.Containers).OrderBy(item => item.Name).ToList();
|
||||
return themes.First(item => item.Themes.Any(item => item.TypeName == themeType)).Containers.OrderBy(item => item.Name).ToList();
|
||||
}
|
||||
|
||||
public async Task UpdateThemeAsync(Theme theme)
|
||||
@ -62,5 +62,11 @@ namespace Oqtane.Services
|
||||
List<Template> templates = await GetJsonAsync<List<Template>>($"{ApiUrl}/templates");
|
||||
return templates;
|
||||
}
|
||||
|
||||
//[Obsolete("This method is deprecated.", false)]
|
||||
public List<ThemeControl> GetLayoutControls(List<Theme> themes, string themeName)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user