using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Umbraco.Core.IO;
using Umbraco.Core.Manifest;
namespace Umbraco.Web.UI.JavaScript
{
internal class CssInitialization
{
private readonly ManifestParser _parser;
public CssInitialization(ManifestParser parser)
{
_parser = parser;
}
///
/// Processes all found manifest files and outputs yepnope.injectcss calls for all css files found in all manifests
///
public string GetStylesheetInitialization()
{
JArray merged = new JArray();
foreach (var m in _parser.GetManifests())
{
ManifestParser.MergeJArrays(merged, m.StyleSheetInitialize);
}
return ParseMain(merged);
}
///
/// Parses the CssResources.Main and returns a yepnop.injectCss format
///
///
///
internal static string ParseMain(JArray files)
{
StringBuilder sb = new StringBuilder();
foreach (var file in files)
sb.AppendFormat("{0}yepnope.injectCss('{1}');", Environment.NewLine, file);
return sb.ToString();
}
}
}