From 620a81ae1bf2caf280559b4fa61fba64ecb8ab0f Mon Sep 17 00:00:00 2001 From: Alexei Anoshenko Date: Fri, 22 May 2026 16:08:58 -0400 Subject: [PATCH] Added DismissWithoutAnimation methos to Popup interface --- CHANGELOG.md | 1 + popup.go | 13 ++++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c49e3b6..993dc8d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ * Added GoogleFonts field to AppParams * Added functions: GetWhiteSpace, GetWordBreak, ScrollIntoViewIfNeeded * Added PopupShowAnimation and SetPopupShowAnimation methods to Session interface +* Added DismissWithoutAnimation methos to Popup interface * Added ToBoundsProperty method to Bounds struct # v0.20.0 diff --git a/popup.go b/popup.go index 9fb5a84..570a345 100644 --- a/popup.go +++ b/popup.go @@ -296,6 +296,9 @@ type Popup interface { // Dismiss closes a popup Dismiss() + // DismissWithoutAnimation closes a popup without animation + DismissWithoutAnimation() + onDismiss() html(buffer *strings.Builder) viewByHTMLID(id string) View @@ -933,7 +936,11 @@ func (popup *popupData) cancel() { } func (popup *popupData) Dismiss() { - popup.Session().popupManager().dismissPopup(popup) + popup.Session().popupManager().dismissPopup(popup, true) +} + +func (popup *popupData) DismissWithoutAnimation() { + popup.Session().popupManager().dismissPopup(popup, false) } func (popup *popupData) Show() { @@ -1530,7 +1537,7 @@ func (manager *popupManager) showPopup(popup Popup) { popup.showAnimation() } -func (manager *popupManager) dismissPopup(popup Popup) { +func (manager *popupManager) dismissPopup(popup Popup, animation bool) { if manager.popups == nil { manager.popups = []Popup{} return @@ -1574,7 +1581,7 @@ func (manager *popupManager) dismissPopup(popup Popup) { popup.onDismiss() } - if !popup.dismissAnimation(listener) { + if !animation || !popup.dismissAnimation(listener) { listener("") } }