Skip to content
This repository was archived by the owner on Jun 9, 2023. It is now read-only.

Commit ba908cf

Browse files
committed
Change text if argument is attacking
1 parent b0db07d commit ba908cf

File tree

2 files changed

+54
-53
lines changed

2 files changed

+54
-53
lines changed

src/discuss/references/main.cljs

Lines changed: 43 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
(s/def ::id pos-int?)
2323
(s/def ::reference
2424
(s/and
25-
#(instance? Reference %)
26-
(s/keys :req-un [::id ::comlib/text ::comlib/url])))
25+
#(instance? Reference %)
26+
(s/keys :req-un [::id ::comlib/text ::comlib/url])))
2727

2828
;;;; Handlers & Queries
2929
(defn- reference-usage-handler
@@ -66,66 +66,66 @@
6666
(query [this] [:uid :author :issue :conclusion :premise])
6767
Object
6868
(render [this]
69-
(let [{:keys [uid author issue texts]} (om/props this)
70-
intro (textref/reference-usage-intro (:nickname author) (:conclusion texts) (:premise texts) (:attacks texts))]
71-
(html [:div.bs-callout.bs-callout-info
72-
[:div.pull-right
73-
(bs/button-default-sm #(comlib/jump-to-argument (:slug issue) uid)
74-
(vlib/fa-icon "fa-comment-o"))]
75-
[:a {:href "javascript:void(0)"
76-
:onClick #(comlib/jump-to-argument (:slug issue) uid)}
77-
[:strong (vlib/safe-html intro)]]
78-
[:div (t :common :author) ": " (:nickname author)]
79-
[:div (t :common :issue) ": " (:title issue)]]))))
69+
(let [{:keys [uid author issue texts is_supportive]} (om/props this)
70+
intro (textref/reference-usage-intro (:nickname author) (:conclusion texts) (:premise texts) (:attacks texts) is_supportive)]
71+
(html [:div.bs-callout.bs-callout-info
72+
[:div.pull-right
73+
(bs/button-default-sm #(comlib/jump-to-argument (:slug issue) uid)
74+
(vlib/fa-icon "fa-comment-o"))]
75+
[:a {:href "javascript:void(0)"
76+
:onClick #(comlib/jump-to-argument (:slug issue) uid)}
77+
[:strong (vlib/safe-html intro)]]
78+
[:div (t :common :author) ": " (:nickname author)]
79+
[:div (t :common :issue) ": " (:title issue)]]))))
8080
(def reference-usage-for-single-argument (om/factory ReferenceUsageForSingleArgumentView {:keyfn :uid}))
8181

8282
(defui ReferenceUsagesForArgumentsView
8383
static om/IQuery
8484
(query [this] [:arguments])
8585
Object
8686
(render [this]
87-
(let [{:keys [arguments]} (om/props this)]
88-
(html [:div
89-
(map reference-usage-for-single-argument arguments)]))))
87+
(let [{:keys [arguments]} (om/props this)]
88+
(html [:div
89+
(map reference-usage-for-single-argument arguments)]))))
9090
(def reference-usages-for-arguments (om/factory ReferenceUsagesForArgumentsView {:keyfn :arguments}))
9191

9292
(defui UsagesView
9393
"Complete list of all references and all their usages in their arguments."
9494
static om/IQuery
9595
(query [this]
96-
[:references/usages :references/selected])
96+
[:references/usages :references/selected])
9797
Object
9898
(render [this]
99-
(let [{:keys [references/usages references/selected]} (om/props this)]
100-
(html [:div
101-
(if-not (empty? selected)
102-
[:div
103-
(vlib/view-header (t :references :usages/view-heading))
104-
[:p.text-center (t :references :usages/lead)]
105-
[:div.text-center
106-
[:p [:em.text-info (format "\"%s\"" (:text selected))]]
107-
[:div.btn.btn-primary {:onClick (fn [_e]
108-
(lib/save-selection! (:text selected))
109-
(lib/change-view! :create/argument))}
110-
(t :create/argument :short)]]
111-
(when (seq usages)
112-
[:div
113-
[:hr]
114-
[:p.text-center (t :references :usages/list) "."]
115-
(reference-usages-for-arguments usages)])]
116-
[:div.text-center
117-
(vlib/view-header (t :references :usages/not-found-lead))
118-
[:p (t :references :usages/not-found-body) "."]])]))))
99+
(let [{:keys [references/usages references/selected]} (om/props this)]
100+
(html [:div
101+
(if-not (empty? selected)
102+
[:div
103+
(vlib/view-header (t :references :usages/view-heading))
104+
[:p.text-center (t :references :usages/lead)]
105+
[:div.text-center
106+
[:p [:em.text-info (format "\"%s\"" (:text selected))]]
107+
[:div.btn.btn-primary {:onClick (fn [_e]
108+
(lib/save-selection! (:text selected))
109+
(lib/change-view! :create/argument))}
110+
(t :create/argument :short)]]
111+
(when (seq usages)
112+
[:div
113+
[:hr]
114+
[:p.text-center (t :references :usages/list) "."]
115+
(reference-usages-for-arguments usages)])]
116+
[:div.text-center
117+
(vlib/view-header (t :references :usages/not-found-lead))
118+
[:p (t :references :usages/not-found-body) "."]])]))))
119119
(def usages-view-next (om/factory UsagesView))
120120

121121
(defui ReferenceView
122122
"Nested reference link in text."
123123
Object
124124
(render [this]
125-
(let [{:keys [text url id dom-pre dom-post]} (om/props this)]
126-
(html [:span
127-
[:span dom-pre]
128-
[:span.arguments.pointer {:onClick #(click-reference (Reference. id text url))}
129-
text " " (vlib/logo)]
130-
[:span dom-post]]))))
125+
(let [{:keys [text url id dom-pre dom-post]} (om/props this)]
126+
(html [:span
127+
[:span dom-pre]
128+
[:span.arguments.pointer {:onClick #(click-reference (Reference. id text url))}
129+
text " " (vlib/logo)]
130+
[:span dom-post]]))))
131131
(def reference (om/factory ReferenceView))

src/discuss/texts/references.cljs

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,22 @@
1616

1717
(defn- argument-text
1818
"Given a conclusion and premise, construct a string representing an argument."
19-
[nickname conclusion premise]
20-
(format "%s %s %s, %s %s."
21-
nickname
22-
(t :common :argue/that)
23-
(textlib/highlight-conclusion conclusion)
24-
(t :common :because)
25-
(textlib/highlight-premise premise)))
19+
[nickname conclusion premise is_supportive]
20+
(let [supportive-translation (if is_supportive :argue/that :argue/con)]
21+
(format "%s %s %s, %s %s."
22+
nickname
23+
(t :common supportive-translation)
24+
(textlib/highlight-conclusion conclusion)
25+
(t :common :because)
26+
(textlib/highlight-premise premise))))
2627

2728
(defn reference-usage-intro
2829
"Construct reference usage intro. If attacks are provided, the target attack is
2930
an argument itself, which makes the whole attack an undercut."
30-
[nickname conclusion premise attacks]
31+
[nickname conclusion premise attacks is_supportive]
3132
(if (seq attacks)
3233
(undercut-text nickname premise attacks)
33-
(argument-text nickname conclusion premise)))
34+
(argument-text nickname conclusion premise is_supportive)))
3435

3536
(s/def ::nickname string?)
3637
(s/def ::conclusion string?)
@@ -39,7 +40,7 @@
3940
(s/def ::undercut string?)
4041

4142
(s/fdef reference-usage-intro
42-
:args (s/cat :nickname ::nickname :conclusion ::conclusion :premise ::premise :attacks ::attacks)
43+
:args (s/cat :nickname ::nickname :conclusion ::conclusion :premise ::premise :attacks ::attacks :is_supportive string?)
4344
:ret string?)
4445

4546
(s/fdef argument-text

0 commit comments

Comments
 (0)