diff options
| -rw-r--r-- | src/clarktown/renderers/list_block.clj | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/clarktown/renderers/list_block.clj b/src/clarktown/renderers/list_block.clj index 27ca72a..8632643 100644 --- a/src/clarktown/renderers/list_block.clj +++ b/src/clarktown/renderers/list_block.clj @@ -57,13 +57,15 @@ (->> items (mapv (fn [i] - (if (= (:id i) (:parent item)) - (if (:items i) - (assoc i :items (concat (:items i) [item])) - (assoc i :items [item])) - (if (:items i) - (assoc i :items (add-to-parent (:items i) item)) - i)))))) + (let [new-item {:id (:id item) + :value (:value item)}] + (if (= (:id i) (:parent item)) + (if (:items i) + (assoc i :items (concat (:items i) [new-item])) + (assoc i :items [new-item])) + (if (:items i) + (assoc i :items (add-to-parent (:items i) item)) + i))))))) (defn compose-item-tree |
