Näytöt
Taulu-API:t, jotka tarjoilevat datan, ja sovelluksen neljä näyttöä — kojelauta, asiakkuuslista, asiakkuuden tiedot ja myyntimahdollisuuksien taulu.
Tämä on oppaan pisin vaihe ja se, joka antaa sovellukselle kasvot. Lopussa sinulla on neljä näyttöä suunniteltuina ja toimimassa mallin oikean datan päällä: Início tunnuslukuineen ja kaavioineen, Contas-lista, Ficha de Conta, joka tallentaa, ja Oportunidades-taulu, jonka kortteja voi vetää.
Ennen näyttöjä on kuitenkin yksi lyhyt askel, joka tekee ne mahdollisiksi.
Ensin taulu-API:t
Näyttö ei puhu tietokannan kanssa. Se puhuu datastorejen kanssa — kunkin näytön datasäiliöiden — ja datastoret lukevat ja kirjoittavat sovelluksen taulu-API:en kautta. Taulu-API osoittaa mallin entiteettiin ja tuottaa itse luku- ja kirjoitusoperaatiot.
Luodaan kolme, yksi entiteettiä kohden:
- Valitse sivupalkista paneeli Koodi.
- Napsauta rivillä API:t painiketta + (Uusi API).
- Kirjoita kohtaan Nimi teksti
contas. Nimi on operaatioiden perusta (getContas,addContas,updateContas,deleteContas) — älä siis lisää siihen etuliitteitä kutengettailistaa. - Napsauta Luo API. Rakennin avautuu välilehdelle Rakenna.
- Valitse osiossa Pipeline lohko Taulu.
- Valitse kentässä Taulu kohde
Dados CRM ▸ Contas. - Jätä kohdassa Julkaistut toiminnot valituiksi Select, Insert, Update ja Delete — CRM tarvitsee kaikki neljä.
- Jätä Julkinen pääsy (ilman istuntoa) kokonaan pois päältä: tämä sovellus on niille, jotka ovat kirjautuneet.
- Varmista kohdassa Mukana olevat kentät, että ne kentät ovat valittuina, joita näytöt käyttävät. Asiakkuuksissa ne ovat kaikki.
- Kytke päälle valitsin Julkaistu ja napsauta Tallenna.

Toista sama kahdelle muulle:
| API | Entiteetti | Toiminnot | Huomioita |
|---|---|---|---|
contas |
Contas | Select, Insert, Update, Delete | Kaikki kentät. |
contactos |
Contactos | Select, Insert, Update, Delete | Sisältää navigaattorin conta (vain kentän nome). |
oportunidades |
Oportunidades | Select, Insert, Update, Delete | Sisältää navigaattorin conta (vain kentän nome). |
Navigaattorit ovat se, mikä sallii asiakkuuden nimen näyttämisen
myyntimahdollisuuden vieressä ilman ainuttakaan SQL-riviä: merkitse ne mukana
olevien kenttien listalla, ja kenttä conta.nome on käytettävissä näytöillä.
Nota
Luonnostilassa oleva API näkyy vain rakentajille. Jos unohdat julkaista sen, näyttöjen datastoret eivät löydä sitä — se on ykkössyy ilmiölle ”näyttö ei lataa mitään”. Luku API-rakennin käsittelee API:t perusteellisesti.
Neljän näytön luominen
Näytöt asuvat paneelissa UI, osiossa Näytöt.
- Valitse sivupalkista paneeli UI.
- Napsauta rivillä Näytöt painiketta Uusi näyttö.
- Kirjoita nimi ja vahvista painikkeella Luo. Näyttö avautuu heti työtilaan.

Luo kaikki neljä yhdellä kertaa, tässä järjestyksessä:
| Näytön nimi | Reitti | Mitä siitä tulee |
|---|---|---|
Início |
/inicio |
Myyntipaneeli tunnuslukuineen ja kaavioineen. |
Contas |
/contas |
Asiakkuuslista. |
Ficha de Conta |
/ficha-de-conta |
Asiakkuuden lomake. |
Oportunidades |
/oportunidades |
Kanban-taulu. |
Reitti johdetaan nimestä ja se näkyy (ja sitä muokataan) inspectorissa, kun mitään widgetiä ei ole valittu. Jätä reitit sellaisinaan — opas viittaa niihin myöhemmin.
Dica
Työskentele koko tämän oppaan ajan laitteella Web (1280px). Kaksi muuta — Tabletti (768px) ja Mobiili (390px) — ovat oma, itsenäinen suunnitelmansa; ne otetaan käsittelyyn myöhemmin, kun web-ulkoasu on vakaa.
Näyttö Início — myyntipaneeli
Avaa näyttö Início. Ulkoasussa on neljä palaa: otsikko, tunnuslukujen kaista, kaavio ja taulukko.
Otsikko
- Vedä paletista Nimike canvasin ylälaitaan.
- Kirjoita inspectorin kategoriassa Sisältö teksti
Myyntipaneeli. - Kasvata kategoriassa Ulkoasu tekstin Koko — kyseessä on sivun otsikko.
Tunnuslukujen kaista
Neljä lukua vierekkäin tehdään yhdellä KPI-widgetillä, jossa on neljä tunnuslukua — ei neljällä widgetillä: näin tasaus ja välistys ovat varmasti kohdallaan.
- Vedä KPI otsikon alle ja venytä se koko leveydelle.
- Kategoriassa Data osio Tunnusluvut alkaa yhdellä. Käytä Lisää tunnusluku, kunnes niitä on neljä.
- Jokaisella tunnusluvulla on Nimike, kuvake, Oma tietojoukko (sen datastore) ja arvo, jolla on Aggregointi.
Määritä ne näin:
| Nimike | Datastore (taulu-API) | Suodatin | Arvo |
|---|---|---|---|
Aktiiviset asiakkuudet |
contas |
— | id-kentän Lukumäärä |
Avoimet myyntimahdollisuudet |
oportunidades |
fase ≠ fechada_ganha ja fase ≠ fechada_perdida |
id-kentän Lukumäärä |
Arvo pipelinessä |
oportunidades |
sama suodatin | valor-kentän Summa |
Suljettu tällä neljänneksellä |
oportunidades |
fase = fechada_ganha |
valor-kentän Summa |
Avaa kahden rahamäärän kohdalla Muoto ja valitse valuutta EUR ilman desimaaleja — 475 850 luetaan paremmin kuin 475850.
Kaavio
- Vedä Kaavio vasemmalle puolikkaalle, KPI:n alle.
- Luo kategoriassa Data listadatastore API:n
oportunidadespäälle. - Valitse kohdassa Kaavion tyyppi vaihtoehto Palkit.
- Valitse kohdassa Luokkakenttä (X-akseli / lohkot) kenttä
fase. - Lisää kohtaan Arvokentät kenttä
valor. - Kytke kategoriassa Ulkoasu päälle Näytä otsikko ja kirjoita
Pipeline vaiheittain.
Seuraavien päätösten taulukko
- Vedä Taulukko oikealle puolikkaalle, kaavion viereen.
- Luo kategoriassa Data listadatastore
oportunidades-API:n päälle, avoimien vaiheiden suodattimella (sama kuin tunnusluvuissa), järjestettynädata_fecho-kentän mukaan nousevasti ja Sivua kohden arvolla 8. - Määritä kategoriassa Data, osiossa Sarakkeet, neljä saraketta:
| Kenttä | Otsikko |
|---|---|
titulo |
Myyntimahdollisuus |
conta.nome |
Asiakkuus |
valor |
Arvo (€) |
data_fecho |
Päätös |
- Kytke päälle Näytä otsikko ja kirjoita
Seuraavat päätökset.

Näyttö Contas — lista
Avaa näyttö Contas. Kolme widgetiä.
- Nimike ylälaidassa, tekstillä
Asiakkuudet. - Painike oikeassa ylänurkassa: kategoriassa Sisältö teksti
Uusi asiakkuusja kuvakeplus. - Taulukko, joka täyttää loput näytöstä. Luo kategoriassa Data
listadatastore API:n
contaspäälle, järjestettynänome-kentän mukaan nousevasti, ja määritä sarakkeet:
| Kenttä | Otsikko |
|---|---|
nome |
Nimi |
sector |
Toimiala |
cidade |
Kaupunki |
telefone |
Puhelin |
email |
Sähköposti |
estado |
Tila |
Puuttuu vielä kaksi elettä, jotka tekevät tästä listasta hyödyllisen. Molemmat kirjoitetaan kategoriassa Tapahtumat, TypeScriptillä:
Painikkeeseen, tapahtumaan onClick — avaa tyhjät tiedot, luomista
varten:
keplin.nav.go("/ficha-de-conta");
Taulukkoon, tapahtumaan onRowClick — avaa napsautetun rivin tiedot:
keplin.nav.go("/ficha-de-conta/" + keplin.event.row.id);

Nota
keplin.event.row on se rivi, jota käyttäjä napsautti, kaikkine
datastoren kenttineen. Siksi row.id riittää tietojen osoitteen
kokoamiseen.
Näyttö Ficha de Conta — lomake
Tämä on näyttö, jossa on eniten palasia, ja se joka näyttää parhaiten, miten data toimii. Avaa näyttö Ficha de Conta.
Reitin parametri
- Napsauta canvasin tyhjää aluetta — inspector näyttää nyt näytön.
- Napsauta osiossa Reitin parametrit kohtaa + lisää parametri ja
kirjoita
id. - Jätä Pakollinen pois päältä. Se on tarkoituksellista: ilman
id:tä näyttö avautuu tyhjänä, ja juuri niin sama lomake kelpaa uuden asiakkuuden luomiseen.
Reitiksi tulee /ficha-de-conta/:id.

Näytön kaksi datastorea
Kun näyttö on edelleen valittuna, kategoriassa Data:
- Napsauta + tietue. Napsauta luotua datastorea avataksesi modaalin Määritä datastore.
- Kirjoita kohtaan Datastoren nimi teksti
conta. - Valitse kohdassa Taulu-API vaihtoehto
contas. - Napsauta kohdassa Mikä tietue ladataan (avain) kohtaa + avainkenttä
ja kokoa ehto: kenttä
id, operaattorieq, arvo Param ▸id. - Jätä Lataa automaattisesti päälle ja sulje painikkeella Valmis.

Nyt toinen, asiakkuuden yhteyshenkilöille:
- Napsauta + lista ja avaa se.
- Nimi
contactosConta, Taulu-APIcontactos. - Lisää kohtaan Suodattimet (where): kenttä
conta_id, operaattorieq, arvo Param ▸id. - Järjestä
nome-kentän mukaan nousevasti.
Dica
Ilman ehtoja avaimessa tietuedatastore lataa uuden, tyhjän tietueen.
Juuri tuo käyttäytyminen tekee toisen näytön ”asiakkuuden luomiseen”
tarpeettomaksi: ilman id:tä avattuna lomake alkaa tyhjänä ja tallennus
tekee lisäyksen.
Lomake
- Vedä Paneeli canvasin vasempaan reunaan. Kytke kategoriassa Ulkoasu
päälle Näytä otsikko ja kirjoita
Yrityksen tiedot. - Vedä Tekstikentät paneelin sisään — widgetin pudottaminen paneelin
sisään tekee siitä paneelin lapsen. Kirjoita jokaiselle kategoriassa
Sisältö nimike ja valitse kategoriassa Data, osiossa
Datasidonta, datastore
contaja kenttä:
| Nimike | Kenttä | Pakollinen |
|---|---|---|
Nimi |
nome |
kyllä |
Y-tunnus |
nif |
ei |
Toimiala |
sector |
ei |
Kaupunki |
cidade |
ei |
Puhelin |
telefone |
ei |
Sähköposti |
email |
ei |
- Käytä tilalle Pudotusvalikkoa tekstikentän sijaan: nimike
Tila, sidottunaconta▸estado, Pakollinen päällä, ja kiinteät vaihtoehdot:
| Arvo | Nimike |
|---|---|
ativo |
Aktiivinen |
prospeto |
Prospekti |
inativo |
Ei aktiivinen |
- Vedä Taulukko paneelin oikealle puolelle, sidottuna datastoreen
contactosConta, sarakkeillanome(Nimi),cargo(Tehtävä) jatelefone(Puhelin) ja otsikollaTämän asiakkuuden yhteyshenkilöt.
Tallennus ja takaisin
Kaksi Painiketta paneelin alle, kummallakin oma tapahtuma onClick:
Tallenna (kuvake save):
const ok = await keplin.data.store("conta").save();
if (ok) {
keplin.ui.toast("Asiakkuus tallennettu");
keplin.nav.go("/contas");
}
Takaisin (kuvake arrow-left):
keplin.nav.go("/contas");
save() validoi ensin — pakolliset kentät ja säännöt — ja tallentaa vain jos
kaikki menee läpi; se palauttaa true, kun tallennus onnistui. Siksi ilmoitus
ja siirtymä ovat if-lauseen sisällä.
Näyttö Oportunidades — kanban-taulu
Avaa näyttö Oportunidades.
- Nimike ylälaidassa, tekstillä
Myyntimahdollisuudet. - Vedä Kanban sen alle, koko leveydelle.
- Luo kategoriassa Data listadatastore API:n
oportunidadespäälle (ilman suodatinta — taulu näyttää kaiken), Sivua kohden arvolla 50. - Valitse kohdassa Tilakenttä (sarake) kenttä
fase. Juuri tämä kenttä kertoo, missä sarakkeessa kukin kortti asuu — ja se on se, mihin kirjoitetaan, kun joku vetää korttia. - Valitse kohdassa Sarakkeiden lähde vaihtoehto Kiinteä ja käytä + lisää sarake kuusi kertaa:
| Arvo | Nimike | Väri |
|---|---|---|
prospecao |
Prospektointi |
harmaa |
qualificacao |
Kvalifiointi |
sininen |
proposta |
Tarjous |
keltainen |
negociacao |
Neuvottelu |
violetti |
fechada_ganha |
Voitettu |
vihreä |
fechada_perdida |
Menetetty |
punainen |
- Kytke päälle Salli korttien vetäminen ja Korttien lukumäärä; jätä Sarake luokittelemattomille pois päältä.
- Kerro kohdassa Kortin pohja, mitä kukin kortti näyttää:
| Kenttä | Rooli |
|---|---|
titulo |
Otsikko |
conta.nome |
Kuvateksti |
valor |
Arvo |
- Lisää taulun alle Taulukko, jonka otsikko on
Kaikki myyntimahdollisuudet, sidottuna listadatastoreenoportunidades-API:n päälle, sarakkeillatitulo,conta.nome,valor,fase,data_fechojaresponsavel.

Nota
Kortin vetäminen sarakkeeseen tallentaa uuden fase-arvon tietueeseen
taulu-API:n kautta — siksi vetäminen toimii vain, jos datastorella on
pääavain ja API:ssa on toiminto Update käytössä.
Tuloksen katsominen
Näytöillä ei ole tallennuspainiketta: muutokset tallentuvat itsestään, ja oikea ylänurkka kertoo, missä mennään (Tallennetaan…, Tallennettu).
Nähdäksesi näytön oikeasti napsauta Esikatsele: alusta tallentaa sen mikä on kesken ja avaa näytön oikeassa sovelluksessa uuteen selaimen välilehteen. Käyt läpi kirjautumisen kuten kuka tahansa käyttäjä — sovellukseen kirjautuvat tilit luodaan vaiheessa Julkaisu ja käyttö, ja siihen asti voit käyttää sitä, joka jo on olemassa.
Miksi ei…?
- Miksi API:ni ei näy datastorejen listalla? API on luonnostilassa. Avaa se ja kytke päälle Julkaistu.
- Miksi aukeaa aina tyhjät tiedot? Tietuedatastorella ei ole ehtoja
kohdassa Mikä tietue ladataan (avain), tai parametri
idei tule perille reitissä. Varmista, että reitti on/ficha-de-conta/:id. - Miksi en näe saraketta
conta.nome? Navigaattori ei ole mukana taulu-API:n kohdassa Mukana olevat kentät — tai datastore määritettiin ennen kuin merkitsit sen. Avaa Määritä datastore uudelleen ja valitse API taas, niin kenttien kuva päivittyy. - Miksi kanban ei anna vetää? Datastoresta puuttuu pääavain tai taulu-API:sta toiminto Update.
- Miksi kaavio on tyhjä? Luokkakenttä tai Arvokentät ovat valitsematta — tai datastoren suodatin ei päästä läpi ainuttakaan riviä.
Näytöt ovat olemassa, mutta niiden välillä ei vielä pääse hyppäämään. Seuraava vaihe: navigointi ja teema.