voytech / cljs-diagrams

A clojurescript relational desinger tool.
2 stars 1 forks source link

Entity data resolvers extensions #61

Closed voytech closed 5 years ago

voytech commented 5 years ago

Add resolver functions support to map entity data structures into components and its properties to convey visuals propagation from higher level context attributes.

Resolvers should expose API for data application e.g:

(apply-data app-state entity {:process-name ‚fetch-data’ :method-name ‚fetch’ :class-name ‚DataLoader’})

Above method should lookup data resolver registry using entity type and clojure.spec matching on data passed. In this example data represents some bpmn process related properties for specific domain problem.

Resolver role will be to apply above properties so that they are visually reflected via entity components and theirs properties.

Resolvers should be registrable under :extensions in app-state. Resolver should be dispatched using entity type and maybe clojure.spec matching on data argument.

Resolvers should be just like extensions or wrappers, and should not be a part of Entity nor Component models. Entities and components should only reflect visual attributes as well as helper or hints for renderer, no additional higher level data should be supported directly.