# j-ContentEditable

> j-ContentEditable: fácil uso; admite excelentes funciones

Framework: jcomponent20
Product: jComponent 20 (jcomponent@20)
Language: es
Content-SHA256: c57c3ae4935f6dc1120feca121d914d38bf0d4b0aef50f9809f0f5a63eac9492
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: components@910ed1a86f6e72b4f031d3ad0dc7844f9fc5cb8e
Review: not-recorded

- admite excelentes funciones
- funciona con el sistema Bootstrap Grid
- fácil de personalizar
- admite atajos básicos `CMD+B` __bold__, `CMD+U` __underline__, `CMD+I` __italic__ y `CMD+L` __crea un enlace__

__Atributos__:
- `data-required="true"` opcional, predeterminado `false`
- `data-clipboard="text/plain"` opcional, predeterminado `text/plain` (para soporte de `html` use `text/html`)

__Métodos__:
- `component.getNode()` devuelve un `node` seleccionado en el texto `{Object}`
- `component.getSelection()` devuelve una selección actual `{String}`
- `component.insert(value, [encode])` inserta un HTML personalizado o texto PLANO en la posición actual del cursor, `encode` (opcional) es por defecto `false`
- `component.exec('Bold', false, null)` tiene la misma funcionalidad que `document.execCommand()`

__Manejadores__:
`component.event(type, value)` maneja todos los eventos desde el editor.

```html
type = bold          - when a text is bolded (value is boolean)
type = italic        - when a text is italic (value is boolean)
type = underline     - when a text is underlined (value is boolean)
type = link          - when a link is created (value is a temporary URL)
type = current       - when a current element is changed in the text (value is NODE)
type = paste         - when the clipboard is used (value is a clipboard value)
type = select        - when a text is selected (value is selected text)
type = focus         - editor is focused (value is undefined)
type = blur          - editor is not focused (value is undefined)
type = click         - click on the specific element in the text (value is NODE)
```

__Declaración por defecto__:

```javascript
self.event = function(type, value) {
    if (type === 'paste')
        self.insert(value, true);
};
```

Úselo con `<ui-component name="contenteditable">`. Cuando el componente aún no está cargado, jComponent lo descarga en el primer uso desde la dirección en `DEF.fallback` (el CDN Componentator de forma predeterminada). Autor: Peter Širka. Fuente: repositorio de componentes Componentator, licencia MIT.

```html example.html
<div class="container">
	<div class="row">
		<div class="col-md-6">
			<ui-component name="contenteditable" path="myhtml"></ui-component>
		</div>
	</div>
</div>
```
