¿Es posible hacer múltiples rasgos para hacer un img editable y <a> etiquetar en el componente de tabla?
Pregunta
Hola Artur,
Se me olvidó decir que estoy usando la última versión, lo siento por eso.
Quiero añadir un plugin para iconos de redes sociales editables, URL de imagen y enlace href en la configuración de componentes. Algo así: ! taslak
Creo un nuevo tipo de rasgo y quiero añadir múltiples entradas editables, algo parecido a la imagen de arriba.
Intenté crear entradas en la función getInputEl pero solo devuelve una entrada de entrada.
Mi código:
grapesjs.plugins.add('social-media-options', (editor) => {
editor. TraitManager.addType('content', {
eventos:{
'keyup': 'onChange', // trigger padre onChange método en keyup
},
getInputEl: function() {
if(!this.inputEl) {
sea targetEl = this.target.view.$el,
getLinks = targetEl.find("a");
para (sea i = 0; i < getLinks.length; i++) {
var input = document.createElement('textarea');
input.value = getLinks[i].getAttribute("href");
input.style.marginBottom = "10px";
}
this.inputEl = entrada;
}
return this.inputEl;
},
onValueChange: función () {
let getLinks = this.target.view.$el.find("a");
console.log(getLinks[0].attributes.href);
this.target.set('content', this.model.get('value'));
}
});
Sea DOMC = editor. DomComponents;
sea defaultType = domc.getType('default');
sea defaultModel = defaultType.model;
domc.addType('table', {
model: defaultType.model.extend({
init(){
var componentes = this.get('components');
console.log(componentes);
},
defaults: Object.assign({}, defaultModel.prototype.defaults, {
etiquetaNombre: 'mesa',
Dejable de soltar: ['Cuerpo', 'Cabeza', 'Pie'],
rasgos: [{tipo:'contenido'}],
}),
},{
isComponent(el) {
if (el.tagName === 'TABLA' && el.id === 'redes sociales') {
console.log($(el).find("a:first").html());
return { type: 'table' }
}
},
}),
vista: defaultType.view,
});
});
¿Cómo puedo obtener y cambiar cada imagen y enlace introducido? ¿O hay alguna solución en lugar de getInputEl? ¿Cómo puedo acceder a todos los componentes hijos de la tabla y cómo puedo usarlos? Gracias de antemano.
Respuestas (2)
@alperenuzun ¿Has descubierto esto?
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 #1639
[Pregunta]: ¿Sería posible cambiar la configuración en el gestor de estilos de forma que tenga href cuando se crea un enlace?
Estoy usando un boletín predefinido con RTE integrado (no quiero usar el editor CK como en la demo) Para convertir cualquier texto en enlac...
Issue #1888
[Pregunta] Añadir html personalizado dentro de Canvas
Hola, Estoy usando uvas para exportar un json personalizado con toda la información que necesito, en lugar de HTML y CSS. Para hacer eso, e...
Issue #1459
[PREGUNTA] Cómo almacenar los atributos "data-" en la etiqueta html del componente
Hola, estoy desarrollando un plugin para gráficos usando chart.js. Para que la plantilla generada renderice el gráfico desde un modelo de d...
Issue #1788
[PREGUNTA] ¿Cómo añadir dinámicamente recursos desde el servidor después de la inicialización del editor?
¡Hola! ¡Gracias por el trabajo que has hecho construyendo esta biblioteca tan chula! Estoy usando la última versión de Angular y me quedo c...
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.