Haciendo que el modo vista previa recuerde si el modo de visibilidad debe restaurarse o no
Me gusta mucho la idea, ¿qué tal llevar un control del estado de todos los comandos a nivel de 'Comandos'?!? Por ejemplo, en cualquier 'runCommand(CMDID)' lo almacenaremos dentro del objeto 'Commands.active' (por ejemplo, 'active[CMDID] = 1') y se despejará en 'stopCommand'. Luego necesitaremos el método 'Commands.isA...
Lee la respuesta completa abajo ↓Pregunta
Actualmente, cuando activas el modo de vista previa y luego lo desactivas de nuevo, siempre se activa el modo de visibilidad, incluso si el modo de visibilidad estaba desactivado. Esto puede ser bastante molesto.
Me gustaría crear un PR para arreglar esto, pero agradecería tu consejo porque no estoy siguiendo del todo cómo lo harías correctamente en la forma en que usas backbone.
En 'comandos/vista/Preview.js' tienes la siguiente lógica en la función 'stop':
<img width="385" alt="captura de pantalla 2018-04-06 a las 4 24 34 pm" src="https://user-images.githubusercontent.com/331833/38448138-05a23d7c-39b7-11e8-8ef2-418b429960b5.png">Ahora, la línea 54 debería volverse condicional. Algo así como:
if (editor.visibilityMode()) {
editor.runCommand('sw-visibility');
}
¿Cómo implementarías este booleano 'visibilityMode'? ¿Esto formaría parte del modelo de componentes?
Respuestas (3)
Me gusta mucho la idea, ¿qué tal llevar un control del estado de todos los comandos a nivel de 'Comandos'?!? Por ejemplo, en cualquier 'runCommand(CMD_ID)' lo almacenaremos dentro del objeto 'Commands.active' (por ejemplo, 'active[CMD_ID] = 1') y se despejará en 'stopCommand'. Luego necesitaremos el método 'Commands.isActive(CMD_ID)' para la comprobación y probablemente también 'Editor.isCommandActive(CMD_ID)' (solo como método proxy). También me gustaría mover la lógica 'runCommand'/'stopCommand' desde 'Editor' y ponerla dentro de los nuevos métodos 'Commands.run/stop' (para que sea más organizado). ¿Qué opinas? ¿Serías capaz de crear una imagen permanente así? :)
@artf probablemente pueda hacerlo si puedo hacer algunas preguntas aquí en el camino. Todavía me estoy acostumbrando a Backbone. ¿Dónde pondrías ese objeto 'Comandos'?
¿Podrías explicar más sobre esto?
también me gustaría mover la lógica runCommand/stopCommand desde el editor y ponerla dentro de los nuevos métodos Commands.run/stop (para que sea más organizado).
Para 'Órdenes' me refiero al módulo de Comandos
¿Podrías explicar más esto?
Me gustaría, por ejemplo, mover esta lógica 'Editor. runCommand' dentro del módulo Commands, para que en el 'Editor' obtengamos: '''js runCommand(id, options = {}) { return em.get('Commands').run(id, options); },
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #1540
[Pregunta] ¿Es posible añadir un evento para la vista previa?
Me gustaría convertir algunos textos cuando un usuario haga clic en el botón de vista previa. por ejemplo, ((nombre)) (en el editor) deberí...
Issue #690
Error del comando de previsualización: salir del modo de vista previa ejecutará el comando sw-visiblety, cuando la sw-visibility se detenga antes de pasar al modo de previsualización.
Hola @artf, El caso es el comando "cambiar visibilidad" detenido, luego haz clic en el botón de vista previa o activa el comando de previsu...
Issue #503
evento de comando que se activa cuando hacemos clic en "Ocultar vista previa"
Hola, editor.on('run:preview', () => { console.log('preview ON') }) Esto funciona bien. Ahora necesito el evento de comando que se activa c...
Issue #1322
Desactiva la edición en el modo Vista previa.
@artf ¿Cómo podemos desactivar la edición en el modo de vista previa y volver a activarla cuando el modo de vista previa está desactivado?...
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.