React to MVC changes.

This commit is contained in:
N. Taylor Mullen 2015-02-23 21:23:44 -08:00
parent 0ef3921e20
commit c4c618fafd
2 changed files with 14 additions and 14 deletions

View File

@ -40,7 +40,7 @@ namespace Microsoft.AspNet.Mvc.Rendering
public static HtmlString ngTextBoxFor<TModel, TProperty>(this IHtmlHelper<TModel> html, Expression<Func<TModel, TProperty>> expression, IDictionary<string, object> htmlAttributes)
{
var expressionText = ExpressionHelper.GetExpressionText(expression);
var metadata = ExpressionMetadataProvider.FromLambdaExpression(expression, html.ViewData, html.MetadataProvider);
var modelExplorer = ExpressionMetadataProvider.FromLambdaExpression(expression, html.ViewData, html.MetadataProvider);
var ngAttributes = new Dictionary<string, object>();
ngAttributes["type"] = "text";
@ -51,20 +51,20 @@ namespace Microsoft.AspNet.Mvc.Rendering
ngAttributes["ng-model"] = valueFieldName;
// Set input type
if (string.Equals(metadata.DataTypeName, Enum.GetName(typeof(DataType), DataType.EmailAddress), StringComparison.OrdinalIgnoreCase))
if (string.Equals(modelExplorer.Metadata.DataTypeName, Enum.GetName(typeof(DataType), DataType.EmailAddress), StringComparison.OrdinalIgnoreCase))
{
ngAttributes["type"] = "email";
}
else if (metadata.ModelType == typeof(Uri)
|| string.Equals(metadata.DataTypeName, Enum.GetName(typeof(DataType), DataType.Url), StringComparison.OrdinalIgnoreCase)
|| string.Equals(metadata.DataTypeName, Enum.GetName(typeof(DataType), DataType.ImageUrl), StringComparison.OrdinalIgnoreCase))
else if (modelExplorer.ModelType == typeof(Uri)
|| string.Equals(modelExplorer.Metadata.DataTypeName, Enum.GetName(typeof(DataType), DataType.Url), StringComparison.OrdinalIgnoreCase)
|| string.Equals(modelExplorer.Metadata.DataTypeName, Enum.GetName(typeof(DataType), DataType.ImageUrl), StringComparison.OrdinalIgnoreCase))
{
ngAttributes["type"] = "url";
}
else if (IsNumberType(metadata.ModelType))
else if (IsNumberType(modelExplorer.ModelType))
{
ngAttributes["type"] = "number";
if (IsIntegerType(metadata.ModelType))
if (IsIntegerType(modelExplorer.ModelType))
{
ngAttributes["step"] = "1";
}
@ -73,20 +73,20 @@ namespace Microsoft.AspNet.Mvc.Rendering
ngAttributes["step"] = "any";
}
}
else if (metadata.ModelType == typeof(DateTime))
else if (modelExplorer.ModelType == typeof(DateTime))
{
if (string.Equals(metadata.DataTypeName, Enum.GetName(typeof(DataType), DataType.Date), StringComparison.OrdinalIgnoreCase))
if (string.Equals(modelExplorer.Metadata.DataTypeName, Enum.GetName(typeof(DataType), DataType.Date), StringComparison.OrdinalIgnoreCase))
{
ngAttributes["type"] = "date";
}
else if (string.Equals(metadata.DataTypeName, Enum.GetName(typeof(DataType), DataType.DateTime), StringComparison.OrdinalIgnoreCase))
else if (string.Equals(modelExplorer.Metadata.DataTypeName, Enum.GetName(typeof(DataType), DataType.DateTime), StringComparison.OrdinalIgnoreCase))
{
ngAttributes["type"] = "datetime";
}
}
// Add attributes for Angular validation
var clientValidators = html.GetClientValidationRules(metadata, null);
var clientValidators = html.GetClientValidationRules(modelExplorer, null);
foreach (var validator in clientValidators)
{
@ -133,9 +133,9 @@ namespace Microsoft.AspNet.Mvc.Rendering
}
// Render!
if (metadata.Model != null)
if (modelExplorer.Model != null)
{
ngAttributes.Add("value", metadata.Model.ToString());
ngAttributes.Add("value", modelExplorer.Model.ToString());
}
var tag = new TagBuilder("input");

View File

@ -27,7 +27,7 @@ namespace MusicStore.Spa.Infrastructure
realProperty.IsRequired = buddyProperty.IsRequired;
realProperty.DisplayName = buddyProperty.DisplayName;
realProperty.DisplayFormatString = buddyProperty.DisplayFormatString;
realProperty.SimpleDisplayText = buddyProperty.SimpleDisplayText;
realProperty.SimpleDisplayProperty = buddyProperty.SimpleDisplayProperty;
realProperty.DataTypeName = buddyProperty.DataTypeName;
realProperty.Description = buddyProperty.Description;
realProperty.EditFormatString = buddyProperty.EditFormatString;