Advertisement
Guest User

Untitled

a guest
Jan 9th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (defn display-song [song]
  2.   ^{:key (:id (key song))} [clickable-link {:id (key song) :title (:title (val song))}])
  3.  
  4. (defn display-album [album-name album-id]
  5.   (r/with-let [opened (r/atom false)]
  6.     (let [album-id2 "jee"]
  7.       (fn [] [:ul {:on-click #((swap! opened not)
  8.                         (when-not ((keyword @album-id) @album-songs)
  9.                           (GET (str "/song/album/" @album-id)
  10.                                {:handler (fn [response]
  11.                                            (swap! album-songs assoc (keyword @album-id) (js->clj response)))
  12.                                 :error-handler error-handler})))}
  13.        album-name
  14.        (when @opened
  15.          (for [song (sort-by #(js/parseInt (:track-number (second %))) (filter #(= album-name (:album (second %))) ((keyword "3") @album-songs)))]
  16.            [display-song song]))]))))
  17.  
  18. (defn show-albums []
  19.   [:div
  20.    (let [songs (:songs @files)]
  21.      (doall (for [album (sort-by :name @albums)]
  22.               (let [album-id (r/atom (:id album))]
  23.                 [display-album (:name album) album-id]))))])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement