 
 (defmulti element-component dispatch-on-element-type)
 
-
 (defmethod element-component :text [elem owner]
   (reify
     om/IRenderState
     (render-state [_ state]
       (dom/span #js {:className "xml-text-element"} elem))))
 
+
+
+(defmethod element-component :elem-no-edit [elem owner]
+  (reify
+    om/IRender
+    (render [_]
+      (dom/div #js {:className
+                    (str "xml-" (name (:tag elem)) " tei-block col-md-12 no-edit")}
+        (dom/div #js {:className "row"}
+          (dom/div #js {:className "block-data col-md-1"}
+            (dom/div #js {:className "name"} (name (:tag elem)))
+            (om/build element-attributes-component (:attrs elem)))
+          (when (pos? (count (:content elem)))
+            (apply dom/div #js {:className "block-contents col-md-10"}
+              (om/build-all element-component (:content elem)))))))))
+
+
 (defmethod element-component :elem [elem owner]
+  "This is for editable nodes, assumes :edit-type is :edit."
   (reify
     om/IInitState
     (init-state [_] {:hoverTimeout nil

           (apply dom/div #js {:className "block-contents col-md-10"}
             (om/build-all element-component (:content elem)))))))))


(defmethod element-component :inner-elem [elem owner]
  (reify
    om/IRender

      (and
        (contains? val :content)
        (contains? val :tag))
      (let [el-type (get-in mk/markup [(:tag val) :type])
            edit-type (:edit-type val)]
        (cond
          (= :unknown-element edit-type)
          :unknown-element

          (#{:container :multi-chunk :chunk} el-type)
          (if (= edit-type :no-text-edit)
            :elem-no-edit
            :elem)

          (= :inner el-type)
          :inner-elem
