mirror of https://github.com/logseq/logseq
fix: slow tags selection
parent
7a22616a9e
commit
337ba18715
|
@ -301,11 +301,9 @@
|
|||
{:on-click (toggle-fn' toggle-fn)}
|
||||
[:div.ml-1.text-sm "Add tags"]])
|
||||
(fn [{:keys [toggle-fn]}]
|
||||
[:div.p-4.h-96.w-96
|
||||
[:div.font-medium.mb-2 "Add tags"]
|
||||
(pv/property-value page tags-property nil {:add-new-item? true
|
||||
:on-chosen (toggle-fn' toggle-fn)
|
||||
:dropdown? false})])
|
||||
:dropdown? false}))
|
||||
{:modal-class (util/hiccup->class
|
||||
"origin-top-right.absolute.left-0.mt-2.rounded-md.shadow-lg")
|
||||
:on-toggle (fn [value]
|
||||
|
|
|
@ -415,24 +415,25 @@
|
|||
(add-property!)))}))
|
||||
;; :others
|
||||
(if editing?
|
||||
(let [dropdown? (if-some [x dropdown?] x true)]
|
||||
[:div.flex.flex-1
|
||||
(case type
|
||||
(list :number :url)
|
||||
[:div.h-6 (select block property (assoc select-opts
|
||||
(select block property (assoc select-opts
|
||||
:multiple-choices? multiple-values?
|
||||
:dropdown? true))]
|
||||
:dropdown? dropdown?))
|
||||
|
||||
:page
|
||||
[:div.h-6 (select-page block property (assoc select-opts
|
||||
(select-page block property (assoc select-opts
|
||||
:classes (:classes schema)
|
||||
:multiple-choices? multiple-values?
|
||||
:dropdown? true))]
|
||||
:dropdown? dropdown?))
|
||||
|
||||
(let [config {:editor-opts (new-text-editor-opts repo block property value editor-id)}]
|
||||
[:div
|
||||
(editor-box editor-args editor-id (cond-> config
|
||||
multiple-values?
|
||||
(assoc :property-value value)))]))]
|
||||
(assoc :property-value value)))]))])
|
||||
(let [class (str (when-not row? "flex flex-1 ")
|
||||
(when multiple-values? "property-value-content"))]
|
||||
[:div {:id (or dom-id (random-uuid))
|
||||
|
@ -527,7 +528,9 @@
|
|||
(atom (boolean (:add-new-item? (nth (:rum/args state) 3))))
|
||||
::show-add?
|
||||
(atom (boolean (:show-add? (nth (:rum/args state) 3))))))}
|
||||
[state block property v {:keys [on-chosen] :as opts} dom-id schema editor-id editor-args]
|
||||
[state block property v {:keys [on-chosen dropdown?] :as opts
|
||||
:or {dropdown? true}}
|
||||
dom-id schema editor-id editor-args]
|
||||
(let [*show-add? (::show-add? state)
|
||||
*add-new-item? (::add-new-item? state)
|
||||
type (get schema :type :default)
|
||||
|
@ -560,16 +563,7 @@
|
|||
:on-mouse-out #(reset! *show-add? false)}
|
||||
|
||||
(when (seq items)
|
||||
(if select-type?
|
||||
(ui/dropdown
|
||||
(fn [{:keys [toggle-fn]}]
|
||||
[:div.cursor-pointer
|
||||
{:on-mouse-down (fn [e]
|
||||
(util/stop e)
|
||||
(toggle-fn))
|
||||
:class "flex flex-1 flex-row items-center flex-wrap gap-2"}
|
||||
values-cp])
|
||||
(fn [{:keys [_toggle-fn]}]
|
||||
(let [select-cp (fn []
|
||||
(let [select-opts {:on-chosen (fn []
|
||||
(when *add-new-item? (reset! *add-new-item? false))
|
||||
(when on-chosen (on-chosen)))}]
|
||||
|
@ -581,10 +575,21 @@
|
|||
:dropdown? false))
|
||||
(select block property (assoc select-opts
|
||||
:multiple-choices? true
|
||||
:dropdown? false)))]))
|
||||
:dropdown? false)))]))]
|
||||
(if select-type?
|
||||
(ui/dropdown
|
||||
(fn [{:keys [toggle-fn]}]
|
||||
[:div.cursor-pointer
|
||||
{:on-mouse-down (fn [e]
|
||||
(util/stop e)
|
||||
(toggle-fn))
|
||||
:class "flex flex-1 flex-row items-center flex-wrap gap-2"}
|
||||
values-cp])
|
||||
(fn [{:keys [_toggle-fn]}]
|
||||
(select-cp))
|
||||
{:modal-class (util/hiccup->class
|
||||
"origin-top-right.absolute.left-0.rounded-md.shadow-lg.mt-2")})
|
||||
values-cp))
|
||||
values-cp)))
|
||||
|
||||
(cond
|
||||
(rum/react *add-new-item?)
|
||||
|
|
Loading…
Reference in New Issue