Cómo añadir nuevos rasgos a un bloque personalizado
¿Podrías dar más información, por favor? ¿Y podrías, por favor, sangrear correctamente tu código para que se esté renderizando desde github?
Lee la respuesta completa abajo ↓Pregunta
grapesjs.plugins.add('CustomBlocks', function(editor, options) {
Opciones = Opciones || {};
TraitsToComponent();
addHTMLCodeComponent();
addHTMLCodeBlock();
función TraitsToComponent(){
editor. TraitManager.addType('content', {
eventos:{
'keyup': 'onChange', // trigger padre onChange método en keyup
},
/**
* Devuelve el elemento de entrada
* @return {HTMLElement}
*/
getInputEl: function() {
if (!this.inputEl) {
var input = document.createElement('textarea');
Input.valor = this.target.get('content');
this.inputEl = entrada;
}
return this.inputEl;
},
/**
* Se activa cuando se cambia el valor del modelo
*/
onValueChange: función () {
this.target.set('content', this.model.get('value'));
}
});
}
function addHTMLCodeComponent() {
var defaultType = editor. DomComponents.getType('text');
var _initToolbar = defaultType.model.prototype.initToolbar;
editor. DomComponents.addType('custom_block', {
model: defaultType.model.extend({
defaults: Object.assign({}, defaultType.model.prototype.defaults, {
rasgos: [{
etiqueta: 'Mi etiqueta personalizada',
Tipo: 'Contenido', Nombre:'Contenido', // Tipos integrados: Texto, Número, Select, Casilla de Verificación, Color
}],
}),
}, {
isComponent: function(el) {
if (typeof el.hasAttribute == "function" && el.hasAttribute("data-html-code")) {
return {type: "text"};
}
}
}),
view: defaultType.view
});
};
function addHTMLCodeBlock() {
editor. BlockManager.add("custom_block", {
Atributos: {Clase: "FA FA-Code"},
etiqueta: "HTML Code",
contenido: '<div data-html-code>Editar mi contenido HTML</div>'
});
};
});Respuestas (3)
¿Podrías dar más información, por favor? ¿Y podrías, por favor, sangrear correctamente tu código para que se esté renderizando desde github?
Por favor, ayúdame
Este hilo se ha bloqueado automáticamente porque no ha habido actividad reciente desde que se cerró. Por favor, abre un nuevo problema para bugs relacionados.
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #894
Añadir un atributo personalizado
Hola a todos, Estoy creando nuevos bloques cuando utilizo el siguiente método: 'editor. BlockManager.add(blockId, { etiqueta: blockLabel, C...
Issue #1998
Extender el componente Link no funciona correctamente.
Hola @hello @artf Estoy intentando ampliar el componente de enlace y añadir nuevos rasgos como href y target, el código que se muestra a co...
Issue #494
Colocar el bloque como componente programáticamente
He creado un tipo personalizado y un bloque '''js DomComponents.addType('MyComponent', { ... }); BlockManager.add('Component', { content: {...
Issue #905
[Pregunta] necesito encontrar eventos necesarios.
¡Hola a todos! Al arrastrar un bloque al lienzo, y sueltarlo: ... Tenemos un evento que detectar, en qué bloque caemos. ?: pero cuando dejo...
Plugins de pago que cumplen con este problema
Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.
Cargando recomendaciones de plugins de pago...
Consulta los plugins de código abierto de GrapesJS en GitHub O haz una búsqueda rápida en nuestro catálogo gratuito.
Explora plugins gratuitos →Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.
Explora plugins premium →Tutoriales relacionados
Guías detalladas sobre el mismo tema.
Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.