TF-524 Create RecentSearchCache and TypeAHeadQuickSearch widget

This commit is contained in:
dab246
2022-05-23 18:48:29 +07:00
committed by Dat H. Pham
parent 5ca238153a
commit 3513c363ff
23 changed files with 2349 additions and 127 deletions
+1
View File
@@ -62,6 +62,7 @@ export 'presentation/views/modal_sheets/edit_text_modal_sheet_builder.dart';
export 'presentation/views/search/search_bar_view.dart';
export 'presentation/views/popup_menu/popup_menu_item_widget.dart';
export 'presentation/views/tab_bar/custom_tab_indicator.dart';
export 'presentation/views/typeahead/typeahead_for_quick_search.dart';
// Resources
export 'presentation/resources/assets_paths.dart';
@@ -112,6 +112,11 @@ class ImagePaths {
String get icTeam => _getImagePath('ic_team.svg');
String get loginGraphic => _getImagePath('login_graphic.png');
String get icPowerByLinagora => _getImagePath('power_by_linagora.svg');
String get icAttachmentSB => _getImagePath('ic_attachment_sb.svg');
String get icCalendarSB => _getImagePath('ic_calendar_sb.svg');
String get icClockSB => _getImagePath('ic_clock_sb.svg');
String get icSelectedSB => _getImagePath('ic_selected_sb.svg');
String get icUserSB => _getImagePath('ic_user_sb.svg');
String _getImagePath(String imageName) {
return AssetsPaths.images + imageName;
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,15 @@
import 'dart:async';
import 'package:flutter/widgets.dart';
typedef FutureOr<Iterable<T>> SuggestionsCallback<T>(String pattern);
typedef FutureOr<Iterable<R>> FetchRecentActionCallback<R>(String pattern);
typedef Widget ItemBuilder<T>(BuildContext context, T itemData);
typedef void SuggestionSelectionCallback<T>(T suggestion);
typedef void RecentSelectionCallback<R>(R recent);
typedef Widget ErrorBuilder(BuildContext context, Object? error);
typedef Widget ButtonActionBuilder(BuildContext context, dynamic action);
typedef void ButtonActionCallback(dynamic action);
typedef Widget AnimationTransitionBuilder(
BuildContext context, Widget child, AnimationController? controller);
@@ -0,0 +1,5 @@
import 'dart:io';
import 'package:flutter/foundation.dart';
final supportedPlatform = (kIsWeb || Platform.isAndroid || Platform.isIOS);