Implementation details for co-located CSS. Do not use these directly.
Implementation details for co-located CSS. Do not use these directly.
MACROS for generating CLJS code. See dom.cljs
MACROS for generating CLJS code. See dom.cljs
Client-side DOM macros and functions. For isomorphic (server) support, see also fulcro.client.dom-server
Client-side DOM macros and functions. For isomorphic (server) support, see also fulcro.client.dom-server
Support for rendering DOM from CLJ. Must be separate to enable same-named macros in CLJS for performance.
Usage: Create your UI in CLJC files, and require with conditional reader tags:
(ns app.ui (:require #?(:clj [fulcro.client.dom-server :as dom] :cljs [fulcro.client.dom :as dom])))
Support for rendering DOM from CLJ. Must be separate to enable same-named macros in CLJS for performance. Usage: Create your UI in CLJC files, and require with conditional reader tags: (ns app.ui (:require #?(:clj [fulcro.client.dom-server :as dom] :cljs [fulcro.client.dom :as dom])))
Generic query expression parsing and AST manipulation.
QUERY EXPRESSIONS
Query expressions are a variation on Datomic Pull Syntax http://docs.datomic.com/pull.html more suitable for generic client/server state transfer. It's important to note the query expression syntax is not a strict superset of Datomic Pull.
A query expression is composed of EDN values. The grammar for query expressions follows:
QueryRoot := EdnVector(QueryExpr*) PlainQueryExpr := (EdnKeyword | IdentExpr | JoinExpr) QueryExpr := (PlainQueryExpr | ParamExpr) IdentExpr := EdnVector2(Keyword, EdnValue) ParamExpr := EdnList2(PlainQueryExpr | EdnSymbol, ParamMapExpr) ParamMapExpr := EdnMap(Keyword, EdnValue) JoinExpr := EdnMap((Keyword | IdentExpr), (QueryRoot | UnionExpr | RecurExpr)) UnionExpr := EdnMap(Keyword, QueryRoot) RecurExpr := ('... | Integer)
Note most of the api expects a QueryRoot not a QueryExpr.
QUERY EXPRESSION AST FORMAT
Given a QueryExpr you can get the AST via om.next.impl.parser/expr->ast. The following keys can appear in the AST representation:
{:type (:prop | :join | :call | :root | :union | :union-entry) :key (EdnKeyword | EdnSymbol | IdentExpr) :dispatch-key (EdnKeyword | EdnSymbol) :union-key EdnKeyword :query (QueryRoot | RecurExpr) :params ParamMapExpr :children EdnVector(AST) :component Object :target EdnKeyword}
:query and :params may or may not appear. :type :call is only for mutations.
Generic query expression parsing and AST manipulation. QUERY EXPRESSIONS Query expressions are a variation on Datomic Pull Syntax http://docs.datomic.com/pull.html more suitable for generic client/server state transfer. It's important to note the query expression syntax is *not* a strict superset of Datomic Pull. A query expression is composed of EDN values. The grammar for query expressions follows: QueryRoot := EdnVector(QueryExpr*) PlainQueryExpr := (EdnKeyword | IdentExpr | JoinExpr) QueryExpr := (PlainQueryExpr | ParamExpr) IdentExpr := EdnVector2(Keyword, EdnValue) ParamExpr := EdnList2(PlainQueryExpr | EdnSymbol, ParamMapExpr) ParamMapExpr := EdnMap(Keyword, EdnValue) JoinExpr := EdnMap((Keyword | IdentExpr), (QueryRoot | UnionExpr | RecurExpr)) UnionExpr := EdnMap(Keyword, QueryRoot) RecurExpr := ('... | Integer) Note most of the api expects a QueryRoot not a QueryExpr. QUERY EXPRESSION AST FORMAT Given a QueryExpr you can get the AST via om.next.impl.parser/expr->ast. The following keys can appear in the AST representation: {:type (:prop | :join | :call | :root | :union | :union-entry) :key (EdnKeyword | EdnSymbol | IdentExpr) :dispatch-key (EdnKeyword | EdnSymbol) :union-key EdnKeyword :query (QueryRoot | RecurExpr) :params ParamMapExpr :children EdnVector(AST) :component Object :target EdnKeyword} :query and :params may or may not appear. :type :call is only for mutations.
DEPRECATED: Will be removed in a future release. As of version 2.5, this is just a facade on top of fulcro.logging that delegates to it.
DEPRECATED: Will be removed in a future release. As of version 2.5, this is just a facade on top of fulcro.logging that delegates to it.
A set of functions for working with GNU gettext translation files, including translation generation tools to go from PO files to cljc.
A set of functions for working with GNU gettext translation files, including translation generation tools to go from PO files to cljc.
Internationalization support GNU gettext-style.
This support allows translations to stay in raw gettext PO file format, and be served as normal API data loads.
To use this support:
tr
, trf
, trc
, etc. to embed messages in your UI.xgettext
(GNU CLI utility) to extract the strings from the js output of (4).
xgettext --from-code=UTF-8 --debug -k -ktr_alpha:1 -ktrc_alpha:1c,2 -ktrf_alpha:1 -o messages.pot application.jsSee the Developer's Guide for more details.
Internationalization support GNU gettext-style. This support allows translations to stay in raw gettext PO file format, and be served as normal API data loads. To use this support: 1. Use `tr`, `trf`, `trc`, etc. to embed messages in your UI. 2. Embed a locale selector, such as the one provided. 3. Configure your server to serve locales. 4. Compile the source of your application with whitespace optimizations. 5. Use `xgettext` (GNU CLI utility) to extract the strings from the js output of (4). xgettext --from-code=UTF-8 --debug -k -ktr_alpha:1 -ktrc_alpha:1c,2 -ktrf_alpha:1 -o messages.pot application.js 6. Have translators generate PO files for each locale you desire, and place those where your server can serve them. See the Developer's Guide for more details.
Utilities for logging on the client and server.
This namespace exists so that fulcro libraries have a mechanism to do logging that can be lightweight without pull in any additional dependencies. You can use this logging support, but it is not designed to be great, just lightweight and efficient.
It is highly recommended that you use a dedicated logging library in production apps, such as timbre. However, if you're writing an add-on for Fulcro it is probably best to use this logging so you give our users a consistent way to deal with Fulcro logging.
Utilities for logging on the client and server. This namespace exists so that fulcro libraries have a mechanism to do logging that can be lightweight without pull in any additional dependencies. You can use this logging support, but it is not designed to be great, just lightweight and efficient. It is highly recommended that you use a dedicated logging library in production apps, such as timbre. However, if you're writing an add-on for Fulcro it is probably best to use this logging so you give our users a consistent way to deal with Fulcro logging.
DEPRECATED: See the external file upload demo instead.
DEPRECATED: See the external file upload demo instead.
DEPRECATED: Do not use this namespace for new projects.
DEPRECATED: Do not use this namespace for new projects.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close