Arbori data-bound pe front-end

Am mult de muncă cu un tree și mi se pare foarte complex de implementat ceva reutilizabil.

M-am uitat la câteva librării in React dar ori sunt niște proiecte extrem de complexe, ori sunt un acordeon trivial pe nivel. Niciunul nu ia în considerare backend-ul, virtualizarea și filtrarea din query-uri.

Există ceva ce ați folosit și v-a plăcut cum a fost scris/generat ? Aici ma refer la ceva componenta care vine cu instrucțiuni pentru cum să fie implementat backend-ul.

Soluția la care mă gandesc e foarte data bound, adică va permite să incarce date pe nivel, date până la un anumit nivel (merge la query-uri sau retrieve până la nivel )să faci expand la orice nivel (la fiecare copil in care e găsit) din căutare, să sari (scrollto) la nivelul selectat de pe o pagină pe alta cu reincarcarea fiecărui nivel selectat înainte… Încă nu e requirement paginarea/virtual scroll-ul pe nivel, dar l-as considera.
Highlight/disable la copii în functie de proprietati.

Data bound înseamnă că practic backend-ul trebuie scris după front-end. Fiecare nivel va avea propriul query, dar trebuie să iei fiecare nivel deja deschis deodată dacă schimbi pagina (tab-ul).

Există cumva ceva librărie pe Java/Spring care permite query-uri pe grafuri cu REST?

Ar fi făină o soluție de tree cu exemple de implementare pe backend in diferite limbaje cu rest/gRPC. Cu graphql mi se pare cel mai simplu, dar cu REST e cancer.

Oare de ce au tradus trees din engleza ca arbori si nu copaci? Si query ca interogari si nu intrebari, ma gandesc ca au vurut sa sune mai fancy, si matematica e plina de concepte simple cu nume pompoase, si cartile romane de mate, sa nu cumva sa explice ceva simplu e beneath autorului, de parca ar fi scris cartea pt el, si cand explica ceva, sa nu cumva mai mult de cateva randuri, ca doar nu suntem prosti sa nu inteleg, suntem asa comici cu complexele astea de inferioritate.

// rant over

Ca raspuns pt thread, ce am invatat eu the hard way, keep frontend simple do all computiing, programming whatever on backend, insa din ce zici pare graplh ql, si exista librarii de spring, din experienta mea performanta e proasta pt ca query-urile generate sunt niste monstrozitati, daca ai date multe te afecteaza.

Pentru că în limba română există atributul arborescent dar nu și copascent :troll:

ARBORESCÉNT, -Ă, arborescenți, -te, adj. Care are înfățișarea unui arbore (1 ); care este ramificat asemenea crengilor unui arbore.

1 Like

Pe proiectul nostru este ceva de genul, în react. Problema este că toate datele vin deodată și este foarte greoaie încărcarea la query-uri expensive.

Nu mi-e tare clar ce fel de date ai și cum vrei să scrii backend-ul. Ceva exemplu practic ca să ne putem imagina ce complexitate ai datele?

Vorbesti de 2 lucuri diferite

  • tree
  • graf

In finctie de ce ai nevoie sunt solutii diferite. Totul tine de

  • ce tipuri se date ai
  • pe ce tipuri de elemente se fac qeryurile
  • la ce informatie se face retrieve

Am scris eu componenta la final, backend-ul trimite structura tipica de children: children…

Problema mea cu asta e paginarea și filtrarea, am sărit peste aceste festure-uri pentru moment, de backend se ocupă altcineva deci nu m-am complicat pe moment.