internal void RegisterStyles(List <ClientStyleItem> styles, ResourceManager rm)
{
rm = rm ?? this.SafeResourceManager;
if (rm == null)
{
return;
}
if (rm.IsSelfRender && !(this is ResourceManager))
{
var globalResources = this.GlobalResources;
foreach (ClientStyleItem item in styles)
{
if (!this.IsGlobalResourceRegistered(item))
{
globalResources.Add(item);
}
}
return;
}
foreach (ClientStyleItem item in styles)
{
if (item.Theme.Equals(Theme.Default))
{
if (item.IgnoreResourceMode)
{
if (item.PathEmbedded.IsNotEmpty())
{
this.ResourceManager.RegisterClientStyleIncludeInternal(item.Type, item.PathEmbedded);
}
else
{
this.ResourceManager.RegisterClientStyleIncludeInternal(item.Path, item.Path.StartsWith("~") ? this.ResolveUrlLink(item.Path) : item.Path);
}
continue;
}
var mode = this.DetermineRequiredResourceMode(rm.RenderStyles, item);
switch (mode)
{
case ResourceLocationType.Embedded:
rm.RegisterClientStyleIncludeInternal(item.Type, item.PathEmbedded);
break;
case ResourceLocationType.File:
rm.RegisterClientStyleIncludeInternal(item.PathEmbedded, item.Path.StartsWith("~") ? this.ResolveUrlLink(item.Path) : rm.ResourcePathInternal.ConcatWith(item.Path));
break;
#if ISPRO
case ResourceLocationType.CDN:
rm.RegisterClientStyleIncludeInternal(item.PathEmbedded, ResourceManager.CDNPath.ConcatWith(item.Path));
break;
#endif
}
}
}
}