mirror of https://github.com/logseq/logseq
refactor: simplify handlers
parent
cdd9ab8950
commit
e7809900a7
|
@ -17,7 +17,9 @@ dummy.getRangeAt = function() {};
|
||||||
dummy.getElementsByClassName = function() {};
|
dummy.getElementsByClassName = function() {};
|
||||||
dummy.containsNode = function() {};
|
dummy.containsNode = function() {};
|
||||||
dummy.select = function() {};
|
dummy.select = function() {};
|
||||||
|
dummy.closest = function () {};
|
||||||
dummy.setAttribute = function() {};
|
dummy.setAttribute = function() {};
|
||||||
|
dummy.getAttribute = function() {};
|
||||||
dummy.font = function() {};
|
dummy.font = function() {};
|
||||||
dummy.measureText = function() {};
|
dummy.measureText = function() {};
|
||||||
dummy.fillStyle = function() {};
|
dummy.fillStyle = function() {};
|
||||||
|
|
|
@ -162,34 +162,28 @@
|
||||||
(let [get-block-id #(and % (.getAttribute (.closest % "[blockid]") "blockid"))
|
(let [get-block-id #(and % (.getAttribute (.closest % "[blockid]") "blockid"))
|
||||||
repo (state/get-current-repo)
|
repo (state/get-current-repo)
|
||||||
local-repo? (config/local-db? repo)
|
local-repo? (config/local-db? repo)
|
||||||
sub-feat? (and local-repo? (config/local-asset? text))
|
sub-feat? (and local-repo? (config/local-asset? text))]
|
||||||
ctl-handlers {:delete
|
|
||||||
(fn [e]
|
|
||||||
(let [target (.-target e)
|
|
||||||
block-id (get-block-id target)
|
|
||||||
confirm-fn (ui/make-confirm-modal
|
|
||||||
{:title (t :asset/confirm-delete (.toLocaleLowerCase (t :text/image)))
|
|
||||||
:sub-title (if sub-feat? :asset/physical-delete "")
|
|
||||||
:sub-checkbox? sub-feat?
|
|
||||||
:on-confirm (fn [e {:keys [close-fn sub-selected]}]
|
|
||||||
(close-fn)
|
|
||||||
(editor-handler/delete-asset-of-block!
|
|
||||||
{:block-id block-id
|
|
||||||
:force-local (and sub-selected (get sub-selected 0))
|
|
||||||
:repo repo
|
|
||||||
:href text}))})]
|
|
||||||
(state/set-modal! confirm-fn)
|
|
||||||
(util/stop e)))}]
|
|
||||||
[:div.asset-container
|
[:div.asset-container
|
||||||
{:on-click (fn [e]
|
[[:span.ctl
|
||||||
(let [target (.-target e)]
|
[:a.delete
|
||||||
(some (fn [k]
|
{:title "delete"
|
||||||
(let [selector (str "." (symbol k))
|
:on-click
|
||||||
el (.closest target selector)]
|
(fn [e]
|
||||||
(when el
|
(let [target (.-target e)
|
||||||
(apply (k ctl-handlers) [e])
|
block-id (get-block-id target)
|
||||||
true))) [:delete])))}
|
confirm-fn (ui/make-confirm-modal
|
||||||
[[:span.ctl [:a.delete {:title "delete"} svg/trash-sm]]
|
{:title (t :asset/confirm-delete (.toLocaleLowerCase (t :text/image)))
|
||||||
|
:sub-title (if sub-feat? :asset/physical-delete "")
|
||||||
|
:sub-checkbox? sub-feat?
|
||||||
|
:on-confirm (fn [e {:keys [close-fn sub-selected]}]
|
||||||
|
(close-fn)
|
||||||
|
(editor-handler/delete-asset-of-block!
|
||||||
|
{:block-id block-id
|
||||||
|
:force-local (and sub-selected (get sub-selected 0))
|
||||||
|
:repo repo
|
||||||
|
:href text}))})]
|
||||||
|
(state/set-modal! confirm-fn)
|
||||||
|
(util/stop e)))} svg/trash-sm]]
|
||||||
child]])))
|
child]])))
|
||||||
|
|
||||||
(rum/defcs asset-link < rum/reactive
|
(rum/defcs asset-link < rum/reactive
|
||||||
|
|
Loading…
Reference in New Issue