Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Web editor part 2 #49

Merged
merged 17 commits into from
Oct 15, 2024
Merged

Web editor part 2 #49

merged 17 commits into from
Oct 15, 2024

Conversation

fdodino
Copy link
Collaborator

@fdodino fdodino commented Oct 11, 2024

  • migrar a wollok-ts y wollok-web-tools el código repetido para el diagrama dinámico y el REPL (de paso se muestran los mensajes parametrizados)

Pendientes

de #45 surge

  • se guarda en el localStorage el programa, recuperarlo de ahí o crear el programita como seed (lo bueno, se banca hasta 10M, y la entrega 1 del TP de este año pesa 2,9KB)
  • se muestran íconos light vs. dark para zoom in/out => usamos font awesome para tener íconos estándar
  • se puede cargar un archivo
  • se puede resizear arriba / abajo los contenedores del diagrama dinámico y el editor
  • cuando cambiás el editor te avisa tanto en el diagrama dinámico que la sesión está desactualizada como en el editor para que grabes
  • de yapa, encontré un error en el diagrama dinámico con el último arreglo de los nodos que tenían referencias al mismo objeto en una lista... no funciona cuando pasás de dark mode a light mode. Eso lo voy a arreglar en wollok-web-tools
  • ahora usamos las versiones minificadas de ace
  • y cargamos dinámicamente los temas (igual me parece que no hace falta, porque lo hace sola una función de carga del tema)
  • cada vez que se ejecuta una expresión el resultado ya no pisa al anterior sino que se va agregando al anterior y se hace un scroll al final con una animación smooth
  • subimos las versiones de wollok-ts y wollok-web-tools para eliminar código que estaba repetido. Queda pendiente la función que sanitiza el stack trace

BONUS QUE DEJO PARA MÁS ADELANTE

  • investigar autocomplete para el editor ACE
  • que puedas resizear los contenedores: diagrama dinámico o evaluador de expresiones (a izquierda o derecha), se puede usar con esta técnica en JS. El tema es que el componente principal es Astro, y ejecuta todo del lado del server. Entonces tendríamos que poner un div extra que labure del lado del cliente, y dado que ya metí muchos features prefiero probarlo para no incrementar la complejidad de todo el código.

Cosas con la que estamos de acuerdo con @ivojawer en no implementar: soporte para proyectos (para eso está el IDE).

editorWeb

@fdodino fdodino marked this pull request as ready for review October 14, 2024 22:57
@fdodino fdodino requested review from PalumboN and ivojawer October 14, 2024 22:58
@fdodino fdodino merged commit a851b5a into main Oct 15, 2024
4 checks passed
@fdodino fdodino deleted the web-editor-part-2 branch October 15, 2024 21:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant