Functions that implement the query and component indexing.
Functions that implement the query and component indexing.
(drop-component! this)
(drop-component! this ident)
Remove the component instance from the indexes. If ident is supplied it uses that, otherwise it gets the ident from the component itself.
Remove the component instance from the indexes. If ident is supplied it uses that, otherwise it gets the ident from the component itself.
(index-component! this)
Add a component instance to the app index. This adds the component to the class->components
and
ident->components
indexes.
Add a component instance to the app index. This adds the component to the `class->components` and `ident->components` indexes.
(index-query query)
Create an index of the given component-annotated query. Returns a map from query keyword to the component class(es) that query for that keyword.
Create an index of the given component-annotated query. Returns a map from query keyword to the component class(es) that query for that keyword.
(index-root! app)
Index the root query (see index-query) and side-effect the result (prop->classes
) into the given app.
This function assumes the root-class
has already been supplied to the app (i.e. is has been mounted).
Index the root query (see index-query) and side-effect the result (`prop->classes`) into the given app. This function assumes the `root-class` has already been supplied to the app (i.e. is has been mounted).
(link-query-props {:keys [key children] :as ast})
Returns a set of all of the keys that appear in link refs [:k '_]
in the entire ast.
Returns a set of all of the keys that appear in link refs `[:k '_]` in the entire ast.
Mutation: re-index the application (typically after a dynamic query change).
Mutation: re-index the application (typically after a dynamic query change).
(top-level-keys ast)
Return a set of keywords that are in the top-level of the given AST
Return a set of keywords that are in the top-level of the given AST
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close