Salt la conținutul principal
În acest moment, obiectele sunt accesibile doar prin Setări. Hai să oferim aplicației o prezență reală în UI: vizualizare listă, intrări sidebar, un singur click Generează document comandă, o filă de înregistrare a componentei frontale la previzualizarea un document şi o filă nativă bog-text editor pentru şabloane.

Vizualizări și navigare

Un view este o listă salvată a unui obiect dat. Un element meniu de navigare introduce această vizualizare în bara laterală.
Adaugă aceeași pereche pentru șabloane. Ambele sunt prezentate acum pe partea laterală:
Vizualizare documente cu un document generat

Documente şi şabloane din bara laterală, documentul generat fiind enumerat.

O componentă față

O componentă frontală este o componentă React inserată în Twenty. Ours citeşte înregistrarea selectată, încarcă şabloanele pentru persoane prin CoreApiClient, şi POST-uri pe ruta de la ultimul capitol .
Stilul cu variabilele CSS înline (var(--t-color-blue)), nu valorile importate din douăzeci enty-ui. SDK se dublează că pachetul a fost construit, astfel încât importurile constantelor de temă la nivel de modul ar fi nedefinită. Vezi componenta completă.

O comandă pentru a o deschide

Un element meniu de comandă cu `availabilityType: ‘RECORD_SELECTION” apare atunci când o Persoană este selectată, și deschide componenta în panoul lateral.

Încercați întregul flux

Deschideți oameni, bifați o persoană și apăsați £K / Ctrl K. “Generează document” apare, etichetat cu aplicația ta:
Meniul de comenzi cu Generarea documentului

Comanda apare atunci când o persoană este selectată.

Rulează — componenta ta se deschide în panoul lateral. Alege un șablon, fă clic pe Generează și pe un nou teren de înregistrări în documente.
Generare panou de document

Componenta frontală, șabloanele de încărcare și generarea unui clic.

Fiecare document generat înregistrează aplicația dvs. ca autor:
Înregistrare de documente generată

Creat de Generatorul de Document Stare generată.

Previzualizați un document pe pagina sa de înregistrare

O componentă frontală nu este doar pentru meniurile de comenzi — poți canta una ca **tab pe pagina de înregistrare **. Hai să adăugăm o filă Preview la înregistrarea de document care face corpul Markdown ca o pagină șlefuită. Componenta citește id-ul de înregistrare curent din contextul de execuție, încarcă documentul și îl redă. Componentele frontului rulează într-un sandbox care permite doar o albire a etichetelor HTML - injectarea brută HTML (dangerouslySetInnerHTML) și \<style> sunt blocate - așa că am redat Markdown ca elemente React cu linia stiluri mici Markdown hel.
Montaţi cu un aspect de pagină. Un layout RECORD_PAGE adaugă file la vizualizarea unui obiect de înregistrare; un widget FRONT_COMPONENT într-o filă CANVAS găzduieşte componenta:
Deschide orice document — o filă Preview o face frumoasă, cu link-uri către pagina web partajabilă și PDF:
Vizualizator document componenta frontală într-o filă de înregistrare pagină

Tab-ul de Previzualizare face documentul cu stiluri inline, plus link-uri rapide.

Editați un șablon cu editorul de text bogat

Șabloanele nu au nevoie deloc de o componentă personalizată. Deoarece body este un câmp RICH_TEXT, Douăzeci de ani oferă deja un editor complet de text pentru el — același cu Nota standard și obiectul de activitate. Îl înfățișăm doar pe pagina de înregistrare a șablonului Adăugați o filă cu un widget FIELD în modul de afișare EDITOR, îndreptat în câmpul body prin fieldMetadataId:
Un câmp RICH_TEXT stochează atât blocul editorului JSON cât și un proiecție Markdown . Conducta de generare citeşte că Markdown projection, deci placeholders, PDF, și pagina web partajabilă continuă să funcționeze neschimbat — vezi tot template-record. layout-ul vârstei. Editorii scriu șabloane într-un adevărat editor de text bogat:
Șablon de înregistrare cu fila nativă de editor de text bogat

Tab-ul modelului: Editorul nativ de text bogat al Twenty's legat de câmpul corpului.

După acest pas: documentele previzualizează frumos și șabloanele sunt editabile în aplicație. Apoi, lasă un agent AI să le genereze dintr-o conversație.

Următorul: un agent AI →

Adăugați un agent și o abilitate care vă sună unelta.