Almacenamiento personalizado: autoload no activado
La opción de autocarga en realidad funciona al añadir el almacenamiento personalizado como plugin.plugin de almacenamiento personalizado: Editor:
Lee la respuesta completa abajo ↓Pregunta
Versión: grapes.min.js 0.15.10
Hola, Estoy usando un almacenamiento personalizado para cargar y almacenar datos json de/hacia un área de texto. Usar un almacenamiento personalizado parece no soportar la opción de carga automática. En su lugar, tengo que activar manualmente editor.load(), pero parece que actualiza el editor y que afecta la opción noticeOnUnload (que se activa antes de cualquier cambio que haga el usuario).
Aquí está la configuración de StorageManager:
storageManager
const editor = grapesjs.init({
...
storageManager: {
tipo: 'customStorage',
guardado automático: falso,
autocarga: verdadero
},
...
});
Aquí está el almacenamiento personalizado:
almacenamiento personalizado
editor. StorageManager.add('customStorage', {
load: function(keys, clb, clbErr) {
var res = {}, data = storageEl.text(); Obtén contenido json de Textarea
Lógica personalizada
if( "" !== datos ) {
try {
data = JSON.parse(data);
para (var i = 0; i < keys.length; i++) {
var v = data[keys[i]];
si(v) res[claves[i]] = v;
}
} catch(e) { clbErr( "Error al analizar JSON : " + e.message ); }
}
clb( res );
},
store(data, clb) {
var dataString = JSON.stringify( data );
storageEl.text( dataString ); Actualización del contenido JSON de TextArea
clb();
}
});
¿Hay alguna forma de cargar automáticamente un almacenamiento personalizado? ¡Gracias!
Respuestas (3)
La opción de autocarga en realidad funciona al añadir el almacenamiento personalizado como plugin.
plugin de almacenamiento personalizado:
grapesjs.plugins.add('customStorage', editor => {
...
sm.add('customStorage', {
Lógica de almacenamiento personalizada
});
...
});
Editor:
const editor = grapesjs.init({
...
plugins: ['customStorage'],
storageManager: {
tipo: 'customStorage',
autocarga: verdadero
},
...
});
@treztreiz conseguiste averiguar cómo hacerlo sin registrarlo como un plugin? Yo también me estoy encontrando con este problema.
@collindutter Parece que tienes que crear un plugin. Supongo que la opción de autocarga se usa mientras se instancia uvas, y desafortunadamente el editor de funciones. StorageManager.add realmente necesita esa instancia... Esto no ocurre con los plugins, ya que se inyectan en la configuración durante la instancia :) Aunque no estoy seguro de lo que digo
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #2484
Almacenar/cargar personalizado usando un objeto Json, sin usar la API de "Almacenamiento"
Estoy usando la última versión, 0.15.9, ¡y soy nuevo en este fantástico proyecto! Actualmente estoy aprendiendo mucho, empezando desde cero...
Issue #1274
La opción de almacenamiento remoto no envía $_POST la estructura JSON
¡Hola @artf! Estoy trabajando para adaptar vuestro creador de contenido en nuestro sistema usando la última versión v.0.14.21. He configura...
Issue #4621
No se ha encontrado ninguna opción para mostrar varias páginas en un mismo lienzo
Versión GrapesJS [X] Confirmo que se debe usar la última versión de GrapesJS ¿Qué navegador usas? Chrome Enlace de demo reproducible SIN EN...
Issue #1611
Etiqueta de script crear error JSON
Hola. Estoy creando bloques en Grapesjs y necesito usar JS en ellos para el efecto de hover y más... Todo funciona bien para la creación, a...
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 →Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.