| 
					
				 | 
			
			
				@@ -5,6 +5,8 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             [frontend.db :as db] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             [frontend.handler.notification :as notification] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             [frontend.handler.ui :as ui-handler] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [frontend.modules.outliner.op :as outliner-op] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [frontend.modules.outliner.ui :as ui-outliner-tx] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             [frontend.state :as state] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             [frontend.util :as util] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             [frontend.util.page :as page-util] 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -90,22 +92,22 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         (pprint/pprint txs) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         (if error 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           (notification/show! error :error) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          (p/do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ;; TODO: Use metadata that supports undo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            (db/transact! (state/get-current-repo) init-tx 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          (if import-block? {:save-block true} {::sqlite-export/imported-data? true})) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            (when (seq block-props-tx) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              (db/transact! (state/get-current-repo) block-props-tx 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            (if import-block? {:save-block true} {::sqlite-export/imported-data? true}))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            (when (seq misc-tx) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              (db/transact! (state/get-current-repo) misc-tx 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            (if import-block? {:save-block true} {::sqlite-export/imported-data? true}))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            (when-not import-block? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              (state/clear-async-query-state!) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              (ui-handler/re-render-root!) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              (notification/show! "Import successful!" :success)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ;; TODO: When not import-block, use metadata that supports undo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          (let [tx-meta (if import-block? {:outliner-op :save-block} {::sqlite-export/imported-data? true}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                repo (state/get-current-repo)] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            (-> (p/do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  (db/transact! repo init-tx tx-meta) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  (when (seq block-props-tx) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    (db/transact! repo block-props-tx tx-meta)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  (when (seq misc-tx) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    (db/transact! repo misc-tx tx-meta)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  (when-not import-block? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    (state/clear-async-query-state!) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    (ui-handler/re-render-root!) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    (notification/show! "Import successful!" :success))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                (p/catch (fn [e] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                           (js/console.error "Import EDN error: " e) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                           (notification/show! "An unexpected error occurred during import. See the javascript console for details." :error)))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ;; Also close cmd-k 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         (shui/dialog-close-all!))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |