@amarjeet So I don’t have time to dig in in a detailed way unfortunately but I have some high-level observations.
1. Macros (such as
go) should be recognized in a rule consequent. If they simply aren’t, please file a bug on that.
2. That said, you can’t call
transact! in a go block.
transact! has contextual thread-local information that needs to be run synchronously with the rule execution.
3. Dereferencing a local atom in a rule consequent should be fine in general.
4. It is not currently possible to use two factui mixins on the same component, because of collisions on values they use (e.g results binding). You can resolve this by writing a single mixin to get all the data you need in a single shot. Alternatively, if you’re willing to dig around under the hood, you can look at how the built in mixin is constructed and write a version that’s driven by two or more FactUI subscriptions instead of just one.
5. about multiple query parameters, sorry, I don’t actually recall how that works off the top of my head and I don’t have a FactUI environment set up at the moment to experiment. Should be pretty easy to figure out though by reading the code around how component arguments are passed to queries, and some experimentation.