#region usings
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Mvc;
using System.Linq.Expressions;
using Signum.Utilities;
using System.Web.Mvc.Html;
using Signum.Entities;
using System.Reflection;
using Signum.Entities.Reflection;
using System.Configuration;
using Signum.Engine;
using Signum.Web.Properties;
using Signum.Utilities.Reflection;
using System.Collections;
#endregion
namespace Signum.Web
{
public static class ListBaseHelper
{
public static MvcHtmlString CreateButton(HtmlHelper helper, EntityListBase listBase, Dictionary<string, object> htmlProperties)
{
if (!listBase.Create)
return MvcHtmlString.Empty;
var htmlAttr = new Dictionary<string, object>
{
{ "onclick", listBase.GetCreating() },
{ "data-icon", "ui-icon-circle-plus" },
{ "data-text", false}
};
if (htmlProperties != null)
htmlAttr.AddRange(htmlProperties);
return helper.Href(listBase.Compose("btnCreate"),
Resources.LineButton_Create,
"",
Resources.LineButton_Create,
"sf-line-button sf-create",
htmlAttr);
}
public static MvcHtmlString FindButton(HtmlHelper helper, EntityListBase listBase)
{
if ((!listBase.Find) || !listBase.ElementType.CleanType().IsIIdentifiable())
return MvcHtmlString.Empty;
var htmlAttr = new Dictionary<string, object>
{
{ "onclick", listBase.GetFinding() },
{ "data-icon", "ui-icon-circle-zoomin" },
{ "data-text", false}
};
return helper.Href(listBase.Compose("btnFind"),
Resources.LineButton_Find,
"",
Resources.LineButton_Find,
"sf-line-button sf-find",
htmlAttr);
}
public static MvcHtmlString RemoveButton(HtmlHelper helper, EntityListBase listBase)
{
if (!listBase.Remove)
return MvcHtmlString.Empty;
var htmlAttr = new Dictionary<string, object>
{
{ "onclick", listBase.GetRemoving() },
{ "data-icon", "ui-icon-circle-close" },
{ "data-text", false}
};
IList list = (IList)listBase.UntypedValue;
if (list == null || list.Count == 0)
htmlAttr.Add("style", "display:none");
return helper.Href(listBase.Compose("btnRemove"),
Resources.LineButton_Remove,
"",
Resources.LineButton_Remove,
"sf-line-button sf-remove",
htmlAttr);
}
}
}