Add simulation
This commit is contained in:
parent
23d3a2db2a
commit
9e2f590e3c
|
@ -391,3 +391,58 @@
|
|||
(re-frame/subscribe [:chats/chat chat-id]))
|
||||
:->
|
||||
:image)
|
||||
|
||||
(comment
|
||||
;; Create a large list of chats
|
||||
(def total-chats 200)
|
||||
(def chat' (first (vals (:chats @re-frame.db/app-db))))
|
||||
|
||||
(let [new-chats (->> (repeat total-chats chat')
|
||||
(map (fn [chat]
|
||||
(-> chat
|
||||
(assoc :chat-id (str (random-uuid)))
|
||||
(assoc-in [:last-message :content :text]
|
||||
(str "Initial " (str (random-uuid)))))))
|
||||
(utils.collection/index-by :chat-id))]
|
||||
(swap! re-frame.db/app-db assoc
|
||||
:chats new-chats
|
||||
:chats-home-list (set (keys new-chats))))
|
||||
|
||||
;; Check the update works for one.
|
||||
(swap! re-frame.db/app-db assoc-in
|
||||
[:chats
|
||||
(:chat-id (nth (vals (:chats @re-frame.db/app-db)) 0))
|
||||
:last-message
|
||||
:content
|
||||
:text]
|
||||
(str (rand-int 10000)))
|
||||
|
||||
;; Randomly update individual chats.
|
||||
(def interval-id
|
||||
(atom
|
||||
(js/setInterval
|
||||
(fn []
|
||||
(let [chats (vals (:chats @re-frame.db/app-db))
|
||||
rand-index (rand-int (dec (count chats)))
|
||||
rand-chat (nth chats rand-index)]
|
||||
(swap! re-frame.db/app-db
|
||||
(fn [db]
|
||||
(-> db
|
||||
(assoc-in [:chats
|
||||
(:chat-id rand-chat)
|
||||
:last-message
|
||||
:content
|
||||
:text]
|
||||
(str (rand-int 10000)))
|
||||
(assoc-in [:chats
|
||||
(:chat-id rand-chat)
|
||||
:timestamp]
|
||||
(utils.datetime/timestamp)))))))
|
||||
;; Exagerate the frequency of updates, but even longer delays will cause problems in
|
||||
;; `develop`.
|
||||
1000)))
|
||||
|
||||
(do
|
||||
(js/clearInterval @interval-id)
|
||||
(reset! interval-id nil))
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue