Dealing with data #
Overview #
flowchart LR I1(Input Component) -. data binding --- DO(Data Object); I2(Custom Component) -. data binding --- DO(Data Object); DO -- set data --> A(Entity Agent); A -- updates --> DO; A <-- fetch / update --> API[(Rest API)]; SB(Save Button) -- triggers --> A LB(Load Button) -- triggers --> A
Data Object #
The furo-data-object
translates raw JSON
to objects which are usable for the
UI components and vice versa.
flowchart LR I1(Input Component) -. data binding --- DO(Data Object); I2(Custom Component) -. data binding --- DO(Data Object); DO -- produces --> JSON JSON -- consumes --> DO
|
|
Entity Agent #
The main task of the furo-entity-agent
is to communicating with REST API’s.
It exposes a simple API for saving, loading, creating and deleting stuff on the server side.
flowchart LR DO(Data Object) -- object --> A(Entity Agent); A -- json --> DO; A -- json --> API[(Rest API)]; API -- json --> A
|
|
Hateoas #
furo-deep-link
builds static HATEOAS information based on query params and service-type.
The HATEOAS data is used by the furo-entity-agent
to resolve the locations it has to send the requests to.
flowchart LR DL(Deep Link) -- HATEOAS --> A(Entity Agent); QP[Query Params] -- json --> DL
|
|
Assume we visit a link like my.app.com/display_task?tsk=5
furo-deep-link
receives the query params {"tsk": "5"}
from furo-location
.
It will then produce the HATEOAS links according to the specified service.
|
|