1
0
Fork 0
mirror of https://github.com/heyarne/airsonic-ui.git synced 2026-05-06 18:33:38 +02:00

Add option to toggle a modal

This commit is contained in:
Arne Schlüter 2019-01-30 18:15:12 +01:00
commit 3c6c788c56
2 changed files with 19 additions and 3 deletions

View file

@ -10,3 +10,11 @@
(update db :bulma dissoc :visible-modal))
(rf/reg-event-db ::hide hide-modal)
(defn toggle-modal [db [_ modal-id]]
(let [visible-modal (get-in db [:bulma :visible-modal])]
(if (= visible-modal modal-id)
(hide-modal db [::hide])
(show-modal db [::show modal-id]))))
(rf/reg-event-db ::toggle toggle-modal)

View file

@ -23,6 +23,14 @@
(ev/hide-modal [::ev/hide]))]
(is (not (some? (sub/visible-modal new-db [::sub/visible-modal]))))))
(testing "Should tell us about the visibility of a modal with a predicate"
(is (-> (ev/show-modal {} [::ev/show :getting-repetitive])
(sub/visible-modal [::sub/visible-modal])
(sub/visible? [::sub/visible? :getting-repetitive])))))
(is (true? (-> (ev/show-modal {} [::ev/show :getting-repetitive])
(sub/visible-modal [::sub/visible-modal])
(sub/visible? [::sub/visible? :getting-repetitive])))))
(testing "Modal toggling"
(is (true? (-> (ev/toggle-modal {} [::ev/toggle :some-generic-modal])
(sub/visible-modal [::sub/visible-modal])
(sub/visible? [::sub/visible? :some-generic-modal]))))
(is (not (true? (-> (ev/toggle-modal {} [::ev/toggle :some-generic-modal])
(ev/toggle-modal [::ev/toggle :some-generic-modal])
(sub/visible-modal [::sub/visible-modal])
(sub/visible? [::sub/visible? :some-generic-modal])))))))