Issue #1297💬 RespondidoAbierto el 19 de julio de 2018por alperenuzunReacciones 0

¿Es posible hacer múltiples rasgos para hacer un img editable y <a> etiquetar en el componente de tabla?

Respuesta rápidapor nojacko

@alperenuzun ¿Has descubierto esto?

Lee la respuesta completa abajo ↓

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)

nojacko11 de septiembre de 2018

@alperenuzun ¿Has descubierto esto?

lock[bot]17 de septiembre de 2019

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.

Plugins de pago que cumplen con este problema

Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.

Ver todos los plugins

Cargando recomendaciones de plugins de pago...

Opción gratuita

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 →
Opción premium

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.

Todos los tutoriales →

Explorar categorías de plugins

Ve directamente a las páginas de categorías de plugins en el marketplace.