Gracias.
¿Cómo crees que podría funcionar?
Aquí hay algunas ideas que tengo, aunque todavía quedan algunas preguntas por responder:
Conceptos básicos que ya existen: Marcadores de posición. Pero por ahora es 'todo o nada'
La estructura más simple que se me ocurre para imitar el comportamiento de un formulario sería que el “formulario” aparezca en el editor (el “d-editor” que se abre al hacer clic en crear tema).
En ese editor, se podrían proporcionar diferentes “secciones”, como:
Nombre
Ubicación
Problema
Cada título de sección sería un marcador de posición, de modo que cuando el usuario haga clic en él, el título (por ejemplo, Nombre) desaparecería.
Hasta ahora, configurar esto es posible con el componente de tema de texto marcador de posición.
Pero eso no te llevará completamente al comportamiento tipo formulario, porque los marcadores de posición actuales aparecen de forma “todo o nada”, como describo a continuación.
Comportamiento tipo formulario con marcadores de posición. Pero ¿cómo se accede a los divs en el editor?
Para que esto sea más parecido a un formulario, cada sección debe comportarse de forma independiente.
Actualmente, con el componente de tema de texto marcador de posición, es todo o nada: si el usuario hace clic en el editor, todos los títulos de marcador de posición desaparecen.
Por lo tanto, para tener un comportamiento básico de formulario, en lugar de que todos los títulos aparezcan o desaparezcan juntos, necesitaríamos que cada sección de marcador de posición se comportara de forma independiente. Así, cuando el usuario haga clic en el marcador de posición “Nombre”, solo ese marcador de posición desaparecería, mientras que los otros marcadores de posición (“Ubicación” e “Problema”) permanecerían.
Esto sería posible si cada marcador de posición pudiera ser parte de su propio div con un id único dentro del editor de texto. Luego, con jQuery, se podría mostrar u ocultar el marcador de posición dependiendo de si el usuario hizo clic en el área. Esto requiere agregar divs separados dentro de lo que ahora es un área de texto, y no estoy seguro de cómo hacerlo.
Pregunta para este enfoque: ¿Cómo se puede acceder a los divs dentro del área de texto del editor, para poder tomar acciones cuando el usuario hace clic en ellos?
Alternativa: usar la opción de texto de plantilla existente. Pero ¿cómo hacer que el texto no sea editable?
Probablemente una alternativa sería que los encabezados de sección no “desaparezcan” cuando el usuario hace clic. Así, los encabezados de sección (por ejemplo: Nombre, Ubicación e Problema) serían texto que permanecería en la página. Para hacerlo más parecido a un formulario, en comparación con la plantilla de tema básica actual:
- El texto del encabezado de sección no podría ser editado por el usuario (es decir,
contenteditable="false")
- Los puntos de ruptura de sección no podrían ser eliminados por el usuario
- Habría espacio debajo del encabezado de sección donde quede claro que el usuario puede escribir. En la plantilla predeterminada actual, tendrían que ir donde está el texto, presionar
enter, para crear espacio para escribir.
Pregunta para este enfoque: ¿Cómo se puede ingresar texto de plantilla, pero (i) que ese texto no sea editable por el usuario y (ii) que haya lugares claros para que el usuario ingrese información debajo de cada pieza de texto?
¿Quizás hay una mejor manera de lograr un comportamiento tipo formulario?