38 lines
1004 B
Dart
38 lines
1004 B
Dart
import 'package:flutter/foundation.dart';
|
|
|
|
import 'package:pshared/provider/payment/multiple/quotation.dart';
|
|
|
|
|
|
class MultiQuotationController extends ChangeNotifier {
|
|
MultiQuotationProvider? _quotation;
|
|
|
|
void update(MultiQuotationProvider quotation) {
|
|
if (identical(_quotation, quotation)) return;
|
|
_quotation?.removeListener(_handleQuotationChanged);
|
|
_quotation = quotation;
|
|
_quotation?.addListener(_handleQuotationChanged);
|
|
_handleQuotationChanged();
|
|
}
|
|
|
|
bool get isLoading => _quotation?.isLoading ?? false;
|
|
Exception? get error => _quotation?.error;
|
|
bool get canRefresh => _quotation?.canRefresh ?? false;
|
|
bool get isReady => _quotation?.isReady ?? false;
|
|
|
|
DateTime? get quoteExpiresAt => _quotation?.quoteExpiresAt;
|
|
|
|
void refreshQuotation() {
|
|
_quotation?.refreshQuotation();
|
|
}
|
|
|
|
void _handleQuotationChanged() {
|
|
notifyListeners();
|
|
}
|
|
|
|
@override
|
|
void dispose() {
|
|
_quotation?.removeListener(_handleQuotationChanged);
|
|
super.dispose();
|
|
}
|
|
}
|