From fa0fcd2d6e5134dcc43b4f07679a34b10d315dc8 Mon Sep 17 00:00:00 2001 From: Naden Date: Tue, 21 May 2024 16:49:47 +1000 Subject: [PATCH] Update --- src-tauri/src/handler_preview.rs | 21 ------------------- src-tauri/src/handlers.rs | 2 -- .../com/harana/search/client/Router.scala | 1 - .../search/client/main/ui/MainPanel.scala | 12 ++++++++--- .../search/client/search/SearchHandler.scala | 6 ++---- .../client/search/SearchKeyHandler.scala | 8 ------- .../client/search/SearchMenuHandler.scala | 12 +++++------ 7 files changed, 17 insertions(+), 45 deletions(-) diff --git a/src-tauri/src/handler_preview.rs b/src-tauri/src/handler_preview.rs index a6e68d7..119e775 100644 --- a/src-tauri/src/handler_preview.rs +++ b/src-tauri/src/handler_preview.rs @@ -9,27 +9,6 @@ use tauri::{AppHandle, Wry}; use crate::{MAIN_WINDOW, PREVIEW_WINDOW, windows_main}; -#[tauri::command] -pub fn show_preview(app_handle: AppHandle, _document: String) -> Result<(), String> { - debug!("Command: search->show_preview"); - windows_main::disable_auto_hide(app_handle); - let window = PREVIEW_WINDOW.get().unwrap(); - window.set_focus().unwrap(); - window.center().unwrap(); - Ok(()) -} - -#[tauri::command] -pub fn hide_preview(app_handle: AppHandle) -> Result<(), String> { - debug!("Command: search->hide_preview"); - windows_main::enable_auto_hide(app_handle); - let main_window = MAIN_WINDOW.get().unwrap(); - let preview_window = PREVIEW_WINDOW.get().unwrap(); - main_window.set_focus().unwrap(); - preview_window.hide().unwrap(); - Ok(()) -} - #[tauri::command] pub fn get_viewer(path: String) -> String { let path = Path::new(path.as_str()); diff --git a/src-tauri/src/handlers.rs b/src-tauri/src/handlers.rs index e46f350..0f12140 100644 --- a/src-tauri/src/handlers.rs +++ b/src-tauri/src/handlers.rs @@ -36,8 +36,6 @@ pub fn invoke_handler(invoke: tauri::Invoke) { crate::handler_integrations::remove_integration, crate::handler_open::open_application, crate::handler_open::open_path, - crate::handler_preview::show_preview, - crate::handler_preview::hide_preview, crate::handler_preview::get_viewer, crate::handler_rules::list_rules, crate::handler_search::search, diff --git a/src/main/scala/com/harana/search/client/Router.scala b/src/main/scala/com/harana/search/client/Router.scala index 89b10cc..d647677 100644 --- a/src/main/scala/com/harana/search/client/Router.scala +++ b/src/main/scala/com/harana/search/client/Router.scala @@ -4,7 +4,6 @@ import com.harana.search.client.main.MainStore.UpdateActivePanel import com.harana.search.client.main.ui.{MainPanel, Panel} import com.harana.search.client.system.SystemStore.WindowReady import com.harana.web.actions.Init -import com.harana.web.external.tauri.Window import slinky.core.FunctionalComponent import slinky.core.annotations.react import slinky.core.facade.Hooks.useEffect diff --git a/src/main/scala/com/harana/search/client/main/ui/MainPanel.scala b/src/main/scala/com/harana/search/client/main/ui/MainPanel.scala index 419fc35..caa4eef 100644 --- a/src/main/scala/com/harana/search/client/main/ui/MainPanel.scala +++ b/src/main/scala/com/harana/search/client/main/ui/MainPanel.scala @@ -10,7 +10,7 @@ import com.harana.web.external.tailwind.OutlineIcons._ import com.harana.web.external.tailwind.dialog._ import com.harana.web.external.tailwind.popover._ import com.harana.web.external.tailwind.transition.{Transition, TransitionChild} -import org.scalajs.dom.{FocusEvent, KeyboardEvent, window} +import org.scalajs.dom.{FocusEvent, HTMLInputElement, KeyboardEvent, window} import slinky.core.FunctionalComponent import slinky.core.annotations.react import slinky.core.facade.Fragment @@ -24,7 +24,14 @@ import slinky.web.html._ useEffect( () => { - val keyDownListener = (e: KeyboardEvent) => Circuit.dispatch(KeyDown(e.keyCode, e)) + val keyDownListener = (e: KeyboardEvent) => { + Circuit.dispatch(KeyDown(e.keyCode, e)) + + if (!e.target.isInstanceOf[HTMLInputElement]) { + e.preventDefault() + e.stopPropagation() + } + } val keyUpListener = (e: KeyboardEvent) => Circuit.dispatch(KeyUp(e.keyCode, e)) val blurListener = (_: FocusEvent) => if (!Circuit.state(_.systemState, false).isDebug) Circuit.dispatch(Hide) @@ -88,7 +95,6 @@ import slinky.web.html._ ) val activePanel = Circuit.state(_.mainState, true).activePanel - println("ACTIVE PANEL = " + activePanel) if (activePanel == Panel.Welcome) { WelcomePanel() diff --git a/src/main/scala/com/harana/search/client/search/SearchHandler.scala b/src/main/scala/com/harana/search/client/search/SearchHandler.scala index 28ecb2a..0a7ff06 100644 --- a/src/main/scala/com/harana/search/client/search/SearchHandler.scala +++ b/src/main/scala/com/harana/search/client/search/SearchHandler.scala @@ -86,7 +86,7 @@ class SearchHandler extends ActionHandler(zoomTo(_.searchState)) { case Hide => effectOnly( Effect( - Tauri.invoke[Unit]("hide_search").map(_ => NoChange) + Tauri.invoke[Unit]("hide_window", Map("label" -> "main")).map(_ => NoChange) ) ) @@ -170,9 +170,7 @@ class SearchHandler extends ActionHandler(zoomTo(_.searchState)) { val doc = document(documentId) effectOnly( if (value.selectedDocumentId.isEmpty || value.selectedDocumentId.get != documentId) - Effect( - Tauri.invoke[Unit]("emit_preview_message", Map("name" -> "preview_document_changed", "payload" -> doc.asJson.noSpaces)).map(_ => NoChange) - ) + (if (doc.path.isDefined) Effect(Tauri.invoke[String]("get_viewer", Map("path" -> doc.path.get)).map(viewer => UpdateAllowPreview(viewer != "Noop"))) else Effect.action(NoChange)) + + (if (doc.path.isDefined) Effect(Tauri.invoke[String]("get_viewer", Map("path" -> doc.path.get)).map(viewer => UpdateAllowPreview(viewer != "Noop"))) else Effect.action(NoChange)) + action( ActionBatch( LoadThumbnail(documentId), diff --git a/src/main/scala/com/harana/search/client/search/SearchKeyHandler.scala b/src/main/scala/com/harana/search/client/search/SearchKeyHandler.scala index a1dd6ba..9ed4275 100644 --- a/src/main/scala/com/harana/search/client/search/SearchKeyHandler.scala +++ b/src/main/scala/com/harana/search/client/search/SearchKeyHandler.scala @@ -155,8 +155,6 @@ class SearchKeyHandler extends ActionHandler(zoomTo(_.searchState)) { } case SearchColumn.Cards => - event.stopPropagation() - val cardState = Circuit.state(_.cardState, false) val hasVerticalCards = cardState.cards.nonEmpty && cardState.cards(cardState.middleHorizontalIndex).nonEmpty @@ -196,10 +194,6 @@ class SearchKeyHandler extends ActionHandler(zoomTo(_.searchState)) { } case KeyUp(key, event) => - effectOnly(action(NoChange)) - - event.stopPropagation() - effectOnly { if (key == Keys.Escape) if (value.searchTerm.isEmpty) { @@ -216,8 +210,6 @@ class SearchKeyHandler extends ActionHandler(zoomTo(_.searchState)) { else action(Search(None)) else { - event.stopPropagation() - event.preventDefault() action(NoChange) } } diff --git a/src/main/scala/com/harana/search/client/search/SearchMenuHandler.scala b/src/main/scala/com/harana/search/client/search/SearchMenuHandler.scala index a92a5e0..de56e8c 100644 --- a/src/main/scala/com/harana/search/client/search/SearchMenuHandler.scala +++ b/src/main/scala/com/harana/search/client/search/SearchMenuHandler.scala @@ -19,42 +19,42 @@ class SearchMenuHandler extends ActionHandler(zoomTo(_.searchState)) { case ShowBilling => effectOnly( Effect( - Tauri.invoke("show_billing").map((_: js.Any) => NoChange) + Tauri.invoke[Unit]("show_billing").map(_ => NoChange) ) ) case ShowFeedback => effectOnly( Effect( - Tauri.invoke("open_url").map((_: js.Any) => NoChange) + Tauri.invoke[Unit]("open_url").map(_ => NoChange) ) ) case ShowHaranaPlus => effectOnly( Effect( - Tauri.invoke("show_signup").map((_: js.Any) => NoChange) + Tauri.invoke[Unit]("show_signup").map(_ => NoChange) ) ) case ShowLogin => effectOnly( Effect( - Tauri.invoke("show_login").map((_: js.Any) => NoChange) + Tauri.invoke[Unit]("show_login").map(_ => NoChange) ) ) case ShowSettings => effectOnly( Effect( - Tauri.invoke("show_settings").map((_: js.Any) => NoChange) + Tauri.invoke[Unit]("show_window", Map("label" -> "settings")).map(_ => NoChange) ) ) case ShowSupport => effectOnly( Effect( - Tauri.invoke("open_url", Map("url" -> "https://github.com/harana/search/issues")).map((_: js.Any) => NoChange) + Tauri.invoke[Unit]("open_url", Map("url" -> "https://github.com/harana/search/issues")).map(_ => NoChange) ) ) }