Eliminar imágenes del lienzo/LS cuando se eliminan del AM
Vale... @kickbk por eso pido especificar toda la información cuando crees nuevos números, así que por favor, la próxima vez, hazlo Por cierto, esos son componentes diferentes, prueba esto: 'wrapper.find('[data-gjs-type=mj-image][src="...."]')'
Lee la respuesta completa abajo ↓Pregunta
Subo una imagen con el gestor de recursos, que almacena la imagen en el servidor. Selecciono la imagen para insertar en el lienzo y la almacena en el LocalStorage. ¡Genial!
Ahora borro la imagen. Lo elimina del servidor y del Gestor de Recursos. ¡Genial!
Actualizo la página.
Como la imagen se usó en el lienzo, no fue eliminada de LS, por lo que la imagen aparece ausente en el lienzo. Abrir el AM también muestra una imagen perdida, ya que está intentando cargarla desde LS. Si me equivoco en POR QUÉ está pasando esto, por favor corrígeme.
Creo que la solución aquí podría ser que cuando eliminemos la imagen de AM también debería eliminarla del lienzo y de la pantalla de Beach. ¿Cómo hago eso?
Ten en cuenta que tengo una función ejecutada que puedo activar para eliminar imágenes del AM con el código de abajo, así que quizás debería añadir algo.
const am = editor. Gestor de Activos;
am.addType('image', {
Vista: {
onRemove(e) {
...
Respuestas (3)
Vale... @kickbk por eso pido especificar toda la información cuando crees nuevos números, así que por favor, la próxima vez, hazlo
Por cierto, esos son componentes diferentes, prueba esto: 'wrapper.find('[data-gjs-type=mj-image][src="...."]')'
creo que la solución aquí podría ser que cuando eliminemos la imagen de AM también debería eliminarla del lienzo y de LS.
Vale, pero esta lógica depende solo de ti, definitivamente no es algo que debamos añadir dentro del núcleo
Ojo, tengo una función en marcha que puedo acceder a la función de eliminar imágenes del AM con el código de abajo, así que quizá debería añadir algo.
Correcto, una vez que termina la llamada a ajax se elimina el componente '''js am.addType('image', { Vista: { onRemove(e) { const src = this.model.get('src'); const wrapper = this.em.get('DomComponents').getWrapper(); ... deleteOnServer(...). entonces(res => { if(res.isDeleted) { wrapper.find('img[src="${src}"]').forEach(component => { component.collection.remove(component); Acabo de darme cuenta de que no tenemos método component.remove... Lo añadiré en la próxima edición }); } })
Cuando hago wrapper.find('img[src="${src}"]') me queda un array vacío. De hecho, también me sale un array vacío en wrapper.find('img'). Estoy comprando el envoltorio, pero parece que no tiene imágenes dentro. ¿Estamos consultando el elemento equivocado?
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #861
[Pregunta] Ayuda para añadir imágenes al lienzo
He seguido la documentación y he podido subir imágenes. Cuando arrastro un bloque de imagen (usando el preajuste del boletín) y selecciono...
Issue #1428
[Pregunta] Definir u ocultar propiedades para componentes específicos
Hola, Me pregunto si existe la posibilidad de definir propiedades para componentes específicos. Quiero decir, cuando selecciono el componen...
Issue #612
Urgente: Duplicar otros bloques cuando se use un gestor de activos personalizado
Hola, Hemos modificado el gestor de Assset con uno personalizado. Pero ahora tenemos problemas. Si dejamos una imagen en el lienzo y luego...
Issue #1264
Cómo subir una imagen usando jQuery dentro de WordPress usando el gestor de recursos.
Este es el código que tengo: assetManager: { uploadFile: (e) => { jQuery.post( Ajaxurl, { ...... } ); } } Pero cuando dejo la imagen dentro...
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.