using System.Collections.Generic;
using System.Linq;
using Umbraco.Core;
using Umbraco.Core.Services;
using Umbraco.Web.Common.Attributes;
using Umbraco.Web.Editors;
using Umbraco.Web.Models.ContentEditing;
namespace Umbraco.Web.BackOffice.Controllers
{
///
/// The API controller used for retrieving available stylesheets
///
[PluginController(Constants.Web.Mvc.BackOfficeApiArea)]
public class StylesheetController : UmbracoAuthorizedJsonController
{
private readonly IFileService _fileService;
public StylesheetController(IFileService fileService)
{
_fileService = fileService;
}
public IEnumerable GetAll()
{
return _fileService.GetStylesheets()
.Select(x =>
new Stylesheet() {
Name = x.Alias,
Path = x.VirtualPath
});
}
public IEnumerable GetRulesByName(string name)
{
var css = _fileService.GetStylesheetByName(name.EnsureEndsWith(".css"));
if (css == null)
return Enumerable.Empty();
return css.Properties.Select(x => new StylesheetRule() { Name = x.Name, Selector = x.Alias });
}
}
}