From ae24dd2d7cb3e4947f912accf5cdb3823ee9e8b9 Mon Sep 17 00:00:00 2001 From: jantunesmessias Date: Wed, 19 Feb 2025 11:46:24 -0300 Subject: [PATCH] WIP --- lib/features/documents/documents.dart | 4 +- lib/shared/widgets/enhanced_search_view.dart | 158 ++++++++++--------- lib/shared/widgets/read_view.dart | 4 +- lib/shared/widgets/widgets.dart | 3 + 4 files changed, 87 insertions(+), 82 deletions(-) diff --git a/lib/features/documents/documents.dart b/lib/features/documents/documents.dart index f3c7ce6c..fdf2bf6d 100644 --- a/lib/features/documents/documents.dart +++ b/lib/features/documents/documents.dart @@ -406,7 +406,7 @@ class DocumentModel extends FlutterFlowModel { onChanged: (value) => EasyDebounce.debounce( '_model.keyTextFieldTextController', const Duration(milliseconds: 500), - () => filterBySearchBar(Document.fromDesc(value), context), + () => filterBySearchBar(Document.from(value), context), ), cursorColor: theme.primaryText, showCursor: false, @@ -569,7 +569,7 @@ interface class Document extends Archive { required this.updatedAt, }); - factory Document.fromDesc(String desc) => Document( + factory Document.from(String desc) => Document( id: 0, description: desc, type: '', diff --git a/lib/shared/widgets/enhanced_search_view.dart b/lib/shared/widgets/enhanced_search_view.dart index 0387e5d1..fb18038a 100644 --- a/lib/shared/widgets/enhanced_search_view.dart +++ b/lib/shared/widgets/enhanced_search_view.dart @@ -1,81 +1,83 @@ -import 'package:flutter/material.dart'; +part of 'widgets.dart'; -class EnhancedSearchView extends StatelessWidget { - const EnhancedSearchView({ - super.key, - required this.filter, - }); +// class EnhancedSearchView extends StatelessWidget { +// const EnhancedSearchView({ +// super.key, +// required this.filter, +// required this.cast, +// }); - final void Function(T query, BuildContext context) filter; +// final void Function(QueryType query) filter; +// final QueryType Function(String query) cast; - @override - Widget build(BuildContext context) { - final theme = FlutterFlowTheme.of(context); - final locale = FFLocalizations.of(context); - TextEditingController controller = TextEditingController(); - return TextFormField( - controller: controller, - onChanged: (value) => EasyDebounce.debounce( - '_model.keyTextFieldTextController', - const Duration(milliseconds: 500), - () => filter.call(Document.fromDesc(value), context), - ), - cursorColor: theme.primaryText, - showCursor: false, - cursorWidth: 2.0, - cursorRadius: Radius.circular(100), - style: TextStyle( - color: theme.primaryText, - fontSize: 16.0, - decorationColor: Colors.amber, - ), - keyboardType: TextInputType.text, - textInputAction: TextInputAction.search, - autocorrect: true, - textCapitalization: TextCapitalization.sentences, - decoration: InputDecoration( - prefixIcon: Icon(Icons.search, color: theme.primary), - labelText: locale.getVariableText( - ptText: 'Pesquisar', - enText: 'Search', - ), - labelStyle: TextStyle( - color: theme.primaryText, - fontSize: 16.0, - ), - hintText: locale.getVariableText( - ptText: 'Digite sua pesquisa', - enText: 'Enter your search', - ), - hintStyle: TextStyle( - color: theme.accent2, - fontSize: 14.0, - ), - filled: true, - fillColor: Colors.transparent, - helperStyle: TextStyle( - color: theme.primaryText, - decorationColor: theme.primaryText, - ), - focusColor: theme.primaryText, - contentPadding: EdgeInsets.symmetric(vertical: 10.0, horizontal: 15.0), - enabledBorder: UnderlineInputBorder( - borderRadius: BorderRadius.all(Radius.circular(15.0)), - borderSide: BorderSide(color: theme.primaryText), - ), - focusedBorder: UnderlineInputBorder( - borderRadius: BorderRadius.all(Radius.circular(15.0)), - borderSide: BorderSide(color: theme.primaryText), - ), - errorBorder: UnderlineInputBorder( - borderRadius: BorderRadius.all(Radius.circular(15.0)), - borderSide: BorderSide(color: theme.primaryText), - ), - focusedErrorBorder: UnderlineInputBorder( - borderRadius: BorderRadius.all(Radius.circular(15.0)), - borderSide: BorderSide(color: theme.primaryText, width: 2.0), - ), - ), - ); - } -} +// @override +// Widget build(BuildContext context) { +// final theme = FlutterFlowTheme.of(context); +// final locale = FFLocalizations.of(context); +// TextEditingController controller = TextEditingController(); +// return TextFormField( +// controller: controller, +// onChanged: (value) => EasyDebounce.debounce( +// '_model.keyTextFieldTextController', +// const Duration(milliseconds: 500), +// () => filter.call(cast.call(value)), +// ), +// cursorColor: theme.primaryText, +// showCursor: false, +// cursorWidth: 2.0, +// cursorRadius: Radius.circular(100), +// style: TextStyle( +// color: theme.primaryText, +// fontSize: 16.0, +// decorationColor: Colors.amber, +// ), +// keyboardType: TextInputType.text, +// textInputAction: TextInputAction.search, +// autocorrect: true, +// textCapitalization: TextCapitalization.sentences, +// decoration: InputDecoration( +// prefixIcon: Icon(Icons.search, color: theme.primary), +// labelText: locale.getVariableText( +// ptText: 'Pesquisar', +// enText: 'Search', +// ), +// labelStyle: TextStyle( +// color: theme.primaryText, +// fontSize: 16.0, +// ), +// hintText: locale.getVariableText( +// ptText: 'Digite sua pesquisa', +// enText: 'Enter your search', +// ), +// hintStyle: TextStyle( +// color: theme.accent2, +// fontSize: 14.0, +// ), +// filled: true, +// fillColor: Colors.transparent, +// helperStyle: TextStyle( +// color: theme.primaryText, +// decorationColor: theme.primaryText, +// ), +// focusColor: theme.primaryText, +// contentPadding: EdgeInsets.symmetric(vertical: 10.0, horizontal: 15.0), +// enabledBorder: UnderlineInputBorder( +// borderRadius: BorderRadius.all(Radius.circular(15.0)), +// borderSide: BorderSide(color: theme.primaryText), +// ), +// focusedBorder: UnderlineInputBorder( +// borderRadius: BorderRadius.all(Radius.circular(15.0)), +// borderSide: BorderSide(color: theme.primaryText), +// ), +// errorBorder: UnderlineInputBorder( +// borderRadius: BorderRadius.all(Radius.circular(15.0)), +// borderSide: BorderSide(color: theme.primaryText), +// ), +// focusedErrorBorder: UnderlineInputBorder( +// borderRadius: BorderRadius.all(Radius.circular(15.0)), +// borderSide: BorderSide(color: theme.primaryText, width: 2.0), +// ), +// ), +// ); +// } +// } diff --git a/lib/shared/widgets/read_view.dart b/lib/shared/widgets/read_view.dart index 0b94b234..2e5208e0 100644 --- a/lib/shared/widgets/read_view.dart +++ b/lib/shared/widgets/read_view.dart @@ -2,7 +2,7 @@ part of 'widgets.dart'; // typedef PDFViewerKey = GlobalKey; typedef ReadViewController = PdfController; -typedef Document = PdfDocument; +typedef DocumentType = PdfDocument; abstract interface class Viewer extends StatelessComponent { final String src; @@ -37,7 +37,7 @@ class ReadView extends StatefulWidget { class ReadViewState extends State { Future _initializePdf() async { final file = await downloadPdf(widget.url); - final Future document = Document.openFile(file.path); + final Future document = DocumentType.openFile(file.path); return ReadViewController(document: document); } diff --git a/lib/shared/widgets/widgets.dart b/lib/shared/widgets/widgets.dart index ae0c5ff7..67f29a38 100644 --- a/lib/shared/widgets/widgets.dart +++ b/lib/shared/widgets/widgets.dart @@ -1,7 +1,9 @@ import 'dart:developer'; import 'dart:io'; +import 'dart:nativewrappers/_internal/vm/lib/ffi_allocation_patch.dart'; import 'package:auto_size_text/auto_size_text.dart'; +import 'package:easy_debounce/easy_debounce.dart'; import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; import 'package:hub/flutter_flow/index.dart'; @@ -27,6 +29,7 @@ part 'list_view.dart'; part 'carousel_view.dart'; part 'read_view.dart'; part 'enhanced_list_view.dart'; +part 'enhanced_search_view.dart'; /// [Component]'s part 'text.dart';