feat: product variant

This commit is contained in:
efrilm
2025-08-04 17:42:39 +07:00
parent 04e1edbe79
commit 835c834ce1
18 changed files with 718 additions and 1024 deletions
@@ -25,15 +25,29 @@ class CheckoutBloc extends Bloc<CheckoutEvent, CheckoutState> {
on<_AddItem>((event, emit) {
var currentState = state as _Loaded;
List<ProductQuantity> items = [...currentState.items];
var index =
items.indexWhere((element) => element.product.id == event.product.id);
var index = items.indexWhere(
(element) =>
element.product.id == event.product.id &&
element.variant?.id == event.variant?.id,
);
emit(const _Loading());
if (index != -1) {
items[index] = ProductQuantity(
product: event.product, quantity: items[index].quantity + 1);
product: event.product,
quantity: items[index].quantity + 1,
variant: event.variant,
);
} else {
items.add(ProductQuantity(product: event.product, quantity: 1));
items.add(
ProductQuantity(
product: event.product,
quantity: 1,
variant: event.variant,
),
);
}
log("Items: $items");
emit(_Loaded(
items,
currentState.discountModel,
@@ -50,13 +64,19 @@ class CheckoutBloc extends Bloc<CheckoutEvent, CheckoutState> {
on<_RemoveItem>((event, emit) {
var currentState = state as _Loaded;
List<ProductQuantity> items = [...currentState.items];
var index =
items.indexWhere((element) => element.product.id == event.product.id);
var index = items.indexWhere(
(element) =>
element.product.id == event.product.id &&
element.variant?.id == event.variant?.id,
);
emit(const _Loading());
if (index != -1) {
if (items[index].quantity > 1) {
items[index] = ProductQuantity(
product: event.product, quantity: items[index].quantity - 1);
product: event.product,
quantity: items[index].quantity - 1,
variant: event.variant);
;
} else {
items.removeAt(index);
}
@@ -77,8 +97,11 @@ class CheckoutBloc extends Bloc<CheckoutEvent, CheckoutState> {
on<_DeleteItem>((event, emit) {
var currentState = state as _Loaded;
List<ProductQuantity> items = [...currentState.items];
var index =
items.indexWhere((element) => element.product.id == event.product.id);
var index = items.indexWhere(
(element) =>
element.product.id == event.product.id &&
element.variant?.id == event.variant?.id,
);
emit(const _Loading());
items.removeAt(index);
@@ -19,9 +19,11 @@ mixin _$CheckoutEvent {
@optionalTypeArgs
TResult when<TResult extends Object?>({
required TResult Function() started,
required TResult Function(Product product) addItem,
required TResult Function(Product product) removeItem,
required TResult Function(Product product) deleteItem,
required TResult Function(Product product, ProductVariant? variant) addItem,
required TResult Function(Product product, ProductVariant? variant)
removeItem,
required TResult Function(Product product, ProductVariant? variant)
deleteItem,
required TResult Function(Discount discount) addDiscount,
required TResult Function() removeDiscount,
required TResult Function(int tax) addTax,
@@ -39,9 +41,9 @@ mixin _$CheckoutEvent {
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? started,
TResult? Function(Product product)? addItem,
TResult? Function(Product product)? removeItem,
TResult? Function(Product product)? deleteItem,
TResult? Function(Product product, ProductVariant? variant)? addItem,
TResult? Function(Product product, ProductVariant? variant)? removeItem,
TResult? Function(Product product, ProductVariant? variant)? deleteItem,
TResult? Function(Discount discount)? addDiscount,
TResult? Function()? removeDiscount,
TResult? Function(int tax)? addTax,
@@ -58,9 +60,9 @@ mixin _$CheckoutEvent {
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? started,
TResult Function(Product product)? addItem,
TResult Function(Product product)? removeItem,
TResult Function(Product product)? deleteItem,
TResult Function(Product product, ProductVariant? variant)? addItem,
TResult Function(Product product, ProductVariant? variant)? removeItem,
TResult Function(Product product, ProductVariant? variant)? deleteItem,
TResult Function(Discount discount)? addDiscount,
TResult Function()? removeDiscount,
TResult Function(int tax)? addTax,
@@ -195,9 +197,11 @@ class _$StartedImpl implements _Started {
@optionalTypeArgs
TResult when<TResult extends Object?>({
required TResult Function() started,
required TResult Function(Product product) addItem,
required TResult Function(Product product) removeItem,
required TResult Function(Product product) deleteItem,
required TResult Function(Product product, ProductVariant? variant) addItem,
required TResult Function(Product product, ProductVariant? variant)
removeItem,
required TResult Function(Product product, ProductVariant? variant)
deleteItem,
required TResult Function(Discount discount) addDiscount,
required TResult Function() removeDiscount,
required TResult Function(int tax) addTax,
@@ -218,9 +222,9 @@ class _$StartedImpl implements _Started {
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? started,
TResult? Function(Product product)? addItem,
TResult? Function(Product product)? removeItem,
TResult? Function(Product product)? deleteItem,
TResult? Function(Product product, ProductVariant? variant)? addItem,
TResult? Function(Product product, ProductVariant? variant)? removeItem,
TResult? Function(Product product, ProductVariant? variant)? deleteItem,
TResult? Function(Discount discount)? addDiscount,
TResult? Function()? removeDiscount,
TResult? Function(int tax)? addTax,
@@ -240,9 +244,9 @@ class _$StartedImpl implements _Started {
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? started,
TResult Function(Product product)? addItem,
TResult Function(Product product)? removeItem,
TResult Function(Product product)? deleteItem,
TResult Function(Product product, ProductVariant? variant)? addItem,
TResult Function(Product product, ProductVariant? variant)? removeItem,
TResult Function(Product product, ProductVariant? variant)? deleteItem,
TResult Function(Discount discount)? addDiscount,
TResult Function()? removeDiscount,
TResult Function(int tax)? addTax,
@@ -340,7 +344,7 @@ abstract class _$$AddItemImplCopyWith<$Res> {
_$AddItemImpl value, $Res Function(_$AddItemImpl) then) =
__$$AddItemImplCopyWithImpl<$Res>;
@useResult
$Res call({Product product});
$Res call({Product product, ProductVariant? variant});
}
/// @nodoc
@@ -357,12 +361,17 @@ class __$$AddItemImplCopyWithImpl<$Res>
@override
$Res call({
Object? product = null,
Object? variant = freezed,
}) {
return _then(_$AddItemImpl(
null == product
? _value.product
: product // ignore: cast_nullable_to_non_nullable
as Product,
freezed == variant
? _value.variant
: variant // ignore: cast_nullable_to_non_nullable
as ProductVariant?,
));
}
}
@@ -370,14 +379,16 @@ class __$$AddItemImplCopyWithImpl<$Res>
/// @nodoc
class _$AddItemImpl implements _AddItem {
const _$AddItemImpl(this.product);
const _$AddItemImpl(this.product, this.variant);
@override
final Product product;
@override
final ProductVariant? variant;
@override
String toString() {
return 'CheckoutEvent.addItem(product: $product)';
return 'CheckoutEvent.addItem(product: $product, variant: $variant)';
}
@override
@@ -385,11 +396,12 @@ class _$AddItemImpl implements _AddItem {
return identical(this, other) ||
(other.runtimeType == runtimeType &&
other is _$AddItemImpl &&
(identical(other.product, product) || other.product == product));
(identical(other.product, product) || other.product == product) &&
(identical(other.variant, variant) || other.variant == variant));
}
@override
int get hashCode => Object.hash(runtimeType, product);
int get hashCode => Object.hash(runtimeType, product, variant);
/// Create a copy of CheckoutEvent
/// with the given fields replaced by the non-null parameter values.
@@ -403,9 +415,11 @@ class _$AddItemImpl implements _AddItem {
@optionalTypeArgs
TResult when<TResult extends Object?>({
required TResult Function() started,
required TResult Function(Product product) addItem,
required TResult Function(Product product) removeItem,
required TResult Function(Product product) deleteItem,
required TResult Function(Product product, ProductVariant? variant) addItem,
required TResult Function(Product product, ProductVariant? variant)
removeItem,
required TResult Function(Product product, ProductVariant? variant)
deleteItem,
required TResult Function(Discount discount) addDiscount,
required TResult Function() removeDiscount,
required TResult Function(int tax) addTax,
@@ -419,16 +433,16 @@ class _$AddItemImpl implements _AddItem {
saveDraftOrder,
required TResult Function(DraftOrderModel data) loadDraftOrder,
}) {
return addItem(product);
return addItem(product, variant);
}
@override
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? started,
TResult? Function(Product product)? addItem,
TResult? Function(Product product)? removeItem,
TResult? Function(Product product)? deleteItem,
TResult? Function(Product product, ProductVariant? variant)? addItem,
TResult? Function(Product product, ProductVariant? variant)? removeItem,
TResult? Function(Product product, ProductVariant? variant)? deleteItem,
TResult? Function(Discount discount)? addDiscount,
TResult? Function()? removeDiscount,
TResult? Function(int tax)? addTax,
@@ -441,16 +455,16 @@ class _$AddItemImpl implements _AddItem {
saveDraftOrder,
TResult? Function(DraftOrderModel data)? loadDraftOrder,
}) {
return addItem?.call(product);
return addItem?.call(product, variant);
}
@override
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? started,
TResult Function(Product product)? addItem,
TResult Function(Product product)? removeItem,
TResult Function(Product product)? deleteItem,
TResult Function(Product product, ProductVariant? variant)? addItem,
TResult Function(Product product, ProductVariant? variant)? removeItem,
TResult Function(Product product, ProductVariant? variant)? deleteItem,
TResult Function(Discount discount)? addDiscount,
TResult Function()? removeDiscount,
TResult Function(int tax)? addTax,
@@ -465,7 +479,7 @@ class _$AddItemImpl implements _AddItem {
required TResult orElse(),
}) {
if (addItem != null) {
return addItem(product);
return addItem(product, variant);
}
return orElse();
}
@@ -539,9 +553,11 @@ class _$AddItemImpl implements _AddItem {
}
abstract class _AddItem implements CheckoutEvent {
const factory _AddItem(final Product product) = _$AddItemImpl;
const factory _AddItem(final Product product, final ProductVariant? variant) =
_$AddItemImpl;
Product get product;
ProductVariant? get variant;
/// Create a copy of CheckoutEvent
/// with the given fields replaced by the non-null parameter values.
@@ -556,7 +572,7 @@ abstract class _$$RemoveItemImplCopyWith<$Res> {
_$RemoveItemImpl value, $Res Function(_$RemoveItemImpl) then) =
__$$RemoveItemImplCopyWithImpl<$Res>;
@useResult
$Res call({Product product});
$Res call({Product product, ProductVariant? variant});
}
/// @nodoc
@@ -573,12 +589,17 @@ class __$$RemoveItemImplCopyWithImpl<$Res>
@override
$Res call({
Object? product = null,
Object? variant = freezed,
}) {
return _then(_$RemoveItemImpl(
null == product
? _value.product
: product // ignore: cast_nullable_to_non_nullable
as Product,
freezed == variant
? _value.variant
: variant // ignore: cast_nullable_to_non_nullable
as ProductVariant?,
));
}
}
@@ -586,14 +607,16 @@ class __$$RemoveItemImplCopyWithImpl<$Res>
/// @nodoc
class _$RemoveItemImpl implements _RemoveItem {
const _$RemoveItemImpl(this.product);
const _$RemoveItemImpl(this.product, this.variant);
@override
final Product product;
@override
final ProductVariant? variant;
@override
String toString() {
return 'CheckoutEvent.removeItem(product: $product)';
return 'CheckoutEvent.removeItem(product: $product, variant: $variant)';
}
@override
@@ -601,11 +624,12 @@ class _$RemoveItemImpl implements _RemoveItem {
return identical(this, other) ||
(other.runtimeType == runtimeType &&
other is _$RemoveItemImpl &&
(identical(other.product, product) || other.product == product));
(identical(other.product, product) || other.product == product) &&
(identical(other.variant, variant) || other.variant == variant));
}
@override
int get hashCode => Object.hash(runtimeType, product);
int get hashCode => Object.hash(runtimeType, product, variant);
/// Create a copy of CheckoutEvent
/// with the given fields replaced by the non-null parameter values.
@@ -619,9 +643,11 @@ class _$RemoveItemImpl implements _RemoveItem {
@optionalTypeArgs
TResult when<TResult extends Object?>({
required TResult Function() started,
required TResult Function(Product product) addItem,
required TResult Function(Product product) removeItem,
required TResult Function(Product product) deleteItem,
required TResult Function(Product product, ProductVariant? variant) addItem,
required TResult Function(Product product, ProductVariant? variant)
removeItem,
required TResult Function(Product product, ProductVariant? variant)
deleteItem,
required TResult Function(Discount discount) addDiscount,
required TResult Function() removeDiscount,
required TResult Function(int tax) addTax,
@@ -635,16 +661,16 @@ class _$RemoveItemImpl implements _RemoveItem {
saveDraftOrder,
required TResult Function(DraftOrderModel data) loadDraftOrder,
}) {
return removeItem(product);
return removeItem(product, variant);
}
@override
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? started,
TResult? Function(Product product)? addItem,
TResult? Function(Product product)? removeItem,
TResult? Function(Product product)? deleteItem,
TResult? Function(Product product, ProductVariant? variant)? addItem,
TResult? Function(Product product, ProductVariant? variant)? removeItem,
TResult? Function(Product product, ProductVariant? variant)? deleteItem,
TResult? Function(Discount discount)? addDiscount,
TResult? Function()? removeDiscount,
TResult? Function(int tax)? addTax,
@@ -657,16 +683,16 @@ class _$RemoveItemImpl implements _RemoveItem {
saveDraftOrder,
TResult? Function(DraftOrderModel data)? loadDraftOrder,
}) {
return removeItem?.call(product);
return removeItem?.call(product, variant);
}
@override
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? started,
TResult Function(Product product)? addItem,
TResult Function(Product product)? removeItem,
TResult Function(Product product)? deleteItem,
TResult Function(Product product, ProductVariant? variant)? addItem,
TResult Function(Product product, ProductVariant? variant)? removeItem,
TResult Function(Product product, ProductVariant? variant)? deleteItem,
TResult Function(Discount discount)? addDiscount,
TResult Function()? removeDiscount,
TResult Function(int tax)? addTax,
@@ -681,7 +707,7 @@ class _$RemoveItemImpl implements _RemoveItem {
required TResult orElse(),
}) {
if (removeItem != null) {
return removeItem(product);
return removeItem(product, variant);
}
return orElse();
}
@@ -755,9 +781,11 @@ class _$RemoveItemImpl implements _RemoveItem {
}
abstract class _RemoveItem implements CheckoutEvent {
const factory _RemoveItem(final Product product) = _$RemoveItemImpl;
const factory _RemoveItem(
final Product product, final ProductVariant? variant) = _$RemoveItemImpl;
Product get product;
ProductVariant? get variant;
/// Create a copy of CheckoutEvent
/// with the given fields replaced by the non-null parameter values.
@@ -772,7 +800,7 @@ abstract class _$$DeleteItemImplCopyWith<$Res> {
_$DeleteItemImpl value, $Res Function(_$DeleteItemImpl) then) =
__$$DeleteItemImplCopyWithImpl<$Res>;
@useResult
$Res call({Product product});
$Res call({Product product, ProductVariant? variant});
}
/// @nodoc
@@ -789,12 +817,17 @@ class __$$DeleteItemImplCopyWithImpl<$Res>
@override
$Res call({
Object? product = null,
Object? variant = freezed,
}) {
return _then(_$DeleteItemImpl(
null == product
? _value.product
: product // ignore: cast_nullable_to_non_nullable
as Product,
freezed == variant
? _value.variant
: variant // ignore: cast_nullable_to_non_nullable
as ProductVariant?,
));
}
}
@@ -802,14 +835,16 @@ class __$$DeleteItemImplCopyWithImpl<$Res>
/// @nodoc
class _$DeleteItemImpl implements _DeleteItem {
const _$DeleteItemImpl(this.product);
const _$DeleteItemImpl(this.product, this.variant);
@override
final Product product;
@override
final ProductVariant? variant;
@override
String toString() {
return 'CheckoutEvent.deleteItem(product: $product)';
return 'CheckoutEvent.deleteItem(product: $product, variant: $variant)';
}
@override
@@ -817,11 +852,12 @@ class _$DeleteItemImpl implements _DeleteItem {
return identical(this, other) ||
(other.runtimeType == runtimeType &&
other is _$DeleteItemImpl &&
(identical(other.product, product) || other.product == product));
(identical(other.product, product) || other.product == product) &&
(identical(other.variant, variant) || other.variant == variant));
}
@override
int get hashCode => Object.hash(runtimeType, product);
int get hashCode => Object.hash(runtimeType, product, variant);
/// Create a copy of CheckoutEvent
/// with the given fields replaced by the non-null parameter values.
@@ -835,9 +871,11 @@ class _$DeleteItemImpl implements _DeleteItem {
@optionalTypeArgs
TResult when<TResult extends Object?>({
required TResult Function() started,
required TResult Function(Product product) addItem,
required TResult Function(Product product) removeItem,
required TResult Function(Product product) deleteItem,
required TResult Function(Product product, ProductVariant? variant) addItem,
required TResult Function(Product product, ProductVariant? variant)
removeItem,
required TResult Function(Product product, ProductVariant? variant)
deleteItem,
required TResult Function(Discount discount) addDiscount,
required TResult Function() removeDiscount,
required TResult Function(int tax) addTax,
@@ -851,16 +889,16 @@ class _$DeleteItemImpl implements _DeleteItem {
saveDraftOrder,
required TResult Function(DraftOrderModel data) loadDraftOrder,
}) {
return deleteItem(product);
return deleteItem(product, variant);
}
@override
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? started,
TResult? Function(Product product)? addItem,
TResult? Function(Product product)? removeItem,
TResult? Function(Product product)? deleteItem,
TResult? Function(Product product, ProductVariant? variant)? addItem,
TResult? Function(Product product, ProductVariant? variant)? removeItem,
TResult? Function(Product product, ProductVariant? variant)? deleteItem,
TResult? Function(Discount discount)? addDiscount,
TResult? Function()? removeDiscount,
TResult? Function(int tax)? addTax,
@@ -873,16 +911,16 @@ class _$DeleteItemImpl implements _DeleteItem {
saveDraftOrder,
TResult? Function(DraftOrderModel data)? loadDraftOrder,
}) {
return deleteItem?.call(product);
return deleteItem?.call(product, variant);
}
@override
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? started,
TResult Function(Product product)? addItem,
TResult Function(Product product)? removeItem,
TResult Function(Product product)? deleteItem,
TResult Function(Product product, ProductVariant? variant)? addItem,
TResult Function(Product product, ProductVariant? variant)? removeItem,
TResult Function(Product product, ProductVariant? variant)? deleteItem,
TResult Function(Discount discount)? addDiscount,
TResult Function()? removeDiscount,
TResult Function(int tax)? addTax,
@@ -897,7 +935,7 @@ class _$DeleteItemImpl implements _DeleteItem {
required TResult orElse(),
}) {
if (deleteItem != null) {
return deleteItem(product);
return deleteItem(product, variant);
}
return orElse();
}
@@ -971,9 +1009,11 @@ class _$DeleteItemImpl implements _DeleteItem {
}
abstract class _DeleteItem implements CheckoutEvent {
const factory _DeleteItem(final Product product) = _$DeleteItemImpl;
const factory _DeleteItem(
final Product product, final ProductVariant? variant) = _$DeleteItemImpl;
Product get product;
ProductVariant? get variant;
/// Create a copy of CheckoutEvent
/// with the given fields replaced by the non-null parameter values.
@@ -1052,9 +1092,11 @@ class _$AddDiscountImpl implements _AddDiscount {
@optionalTypeArgs
TResult when<TResult extends Object?>({
required TResult Function() started,
required TResult Function(Product product) addItem,
required TResult Function(Product product) removeItem,
required TResult Function(Product product) deleteItem,
required TResult Function(Product product, ProductVariant? variant) addItem,
required TResult Function(Product product, ProductVariant? variant)
removeItem,
required TResult Function(Product product, ProductVariant? variant)
deleteItem,
required TResult Function(Discount discount) addDiscount,
required TResult Function() removeDiscount,
required TResult Function(int tax) addTax,
@@ -1075,9 +1117,9 @@ class _$AddDiscountImpl implements _AddDiscount {
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? started,
TResult? Function(Product product)? addItem,
TResult? Function(Product product)? removeItem,
TResult? Function(Product product)? deleteItem,
TResult? Function(Product product, ProductVariant? variant)? addItem,
TResult? Function(Product product, ProductVariant? variant)? removeItem,
TResult? Function(Product product, ProductVariant? variant)? deleteItem,
TResult? Function(Discount discount)? addDiscount,
TResult? Function()? removeDiscount,
TResult? Function(int tax)? addTax,
@@ -1097,9 +1139,9 @@ class _$AddDiscountImpl implements _AddDiscount {
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? started,
TResult Function(Product product)? addItem,
TResult Function(Product product)? removeItem,
TResult Function(Product product)? deleteItem,
TResult Function(Product product, ProductVariant? variant)? addItem,
TResult Function(Product product, ProductVariant? variant)? removeItem,
TResult Function(Product product, ProductVariant? variant)? deleteItem,
TResult Function(Discount discount)? addDiscount,
TResult Function()? removeDiscount,
TResult Function(int tax)? addTax,
@@ -1241,9 +1283,11 @@ class _$RemoveDiscountImpl implements _RemoveDiscount {
@optionalTypeArgs
TResult when<TResult extends Object?>({
required TResult Function() started,
required TResult Function(Product product) addItem,
required TResult Function(Product product) removeItem,
required TResult Function(Product product) deleteItem,
required TResult Function(Product product, ProductVariant? variant) addItem,
required TResult Function(Product product, ProductVariant? variant)
removeItem,
required TResult Function(Product product, ProductVariant? variant)
deleteItem,
required TResult Function(Discount discount) addDiscount,
required TResult Function() removeDiscount,
required TResult Function(int tax) addTax,
@@ -1264,9 +1308,9 @@ class _$RemoveDiscountImpl implements _RemoveDiscount {
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? started,
TResult? Function(Product product)? addItem,
TResult? Function(Product product)? removeItem,
TResult? Function(Product product)? deleteItem,
TResult? Function(Product product, ProductVariant? variant)? addItem,
TResult? Function(Product product, ProductVariant? variant)? removeItem,
TResult? Function(Product product, ProductVariant? variant)? deleteItem,
TResult? Function(Discount discount)? addDiscount,
TResult? Function()? removeDiscount,
TResult? Function(int tax)? addTax,
@@ -1286,9 +1330,9 @@ class _$RemoveDiscountImpl implements _RemoveDiscount {
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? started,
TResult Function(Product product)? addItem,
TResult Function(Product product)? removeItem,
TResult Function(Product product)? deleteItem,
TResult Function(Product product, ProductVariant? variant)? addItem,
TResult Function(Product product, ProductVariant? variant)? removeItem,
TResult Function(Product product, ProductVariant? variant)? deleteItem,
TResult Function(Discount discount)? addDiscount,
TResult Function()? removeDiscount,
TResult Function(int tax)? addTax,
@@ -1449,9 +1493,11 @@ class _$AddTaxImpl implements _AddTax {
@optionalTypeArgs
TResult when<TResult extends Object?>({
required TResult Function() started,
required TResult Function(Product product) addItem,
required TResult Function(Product product) removeItem,
required TResult Function(Product product) deleteItem,
required TResult Function(Product product, ProductVariant? variant) addItem,
required TResult Function(Product product, ProductVariant? variant)
removeItem,
required TResult Function(Product product, ProductVariant? variant)
deleteItem,
required TResult Function(Discount discount) addDiscount,
required TResult Function() removeDiscount,
required TResult Function(int tax) addTax,
@@ -1472,9 +1518,9 @@ class _$AddTaxImpl implements _AddTax {
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? started,
TResult? Function(Product product)? addItem,
TResult? Function(Product product)? removeItem,
TResult? Function(Product product)? deleteItem,
TResult? Function(Product product, ProductVariant? variant)? addItem,
TResult? Function(Product product, ProductVariant? variant)? removeItem,
TResult? Function(Product product, ProductVariant? variant)? deleteItem,
TResult? Function(Discount discount)? addDiscount,
TResult? Function()? removeDiscount,
TResult? Function(int tax)? addTax,
@@ -1494,9 +1540,9 @@ class _$AddTaxImpl implements _AddTax {
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? started,
TResult Function(Product product)? addItem,
TResult Function(Product product)? removeItem,
TResult Function(Product product)? deleteItem,
TResult Function(Product product, ProductVariant? variant)? addItem,
TResult Function(Product product, ProductVariant? variant)? removeItem,
TResult Function(Product product, ProductVariant? variant)? deleteItem,
TResult Function(Discount discount)? addDiscount,
TResult Function()? removeDiscount,
TResult Function(int tax)? addTax,
@@ -1667,9 +1713,11 @@ class _$AddServiceChargeImpl implements _AddServiceCharge {
@optionalTypeArgs
TResult when<TResult extends Object?>({
required TResult Function() started,
required TResult Function(Product product) addItem,
required TResult Function(Product product) removeItem,
required TResult Function(Product product) deleteItem,
required TResult Function(Product product, ProductVariant? variant) addItem,
required TResult Function(Product product, ProductVariant? variant)
removeItem,
required TResult Function(Product product, ProductVariant? variant)
deleteItem,
required TResult Function(Discount discount) addDiscount,
required TResult Function() removeDiscount,
required TResult Function(int tax) addTax,
@@ -1690,9 +1738,9 @@ class _$AddServiceChargeImpl implements _AddServiceCharge {
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? started,
TResult? Function(Product product)? addItem,
TResult? Function(Product product)? removeItem,
TResult? Function(Product product)? deleteItem,
TResult? Function(Product product, ProductVariant? variant)? addItem,
TResult? Function(Product product, ProductVariant? variant)? removeItem,
TResult? Function(Product product, ProductVariant? variant)? deleteItem,
TResult? Function(Discount discount)? addDiscount,
TResult? Function()? removeDiscount,
TResult? Function(int tax)? addTax,
@@ -1712,9 +1760,9 @@ class _$AddServiceChargeImpl implements _AddServiceCharge {
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? started,
TResult Function(Product product)? addItem,
TResult Function(Product product)? removeItem,
TResult Function(Product product)? deleteItem,
TResult Function(Product product, ProductVariant? variant)? addItem,
TResult Function(Product product, ProductVariant? variant)? removeItem,
TResult Function(Product product, ProductVariant? variant)? deleteItem,
TResult Function(Discount discount)? addDiscount,
TResult Function()? removeDiscount,
TResult Function(int tax)? addTax,
@@ -1857,9 +1905,11 @@ class _$RemoveTaxImpl implements _RemoveTax {
@optionalTypeArgs
TResult when<TResult extends Object?>({
required TResult Function() started,
required TResult Function(Product product) addItem,
required TResult Function(Product product) removeItem,
required TResult Function(Product product) deleteItem,
required TResult Function(Product product, ProductVariant? variant) addItem,
required TResult Function(Product product, ProductVariant? variant)
removeItem,
required TResult Function(Product product, ProductVariant? variant)
deleteItem,
required TResult Function(Discount discount) addDiscount,
required TResult Function() removeDiscount,
required TResult Function(int tax) addTax,
@@ -1880,9 +1930,9 @@ class _$RemoveTaxImpl implements _RemoveTax {
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? started,
TResult? Function(Product product)? addItem,
TResult? Function(Product product)? removeItem,
TResult? Function(Product product)? deleteItem,
TResult? Function(Product product, ProductVariant? variant)? addItem,
TResult? Function(Product product, ProductVariant? variant)? removeItem,
TResult? Function(Product product, ProductVariant? variant)? deleteItem,
TResult? Function(Discount discount)? addDiscount,
TResult? Function()? removeDiscount,
TResult? Function(int tax)? addTax,
@@ -1902,9 +1952,9 @@ class _$RemoveTaxImpl implements _RemoveTax {
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? started,
TResult Function(Product product)? addItem,
TResult Function(Product product)? removeItem,
TResult Function(Product product)? deleteItem,
TResult Function(Product product, ProductVariant? variant)? addItem,
TResult Function(Product product, ProductVariant? variant)? removeItem,
TResult Function(Product product, ProductVariant? variant)? deleteItem,
TResult Function(Discount discount)? addDiscount,
TResult Function()? removeDiscount,
TResult Function(int tax)? addTax,
@@ -2039,9 +2089,11 @@ class _$RemoveServiceChargeImpl implements _RemoveServiceCharge {
@optionalTypeArgs
TResult when<TResult extends Object?>({
required TResult Function() started,
required TResult Function(Product product) addItem,
required TResult Function(Product product) removeItem,
required TResult Function(Product product) deleteItem,
required TResult Function(Product product, ProductVariant? variant) addItem,
required TResult Function(Product product, ProductVariant? variant)
removeItem,
required TResult Function(Product product, ProductVariant? variant)
deleteItem,
required TResult Function(Discount discount) addDiscount,
required TResult Function() removeDiscount,
required TResult Function(int tax) addTax,
@@ -2062,9 +2114,9 @@ class _$RemoveServiceChargeImpl implements _RemoveServiceCharge {
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? started,
TResult? Function(Product product)? addItem,
TResult? Function(Product product)? removeItem,
TResult? Function(Product product)? deleteItem,
TResult? Function(Product product, ProductVariant? variant)? addItem,
TResult? Function(Product product, ProductVariant? variant)? removeItem,
TResult? Function(Product product, ProductVariant? variant)? deleteItem,
TResult? Function(Discount discount)? addDiscount,
TResult? Function()? removeDiscount,
TResult? Function(int tax)? addTax,
@@ -2084,9 +2136,9 @@ class _$RemoveServiceChargeImpl implements _RemoveServiceCharge {
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? started,
TResult Function(Product product)? addItem,
TResult Function(Product product)? removeItem,
TResult Function(Product product)? deleteItem,
TResult Function(Product product, ProductVariant? variant)? addItem,
TResult Function(Product product, ProductVariant? variant)? removeItem,
TResult Function(Product product, ProductVariant? variant)? deleteItem,
TResult Function(Discount discount)? addDiscount,
TResult Function()? removeDiscount,
TResult Function(int tax)? addTax,
@@ -2249,9 +2301,11 @@ class _$UpdateOrderTypeImpl implements _UpdateOrderType {
@optionalTypeArgs
TResult when<TResult extends Object?>({
required TResult Function() started,
required TResult Function(Product product) addItem,
required TResult Function(Product product) removeItem,
required TResult Function(Product product) deleteItem,
required TResult Function(Product product, ProductVariant? variant) addItem,
required TResult Function(Product product, ProductVariant? variant)
removeItem,
required TResult Function(Product product, ProductVariant? variant)
deleteItem,
required TResult Function(Discount discount) addDiscount,
required TResult Function() removeDiscount,
required TResult Function(int tax) addTax,
@@ -2272,9 +2326,9 @@ class _$UpdateOrderTypeImpl implements _UpdateOrderType {
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? started,
TResult? Function(Product product)? addItem,
TResult? Function(Product product)? removeItem,
TResult? Function(Product product)? deleteItem,
TResult? Function(Product product, ProductVariant? variant)? addItem,
TResult? Function(Product product, ProductVariant? variant)? removeItem,
TResult? Function(Product product, ProductVariant? variant)? deleteItem,
TResult? Function(Discount discount)? addDiscount,
TResult? Function()? removeDiscount,
TResult? Function(int tax)? addTax,
@@ -2294,9 +2348,9 @@ class _$UpdateOrderTypeImpl implements _UpdateOrderType {
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? started,
TResult Function(Product product)? addItem,
TResult Function(Product product)? removeItem,
TResult Function(Product product)? deleteItem,
TResult Function(Product product, ProductVariant? variant)? addItem,
TResult Function(Product product, ProductVariant? variant)? removeItem,
TResult Function(Product product, ProductVariant? variant)? deleteItem,
TResult Function(Discount discount)? addDiscount,
TResult Function()? removeDiscount,
TResult Function(int tax)? addTax,
@@ -2475,9 +2529,11 @@ class _$UpdateItemNotesImpl implements _UpdateItemNotes {
@optionalTypeArgs
TResult when<TResult extends Object?>({
required TResult Function() started,
required TResult Function(Product product) addItem,
required TResult Function(Product product) removeItem,
required TResult Function(Product product) deleteItem,
required TResult Function(Product product, ProductVariant? variant) addItem,
required TResult Function(Product product, ProductVariant? variant)
removeItem,
required TResult Function(Product product, ProductVariant? variant)
deleteItem,
required TResult Function(Discount discount) addDiscount,
required TResult Function() removeDiscount,
required TResult Function(int tax) addTax,
@@ -2498,9 +2554,9 @@ class _$UpdateItemNotesImpl implements _UpdateItemNotes {
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? started,
TResult? Function(Product product)? addItem,
TResult? Function(Product product)? removeItem,
TResult? Function(Product product)? deleteItem,
TResult? Function(Product product, ProductVariant? variant)? addItem,
TResult? Function(Product product, ProductVariant? variant)? removeItem,
TResult? Function(Product product, ProductVariant? variant)? deleteItem,
TResult? Function(Discount discount)? addDiscount,
TResult? Function()? removeDiscount,
TResult? Function(int tax)? addTax,
@@ -2520,9 +2576,9 @@ class _$UpdateItemNotesImpl implements _UpdateItemNotes {
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? started,
TResult Function(Product product)? addItem,
TResult Function(Product product)? removeItem,
TResult Function(Product product)? deleteItem,
TResult Function(Product product, ProductVariant? variant)? addItem,
TResult Function(Product product, ProductVariant? variant)? removeItem,
TResult Function(Product product, ProductVariant? variant)? deleteItem,
TResult Function(Discount discount)? addDiscount,
TResult Function()? removeDiscount,
TResult Function(int tax)? addTax,
@@ -2715,9 +2771,11 @@ class _$SaveDraftOrderImpl implements _SaveDraftOrder {
@optionalTypeArgs
TResult when<TResult extends Object?>({
required TResult Function() started,
required TResult Function(Product product) addItem,
required TResult Function(Product product) removeItem,
required TResult Function(Product product) deleteItem,
required TResult Function(Product product, ProductVariant? variant) addItem,
required TResult Function(Product product, ProductVariant? variant)
removeItem,
required TResult Function(Product product, ProductVariant? variant)
deleteItem,
required TResult Function(Discount discount) addDiscount,
required TResult Function() removeDiscount,
required TResult Function(int tax) addTax,
@@ -2738,9 +2796,9 @@ class _$SaveDraftOrderImpl implements _SaveDraftOrder {
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? started,
TResult? Function(Product product)? addItem,
TResult? Function(Product product)? removeItem,
TResult? Function(Product product)? deleteItem,
TResult? Function(Product product, ProductVariant? variant)? addItem,
TResult? Function(Product product, ProductVariant? variant)? removeItem,
TResult? Function(Product product, ProductVariant? variant)? deleteItem,
TResult? Function(Discount discount)? addDiscount,
TResult? Function()? removeDiscount,
TResult? Function(int tax)? addTax,
@@ -2760,9 +2818,9 @@ class _$SaveDraftOrderImpl implements _SaveDraftOrder {
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? started,
TResult Function(Product product)? addItem,
TResult Function(Product product)? removeItem,
TResult Function(Product product)? deleteItem,
TResult Function(Product product, ProductVariant? variant)? addItem,
TResult Function(Product product, ProductVariant? variant)? removeItem,
TResult Function(Product product, ProductVariant? variant)? deleteItem,
TResult Function(Discount discount)? addDiscount,
TResult Function()? removeDiscount,
TResult Function(int tax)? addTax,
@@ -2935,9 +2993,11 @@ class _$LoadDraftOrderImpl implements _LoadDraftOrder {
@optionalTypeArgs
TResult when<TResult extends Object?>({
required TResult Function() started,
required TResult Function(Product product) addItem,
required TResult Function(Product product) removeItem,
required TResult Function(Product product) deleteItem,
required TResult Function(Product product, ProductVariant? variant) addItem,
required TResult Function(Product product, ProductVariant? variant)
removeItem,
required TResult Function(Product product, ProductVariant? variant)
deleteItem,
required TResult Function(Discount discount) addDiscount,
required TResult Function() removeDiscount,
required TResult Function(int tax) addTax,
@@ -2958,9 +3018,9 @@ class _$LoadDraftOrderImpl implements _LoadDraftOrder {
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? started,
TResult? Function(Product product)? addItem,
TResult? Function(Product product)? removeItem,
TResult? Function(Product product)? deleteItem,
TResult? Function(Product product, ProductVariant? variant)? addItem,
TResult? Function(Product product, ProductVariant? variant)? removeItem,
TResult? Function(Product product, ProductVariant? variant)? deleteItem,
TResult? Function(Discount discount)? addDiscount,
TResult? Function()? removeDiscount,
TResult? Function(int tax)? addTax,
@@ -2980,9 +3040,9 @@ class _$LoadDraftOrderImpl implements _LoadDraftOrder {
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? started,
TResult Function(Product product)? addItem,
TResult Function(Product product)? removeItem,
TResult Function(Product product)? deleteItem,
TResult Function(Product product, ProductVariant? variant)? addItem,
TResult Function(Product product, ProductVariant? variant)? removeItem,
TResult Function(Product product, ProductVariant? variant)? deleteItem,
TResult Function(Discount discount)? addDiscount,
TResult Function()? removeDiscount,
TResult Function(int tax)? addTax,
@@ -4,11 +4,14 @@ part of 'checkout_bloc.dart';
class CheckoutEvent with _$CheckoutEvent {
const factory CheckoutEvent.started() = _Started;
//add item
const factory CheckoutEvent.addItem(Product product) = _AddItem;
const factory CheckoutEvent.addItem(
Product product, ProductVariant? variant) = _AddItem;
//remove item
const factory CheckoutEvent.removeItem(Product product) = _RemoveItem;
const factory CheckoutEvent.removeItem(
Product product, ProductVariant? variant) = _RemoveItem;
// Delete Item
const factory CheckoutEvent.deleteItem(Product product) = _DeleteItem;
const factory CheckoutEvent.deleteItem(
Product product, ProductVariant? variant) = _DeleteItem;
//add discount
const factory CheckoutEvent.addDiscount(Discount discount) = _AddDiscount;