# SafeInput
## Definición
Archivo: `induxsoft.controls.js`
Produce un campo de entrada similar al `input` de Html que permite al usuario asegurar el valor introducido en el control.
## Ejemplos
Maquetación HTML básica
```html
```
**Ejemplos de uso con JavaScript**
Establecer evento `change` al componente.
```js
const input = document.getElementById("input");
input.onChanging = (old,value) => {
alert("Se ha establecido un nuevo valor: " + old + " > " + value);
}
```
Revertir último cambio.
```js
const input = document.getElementById("input");
input._cancelEdit();
```
## Atributos
#### type (opcional)
Establece el tipo del input: [text,email,number,textarea,date,time,datetime,select].
Tipo: `string`, valor predeterminado: `text`
```html
```
#### data-select (opcional)
Una cadena que representa un objeto JSON de pares clave-valor que establecen las opciones del componente cuando es de tipo `select`.
Tipo: `array`, valor predeterminado: `{}`
```html
```
#### input-name (requerido)
Nombre del componente, este nombre sera tomado por el navegador para la carga útil.
Tipo: `string`, valor predeterminado: `""`
```html
```
#### id (opcional)
Identificador del componente, este valor puede ser usado para acceder facilmente al componente mediante javascript.
Tipo: `string`, Predeterminado: `""`
```html
```
#### placeholder (opcional)
Establece el texto (placeholder) a mostrar en el campo de entrada.
Tipo: `string`, valor predeterminado: `""`
```html
```
#### hidden-input (opcional)
Define si se crea un elemento input oculto fuera el web component para ser tomado por formularios o selectores.
Tipo: `bool`, valor predeterminado: `false`
```html
```
## Propiedades
- `onChanging`: (function) Permite establecer una función (callback) que sera invocada cada que se establezca un nuevo valor en el componente.