 
 (defn label-view
   [conn pull-expr attr-ident]
-  [re-com/label
-   :style {:font-size "14px"
-           :font-weight "bold"}
-   :label
-   ;; XXX Again, should be pull-based
-   (or @(posh/q conn '[:find ?attr-label .
-                       :in $ ?attr-ident
-                       :where [?attr :db/ident ?attr-ident]
-                              [?attr :attribute/label ?attr-label]]
-                attr-ident)
-       (lablify-attr-ident attr-ident))])
+  (when attr-ident
+    [re-com/label
+     :style {:font-size "14px"
+             :font-weight "bold"}
+     :label
+     ;; XXX Again, should be pull-based
+     (or @(posh/q conn '[:find ?attr-label .
+                         :in $ ?attr-ident
+                         :where [?attr :db/ident ?attr-ident]
+                                [?attr :attribute/label ?attr-label]]
+                  attr-ident)
+         (lablify-attr-ident attr-ident))]))
 
 
 

  ;(s/protocol)) 

;; Should actually try to tackle this


(def default-box-style
  {:border "2px solid grey"
   :margin "7px"
   :background-color "#E5FFF6"})

(def default-pull-data-view-style
  (merge h-box-styles
         default-box-style
         {:padding "15px 15px"
          :width "100%"}))

;(s/defn pull-data-view :- Hiccup
  ;"Given a DS connection, a datview pull-expression and data from that pull expression (possibly as a reaction),

                      ;[value-view conn attr-ident value]))]])))


;; ## Security

;; All messages have signatures; or can
