mirror of
https://github.com/unclebob/more-speech.git
synced 2024-09-30 02:21:02 +00:00
add root of thread when adding an event to a tab.
This commit is contained in:
parent
55f953b52b
commit
4676aba4ca
@ -370,6 +370,13 @@
|
||||
(should= 2 root)
|
||||
(should= 2 referent)
|
||||
(should= [1 4] mentions)))
|
||||
|
||||
(it "finds the root when only root is marked."
|
||||
(let [event {:tags [[:e (hexify 2) "" "root"]]}
|
||||
[root mentions referent] (get-references event)]
|
||||
(should= 2 root)
|
||||
(should= 2 referent)
|
||||
(should= [] mentions)))
|
||||
)
|
||||
|
||||
(describe "json"
|
||||
|
@ -5,7 +5,8 @@
|
||||
[more-speech.ui.swing.article-tree-util :refer :all]
|
||||
[more-speech.nostr.util :as util]
|
||||
[more-speech.ui.swing.ui-context :refer :all]
|
||||
[more-speech.ui.swing.article-panel :as article-panel])
|
||||
[more-speech.ui.swing.article-panel :as article-panel]
|
||||
[more-speech.ui.swing.util :as swing-util])
|
||||
(:import (javax.swing.tree DefaultMutableTreeNode)))
|
||||
|
||||
(defn hexify [n] (util/num32->hex-string n))
|
||||
@ -497,4 +498,33 @@
|
||||
_ (.add child2 (DefaultMutableTreeNode. 4))
|
||||
copied-node (copy-node node)]
|
||||
(should= [1 [2] [3 [4]]] (depict-node copied-node))))
|
||||
)
|
||||
|
||||
(describe "adding ids to tabs"
|
||||
(with-stubs)
|
||||
(it "adds an an unrooted article id to a tab"
|
||||
(let [message-id 1
|
||||
messages {message-id {:tags []}}
|
||||
event-context (atom {:text-event-map messages})
|
||||
]
|
||||
(reset! ui-context {:event-context event-context})
|
||||
(with-redefs [swing-util/add-id-to-tab (stub :add-id-to-tab)
|
||||
swing-util/relaunch (stub :relaunch)]
|
||||
(add-article-to-tab 1 "tab" nil)
|
||||
(should-have-invoked :relaunch)
|
||||
(should-have-invoked :add-id-to-tab {:with ["tab" :selected 1]}))))
|
||||
|
||||
(it "adds the root id of a thread to a tab"
|
||||
(let [message-id 1
|
||||
root-id 100
|
||||
messages {message-id {:tags [[:e (hexify root-id) "" "root"]]}}
|
||||
event-context (atom {:text-event-map messages})
|
||||
]
|
||||
(reset! ui-context {:event-context event-context})
|
||||
(with-redefs [swing-util/add-id-to-tab (stub :add-id-to-tab)
|
||||
swing-util/relaunch (stub :relaunch)]
|
||||
(add-article-to-tab message-id "tab" nil)
|
||||
(should-have-invoked :relaunch)
|
||||
(should-have-invoked :add-id-to-tab {:with ["tab" :selected root-id]})
|
||||
)))
|
||||
)
|
@ -193,6 +193,13 @@
|
||||
(prn 'get-references 'bad-tags-in-event (.getMessage e) event)
|
||||
[nil nil nil])))
|
||||
|
||||
(defn get-root-of-thread [id]
|
||||
(let [event-context (:event-context @ui-context)
|
||||
messages (:text-event-map @event-context)
|
||||
event (get messages id)
|
||||
[root _ _] (get-references event)]
|
||||
(if (some? root) root id)))
|
||||
|
||||
(defn process-references [state event]
|
||||
(let [[_ _ referent] (get-references event)]
|
||||
(if (nil? referent)
|
||||
|
@ -82,7 +82,8 @@
|
||||
|
||||
(defn add-article-to-tab [event-id tab-name _e]
|
||||
(when-let [tab-name (if-new-tab tab-name)]
|
||||
(swing-util/add-id-to-tab tab-name :selected event-id)
|
||||
(let [root-of-thread (events/get-root-of-thread event-id)]
|
||||
(swing-util/add-id-to-tab tab-name :selected root-of-thread))
|
||||
(swing-util/relaunch)))
|
||||
|
||||
(defn block-article-from-tab [event-id tab-name _e]
|
||||
|
Loading…
Reference in New Issue
Block a user