Skip to content

Commit

Permalink
Merge branch 'master' into enhance/refacotr-ui-x-menu
Browse files Browse the repository at this point in the history
  • Loading branch information
xyhp915 committed Jan 30, 2024
2 parents c1e5135 + 03d4b27 commit a6beee3
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 3 deletions.
18 changes: 17 additions & 1 deletion src/main/frontend/mobile/mobile_bar.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,21 @@
[goog.dom :as gdom]
[rum.core :as rum]))


(defn- blur-if-compositing
"Call blur on the textarea if it is in composition mode, let the IME commit the composing text"
[]
(when-let [edit-input-id (and (state/editor-in-composition?)
(state/get-edit-input-id))]
(let [textarea-el (gdom/getElement edit-input-id)]
(.blur textarea-el))))

(rum/defc indent-outdent [indent? icon]
[:div
[:button.bottom-action
{:on-mouse-down (fn [e]
(util/stop e)
(blur-if-compositing)
(editor-handler/indent-outdent indent?))}
(ui/icon icon {:size ui/icon-size})]])

Expand Down Expand Up @@ -91,7 +101,13 @@
(command #(if (state/sub :document/mode?)
(editor-handler/insert-new-block! nil)
(commands/simple-insert! parent-id "\n" {})) {:icon "arrow-back"})
(command editor-handler/cycle-todo! {:icon "checkbox"} true)
;; On mobile devies, some IME(keyboard) uses composing mode.
;; The composing text can be committed by losing focus.
;; 100ms is enough to commit the composing text to db.
(command #(do
(blur-if-compositing)
(editor-handler/cycle-todo!))
{:icon "checkbox"} true)
(command #(mobile-camera/embed-photo parent-id) {:icon "camera"} true)
(command history/undo! {:icon "rotate" :class "rotate-180"} true)
(command history/redo! {:icon "rotate-clockwise" :class "rotate-180"} true)
Expand Down
21 changes: 19 additions & 2 deletions src/main/frontend/search/db.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,10 @@
(some-> content
(util/search-normalize (state/enable-search-remove-accents?))))

(defn block->index
"Convert a block to the index for searching"
(defn- strict-block->index
"Convert a block to the index for searching.
Applies full text preprocessing to the content, including removing built-in properties"
[{:block/keys [uuid page content format] :as block
:or {format :markdown}}]
(when-not (> (count content) (max-len))
Expand All @@ -32,6 +34,21 @@
:page page
:content (sanitize content)}))))

(defn- loose-block->index
"Convert a block to the index for searching
For speed, applies no preprocessing to the content"
[{:block/keys [uuid page content] :as block}]
(when-not (string/blank? content)
{:id (:db/id block)
:uuid (str uuid)
:page page
:content content}))

(defonce block->index (if (util/electron?)
strict-block->index
loose-block->index))

(defn page->index
"Convert a page name to the index for searching (page content level)
Generate index based on the DB content AT THE POINT OF TIME"
Expand Down

0 comments on commit a6beee3

Please sign in to comment.