import 'dart:async'; import 'package:cubit_form/cubit_form.dart'; import 'package:selfprivacy/logic/itemscubit.dart'; import 'package:selfprivacy/models/item.dart'; class ItemFormCubit extends FormCubit { ItemFormCubit({ required this.cubit, }) { title = FieldCubit( initalValue: 'Товар', validations: [ RequiredStringValidation('Поле обязательно'), ], ); description = FieldCubit( initalValue: ' ', validations: [ RequiredStringValidation('Поле обязательно'), ], ); price = FieldCubit( initalValue: 100, ); quantity = FieldCubit( initalValue: 1, ); super.addFields([title, description, price, quantity]); } @override FutureOr onSubmit() { print('onSubmit'); print('title: ${title.state.value}'); print('description: ${description.state.value}'); print('price: ${price.state.value}'); print('quantity: ${quantity.state.value}'); final Item item = Item( title: title.state.value, description: description.state.value, price: price.state.value, quantity: quantity.state.value, id: cubit.state.items.isEmpty ? 0 : cubit.state.items.last.id + 1, ); cubit.create(item); } late FieldCubit title; late FieldCubit description; late FieldCubit price; late FieldCubit quantity; final ItemsCubit cubit; }