Template
Los templates
son una manera poderosa de crear documentos de una manera sencilla.
El formato que usa es un standar de la industria denominado Mustache
, que permite crear documentos de una manera sencilla.
uso
Para su uso hay tres pasos:
- Creación del template o autocreación.
- Edición del template.
- Render del template.
Creación
Hay tres metodos para la creación de un template:
- Creación de un template desde la sección
templates
de laaplicación
. - Creación de un template desde API.
- Autocreación de un template desde la API. Para ello indicamos en la llamada el datacode de la estructura a crear y omitimos la propiedad design de la siguiente manera:
POST --> /v1/template/create/{templatecode}
{
"name": "My First autocreate Template",
"description": "This template is created with its own design",
"filename": "fichero pdf de prueba",
"scope": "dossier",
"content": "full",
"view": "private",
"active": true
}
Propiedades
- name: Nombre del template. String con una descripción breve del template y es usado tambien como título del fichero.
- description: Descripción del template. String con una descripción mas detallada del template.
- filename: Nombre del fichero. String con el nombre del fichero que se genera cuando se rendea como PDF.
- scope: Alcance del template. String con el alcance del template, puede ser dossier, document, movement o cualquiera de los
**scopes**
. Cuando terminan en plural con s, como dossiers, documents, movements se refiere a una lista de los mismos y se usa el filter para filtrar los mismos. Cuando terminan en singular, como dossier, document, movement se refiere a un solo elemento y se usa el code para indicar el mismo. - content: Contenido del template. String con el contenido del template, puede ser full, movement, error, doc o una combinacion de estos. Cuando es full se refiere a que el template contiene todo el contenido del documento.
- view: Visibilidad del template. String con la visibilidad del template, puede ser public, private. Cuando es public se refiere a que el template es visible para todos los usuarios incluso no logeados, cuando es private se refiere a que el template es visible solo para los usuarios logeados.
- active: Activo del template. Boolean con la activación del template, puede ser true, false. Cuando es true se refiere a que el template esta activo, cuando es false se refiere a que el template esta inactivo.
- design: Diseño del template. String con el dise ño del template, puede ser html, markdown, text. En el caso de que el contenido del diseño sea _auto se creara un diseño automaticamente en base a los elementos del dossier, y si es autotemplate se creara un diseño automaticamente en base a los elementos del dossier pero no se rellenara de datos para poder ser usado como plantilla base.
Los Templates pueden contener graficos de tipo Mermaid, para ello dentro del html en design debe contener un
<pre lang="mermaid">
graph TD
A[Christmas] -->|Get money| B(Go shopping)
B --> C{Let me think}
C -->|One| D[Laptop]
C -->|Two| E[iPhone]
C -->|Three| F[fa:fa-car Car]
</pre>
Edición
Los templates se pueden editar tanto desde el API usando los comando de templates
.
POST --> /v1/template/update/{templatecode}
Como desde la aplicación
.
Render
Los templates se pueden renderizar tanto desde el API usando los comando de templates
.
POST --> /v1/template/render/{templatecode}/{code}/{content}
Como desde la aplicación
usando los frames tipo template.