Update button rendering, move css classes to viewdata

This commit is contained in:
2020-06-26 21:40:20 -04:00
parent 7e88de5041
commit 55f59ddd7a
11 changed files with 208 additions and 112 deletions
+35
View File
@@ -0,0 +1,35 @@
using System.Linq;
using System.Web.Mvc;
namespace LeafWeb.WebCms.Utility
{
public static class CssClassUtil
{
private const string KeyName = "cssClass";
public static ViewDataDictionary CreateCssClassDataDictionary(params string[] cssClasses)
=> new ViewDataDictionary { { KeyName, cssClasses.ToArray() } };
public static void AddCssClass(this ViewDataDictionary vdd, string cssClass)
{
if (!vdd.ContainsKey(KeyName))
vdd["cssClass"] = new []{ cssClass };
else
{
var cssClassList = ((string[])vdd[KeyName]).ToList();
if (!cssClassList.Contains(cssClass))
cssClassList.Add(cssClass);
vdd[KeyName] = cssClassList.ToArray();
}
}
public static void SetButtonDisabled(this ViewDataDictionary vdd)
{
vdd.AddCssClass("disabled");
}
public static bool IsButtonDisabled(this ViewDataDictionary vdd)
{
return vdd.ContainsKey(KeyName) && ((string[]) vdd[KeyName]).Contains("disabled");
}
}
}