From 31169380f819eeee7a720bcc87b222331ec6a277 Mon Sep 17 00:00:00 2001 From: "agrath@gmail.com" Date: Thu, 21 Jul 2011 20:19:54 -1200 Subject: [PATCH] Changed the return type of RTE to a different HtmlString (internal) so that it can be implicitly convertible for string for If comparisons. Added an extension method for string.HasValue so that .Where can invoke it to improve readibility when comparing RTE to empty string based on feedback from @cultiv. Cleaned up an empty if in DynamicQuerable --- .../RazorDynamicNode/DynamicNode.cs | 2 +- .../RazorDynamicNode/DynamicQueryable.cs | 4 ---- .../RazorDynamicNode/ExtensionMethods.cs | 5 ++++- .../RazorDynamicNode/InternalHtmlString.cs | 17 +++++++++++++++++ .../umbraco.MacroEngines.csproj | 1 + 5 files changed, 23 insertions(+), 6 deletions(-) create mode 100644 umbraco.MacroEngines.Juno/RazorDynamicNode/InternalHtmlString.cs diff --git a/umbraco.MacroEngines.Juno/RazorDynamicNode/DynamicNode.cs b/umbraco.MacroEngines.Juno/RazorDynamicNode/DynamicNode.cs index ca05820e71..e107326cd6 100644 --- a/umbraco.MacroEngines.Juno/RazorDynamicNode/DynamicNode.cs +++ b/umbraco.MacroEngines.Juno/RazorDynamicNode/DynamicNode.cs @@ -565,7 +565,7 @@ namespace umbraco.MacroEngines // Rich text editor (return IHtmlString so devs doesn't need to decode html if (dataType == DATATYPE_TINYMCE_GUID) { - result = new HtmlString(result.ToString()); + result = new InternalHtmlString(result.ToString()); return true; } diff --git a/umbraco.MacroEngines.Juno/RazorDynamicNode/DynamicQueryable.cs b/umbraco.MacroEngines.Juno/RazorDynamicNode/DynamicQueryable.cs index 4b3ba1c865..5afb40cf7c 100644 --- a/umbraco.MacroEngines.Juno/RazorDynamicNode/DynamicQueryable.cs +++ b/umbraco.MacroEngines.Juno/RazorDynamicNode/DynamicQueryable.cs @@ -1474,10 +1474,6 @@ namespace System.Linq.Dynamic } } } - } - else if (type == typeof(string)) - { - } switch (FindMethod(type, id, instance == null, args, out mb)) { diff --git a/umbraco.MacroEngines.Juno/RazorDynamicNode/ExtensionMethods.cs b/umbraco.MacroEngines.Juno/RazorDynamicNode/ExtensionMethods.cs index 1067181dfc..84123581c3 100644 --- a/umbraco.MacroEngines.Juno/RazorDynamicNode/ExtensionMethods.cs +++ b/umbraco.MacroEngines.Juno/RazorDynamicNode/ExtensionMethods.cs @@ -98,7 +98,10 @@ namespace umbraco.MacroEngines return haystack.IndexOf(needle, StringComparison.CurrentCultureIgnoreCase) >= 0; } + public static bool HasValue(this string s) + { + return !string.IsNullOrWhiteSpace(s); + } - } } diff --git a/umbraco.MacroEngines.Juno/RazorDynamicNode/InternalHtmlString.cs b/umbraco.MacroEngines.Juno/RazorDynamicNode/InternalHtmlString.cs new file mode 100644 index 0000000000..21b1e0a11a --- /dev/null +++ b/umbraco.MacroEngines.Juno/RazorDynamicNode/InternalHtmlString.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Web; + +namespace umbraco.MacroEngines +{ + public class InternalHtmlString : HtmlString + { + public InternalHtmlString(string s) : base(s) { } + public static implicit operator string(InternalHtmlString s) + { + return s.ToHtmlString(); + } + } +} diff --git a/umbraco.MacroEngines.Juno/umbraco.MacroEngines.csproj b/umbraco.MacroEngines.Juno/umbraco.MacroEngines.csproj index 00224ceb49..1afbf7682e 100644 --- a/umbraco.MacroEngines.Juno/umbraco.MacroEngines.csproj +++ b/umbraco.MacroEngines.Juno/umbraco.MacroEngines.csproj @@ -86,6 +86,7 @@ +