mirror of https://github.com/status-im/pluto.git
Fixed incorrect env resolution for querie
This commit is contained in:
parent
c502b85fe7
commit
374bba614d
|
@ -1,10 +1,11 @@
|
|||
(ns pluto.components.html)
|
||||
(ns pluto.components.html
|
||||
(:require [re-frame.core :as re-frame]))
|
||||
|
||||
(defn view [props & content]
|
||||
(into [:div props] content))
|
||||
|
||||
(defn button [{:keys [on-click]} & content]
|
||||
(into [:button {:on-click on-click}] content))
|
||||
(into [:button {:on-click #(re-frame/dispatch on-click)}] content))
|
||||
|
||||
(defn text [props & content]
|
||||
(into [:span props] content))
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
(:refer-clojure :exclude [resolve])
|
||||
(:require [clojure.string :as string]
|
||||
[clojure.set :as set]
|
||||
[re-frame.core :as re-frame]
|
||||
[pluto.reader.errors :as errors]
|
||||
[pluto.reader.reference :as reference]))
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
(ns pluto.reader.views
|
||||
(:require [clojure.spec.alpha :as spec]
|
||||
[re-frame.core :as re-frame]
|
||||
[pluto.reader.blocks :as blocks]
|
||||
[pluto.reader.destructuring :as destructuring]
|
||||
[pluto.reader.errors :as errors]
|
||||
|
@ -9,9 +8,6 @@
|
|||
[pluto.reader.types :as types]
|
||||
[pluto.utils :as utils]))
|
||||
|
||||
;; TODO Distinguish views (can contain blocks, symbols) validation
|
||||
;; from hiccup validation (view after parsing) that are pure hiccup
|
||||
|
||||
(spec/def ::form
|
||||
(spec/or
|
||||
:string string?
|
||||
|
@ -41,7 +37,7 @@
|
|||
|
||||
(defn- resolve-component [ctx o]
|
||||
(cond
|
||||
(fn? o) o
|
||||
(fn? o) o ;; TODO better abstract blocks
|
||||
(symbol? o) (get-in ctx [:capacities :components o :value])))
|
||||
|
||||
(defmulti resolve-default-component-properties
|
||||
|
@ -54,17 +50,11 @@
|
|||
(defmethod resolve-default-component-properties :default [_ value]
|
||||
nil)
|
||||
|
||||
(defn resolve-existing-component-property-type [ctx ext type v]
|
||||
(let [{:keys [data errors] :as t} (types/resolve ctx ext type v)]
|
||||
(if (= :event type)
|
||||
(errors/merge-errors {:data #(re-frame/dispatch data)} errors)
|
||||
t)))
|
||||
|
||||
(defn resolve-custom-component-properties [ctx ext component k v]
|
||||
(if-let [type (get-in ctx [:capacities :components component :properties k])]
|
||||
(if-not (and (types/reference-types type) (not= :event type))
|
||||
;; TODO Infer symbol types and fail if type does not match
|
||||
(if (symbol? v) v (resolve-existing-component-property-type ctx ext type v))
|
||||
(if (symbol? v) v (types/resolve ctx ext type v))
|
||||
{:errors [(errors/error ::errors/invalid-component-property-type {:component component :property k :type type})]})
|
||||
{:errors [(errors/error ::errors/unknown-component-property {:component component :property k})]}))
|
||||
|
||||
|
|
Loading…
Reference in New Issue