44 lines
1.1 KiB
Dart
44 lines
1.1 KiB
Dart
import 'package:flutter/widgets.dart';
|
|
|
|
import 'package:pweb/models/state/visibility.dart';
|
|
|
|
|
|
class PaymentPageUiController extends ChangeNotifier {
|
|
final TextEditingController searchController = TextEditingController();
|
|
final FocusNode searchFocusNode = FocusNode();
|
|
|
|
String _query = '';
|
|
VisibilityState _paymentDetailsVisibility = VisibilityState.hidden;
|
|
|
|
String get query => _query;
|
|
VisibilityState get paymentDetailsVisibility => _paymentDetailsVisibility;
|
|
|
|
void setQuery(String query) {
|
|
if (_query == query) return;
|
|
_query = query;
|
|
notifyListeners();
|
|
}
|
|
|
|
void clearSearch() {
|
|
if (searchController.text.isNotEmpty) {
|
|
searchController.clear();
|
|
}
|
|
searchFocusNode.unfocus();
|
|
setQuery('');
|
|
}
|
|
|
|
void togglePaymentDetails() {
|
|
_paymentDetailsVisibility = _paymentDetailsVisibility == VisibilityState.visible
|
|
? VisibilityState.hidden
|
|
: VisibilityState.visible;
|
|
notifyListeners();
|
|
}
|
|
|
|
@override
|
|
void dispose() {
|
|
searchController.dispose();
|
|
searchFocusNode.dispose();
|
|
super.dispose();
|
|
}
|
|
}
|