From 59a57413c582415f12a3da02c0c24f18af850c5c Mon Sep 17 00:00:00 2001 From: Dave Reed Date: Mon, 29 Nov 2010 14:16:26 -0800 Subject: [PATCH] #16800: Add a Condition property on RequireSettings. You can now say Require("foo").UseCondition("lte IE7") for example. --HG-- branch : dev --- src/Orchard.Web/Core/Shapes/CoreShapes.cs | 7 +++++++ src/Orchard/UI/Resources/RequireSettings.cs | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/src/Orchard.Web/Core/Shapes/CoreShapes.cs b/src/Orchard.Web/Core/Shapes/CoreShapes.cs index 53bb2abbd..72efafe06 100644 --- a/src/Orchard.Web/Core/Shapes/CoreShapes.cs +++ b/src/Orchard.Web/Core/Shapes/CoreShapes.cs @@ -225,7 +225,14 @@ namespace Orchard.Core.Shapes { foreach (var context in requiredResources.Where(r => (includeLocation.HasValue ? r.Settings.Location == includeLocation.Value : true) && (excludeLocation.HasValue ? r.Settings.Location != excludeLocation.Value : true))) { + var condition = context.Settings.Condition; + if (!string.IsNullOrEmpty(condition)) { + html.ViewContext.Writer.WriteLine(""); + } } } diff --git a/src/Orchard/UI/Resources/RequireSettings.cs b/src/Orchard/UI/Resources/RequireSettings.cs index 2648967ed..a945b4a84 100644 --- a/src/Orchard/UI/Resources/RequireSettings.cs +++ b/src/Orchard/UI/Resources/RequireSettings.cs @@ -9,6 +9,7 @@ namespace Orchard.UI.Resources { public bool DebugMode { get; set; } public bool CdnMode { get; set; } public ResourceLocation Location { get; set; } + public string Condition { get; set; } public Action InlineDefinition { get; set; } public RequireSettings AtHead() { @@ -55,6 +56,11 @@ namespace Orchard.UI.Resources { return this; } + public RequireSettings UseCondition(string condition) { + Condition = Condition ?? condition; + return this; + } + public RequireSettings Define(Action resourceDefinition) { InlineDefinition = resourceDefinition ?? InlineDefinition; return this; @@ -69,6 +75,7 @@ namespace Orchard.UI.Resources { .UseCdn(CdnMode).UseCdn(other.CdnMode) .UseDebugMode(DebugMode).UseDebugMode(other.DebugMode) .UseCulture(Culture).UseCulture(other.Culture) + .UseCondition(Condition).UseCondition(other.Condition) .Define(InlineDefinition).Define(other.InlineDefinition); } }