Fork me on GitHub

I'm still having some namespace issues when sending remote controll commands. I'm sure its something on my end, but maybe you can help me out.


Commands like {:vlaaad.reveal/command ((requiring-resolve (quote vlaaad.reveal.ext/clear-output))), :ns #namespace[user]} work flawlessly. However, when I try to open a view using {:vlaaad.reveal/command ((requiring-resolve (quote vlaaad.reveal.ext/open-view)) {:fx/type vlaaad.reveal.ext/action-view, :action :vlaaad.reveal.action/view:bar-chart, :value [1 2 3]}), :ns #namespace[user]} I get a java.lang.ClassNotFoundException. Successfully evaluating any other commands solves the issue for all subsequent view commands, presumeably by then having required the namespaces.


My first instinct was to wrap action-view in a requiring-resolve like so: {:vlaaad.reveal/command ((requiring-resolve (quote vlaaad.reveal.ext/open-view)) {:fx/type (requiring-resolve (quote vlaaad.reveal.ext/action-view)), :action :vlaaad.reveal.action/view:bar-chart, :value [1 2 3]}), :ns #namespace[user]}, but this results in a java.lang.IllegalArgumentException: "No implementation of method: :create of protocol: #'cljfx.lifecycle/Lifecycle found for class: clojure.lang.Var"


Add deref to second requiring-resolve

reveal 3

That did the trick, thanks!