use official qlkit version
This commit is contained in:
parent
2d1e751053
commit
a376ffb66b
4 changed files with 20 additions and 13 deletions
6
deps.edn
6
deps.edn
|
|
@ -5,14 +5,12 @@
|
|||
borkdude/sci {:git/url "https://github.com/borkdude/sci"
|
||||
:sha "a8505dd4ee0b5cc7e6f6215f1bbc136c6d4ae7ee"}
|
||||
reagent/reagent {:mvn/version "1.0.0"}
|
||||
cljsjs/create-react-class {:mvn/version "15.6.3-1"}
|
||||
cljsjs/react {:mvn/version "17.0.2-0"}
|
||||
cljsjs/react-dom {:mvn/version "17.0.2-0"}
|
||||
cljsjs/react-dom-server {:mvn/version "17.0.2-0"}
|
||||
cljsjs/create-react-class {:mvn/version "15.6.3-1"}
|
||||
cljs-ajax/cljs-ajax {:mvn/version "0.8.3"}
|
||||
qlkit/qlkit {:git/url "https://github.com/kloimhardt/qlkit"
|
||||
:sha "fc925a96af4d5460470414ea9bab83ff0548fe62"}
|
||||
}
|
||||
qlkit/qlkit {:mvn/version "0.5.0-SNAPSHOT"}}
|
||||
|
||||
:aliases
|
||||
{:dev
|
||||
|
|
|
|||
|
|
@ -27,11 +27,4 @@
|
|||
:build-hooks [(shadow.cljs.build-report/hook)]
|
||||
:output-dir "resources/public/js"
|
||||
:devtools {:repl-pprint true}
|
||||
:compiler-options {:optimizations :advanced
|
||||
:pseudo-names false}}}}
|
||||
|
||||
;; simple optimization because sablono.interpreter line 22
|
||||
;; cljs: (.setState component next-state)
|
||||
;; simple: a.setState(f)
|
||||
;; advanced: a.Ci(f)
|
||||
;; and this Ci throws a "not defined" error
|
||||
:compiler-options {:externs ["src/scittle/qlkit-externs.js"]}}}}
|
||||
|
|
|
|||
2
src/scittle/qlkit-externs.js
Normal file
2
src/scittle/qlkit-externs.js
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
var Component = {};
|
||||
Component.setState = function () {};
|
||||
|
|
@ -5,8 +5,22 @@
|
|||
|
||||
(def qns (sci/create-ns 'qlkit.core nil))
|
||||
|
||||
;;directly copy-pasted from sourcecode of qlkit.core
|
||||
(defn ^:macro defcomponent* [form env nam & bodies]
|
||||
(apply ql/defcomponent+ form env nam bodies))
|
||||
(doseq [[nam] bodies]
|
||||
(when-not ('#{state query render component-did-mount component-will-unmount component-will-receive-props} nam)
|
||||
(throw (ex-info (str "Unknown component member " nam) {}))))
|
||||
`(let [key# (keyword ~(str (:name (:ns env))) ~(name nam))] ;;env is {} in scittle, thus (:ns env) is nil, thus component names are not namespaced names
|
||||
(def ~nam key#)
|
||||
(#'qlkit.core/add-class key#
|
||||
~(into {:display-name (name nam)}
|
||||
(for [[nam & more :as body] bodies]
|
||||
(if ('#{state query} nam)
|
||||
[(keyword nam)
|
||||
(last more)]
|
||||
[(keyword nam)
|
||||
`(fn ~(first more)
|
||||
~@(rest more))]))))))
|
||||
|
||||
(def qlkit-namespace
|
||||
{'add-class (sci/copy-var ql/add-class qns)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue