El objeto de estado
Cada plantilla se renderiza con dos variables de nivel superior: state (todo sobre la conversación actual) y skdwn (la instancia del asistente en ejecución). Léelas para decidir qué mostrar.
state
| Variable | Qué contiene |
|---|---|
state.query | El texto que hay ahora en el cuadro de búsqueda. |
state.results | El array de intercambios hasta el momento (preguntas, respuestas, formularios, bienvenida). |
state.isLoading | true mientras se ejecuta una consulta: úsalo para mostrar el indicador de carga. |
state.config | La configuración completa del asistente (ajustes, sugerencias, formularios, traducciones). |
state.name | El nombre visible del asistente. |
state.instance | La instancia del conector (también accesible como skdwn.instance). |
state.attachmentResponses | Resúmenes generados para los adjuntos. |
state.followUps | Preguntas de seguimiento sugeridas, si las hay. |
skdwn
skdwn.instance es el asistente en ejecución. Las partes que usarás en las plantillas:
skdwn.instance.config: la configuración combinada.skdwn.instance.helpers: los helpers que llamas desdeonclick/oninput.skdwn.instance.templates: todas las plantillas activas por nombre.skdwn.instance.startOptions: las opciones con las que la página arrancó el asistente (incluido tuadditionalContext).
Leer el estado
{% if state.isLoading %}
{% include 'loading' %}
{% elsif state.results.length == 0 %}
{% include 'welcome' %}
{% else %}
{% include 'results' %}
{% endif %}
Activa la depuración mientras construyes
Arranca el asistente con isDebug: true y Seekdown registra el estado antes de cada renderizado, para que veas exactamente con qué datos cuenta tu plantilla. También puedes poner {{ state | log }} en una plantilla para imprimir el estado en línea.