PhpExt : Form [ class tree ] [ index ] [ all elements ]

Class: PhpExt_Form_TextArea

Source Location: /PhpExt/Form/TextArea.php

Class PhpExt_Form_TextArea

Class Overview

Multiline text field. Can be used as a direct replacement for traditional textarea fields, plus adds support for auto-sizing.

Located in /PhpExt/Form/TextArea.php [line 24]

PhpExt_Object
   |
   --PhpExt_Observable
      |
      --PhpExt_Component
         |
         --PhpExt_BoxComponent
            |
            --PhpExt_Form_Field
               |
               --PhpExt_Form_TextField
                  |
                  --PhpExt_Form_TextArea

Methods

[ Top ]
Inherited Properties, Constants, and Methods
Inherited Properties Inherited Methods Inherited Constants

Inherited From PhpExt_Form_TextField

PhpExt_Form_TextField::$IsPassword

Inherited From PhpExt_Component

PhpExt_Component::$_layoutData
PhpExt_Component::$_ownerCollection
PhpExt_Component::$_plugins
PhpExt_Component::$_xType

Inherited From PhpExt_Observable

PhpExt_Observable::$_listeners

Inherited From PhpExt_Object

PhpExt_Object::$_extClassName
PhpExt_Object::$_extConfigProperties
PhpExt_Object::$_validExtConfigProperties
PhpExt_Object::$_varName

Inherited From PhpExt_Form_TextField

PhpExt_Form_TextField::__construct()
PhpExt_Form_TextField::createTextField()
Helper function to create a TextField. Useful for quick adding it to a ComponentCollection
PhpExt_Form_TextField::getAllowBlank()
False to validate that the value length > 0 (defaults to true)
PhpExt_Form_TextField::getBlankText()
Error text to display if the allow blank validation fails (defaults to "This field is required")
PhpExt_Form_TextField::getDisableKeyFilter()
True to disable input keystroke filtering (defaults to false)
PhpExt_Form_TextField::getEmptyCssClass()
The CSS class to apply to an empty field to style the emptyText (defaults to 'x-form-empty-field'). This class is automatically added and removed as needed depending on the current field value.
PhpExt_Form_TextField::getEmptyText()
The default text to display in an empty field (defaults to null).
PhpExt_Form_TextField::getGrow()
True if this field should automatically grow and shrink to its content
PhpExt_Form_TextField::getGrowMax()
The maximum width to allow when grow = true (defaults to 800)
PhpExt_Form_TextField::getGrowMin()
The minimum width to allow when grow = true (defaults to 30)
PhpExt_Form_TextField::getMaskRegEx()
An input mask regular expression (Javascript RegEx) that will be used to filter keystrokes that don't match (defaults to null)
PhpExt_Form_TextField::getMaxLength()
Maximum input field length allowed (defaults to Number.MAX_VALUE)
PhpExt_Form_TextField::getMaxLengthText()
Error text to display if the maximum length validation fails (defaults to "The maximum length for this field is {maxLength}")
PhpExt_Form_TextField::getMinLength()
Minimum input field length required (defaults to 0)
PhpExt_Form_TextField::getMinLengthText()
Error text to display if the minimum length validation fails (defaults to "The minimum length for this field is {minLength}")
PhpExt_Form_TextField::getRegEx()
A JavaScript RegExp object to be tested against the field value during validation (defaults to null). If available, this regex will be evaluated only after the basic validators all return true, and will be passed the current field value. If the test fails, the field will be marked invalid using regexText.
PhpExt_Form_TextField::getRegExText()
The error text to display if regex is used and the test fails during validation (defaults to "")
PhpExt_Form_TextField::getSelectOnFocus()
True to automatically select any existing field text when the field receives input focus (defaults to false)
PhpExt_Form_TextField::getValidator()
A custom validation function to be called during field validation (defaults to null). If available, this function will be called only after the basic validators all return true, and will be passed the current field value and expected to return boolean true if the value is valid or a string error message if invalid.
PhpExt_Form_TextField::getVType()
A validation type name as defined in PhpExt_Form_FormPanel (defaults to null). Posible values are:
PhpExt_Form_TextField::getVTypeText()
A custom error message to display in place of the default message provided for the vtype currently set for this field (defaults to ''). Only applies if vtype is set, else ignored.
PhpExt_Form_TextField::setAllowBlank()
False to validate that the value length > 0 (defaults to true)
PhpExt_Form_TextField::setBlankText()
Error text to display if the allow blank validation fails (defaults to "This field is required")
PhpExt_Form_TextField::setDisableKeyFilter()
True to disable input keystroke filtering (defaults to false)
PhpExt_Form_TextField::setEmptyCssClass()
The CSS class to apply to an empty field to style the emptyText (defaults to 'x-form-empty-field'). This class is automatically added and removed as needed depending on the current field value.
PhpExt_Form_TextField::setEmptyText()
The default text to display in an empty field (defaults to null).
PhpExt_Form_TextField::setGrow()
True if this field should automatically grow and shrink to its content
PhpExt_Form_TextField::setGrowMax()
The maximum width to allow when grow = true (defaults to 800)
PhpExt_Form_TextField::setGrowMin()
The minimum width to allow when grow = true (defaults to 30)
PhpExt_Form_TextField::setMaskRegEx()
An input mask regular expression (Javascript RegEx) that will be used to filter keystrokes that don't match (defaults to null)
PhpExt_Form_TextField::setMaxLength()
Maximum input field length allowed (defaults to Number.MAX_VALUE)
PhpExt_Form_TextField::setMaxLengthText()
Error text to display if the maximum length validation fails (defaults to "The maximum length for this field is {maxLength}")
PhpExt_Form_TextField::setMinLength()
Minimum input field length required (defaults to 0)
PhpExt_Form_TextField::setMinLengthText()
Error text to display if the minimum length validation fails (defaults to "The minimum length for this field is {minLength}")
PhpExt_Form_TextField::setRegEx()
A JavaScript RegExp object to be tested against the field value during validation (defaults to null). If available, this regex will be evaluated only after the basic validators all return true, and will be passed the current field value. If the test fails, the field will be marked invalid using regexText.
PhpExt_Form_TextField::setRegExText()
The error text to display if regex is used and the test fails during validation (defaults to "")
PhpExt_Form_TextField::setSelectOnFocus()
True to automatically select any existing field text when the field receives input focus (defaults to false)
PhpExt_Form_TextField::setValidator()
A custom validation function to be called during field validation (defaults to null). If available, this function will be called only after the basic validators all return true, and will be passed the current field value and expected to return boolean true if the value is valid or a string error message if invalid.
PhpExt_Form_TextField::setVType()
A validation type name as defined in PhpExt_Form_FormPanel (defaults to null). Posible values are:
PhpExt_Form_TextField::setVTypeText()
A custom error message to display in place of the default message provided for the vtype currently set for this field (defaults to ''). Only applies if vtype is set, else ignored.

Inherited From PhpExt_Form_Field

PhpExt_Form_Field::__construct()
PhpExt_Form_Field::getAutoCreate()
A DomHelper element spec, or true for a default element spec (defaults to {tag: "input", type: "text", size: "20", autocomplete: "off"})
PhpExt_Form_Field::getClearCssClass()
The CSS class used to provide field clearing (defaults to 'x-form-clear-left')
PhpExt_Form_Field::getCssClass()
A CSS class to apply to the field's underlying element.
PhpExt_Form_Field::getDisabled()
True to disable the field (defaults to false).
PhpExt_Form_Field::getFieldCssClass()
The default CSS class for the field (defaults to "x-form-field")
PhpExt_Form_Field::getFieldLabel()
The label text to display next to this field (defaults to '')
PhpExt_Form_Field::getFocusCssClass()
The CSS class to use when the field receives focus (defaults to "x-form-focus")
PhpExt_Form_Field::getHideLabel()
True to completely hide the label element (defaults to false)
PhpExt_Form_Field::getInputType()
The type attribute for input fields -- e.g. radio, text, password (defaults to "text").
PhpExt_Form_Field::getInvalidCssClass()
The CSS class to use when marking a field invalid (defaults to "x-form-invalid")
PhpExt_Form_Field::getInvalidText()
The error text to use when marking a field invalid and no message is provided (defaults to "The value in this field is invalid")
PhpExt_Form_Field::getItemCssClass()
An additional CSS class to apply to this field (defaults to the container's itemCls value if set, or '')
PhpExt_Form_Field::getLabelCssStyle()
A CSS style specification to apply directly to this field's label (defaults to the container's labelStyle value if set, or ''). For example: 'font-weight:bold;'.
PhpExt_Form_Field::getLabelSeparator()
The standard separator to display after the text of each form label (defaults to the value of Ext.layout.FormLayout.labelSeparator, which is a colon ':' by default). To display no separator for this field's label specify empty string ''.
PhpExt_Form_Field::getMsgFx()
Experimental The effect used when displaying a validation message under the field (defaults to 'normal').
PhpExt_Form_Field::getMsgTarget()
The location where error text should display. Should be one of the following values (defaults to 'qtip'):
PhpExt_Form_Field::getName()
The field's HTML name attribute.
PhpExt_Form_Field::getReadOnly()
True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.
PhpExt_Form_Field::getTabIndex()
The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).
PhpExt_Form_Field::getValidateOnBlur()
Whether the field should validate when it loses focus (defaults to true).
PhpExt_Form_Field::getValidationDelay()
The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)
PhpExt_Form_Field::getValidationEvent()
The event that should initiate field validation. Set to false to disable automatic validation (defaults to "keyup").
PhpExt_Form_Field::getValue()
A value to initialize this field with.
PhpExt_Form_Field::setAutoCreate()
A DomHelper element spec, or true for a default element spec (defaults to {tag: "input", type: "text", size: "20", autocomplete: "off"})
PhpExt_Form_Field::setClearCssClass()
The CSS class used to provide field clearing (defaults to 'x-form-clear-left')
PhpExt_Form_Field::setCssClass()
A CSS class to apply to the field's underlying element.
PhpExt_Form_Field::setDisabled()
True to disable the field (defaults to false).
PhpExt_Form_Field::setFieldCssClass()
The default CSS class for the field (defaults to "x-form-field")
PhpExt_Form_Field::setFieldLabel()
The label text to display next to this field (defaults to '')
PhpExt_Form_Field::setFocusCssClass()
The CSS class to use when the field receives focus (defaults to "x-form-focus")
PhpExt_Form_Field::setHideLabel()
True to completely hide the label element (defaults to false)
PhpExt_Form_Field::setInputType()
The type attribute for input fields -- e.g. radio, text, password (defaults to "text").
PhpExt_Form_Field::setInvalidCssClass()
The CSS class to use when marking a field invalid (defaults to "x-form-invalid")
PhpExt_Form_Field::setInvalidText()
The error text to use when marking a field invalid and no message is provided (defaults to "The value in this field is invalid")
PhpExt_Form_Field::setItemCssClass()
An additional CSS class to apply to this field (defaults to the container's itemCls value if set, or '')
PhpExt_Form_Field::setLabelCssStyle()
A CSS style specification to apply directly to this field's label (defaults to the container's labelStyle value if set, or ''). For example: 'font-weight:bold;'.
PhpExt_Form_Field::setLabelSeparator()
The standard separator to display after the text of each form label (defaults to the value of Ext.layout.FormLayout.labelSeparator, which is a colon ':' by default). To display no separator for this field's label specify empty string ''.
PhpExt_Form_Field::setMsgFx()
Experimental The effect used when displaying a validation message under the field (defaults to 'normal').
PhpExt_Form_Field::setMsgTarget()
The location where error text should display. Should be one of the following values (defaults to 'qtip'):
PhpExt_Form_Field::setName()
The field's HTML name attribute.
PhpExt_Form_Field::setReadOnly()
True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.
PhpExt_Form_Field::setTabIndex()
The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).
PhpExt_Form_Field::setValidateOnBlur()
Whether the field should validate when it loses focus (defaults to true).
PhpExt_Form_Field::setValidationDelay()
The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)
PhpExt_Form_Field::setValidationEvent()
The event that should initiate field validation. Set to false to disable automatic validation (defaults to "keyup").
PhpExt_Form_Field::setValue()
A value to initialize this field with.

Inherited From PhpExt_BoxComponent

PhpExt_BoxComponent::__construct()
PhpExt_BoxComponent::getAutoHeight()
True to use height:'auto', false to use fixed height (defaults to false).
PhpExt_BoxComponent::getAutoWidth()
True to use width:'auto', false to use fixed width (defaults to false).
PhpExt_BoxComponent::getHeight()
The height of this component in pixels (defaults to auto).
PhpExt_BoxComponent::getWidth()
The width of this component in pixels (defaults to auto).
PhpExt_BoxComponent::setAutoHeight()
True to use height:'auto', false to use fixed height (defaults to false).
PhpExt_BoxComponent::setAutoWidth()
True to use width:'auto', false to use fixed width (defaults to false).
PhpExt_BoxComponent::setHeight()
The height of this component in pixels (defaults to auto).
PhpExt_BoxComponent::setWidth()
The width of this component in pixels (defaults to auto).

Inherited From PhpExt_Component

PhpExt_Component::__construct()
** Overrides ***
PhpExt_Component::getAllowDomMove()
Whether the component can move the Dom node when rendering (defaults to true).
PhpExt_Component::getApplyTo()
The id of the node, a DOM node or an existing Element corresponding to a DIV that is already present in the document that specifies some structural markup for this component. When applyTo is used, constituent parts of the component can also be specified by id or CSS class name within the main element, and the component being created may attempt to create its subcomponents from that markup if applicable. Using this config, a call to render() is not required. If applyTo is specified, any value passed for renderTo will be ignored and the target element's parent node will automatically be used as the component's container.
PhpExt_Component::getAutoShow()
True if the component should check for hidden classes (e.g. 'x-hidden' or 'x-hide-display') and remove them on render (defaults to false).
PhpExt_Component::getConfigParams()
PhpExt_Component::getContainerCssClass()
An optional extra CSS class that will be added to this component's container (defaults to ''). This can be useful for adding customized styles to the container or any of its children using standard CSS rules.
PhpExt_Component::getCssClass()
An optional extra CSS class that will be added to this component's Element (defaults to ''). This can be useful for adding customized styles to the component or any of its children using standard CSS rules.
PhpExt_Component::getCssStyle()
A custom style specification to be applied to this component's Element.
PhpExt_Component::getDisabledCssClass()
CSS class added to the component when it is disabled (defaults to "x-item-disabled").
PhpExt_Component::getEl()
The DOM element to which this component show be rendered to. This should be used instead of renderTo or applyTo if using lazy render.
PhpExt_Component::getHideMode()
How this component should hidden. Supported values are
  1. PhpExt_Component::HIDE_MODE_VISIBILITY
(css visibility),
  1. PhpExt_Component::HIDE_MODE_OFFSETS
(negative offset position) and
  1. PhpExt_Component::HIDE_MODE_DISPLAY
(css display) - defaults to
  1. PhpExt_Component::HIDE_MODE_DISPLAY
.
PhpExt_Component::getHideParent()
True to hide and show the component's container when hide/show is called on the component, false to hide and show the component itself (defaults to false). For example, this can be used as a shortcut for a hide button on a window by setting hide:true on the button when adding it to its parent container.
PhpExt_Component::getId()
The unique id of this component (defaults to an auto-assigned id).
PhpExt_Component::getLayoutData()
PhpExt_Component::getOwnerCollection()
PhpExt_Component::getPlugins()
An object or array of objects that will provide custom functionality for this component. The only requirement for a valid plugin is that it contain an init method that accepts a reference of type Ext.Component. When a component is created, if any plugins are available, the component will call the init method on each plugin, passing a reference to itself. Each plugin can then call methods or respond to events on the component as needed to provide its functionality.
PhpExt_Component::getRenderTo()
The id of the node, a DOM node or an existing Element that will be the container to render this component into. Using this config, a call to render() is not required.
PhpExt_Component::render()
** Ext Object Methods ***
PhpExt_Component::setAllowDomMove()
Whether the component can move the Dom node when rendering (defaults to true).
PhpExt_Component::setApplyTo()
The id of the node, a DOM node or an existing Element corresponding to a DIV that is already present in the document that specifies some structural markup for this component. When applyTo is used, constituent parts of the component can also be specified by id or CSS class name within the main element, and the component being created may attempt to create its subcomponents from that markup if applicable. Using this config, a call to render() is not required. If applyTo is specified, any value passed for renderTo will be ignored and the target element's parent node will automatically be used as the component's container.
PhpExt_Component::setAutoShow()
True if the component should check for hidden classes (e.g. 'x-hidden' or 'x-hide-display') and remove them on render (defaults to false).
PhpExt_Component::setContainerCssClass()
An optional extra CSS class that will be added to this component's container (defaults to ''). This can be useful for adding customized styles to the container or any of its children using standard CSS rules.
PhpExt_Component::setCssClass()
An optional extra CSS class that will be added to this component's Element (defaults to ''). This can be useful for adding customized styles to the component or any of its children using standard CSS rules.
PhpExt_Component::setCssStyle()
A custom style specification to be applied to this component's Element.
PhpExt_Component::setDisabledCssClass()
CSS class added to the component when it is disabled (defaults to "x-item-disabled").
PhpExt_Component::setEl()
The DOM element to which this component show be rendered to. This should be used instead of renderTo or applyTo if using lazy render.
PhpExt_Component::setExtClassInfo()
PhpExt_Component::setHideMode()
How this component should hidden. Supported values are
  1. PhpExt_Component::HIDE_MODE_VISIBILITY
(css visibility),
  1. PhpExt_Component::HIDE_MODE_OFFSETS
(negative offset position) and
  1. PhpExt_Component::HIDE_MODE_DISPLAY
(css display) - defaults to
  1. PhpExt_Component::HIDE_MODE_DISPLAY
.
PhpExt_Component::setHideParent()
True to hide and show the component's container when hide/show is called on the component, false to hide and show the component itself (defaults to false). For example, this can be used as a shortcut for a hide button on a window by setting hide:true on the button when adding it to its parent container.
PhpExt_Component::setId()
The unique id of this component (defaults to an auto-assigned id).
PhpExt_Component::setLayoutData()
Layout specific properties for the corresponding layout of the container.
PhpExt_Component::setOwnerCollection()
PhpExt_Component::setRenderTo()
The id of the node, a DOM node or an existing Element that will be the container to render this component into. Using this config, a call to render() is not required.

Inherited From PhpExt_Observable

PhpExt_Observable::__construct()
PhpExt_Observable::attachListener()
Adds a PhpExt_Listener to the specified $eventName. This lintener will execute when the Javascript object fires that event.
PhpExt_Observable::getConfigParams()
PhpExt_Observable::getListeners()

Inherited From PhpExt_Object

PhpExt_Object::__construct()
PhpExt_Object::addValidConfigProperties()
PhpExt_Object::createMethodSignature()
PhpExt_Object::getConfigParams()
PhpExt_Object::getExtConfigProperty()
PhpExt_Object::getJavascript()
PhpExt_Object::getMethodInvokeStm()
PhpExt_Object::isExtObject()
PhpExt_Object::paramToString()
PhpExt_Object::setExtClassInfo()
PhpExt_Object::setExtConfigProperty()
PhpExt_Object::__get()
PhpExt_Object::__set()

Inherited From PhpExt_Component

PhpExt_Component::HIDE_MODE_DISPLAY
PhpExt_Component::HIDE_MODE_OFFSETS
PhpExt_Component::HIDE_MODE_VISIBILITY

[ Top ]
Method Summary
static PhpExt_Form_TextArea   createTextArea()   Helper function to create a TextArea. Useful for quick adding it to a ComponentCollection
PhpExt_Form_TextArea   __construct()  
PhpExt_Config_ConfigObject   getAutoCreate()   A DomHelper element spec, or true for a default element spec (defaults to {tag: "textarea", style: "width:100px;height:60px;", autocomplete: "off"})
integer   getGrowMax()   The maximum height to allow when grow = true (defaults to 1000)
integer   getGrowMin()   The minimum height to allow when grow = true (defaults to 60)
boolean   getPreventScrollbars()   True to prevent scrollbars from appearing regardless of how much text is in the field (equivalent to setting overflow: hidden, defaults to false)
PhpExt_Form_TextArea   setAutoCreate()   A DomHelper element spec, or true for a default element spec (defaults to {tag: "textarea", style: "width:100px;height:60px;", autocomplete: "off"})
PhpExt_Form_TextArea   setGrowMax()   The maximum height to allow when grow = true (defaults to 1000)
PhpExt_Form_TextArea   setGrowMin()   The minimum height to allow when grow = true (defaults to 60)
PhpExt_Form_TextArea   setPreventScrollbars()   True to prevent scrollbars from appearing regardless of how much text is in the field (equivalent to setting overflow: hidden, defaults to false)

[ Top ]
Methods
static method createTextArea  [line 117]

  static PhpExt_Form_TextArea createTextArea( string $name, [string $label = null], [string $id = null]  )

Helper function to create a TextArea. Useful for quick adding it to a ComponentCollection

Parameters:
string   $name:  The field's HTML name attribute.
string   $label:  The label text to display next to this field (defaults to '')
string   $id:  The unique id of this component (defaults to an auto-assigned id).

API Tags:
Access:  public


[ Top ]
Constructor __construct  [line 96]

  PhpExt_Form_TextArea __construct( )


API Tags:
Access:  public


Redefinition of:
PhpExt_Form_TextField::__construct()

[ Top ]
getAutoCreate  [line 39]

  PhpExt_Config_ConfigObject getAutoCreate( )

A DomHelper element spec, or true for a default element spec (defaults to {tag: "textarea", style: "width:100px;height:60px;", autocomplete: "off"})


API Tags:
Access:  public


Redefinition of:
PhpExt_Form_Field::getAutoCreate()
A DomHelper element spec, or true for a default element spec (defaults to {tag: "input", type: "text", size: "20", autocomplete: "off"})

[ Top ]
getGrowMax  [line 56]

  integer getGrowMax( )

The maximum height to allow when grow = true (defaults to 1000)


API Tags:
Access:  public


Redefinition of:
PhpExt_Form_TextField::getGrowMax()
The maximum width to allow when grow = true (defaults to 800)

[ Top ]
getGrowMin  [line 73]

  integer getGrowMin( )

The minimum height to allow when grow = true (defaults to 60)


API Tags:
Access:  public


Redefinition of:
PhpExt_Form_TextField::getGrowMin()
The minimum width to allow when grow = true (defaults to 30)

[ Top ]
getPreventScrollbars  [line 91]

  boolean getPreventScrollbars( )

True to prevent scrollbars from appearing regardless of how much text is in the field (equivalent to setting overflow: hidden, defaults to false)


API Tags:
Access:  public


[ Top ]
setAutoCreate  [line 32]

  PhpExt_Form_TextArea setAutoCreate( PhpExt_Config_ConfigObject $value  )

A DomHelper element spec, or true for a default element spec (defaults to {tag: "textarea", style: "width:100px;height:60px;", autocomplete: "off"})

Parameters:
PhpExt_Config_ConfigObject   $value: 

API Tags:
Access:  public


Redefinition of:
PhpExt_Form_Field::setAutoCreate()
A DomHelper element spec, or true for a default element spec (defaults to {tag: "input", type: "text", size: "20", autocomplete: "off"})

[ Top ]
setGrowMax  [line 49]

  PhpExt_Form_TextArea setGrowMax( integer $value  )

The maximum height to allow when grow = true (defaults to 1000)

Parameters:
integer   $value: 

API Tags:
Access:  public


Redefinition of:
PhpExt_Form_TextField::setGrowMax()
The maximum width to allow when grow = true (defaults to 800)

[ Top ]
setGrowMin  [line 66]

  PhpExt_Form_TextArea setGrowMin( integer $value  )

The minimum height to allow when grow = true (defaults to 60)

Parameters:
integer   $value: 

API Tags:
Access:  public


Redefinition of:
PhpExt_Form_TextField::setGrowMin()
The minimum width to allow when grow = true (defaults to 30)

[ Top ]
setPreventScrollbars  [line 83]

  PhpExt_Form_TextArea setPreventScrollbars( boolean $value  )

True to prevent scrollbars from appearing regardless of how much text is in the field (equivalent to setting overflow: hidden, defaults to false)

Parameters:
boolean   $value: 

API Tags:
Access:  public


[ Top ]

Documentation generated on Fri, 08 Aug 2008 16:01:07 -0500 by phpDocumentor 1.4.0