Files
Umbraco-CMS/src/Umbraco.Web/Editors/StylesheetController.cs

49 lines
1.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using System.Web;
using System.Web.Http;
using System.Web.Services.Description;
using Newtonsoft.Json.Linq;
using umbraco.cms.businesslogic.web;
using Umbraco.Core;
using Umbraco.Core.IO;
using Umbraco.Web.Models.ContentEditing;
using Umbraco.Web.Mvc;
using Umbraco.Web.WebApi.Filters;
namespace Umbraco.Web.Editors
{
/// <summary>
/// The API controller used for retrieving available stylesheets
/// </summary>
[PluginController("UmbracoApi")]
public class StylesheetController : UmbracoAuthorizedJsonController
{
public IEnumerable<Stylesheet> GetAll()
{
return Services.FileService.GetStylesheets()
.Select(x =>
new Stylesheet() {
Name = x.Alias,
Path = x.VirtualPath
});
}
public IEnumerable<StylesheetRule> GetRulesByName(string name)
{
var css = Services.FileService.GetStylesheetByName(name.EnsureEndsWith(".css"));
if (css == null)
return Enumerable.Empty<StylesheetRule>();
return css.Properties.Select(x => new StylesheetRule() { Name = x.Name, Selector = x.Alias });
}
}
}