Textarea

Create a customizable textarea with support for highly used options.

About

In Metro 4, you can use enhancement version of textarea. To define it, add attribute data-role="textarea" to HTML textarea element.


                    <textarea data-role="textarea"></textarea>
                

Prepend data

You can add prepend data to textarea with attribute data-prepend="...".


                    <textarea data-role="textarea" data-prepend="<span class='mif-leanpub'></span>"></textarea>
                

Append data

You can add append data to textarea with attribute data-append="...".


                    <textarea data-role="textarea" data-append="<span class='mif-leanpub'></span>"></textarea>
                

Clear button

When Metro 4 create textarea, him add to element special button: clear-button. This button shown when input focused or user move mouse over element.

Clear button

This button clear current value and flash it to default if default value is defined. You can set default value with attribute data-default-value="...". You can disable clear-button with attribute data-clear-button="false". You can change default icon for this button. To set your icon, use attribute data-clear-button-icon="...".

Textarea

Textarea with default value: You must enter text

Textares without clear button

Custom clear button icon


                    <p>Textarea</p>
                    <textarea data-role="textarea"></textarea>

                    <p>Textarea with default value: You must enter text</p>
                    <textarea data-role="textarea" data-default-value="You must enter text"></textarea>

                    <p>Textares without clear button</p>
                    <textarea data-role="textarea" data-clear-button="false"></textarea>

                    <p>Custom clear button icon</p>
                    <textarea data-role="textarea" data-clear-button-icon="<span class='mif-cancel'></span>"></textarea>
                

Chars count

You can get chars count into your own element. To create link, add attribute data-chars-counter="..." to textarea. Value for this attribute must be a valid element selector: id or class. Also you can set output template with attribute data-chars-counter-template. Value for template must contains $1 identifier.

You enter 0 char(s)

Options

Option Data-* Default Desc
charsCounter data-chars-counter null Element for output text length info
charsCounterTemplate data-chars-counter-template $1 Template for output text length info
defaultValue data-default-value Default value for textarea
prepend data-prepend Prepend data
append data-append Append data
clearButton data-clear-button true Show/hide clear button
clearButtonIcon data-clear-button-icon <span class='default-icon-cross'> Icon for clear button
autoSize data-auto-size true Auto resize height of textarea when user enter text

Events

Event Data-* Context
onChange(val, length) data-on-change textarea
onTextareaCreate(el) data-on-textarea-create textarea

Methods

You can use methods to interact with input component: clear(), toDefault(), disable(), enable(), length().


                    var textarea = $(el).data('textarea');
                    textarea.clear();
                    textarea.toDefault();
                    textarea.toggleState();
                

Customize

You can customize your input with special attributes:

Option Data-* Desc
clsComponent data-cls-component Additional classes for control.
clsTextarea data-cls-component Additional classes for textarea.
clsPrepend data-cls-prepend Additional classes for prepend.
clsAppend data-cls-append Additional classes for append.

                    <textarea data-role="textarea"
                              data-default-value="Enter you text"
                              data-cls-textarea="bg-darkCyan fg-white"
                              data-prepend="<span class='mif-leanpub'></span>"
                              data-cls-prepend="bg-light"
                              data-clear-button-icon="<span class='mif-cross fg-white'></span>"></textarea>