Does it make sense to pass the reusable component's context as an argument to 
it? ie,

(defn ReusableComponent [some-context] .... )

Jamie

On Mar 27, 2015, at 8:54 AM, Colin Yates <[email protected]> wrote:

> In re-frame event dispatching is handled by (dispatch [:discriminator 
> detail]). A corresponding (register-handler :discriminator (fn [db [_ 
> detail]]) then reacts to that dispatched event.
> 
> My question is how are people managing this with re-usable components? For 
> example, I have a tree and when selecting a node in that tree something 
> should happen. But this is where it gets all polymorphic as _what_ happens 
> depends on the client who instantiated the tree. I can see the following ways 
> forward:
> 
> - tree is configured with a 'context' key which is combined with the 
> discriminator so rather than the tree emitting :node-selected it emits 
> :consumer-a-node-selected. Consumer a can then handle 
> consumer-a-node-selected and consumer b can handle (go on, guess) 
> consumer-b-node-selected
> - a variation on the above involving writing your own dispatching logic...
> - tree doesn't use dispatch as the event bus, rather it takes in an instance 
> of a Protocol: 
>  IRespondToTree
>  (on-node-select [this node])
> - tree is parameterised with a map of fns {:node-selected-fn ...} etc.
> 
> How would you all handle it? (I am leaning towards the first one).
> 
> -- 
> Note that posts from new members are moderated - please be patient with your 
> first post.
> --- 
> You received this message because you are subscribed to the Google Groups 
> "ClojureScript" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/clojurescript.

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to