using CommunityToolkit.Maui.Views; using NotesDataAnalyst.NoteContent; namespace NotesDataAnalyst { public partial class NoteSelectionPopup : Popup { public event Action NoteSelected; public NoteSelectionPopup() { InitializeComponent(); notesCollectionView.ItemsSource = App.Database.GetAllNotes(); // Загрузка заметок из БД } private void OnSearchTextChanged(object sender, TextChangedEventArgs e) { string searchText = e.NewTextValue.ToLower(); notesCollectionView.ItemsSource = App.Database.GetAllNotes() .Where(note => note.Title.ToLower().Contains(searchText)); } private async void OnNoteSelected(object sender, SelectionChangedEventArgs e) { if (e.CurrentSelection.FirstOrDefault() is Note selectedNote) { NoteSelected?.Invoke(selectedNote); Close(); // Закрываем окно после выбора заметки } } private async void OnNoteTapped(object sender, EventArgs e) { // Получаем элемент, на который кликнули var tappedFrame = (Frame)sender; var selectedNote = (Note)tappedFrame.BindingContext; if (selectedNote != null) { NoteSelected?.Invoke(selectedNote); Close(); // Закрываем окно после выбора заметки } } private void OnCancelButtonClicked(object sender, EventArgs e) { Close(); // Закрытие окна по нажатию на кнопку Отмена } } }