Explorar el Código

fix lint warnings

Tienson Qin hace 3 años
padre
commit
1870f44f9a

+ 1 - 1
src/main/frontend/components/block.cljs

@@ -648,7 +648,7 @@
           block-type (keyword (get-in block [:block/properties :ls-type]))
           hl-type (get-in block [:block/properties :hl-type])
           repo (state/get-current-repo)]
-      (if block
+      (if (and block (:block/content block))
         (let [title [:span {:class "block-ref"}
                      (block-content (assoc config :block-ref? true)
                                     block nil (:block/uuid block)

+ 0 - 1
src/main/frontend/components/editor.cljs

@@ -18,7 +18,6 @@
             [frontend.mixins :as mixins]
             [frontend.modules.shortcut.core :as shortcut]
             [frontend.state :as state]
-            [frontend.search.db :as search-db]
             [frontend.ui :as ui]
             [frontend.util :as util]
             [frontend.util.cursor :as cursor]

+ 0 - 1
src/main/frontend/components/search.cljs

@@ -12,7 +12,6 @@
             [frontend.extensions.pdf.assets :as pdf-assets]
             [frontend.ui :as ui]
             [frontend.state :as state]
-            [frontend.search.db :as search-db]
             [frontend.mixins :as mixins]
             [frontend.config :as config]
             [clojure.string :as string]

+ 1 - 1
src/main/frontend/db/utils.cljs

@@ -91,7 +91,7 @@
   ([tx-data]
    (transact! (state/get-current-repo) tx-data))
   ([repo-url tx-data]
-   (transact! (state/get-current-repo) tx-data nil))
+   (transact! repo-url tx-data nil))
   ([repo-url tx-data tx-meta]
    (when-not config/publishing?
      (let [tx-data (->> (util/remove-nils tx-data)

+ 1 - 22
src/main/frontend/format/block.cljs

@@ -418,26 +418,6 @@
       content
       (property/->new-properties content))))
 
-(defn- remove-indentations
-  [format level element]
-  (if (= format :org)
-    element
-    (case (first element)
-      "Paragraph"
-      ["Paragraph"
-       (let [level (if (= (ffirst (second element)) "Plain")
-                     (count (re-find #"^[\s\t]+" (second (first (second element)))))
-                     level)]
-         (->> (partition-by #(contains? #{["Break_Line"] ["Hard_Break_Line"]} %) (second element))
-             (map (fn [c]
-                    (if (and (= (ffirst c) "Plain")
-                             (>= (count (re-find #"^[\s\t]+" (second (first c)))) level))
-                      (cons ["Plain" (subs (second (first c)) level)] (rest c))
-                      c)))
-             (apply concat)))]
-
-      element)))
-
 (defn get-custom-id-or-new-id
   [properties]
   (or (when-let [custom-id (or (get-in properties [:properties :custom-id])
@@ -523,8 +503,7 @@
                 (cond
                   (paragraph-timestamp-block? block)
                   (let [timestamps (extract-timestamps block)
-                        timestamps' (merge timestamps timestamps)
-                        [timestamps others] (split-with #(= "Timestamp" (first %)) (second block))]
+                        timestamps' (merge timestamps timestamps)]
                     (recur headings (rest blocks) timestamps' properties last-pos last-level children (conj block-all-content block-content)))
 
                   (property/properties-ast? block)

+ 2 - 2
src/main/frontend/format/mldoc.cljs

@@ -10,8 +10,8 @@
             [medley.core :as medley]
             ["mldoc" :as mldoc :refer [Mldoc]]
             [linked.core :as linked]
-            [promesa.core :as p]
-            [frontend.util.pool :as pool]))
+            ;; [frontend.util.pool :as pool]
+            ))
 
 (defonce parseJson (gobj/get Mldoc "parseJson"))
 (defonce parseInlineJson (gobj/get Mldoc "parseInlineJson"))

+ 1 - 4
src/main/frontend/handler/extract.cljs

@@ -10,12 +10,9 @@
             [frontend.format.mldoc :as mldoc]
             [frontend.state :as state]
             [frontend.text :as text]
-            [frontend.utf8 :as utf8]
             [frontend.util :as util]
             [frontend.util.property :as property]
-            [lambdaisland.glogi :as log]
-            [promesa.core :as p]
-            [frontend.mobile.util :as mobile]))
+            [lambdaisland.glogi :as log]))
 
 (defn get-page-name
   [file ast]

+ 53 - 71
src/main/frontend/handler/file.cljs

@@ -104,24 +104,6 @@
                    (log/error :nfs/load-files-error repo-url)
                    (log/error :exception error))))))
 
-(defn- remove-non-exists-refs!
-  [data]
-  (let [block-ids (->> (map :block/uuid data)
-                       (remove nil?)
-                       (set))
-        keep-block-ref-f (fn [refs]
-                           (filter (fn [ref]
-                                     (cond
-                                       (and (vector? ref) (= :block/uuid (first ref)))
-                                       (let [id (second ref)]
-                                         (or (contains? block-ids id)
-                                             (db/entity [:block/uuid id])))
-                                       :else
-                                       true)) refs))]
-    (map (fn [item]
-           (update item :block/refs keep-block-ref-f))
-      data)))
-
 (defn- page-exists-in-another-file
   "Conflict of files towards same page"
   [repo-url page file]
@@ -159,41 +141,41 @@
          new? (nil? (db/entity [:file/path file]))]
      (db/set-file-content! repo-url file content)
      (let [format (format/get-format file)
-           file-content [{:file/path file}]]
-       (let [tx (if (contains? config/mldoc-support-formats format)
-                  (let [[pages blocks] (extract-handler/extract-blocks-pages repo-url file content)
-                        first-page (first pages)
-                        delete-blocks (->
-                                       (concat
-                                        (db/delete-file-blocks! repo-url file)
-                                        (when first-page (db/delete-page-blocks repo-url (:block/name first-page))))
-                                       (distinct))
-                        _ (when-let [current-file (page-exists-in-another-file repo-url first-page file)]
-                            (when (not= file current-file)
-                              (let [error (str "Page already exists with another file: " current-file ", current file: " file)]
-                                (state/pub-event! [:notification/show
-                                                   {:content error
-                                                    :status :error
-                                                    :clear? false}]))))
-                        block-ids (map (fn [block] {:block/uuid (:block/uuid block)}) blocks)
-                        block-refs-ids (->> (mapcat :block/refs blocks)
-                                            (filter (fn [ref] (and (vector? ref)
-                                                                   (= :block/uuid (first ref)))))
-                                            (map (fn [ref] {:block/uuid (second ref)}))
-                                            (seq))
-                        ;; To prevent "unique constraint" on datascript
-                        block-ids (set/union (set block-ids) (set block-refs-ids))
-                        pages (extract-handler/with-ref-pages pages blocks)
-                        pages-index (map #(select-keys % [:block/name]) pages)]
-                    ;; does order matter?
-                    (concat file-content pages-index delete-blocks pages block-ids blocks))
-                  file-content)]
-         (let [tx (concat tx [(let [t (tc/to-long (t/now))] ;; TODO: use file system timestamp?
-                                (cond->
-                                  {:file/path file}
-                                  new?
-                                  (assoc :file/created-at t)))])]
-           (db/transact! repo-url tx (when new-graph? {:new-graph? true}))))))))
+           file-content [{:file/path file}]
+           tx (if (contains? config/mldoc-support-formats format)
+                (let [[pages blocks] (extract-handler/extract-blocks-pages repo-url file content)
+                      first-page (first pages)
+                      delete-blocks (->
+                                     (concat
+                                      (db/delete-file-blocks! repo-url file)
+                                      (when first-page (db/delete-page-blocks repo-url (:block/name first-page))))
+                                     (distinct))
+                      _ (when-let [current-file (page-exists-in-another-file repo-url first-page file)]
+                          (when (not= file current-file)
+                            (let [error (str "Page already exists with another file: " current-file ", current file: " file)]
+                              (state/pub-event! [:notification/show
+                                                 {:content error
+                                                  :status :error
+                                                  :clear? false}]))))
+                      block-ids (map (fn [block] {:block/uuid (:block/uuid block)}) blocks)
+                      block-refs-ids (->> (mapcat :block/refs blocks)
+                                          (filter (fn [ref] (and (vector? ref)
+                                                                 (= :block/uuid (first ref)))))
+                                          (map (fn [ref] {:block/uuid (second ref)}))
+                                          (seq))
+                      ;; To prevent "unique constraint" on datascript
+                      block-ids (set/union (set block-ids) (set block-refs-ids))
+                      pages (extract-handler/with-ref-pages pages blocks)
+                      pages-index (map #(select-keys % [:block/name]) pages)]
+                  ;; does order matter?
+                  (concat file-content pages-index delete-blocks pages block-ids blocks))
+                file-content)
+           tx (concat tx [(let [t (tc/to-long (t/now))] ;; TODO: use file system timestamp?
+                            (cond->
+                              {:file/path file}
+                              new?
+                              (assoc :file/created-at t)))])]
+       (db/transact! repo-url tx (when new-graph? {:new-graph? true}))))))
 
 ;; TODO: Remove this function in favor of `alter-files`
 (defn alter-file
@@ -208,24 +190,24 @@
                       #(fs/write-file! repo (config/get-repo-dir repo) path content
                                        (assoc (when original-content {:old-content original-content})
                                               :skip-compare? skip-compare?)))]
-    (let [_ (if reset?
-              (do
-                (when-let [page-id (db/get-file-page-id path)]
-                  (db/transact! repo
-                    [[:db/retract page-id :block/alias]
-                     [:db/retract page-id :block/tags]]))
-                (reset-file! repo path content new-graph?))
-              (db/set-file-content! repo path content))]
-      (util/p-handle (write-file!)
-                     (fn [_]
-                       (when (= path (config/get-config-path repo))
-                         (restore-config! repo true))
-                       (when (= path (config/get-custom-css-path repo))
-                         (ui-handler/add-style-if-exists!))
-                       (when re-render-root? (ui-handler/re-render-root!)))
-                     (fn [error]
-                       (println "Write file failed, path: " path ", content: " content)
-                       (log/error :write/failed error))))))
+    (if reset?
+      (do
+        (when-let [page-id (db/get-file-page-id path)]
+          (db/transact! repo
+            [[:db/retract page-id :block/alias]
+             [:db/retract page-id :block/tags]]))
+        (reset-file! repo path content new-graph?))
+      (db/set-file-content! repo path content))
+    (util/p-handle (write-file!)
+                   (fn [_]
+                     (when (= path (config/get-config-path repo))
+                       (restore-config! repo true))
+                     (when (= path (config/get-custom-css-path repo))
+                       (ui-handler/add-style-if-exists!))
+                     (when re-render-root? (ui-handler/re-render-root!)))
+                   (fn [error]
+                     (println "Write file failed, path: " path ", content: " content)
+                     (log/error :write/failed error)))))
 
 (defn set-file-content!
   [repo path new-content]

+ 8 - 36
src/main/frontend/handler/repo.cljs

@@ -5,7 +5,6 @@
             [frontend.config :as config]
             [frontend.date :as date]
             [frontend.db :as db]
-            [frontend.db.model :as db-model]
             [frontend.dicts :as dicts]
             [frontend.encrypt :as encrypt]
             [frontend.format :as format]
@@ -27,7 +26,6 @@
             [lambdaisland.glogi :as log]
             [promesa.core :as p]
             [shadow.resource :as rc]
-            [clojure.set :as set]
             [frontend.mobile.util :as mobile-util]
             [frontend.db.persist :as db-persist]
             [electron.ipc :as ipc]))
@@ -145,35 +143,6 @@
              _ (create-custom-theme repo-url)]
        (state/pub-event! [:page/create-today-journal repo-url])))))
 
-(defn- remove-non-exists-refs!
-  [data all-block-ids]
-  (let [block-ids (->> (->> (map :block/uuid data)
-                        (remove nil?)
-                        (set))
-                       (set/union (set all-block-ids)))
-        keep-block-ref-f (fn [refs]
-                           (filter (fn [ref]
-                                     (if (and (vector? ref)
-                                              (= :block/uuid (first ref)))
-                                       (contains? block-ids (second ref))
-                                       ref)) refs))]
-    (map (fn [item]
-           (if (and (map? item)
-                    (:block/uuid item))
-             (update item :block/refs keep-block-ref-f)
-             item)) data)))
-
-(defn- reset-contents-and-blocks!
-  [repo-url files blocks-pages delete-files delete-blocks refresh?]
-  (db/transact-files-db! repo-url files)
-  (let [files (map #(select-keys % [:file/path :file/last-modified-at]) files)
-        all-data (-> (concat delete-files delete-blocks files blocks-pages)
-                     (util/remove-nils))
-        all-data (if refresh?
-                   (remove-non-exists-refs! all-data (db-model/get-all-block-uuids))
-                   (remove-non-exists-refs! all-data nil))]
-    (db/transact! repo-url all-data)))
-
 (defn- load-pages-metadata!
   [repo file-paths files]
   (try
@@ -201,14 +170,18 @@
 
 (defn- parse-files-and-create-default-files-inner!
   [repo-url files delete-files delete-blocks file-paths first-clone? db-encrypted? re-render? re-render-opts metadata opts]
-  (let [refresh? (:refresh? opts)
-        parsed-files (filter
+  (let [parsed-files (filter
                       (fn [file]
                         (let [format (format/get-format (:file/path file))]
                           (contains? config/mldoc-support-formats format)))
                       files)
         parsed-files (sort-by :file/path parsed-files)
-        new-graph? (:new-graph? opts)]
+        new-graph? (:new-graph? opts)
+        delete-data (->> (concat delete-files delete-blocks)
+                         (remove nil?))]
+    (when delete-data
+      (js/console.dir delete-data))
+    (when (seq delete-data) (db/transact! repo-url delete-data))
     (doseq [file parsed-files]
       (file-handler/alter-file repo-url
                                (:file/path file)
@@ -261,8 +234,7 @@
       (parse-files-and-create-default-files! repo-url files delete-files delete-blocks file-paths first-clone? db-encrypted? re-render? re-render-opts metadata opts))))
 
 (defn load-repo-to-db!
-  [repo-url {:keys [first-clone? diffs nfs-files refresh? new-graph?]
-             :as opts}]
+  [repo-url {:keys [first-clone? diffs nfs-files refresh? new-graph?]}]
   (spec/validate :repos/url repo-url)
   (when (= :repos (state/get-current-route))
     (route-handler/redirect-to-home!))

+ 0 - 15
src/main/frontend/modules/outliner/core.cljs

@@ -38,20 +38,6 @@
       [:block/uuid left-id])
     (block)))
 
-(defn- index-blocks-by-left-id
-  [blocks]
-  (reduce
-    (fn [acc block]
-      (assert (tree/satisfied-inode? block) "Block should match satisfied-inode?.")
-      (let [left-id (tree/-get-left-id block)]
-        (when (get acc left-id)
-          (prn "acc: " acc)
-          (prn "block: " (:data block))
-          (throw (js/Error. "There are two blocks have the same left-id")))
-        (assoc acc left-id block)))
-    {}
-    blocks))
-
 (defn- block-with-timestamps
   [block]
   (let [updated-at (util/time-ms)
@@ -202,7 +188,6 @@
 
   (-get-children [this]
     (let [parent-id (tree/-get-id this)
-          parent-data (get-data this)
           children (db-model/get-block-immediate-children (state/get-current-repo) parent-id)]
       (map block children))))
 

+ 1 - 1
src/main/frontend/ui.cljs

@@ -156,7 +156,7 @@
      (merge
       {:type  "button"
        :class (str (util/hiccup->class klass) " " class)}
-      (dissoc option :background :class :small?)
+      (dissoc option :background :class :small? :large?)
       (when href
         {:on-click (fn []
                      (util/open-url href)

+ 0 - 5
yarn.lock

@@ -6702,11 +6702,6 @@ [email protected]:
     react-draggable "3.x"
     react-resizable "1.x"
 
[email protected]:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/react-icon-base/-/react-icon-base-2.1.0.tgz#a196e33fdf1e7aaa1fda3aefbb68bdad9e82a79d"
-  integrity sha1-oZbjP98eeqof2jrvu2i9rZ6Cp50=
-
 [email protected]:
   version "2.2.7"
   resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-2.2.7.tgz#d7860826b258557510dac10680abea5ca23cf650"