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) 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 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>(); var ngAttributes = new Dictionary<string, object>();
ngAttributes["type"] = "text"; ngAttributes["type"] = "text";
@ -51,20 +51,20 @@ namespace Microsoft.AspNet.Mvc.Rendering
ngAttributes["ng-model"] = valueFieldName; ngAttributes["ng-model"] = valueFieldName;
// Set input type // 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"; ngAttributes["type"] = "email";
} }
else if (metadata.ModelType == typeof(Uri) else if (modelExplorer.ModelType == typeof(Uri)
|| string.Equals(metadata.DataTypeName, Enum.GetName(typeof(DataType), DataType.Url), StringComparison.OrdinalIgnoreCase) || string.Equals(modelExplorer.Metadata.DataTypeName, Enum.GetName(typeof(DataType), DataType.Url), StringComparison.OrdinalIgnoreCase)
|| string.Equals(metadata.DataTypeName, Enum.GetName(typeof(DataType), DataType.ImageUrl), StringComparison.OrdinalIgnoreCase)) || string.Equals(modelExplorer.Metadata.DataTypeName, Enum.GetName(typeof(DataType), DataType.ImageUrl), StringComparison.OrdinalIgnoreCase))
{ {
ngAttributes["type"] = "url"; ngAttributes["type"] = "url";
} }
else if (IsNumberType(metadata.ModelType)) else if (IsNumberType(modelExplorer.ModelType))
{ {
ngAttributes["type"] = "number"; ngAttributes["type"] = "number";
if (IsIntegerType(metadata.ModelType)) if (IsIntegerType(modelExplorer.ModelType))
{ {
ngAttributes["step"] = "1"; ngAttributes["step"] = "1";
} }
@ -73,20 +73,20 @@ namespace Microsoft.AspNet.Mvc.Rendering
ngAttributes["step"] = "any"; 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"; 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"; ngAttributes["type"] = "datetime";
} }
} }
// Add attributes for Angular validation // Add attributes for Angular validation
var clientValidators = html.GetClientValidationRules(metadata, null); var clientValidators = html.GetClientValidationRules(modelExplorer, null);
foreach (var validator in clientValidators) foreach (var validator in clientValidators)
{ {
@ -133,9 +133,9 @@ namespace Microsoft.AspNet.Mvc.Rendering
} }
// Render! // 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"); var tag = new TagBuilder("input");

View File

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