{"id":5388,"date":"2019-12-23T16:03:59","date_gmt":"2019-12-23T15:03:59","guid":{"rendered":"http:\/\/blog.via-internet.de\/?p=5388"},"modified":"2019-12-23T16:03:59","modified_gmt":"2019-12-23T15:03:59","slug":"clojurescript-cookbook","status":"publish","type":"post","link":"https:\/\/via-internet.de\/blog\/2019\/12\/23\/clojurescript-cookbook\/","title":{"rendered":"ClojureScript | Cookbook"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">UI: Common tasks<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Loading spinner<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1516\" height=\"270\" src=\"https:\/\/i0.wp.com\/blog.via-internet.de\/wp-content\/uploads\/2019\/12\/Bildschirmfoto-2019-12-29-um-10.42.20.png?fit=700%2C125&amp;ssl=1\" alt=\"\" class=\"wp-image-5456\" srcset=\"https:\/\/via-internet.de\/blog\/wp-content\/uploads\/2019\/12\/Bildschirmfoto-2019-12-29-um-10.42.20.png 1516w, https:\/\/via-internet.de\/blog\/wp-content\/uploads\/2019\/12\/Bildschirmfoto-2019-12-29-um-10.42.20-300x53.png 300w, https:\/\/via-internet.de\/blog\/wp-content\/uploads\/2019\/12\/Bildschirmfoto-2019-12-29-um-10.42.20-1024x182.png 1024w, https:\/\/via-internet.de\/blog\/wp-content\/uploads\/2019\/12\/Bildschirmfoto-2019-12-29-um-10.42.20-768x137.png 768w\" sizes=\"auto, (max-width: 1516px) 100vw, 1516px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>index.html<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"html\" data-enlighter-theme=\"\" data-enlighter-highlight=\"3,9-11,13,14\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;head>\n\t....\n\t&lt;link href=\"lib\/bootstrap\/4.4.1\/css\/bootstrap.min.css\" rel=\"stylesheet\" type=\"text\/css\">\n\t&lt;link href=\"lib\/css\/style.css\" rel=\"stylesheet\" type=\"text\/css\">\n&lt;\/head>\n\n&lt;body>\n\t&lt;div id=\"app\">\n\t\t&lt;div class=\"d-flex justify-content-center\">\n\t\t\t&lt;div class=\"loader\">&lt;\/div>\n\t\t&lt;\/div>\n\t&lt;\/div>\n\t&lt;script src=\"lib\/jquery\/3.4.1\/jquery.min.js\" type=\"text\/javascript\">&lt;\/script>\n\t&lt;script src=\"lib\/bootstrap\/4.4.1\/js\/bootstrap.bundle.min.js\" type=\"text\/javascript\">&lt;\/script>\n\t....<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>lib\/css\/style.css<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">.loader {\n\tposition: fixed;\n\tz-index: 999;\n\toverflow: visible;\n\tmargin: auto;\n\n\tborder: 16px solid #f3f3f3;\n\tborder-radius: 50\n\tborder-top: 16px solid blue;\n\n\twidth: 120px; height: 120px;\n\ttop: 0; left: 0; bottom: 0; right: 0;\n\n\t-webkit-animation: spin 2s linear infinite;\n\t\/* Safari *\/\n\tanimation: spin 2s linear infinite;\n}\n\n\/* Transparent Overlay *\/\n.loader:before {\n\tcontent: '';\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0; left: 0;\n\twidth: 100\n\theight: 100\n}\n\n\/* Safari *\/\n@-webkit-keyframes spin {\n\t0\n\t100\n}\n\n@keyframes spin {\n\t0\n\t100\n}<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Rendering<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">How to render content<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">(r\/render-component [content]\n  (.querySelector js\/document \"#app\"))<\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">(r\/render-component [content])\n  (.-body js\/document)<\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">(defn ^:export run []\n  (r\/render [simple-example]\n  (js\/document.getElementById \"app\"))<\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">(defn home-page []\n  [:div\n    [:h2 \"Homepage!\"]])\n\n;; -------------------------\n;; Initialize app\n\n(defn mount-root []\n  (reagent\/render [home-page] (.getElementById js\/document \"app\")))\n\n(defn init! []\n  (mount-root))<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Render several html tags as one<\/h3>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"4\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">(defn content-row\n    \"\"\n    [col1 col2 col3]\n    [:&lt;>\n        [:div.grid-item col1]\n        [:div.grid-item col2]\n        [:div.grid-item col3]])<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>UI: Common tasks Loading spinner index.html lib\/css\/style.css Rendering How to render content Render several html tags as one<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[14,16],"tags":[],"class_list":["post-5388","post","type-post","status-publish","format-standard","hentry","category-clojurescript","category-cookbook"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/posts\/5388","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/comments?post=5388"}],"version-history":[{"count":0,"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/posts\/5388\/revisions"}],"wp:attachment":[{"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/media?parent=5388"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/categories?post=5388"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/via-internet.de\/blog\/wp-json\/wp\/v2\/tags?post=5388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}