Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (defn display-song [song]
- ^{:key (:id (key song))} [clickable-link {:id (key song) :title (:title (val song))}])
- (defn display-album [album-name album-id]
- (r/with-let [opened (r/atom false)]
- (let [album-id2 "jee"]
- (fn [] [:ul {:on-click #((swap! opened not)
- (when-not ((keyword @album-id) @album-songs)
- (GET (str "/song/album/" @album-id)
- {:handler (fn [response]
- (swap! album-songs assoc (keyword @album-id) (js->clj response)))
- :error-handler error-handler})))}
- album-name
- (when @opened
- (for [song (sort-by #(js/parseInt (:track-number (second %))) (filter #(= album-name (:album (second %))) ((keyword "3") @album-songs)))]
- [display-song song]))]))))
- (defn show-albums []
- [:div
- (let [songs (:songs @files)]
- (doall (for [album (sort-by :name @albums)]
- (let [album-id (r/atom (:id album))]
- [display-album (:name album) album-id]))))])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement