Liking cljdoc? Tell your friends :D

subzero.plugins.web-components

Implements web components on top of the component registry.

State lives at ::state in the db, and has: ::class->fields-index ;; Mapping of all prop name variations -> writable JS property name ;; for element classes.

::css-link-elements ;; A set of all CSS <link> elements managed by this plugin. Used ;; for quick access when we need to override the hrefs during hot ;; reload. Only populated when hot reload is enabled.

::css-stylesheet-objects ;; A map of normalized URL -> constructed style sheet, so we can ;; reuse them. Entries never expire.

::href-overrides ;; When shadow-cljs (or figwheel I presume) detects an FS change of ;; some stylesheet linked at the top level of the document, it'll force ;; the browser to reload it be appending some arbitrary 'version' ;; to the href's query string. The plugin watches for those changes, and: ;; 1. Keeps track of the new HREF, so it can be used in newly created links ;; and constructed stylesheets. ;; 2. Replaces the HREF in all matching ::css-link-elements. ;; 3. Reloads all matching ::css-stylehseet-objects with the new URL. ;; ;; Only populated when hot reload is enabled.

Implements web components on top of the component registry.

State lives at `::state` in the db, and has:
  ::class->fields-index
  ;; Mapping of `all prop name variations -> writable JS property name`
  ;; for element classes.

  ::css-link-elements
  ;; A set of all CSS `<link>` elements managed by this plugin.  Used
  ;; for quick access when we need to override the hrefs during hot
  ;; reload.  Only populated when hot reload is enabled.

  ::css-stylesheet-objects
  ;; A map of `normalized URL -> constructed style sheet`, so we can
  ;; reuse them.  Entries never expire.

  ::href-overrides
  ;; When shadow-cljs (or figwheel I presume) detects an FS change of
  ;; some stylesheet linked at the top level of the document, it'll force
  ;; the browser to reload it be appending some arbitrary 'version'
  ;; to the href's query string.  The plugin watches for those changes, and:
  ;;   1. Keeps track of the new HREF, so it can be used in newly created links
  ;;      and constructed stylesheets.
  ;;   2. Replaces the HREF in all matching `::css-link-elements`.
  ;;   3. Reloads all matching `::css-stylehseet-objects` with the new URL.
  ;;
  ;; Only populated when hot reload is enabled.
raw docstring

IBindKeycljsprotocol

bindcljs

(bind bk !db element watchable)

unbindcljs

(unbind bk !db element)
source

IBindValuecljsprotocol

get-bind-watchablecljs

(get-bind-watchable bv !db)
source

IListenKeycljsprotocol

listencljs

(listen lk !db target listener-fun)

unlistencljs

(unlisten lk !db target)
source

IListenValuecljsprotocol

get-listener-funcljs

(get-listener-fun lv !db)
source

install!cljs

(install! !db
          doc
          cer
          &
          {:keys [hot-reload? disable-tags? preproc-vnode after-render
                  before-render]
           :as opts})
source

remove!cljs

(remove! !db)
source

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close