Ejemplo n.º 1
0
 public static MvcHtmlString TextAreaControlFor <TModel, TValue>(this HtmlHelper <TModel> html, Expression <Func <TModel, TValue> > expression, int rows, int columns, IDictionary <string, object> inputHtmlAttributes)
 {
     return
         (TextAreaControlHelper(
              html,
              expression,
              TextAreaExtensions.TextAreaFor(html, expression, rows, columns, inputHtmlAttributes)));
 }
Ejemplo n.º 2
0
 public static MvcHtmlString TextAreaFor <TModel, TProperty>(this HtmlHelper <TModel> htmlHelper, Expression <Func <TModel, TProperty> > expression, string accessKey = null, string cssClass = null, int?cols = null, string dir = null, bool disabled = false, string id = null, string lang = null, bool readOnly = false, int?rows = null, string style = null, int?tabIndex = null, string title = null)
 {
     return(TextAreaExtensions.TextAreaFor(
                htmlHelper,
                expression,
                TextAreaAttributes(accessKey, cssClass, cols, dir, disabled, id, lang, readOnly, rows, style, tabIndex, title)
                ));
 }
Ejemplo n.º 3
0
 public static MvcHtmlString TextArea(this HtmlHelper htmlHelper, string name, string value = null, string accessKey = null, string cssClass = null, int?cols = null, string dir = null, bool disabled = false, string id = null, string lang = null, bool readOnly = false, int?rows = null, string style = null, int?tabIndex = null, string title = null)
 {
     return(TextAreaExtensions.TextArea(
                htmlHelper,
                name,
                value,
                TextAreaAttributes(accessKey, cssClass, cols, dir, disabled, id, lang, readOnly, rows, style, tabIndex, title)
                ));
 }
Ejemplo n.º 4
0
        public static MvcHtmlString ZN_TextAreaFor <TModel, TProperty>(this HtmlHelper <TModel> htmlHelper, Expression <Func <TModel, TProperty> > expression, object htmlAttributes = null)
        {
            TagBuilder tagResult = new TagBuilder("div");

            tagResult.MergeAttribute("class", "form-group");
            tagResult.InnerHtml += LabelExtensions.LabelFor(htmlHelper, expression).ToHtmlString();
            tagResult.InnerHtml += TextAreaExtensions.TextAreaFor(htmlHelper, expression, htmlAttributes).ToHtmlString();
            tagResult.InnerHtml += ValidationExtensions.ValidationMessageFor(htmlHelper, expression, "", new { @class = "error" }).ToHtmlString();
            return(tagResult.ToHtml());
        }
Ejemplo n.º 5
0
        public void TextAreaFor_creates_required_and_date_data_attributes_for_nullable_DateTime_with_Required_attribute()
        {
            // Arrange
            var htmlHelper = HtmlHelperFactory.Create(new RequiredNullableDateTimeModel());

            // Act
            var result = TextAreaExtensions.TextAreaFor(htmlHelper, exampleModel => exampleModel.Date, true);

            // Assert
            Assert.AreEqual(HTMLRequiredDate, result.ToHtmlString());
        }
        public static IHtmlString BTextAreaFor <TModel, TValue>(this HtmlHelper <TModel> helper, Expression <Func <TModel, TValue> > expression, object htmlAttributes, bool?isReadonly = null)
        {
            var           _htmlAttr = HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes);
            ModelMetadata metadata  = ModelMetadata.FromLambdaExpression(expression, helper.ViewData);

            AddDefaultAttribute(ref _htmlAttr, metadata);

            if (!_htmlAttr.ContainsKey("readonly") && isReadonly.HasValue)
            {
                _htmlAttr.Add("readonly", isReadonly);
            }

            return(TextAreaExtensions.TextAreaFor(helper, expression, new RouteValueDictionary(_htmlAttr)));
        }
Ejemplo n.º 7
0
        public void TextAreaHelperDoesNotEncodeInnerHtmlPrefix()
        {
            // Arrange
            HtmlHelper    helper   = MvcHelper.GetHtmlHelper();
            ModelMetadata metadata = ModelMetadata.FromStringExpression("foo", helper.ViewData);

            metadata.Model = "<model>";

            // Act
            MvcHtmlString html = TextAreaExtensions.TextAreaHelper(helper, metadata, "testEncoding", rowsAndColumns: null,
                                                                   htmlAttributes: null, innerHtmlPrefix: "<prefix>");

            // Assert
            Assert.Equal(@"<textarea id=""testEncoding"" name=""testEncoding""><prefix>&lt;model&gt;</textarea>", html.ToHtmlString());
        }
Ejemplo n.º 8
0
        public static MvcHtmlString KOTextAreaFor <TModel, TProperty>(this HtmlHelper <TModel> htmlHelper, Expression <Func <TModel, TProperty> > expression, object attribute)
        {
            var htmlAttributes = HtmlHelper.AnonymousObjectToHtmlAttributes(attribute);
            var name           = GetMemberName(expression);

            if (!htmlAttributes.ContainsKey("data-bind"))
            {
                htmlAttributes.Add("data-bind", string.Format("value:{0}", name));
            }
            else
            {
                htmlAttributes["data-bind"] = htmlAttributes["data-bind"] + "," + string.Format("value:{0}", name);
            }
            return(TextAreaExtensions.TextAreaFor(htmlHelper, expression, htmlAttributes));
        }
Ejemplo n.º 9
0
        public void TextAreaFor_creates_required_data_attributes_for_string_with_Required_attribute()
        {
            // Arrange
            var htmlHelper = HtmlHelperFactory.Create(new RequiredStringModel());

            // Act
            var result = TextAreaExtensions.TextAreaFor(htmlHelper, exampleModel => exampleModel.String, true);

            // Assert
            Assert.AreEqual("<textarea " +
                            "cols=\"20\" " +
                            "data-msg-required=\"The String field is required.\" " +
                            "data-rule-required=\"true\" " +
                            "id=\"String\" name=\"String\" rows=\"2\">\r\n</textarea>", result.ToHtmlString());
        }
Ejemplo n.º 10
0
        public static MvcHtmlString MarkdownEditorFor <TModel, TProperty>(this HtmlHelper <TModel> htmlHelper, Expression <Func <TModel, TProperty> > expression, object htmlAttributes)
        {
            var textareaString = TextAreaExtensions.TextAreaFor(htmlHelper, expression, htmlAttributes);

            var renderEditor = true;

            if (renderEditor)
            {
                var editor = htmlHelper.Partial("_MarkdownEditor");
                return(new MvcHtmlString(editor.ToString() + textareaString));
            }
            else
            {
                return(textareaString);
            }
        }
        public static MvcHtmlString BSFGForTextArea <TModel, TProperty>(
            this HtmlHelper <TModel> html,
            Expression <Func <TModel, TProperty> > expression,
            int col_sm,
            string PlaceHolder)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("<div class=\"form-group\">");
            sb.AppendLine(LabelExtensions
                          .LabelFor(html, expression, new { @class = String.Format("col-sm-{0} control-label", 12 - col_sm) }).ToHtmlString());
            sb.AppendLine(String.Format("<div class=\"col-sm-{0}\">", col_sm));
            sb.AppendLine(TextAreaExtensions
                          .TextAreaFor(html, expression, 4, 1, new { @class = "form-control", placeholder = PlaceHolder }).ToHtmlString());
            sb.AppendLine(ValidationExtensions
                          .ValidationMessageFor(html, expression).ToHtmlString());
            sb.AppendLine("</div>");
            sb.AppendLine("</div>");
            return(new MvcHtmlString(sb.ToString()));
        }
        public static MvcHtmlString TextAreaWithErrorClassFor <TModel, TProperty>(this HtmlHelper <TModel> htmlHelper, Expression <Func <TModel, TProperty> > expression, object htmlAttributes, string errorClass)
        {
            MemberExpression body         = expression.Body as MemberExpression;
            string           propertyName = body.Member.Name;

            if (htmlHelper.ViewData.ModelState.IsValidField(propertyName))
            {
                return(TextAreaExtensions.TextAreaFor(htmlHelper, expression, htmlAttributes));
            }
            else
            {
                var attributes = HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes);
                if (attributes.ContainsKey("class"))
                {
                    attributes["class"] += " " + errorClass;
                }
                else
                {
                    attributes.Add("class", errorClass);
                }
                return(TextAreaExtensions.TextAreaFor(htmlHelper, expression, attributes));
            }
        }
Ejemplo n.º 13
0
        public static MvcHtmlString LsEditor <TModel, TValue>(
            this HtmlHelper <TModel> html,
            Expression <Func <TModel, TValue> > expression,
            bool isThisEditor     = true,
            string LabelAddText   = "",
            object htmlAttributes = null)
        {
            var rvd              = new RouteValueDictionary(HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes));
            var metaData         = ModelMetadata.FromLambdaExpression(expression, html.ViewData);
            var memberExpression = (MemberExpression)expression.Body;
            var isRequired       = memberExpression.Member.GetCustomAttributes(typeof(RequiredAttribute), false).Length != 0;

            var displayAttribute = (DisplayAttribute[])memberExpression.Member.GetCustomAttributes(typeof(DisplayAttribute), false);

            var propertyName = metaData.PropertyName;
            var displayName  = metaData.DisplayName ?? propertyName;

            string className = isThisEditor ? "ls-editor-textarea" : "";

            if (rvd.Any(q => q.Key == "class"))
            {
                rvd["class"] = rvd["class"] + $" {className} form-control text-box";
            }
            else
            {
                rvd["class"] = $"{className} form-control text-box";
            }


            var input = TextAreaExtensions.TextAreaFor(html, expression, rvd);


            var OuterDiv = new TagBuilder("div");

            OuterDiv.AddCssClass("form-group row m-form__group");


            var fieldLabel = new TagBuilder("label");

            fieldLabel.Attributes.Add("for", propertyName);
            fieldLabel.AddCssClass("col-form-label col-md-2");
            fieldLabel.InnerHtml = displayName + LabelAddText + (isRequired ? "<em>*</em>" : "");

            bool hasError = false;

            var validationSpan = new TagBuilder("span");

            validationSpan.AddCssClass("form-control-feedback");

            var modelState = html.ViewData.ModelState;

            if (modelState[propertyName] != null)
            {
                var error = modelState[propertyName].Errors.FirstOrDefault();
                if (error != null)
                {
                    hasError = true;
                    validationSpan.InnerHtml = error.ErrorMessage;
                }
            }

            if (hasError)
            {
                OuterDiv.AddCssClass("has-danger");
            }

            var inputWrapper = new TagBuilder("div");

            inputWrapper.AddCssClass("col-md-8");
            inputWrapper.InnerHtml = input + validationSpan.ToString();


            OuterDiv.InnerHtml = fieldLabel.ToString() + inputWrapper.ToString();

            return(MvcHtmlString.Create(OuterDiv.ToString()));
        }