From 975a94299322b829dca135b2b3dc799a9a7093d7 Mon Sep 17 00:00:00 2001 From: FlorianDahn Date: Sun, 6 Dec 2020 22:43:39 +0100 Subject: [PATCH] Update ButtonGrid.cs Small refactoring for ButtonGrid --- TelegramBotBase/Controls/ButtonGrid.cs | 53 ++++++++++++-------------- 1 file changed, 24 insertions(+), 29 deletions(-) diff --git a/TelegramBotBase/Controls/ButtonGrid.cs b/TelegramBotBase/Controls/ButtonGrid.cs index 8dff23c..d341cf4 100644 --- a/TelegramBotBase/Controls/ButtonGrid.cs +++ b/TelegramBotBase/Controls/ButtonGrid.cs @@ -239,43 +239,38 @@ namespace TelegramBotBase.Controls await result.ConfirmAction(this.ConfirmationText ?? ""); //Find clicked button depending on Text or Value (depending on markup type) - switch (this.KeyboardType) + if (this.KeyboardType != eKeyboardType.InlineKeyBoard) + return; + + + var button = HeadLayoutButtonRow?.FirstOrDefault(a => a.Value == result.RawData) + ?? SubHeadLayoutButtonRow?.FirstOrDefault(a => a.Value == result.RawData) + ?? ButtonsForm.ToList().FirstOrDefault(a => a.Value == result.RawData); + + if (button != null) { - case eKeyboardType.InlineKeyBoard: + await OnButtonClicked(new ButtonClickedEventArgs(button)); - var button = HeadLayoutButtonRow?.FirstOrDefault(a => a.Value == result.RawData) - ?? SubHeadLayoutButtonRow?.FirstOrDefault(a => a.Value == result.RawData) - ?? ButtonsForm.ToList().FirstOrDefault(a => a.Value == result.RawData); + result.Handled = true; + return; + } - if (button == null) - { - switch (result.RawData) - { - case "$previous$": + switch (result.RawData) + { + case "$previous$": - if (this.CurrentPageIndex > 0) - this.CurrentPageIndex--; + if (this.CurrentPageIndex > 0) + this.CurrentPageIndex--; - this.Updated(); + this.Updated(); - break; - case "$next$": + break; + case "$next$": - if (this.CurrentPageIndex < this.PageCount - 1) - this.CurrentPageIndex++; + if (this.CurrentPageIndex < this.PageCount - 1) + this.CurrentPageIndex++; - this.Updated(); - - break; - } - - - return; - } - - await OnButtonClicked(new ButtonClickedEventArgs(button)); - - result.Handled = true; + this.Updated(); break; }