Skip to content

Commit

Permalink
feat(filters): css tweaks
Browse files Browse the repository at this point in the history
  • Loading branch information
tiensonqin committed Mar 5, 2021
1 parent 093faa1 commit 1df15ca
Show file tree
Hide file tree
Showing 5 changed files with 43 additions and 17 deletions.
15 changes: 8 additions & 7 deletions src/main/frontend/components/reference.cljs
Expand Up @@ -32,8 +32,8 @@
(for [reference references]
(let [filtered (get (rum/react filter-state) reference)
color (condp = filtered
true "text-green-500"
false "text-red-500"
true "text-green-400"
false "text-red-400"
nil)]
[:button.border.rounded.px-1 {:key reference :class color :style {:border-color "currentColor"}
:on-click (fn [e]
Expand Down Expand Up @@ -101,13 +101,14 @@
[:h2.font-bold.opacity-50 (let []
(str n-ref " Linked Reference"
(if (> n-ref 1) "s")))]
[:a {:title "Filter"
:on-click #(state/set-modal! (filter-dialog references page-name))}
[:a.opacity-50.hover:opacity-100
{:title "Filter"
:on-click #(state/set-modal! (filter-dialog references page-name))}
(svg/filter-icon (cond
(empty? filter-state) nil
(every? true? (vals filter-state)) "text-green-500"
(every? false? (vals filter-state)) "text-red-500"
:else "text-yellow-200"))]]
(every? true? (vals filter-state)) "text-green-400"
(every? false? (vals filter-state)) "text-red-400"
:else "text-yellow-400"))]]

[:div.references-blocks
(let [ref-hiccup (block/->hiccup filtered-ref-blocks
Expand Down
28 changes: 26 additions & 2 deletions src/main/frontend/db/model.cljs
Expand Up @@ -923,6 +923,28 @@
(remove (fn [block] (contains? childrens (:db/id block))) blocks)
blocks)))

(defonce *blocks (atom nil))
(defn with-children-refs
[repo blocks]
(reset! *blocks blocks)
(when-let [conn (conn/get-conn repo)]
(when (seq blocks)
(let [block-ids (set (map :db/id blocks))
refs (d/q
'[:find ?p ?ref
:in $ % ?block-ids
:where
(parent ?p ?b)
[(contains? ?block-ids ?p)]
[?b :block/ref-pages ?ref]]
conn
rules
block-ids)
refs (->> (group-by first refs)
(medley/map-vals #(set (map (fn [[_ id]] {:db/id id}) %))))]
(map (fn [block] (assoc block :block/children-refs
(get refs (:db/id block)))) blocks)))))

(defn get-page-referenced-blocks
([page]
(get-page-referenced-blocks (state/get-current-repo) page))
Expand Down Expand Up @@ -959,13 +981,15 @@
db-utils/seq-flatten
(remove (fn [block]
(= page-id (:db/id (:block/page block)))))
(remove-children!)
(with-children-refs repo)
sort-blocks
db-utils/group-by-page
(map (fn [[k blocks]]
(let [k (if (contains? aliases (:db/id k))
(assoc k :page/alias? true)
k)]
[k (remove-children! blocks)]))))]
[k blocks]))))]
result)))))

(defn get-date-scheduled-or-deadlines
Expand Down Expand Up @@ -1283,4 +1307,4 @@
[(contains? ?refs ?b-ref)]))]
(conn/get-conn)
rules
page-ids))
page-ids))
12 changes: 7 additions & 5 deletions src/main/frontend/handler/block.cljs
Expand Up @@ -200,11 +200,10 @@
(let [ref-pages (->> (if group-by-page?
(mapcat last ref-blocks)
ref-blocks)
(mapcat :block/ref-pages)
(mapcat (fn [b] (concat (:block/ref-pages b) (:block/children-refs b))))
(distinct)
(map :db/id)
(db/pull-many repo '[:db/id :page/name]))

ref-pages (zipmap (map :page/name ref-pages) (map :db/id ref-pages))
exclude-ids (->> (map (fn [page] (get ref-pages page)) (get filters false))
(remove nil?)
Expand All @@ -218,13 +217,16 @@
(cond->> ref-blocks
(seq exclude-ids)
(remove (fn [block]
(let [ids (set (map :db/id (:block/ref-pages block)))]
(let [ids (set (concat (map :db/id (:block/ref-pages block))
(map :db/id (:block/children-refs block))))]
(seq (set/intersection exclude-ids ids)))))

(seq include-ids)
(remove (fn [block]
(let [ids (set (map :db/id (:block/ref-pages block)))]
(empty? (set/intersection include-ids ids)))))))]
(let [ids (set (concat (map :db/id (:block/ref-pages block))
(map :db/id (:block/children-refs block))))]
(empty? (set/intersection include-ids ids)))))
))]
(if group-by-page?
(->> (map (fn [[p ref-blocks]]
[p (filter-f ref-blocks)]) ref-blocks)
Expand Down
3 changes: 1 addition & 2 deletions src/main/frontend/ui.css
Expand Up @@ -66,8 +66,7 @@
}

&-panel {
@apply relative bg-white rounded-md px-4 pt-5
pb-4 shadow-xl;
@apply relative bg-white rounded-md p-8 shadow-xl;
}

&-close {
Expand Down
2 changes: 1 addition & 1 deletion tailwind.config.js
Expand Up @@ -29,7 +29,7 @@ module.exports = {
800: '#075985',
900: '#0c4a6e',
},
red: colors.rose,
red: colors.red,
yellow: colors.amber,
orange: colors.orange,
rose: colors.rose
Expand Down

0 comments on commit 1df15ca

Please sign in to comment.