diff --git a/lib/data/models/serializers.dart b/lib/data/models/serializers.dart index c8aaaeb02..feac32662 100644 --- a/lib/data/models/serializers.dart +++ b/lib/data/models/serializers.dart @@ -21,15 +21,14 @@ import 'package:invoiceninja_flutter/redux/product/product_state.dart'; import 'package:invoiceninja_flutter/redux/client/client_state.dart'; import 'package:invoiceninja_flutter/redux/ui/ui_state.dart'; import 'package:invoiceninja_flutter/redux/invoice/invoice_state.dart'; + // STARTER: import - do not remove comment -import 'package:invoiceninja_flutter/data/models/project_model.dart'; import 'package:invoiceninja_flutter/redux/project/project_state.dart'; import 'package:invoiceninja_flutter/redux/payment/payment_state.dart'; import 'package:invoiceninja_flutter/redux/quote/quote_state.dart'; - part 'serializers.g.dart'; @SerializersFor(const [ @@ -78,11 +77,9 @@ part 'serializers.g.dart'; TimezoneItemResponse, TimezoneListResponse, // STARTER: serializers - do not remove comment -ProjectEntity, - -PaymentEntity, - + ProjectEntity, + PaymentEntity, ]) final Serializers serializers = -(_$serializers.toBuilder()..addPlugin(StandardJsonPlugin())).build(); \ No newline at end of file + (_$serializers.toBuilder()..addPlugin(StandardJsonPlugin())).build(); diff --git a/lib/data/repositories/project_repository.dart b/lib/data/repositories/project_repository.dart index 2dbfda83c..8e4918481 100644 --- a/lib/data/repositories/project_repository.dart +++ b/lib/data/repositories/project_repository.dart @@ -9,12 +9,12 @@ import 'package:invoiceninja_flutter/data/models/models.dart'; import 'package:invoiceninja_flutter/data/web_client.dart'; class ProjectRepository { - final WebClient webClient; - const ProjectRepository({ this.webClient = const WebClient(), }); + final WebClient webClient; + Future loadItem( CompanyEntity company, AuthState auth, int entityId) async { final dynamic response = await webClient.get( diff --git a/lib/ui/project/edit/project_edit.dart b/lib/ui/project/edit/project_edit.dart index 337ca00ba..2e6ce0583 100644 --- a/lib/ui/project/edit/project_edit.dart +++ b/lib/ui/project/edit/project_edit.dart @@ -6,13 +6,13 @@ import 'package:invoiceninja_flutter/ui/app/buttons/refresh_icon_button.dart'; import 'package:invoiceninja_flutter/utils/localization.dart'; class ProjectEdit extends StatefulWidget { - final ProjectEditVM viewModel; - const ProjectEdit({ Key key, @required this.viewModel, }) : super(key: key); + final ProjectEditVM viewModel; + @override _ProjectEditState createState() => _ProjectEditState(); } @@ -33,7 +33,7 @@ class _ProjectEditState extends State { _controllers.forEach((controller) => controller.removeListener(_onChanged)); - final project = widget.viewModel.project; + //final project = widget.viewModel.project; // STARTER: read value - do not remove comment _controllers.forEach((controller) => controller.addListener(_onChanged)); diff --git a/lib/ui/project/edit/project_edit_vm.dart b/lib/ui/project/edit/project_edit_vm.dart index 2227b642c..25c0f25cd 100644 --- a/lib/ui/project/edit/project_edit_vm.dart +++ b/lib/ui/project/edit/project_edit_vm.dart @@ -9,11 +9,11 @@ import 'package:invoiceninja_flutter/redux/project/project_actions.dart'; import 'package:invoiceninja_flutter/data/models/project_model.dart'; import 'package:invoiceninja_flutter/ui/project/edit/project_edit.dart'; import 'package:invoiceninja_flutter/redux/app/app_state.dart'; -import 'package:invoiceninja_flutter/ui/app/icon_message.dart'; class ProjectEditScreen extends StatelessWidget { + const ProjectEditScreen({Key key}) : super(key: key); + static const String route = '/project/edit'; - ProjectEditScreen({Key key}) : super(key: key); @override Widget build(BuildContext context) { @@ -31,14 +31,6 @@ class ProjectEditScreen extends StatelessWidget { } class ProjectEditVM { - final ProjectEntity project; - final Function(ProjectEntity) onChanged; - final Function(BuildContext) onSavePressed; - final bool isSaving; - final ProjectEntity origProject; - final Function onBackPressed; - final bool isLoading; - ProjectEditVM({ @required this.project, @required this.onChanged, @@ -81,4 +73,12 @@ class ProjectEditVM { }, ); } + + final ProjectEntity project; + final Function(ProjectEntity) onChanged; + final Function(BuildContext) onSavePressed; + final bool isSaving; + final ProjectEntity origProject; + final Function onBackPressed; + final bool isLoading; } diff --git a/lib/ui/project/project_list.dart b/lib/ui/project/project_list.dart index cff07b38d..5cc053ba3 100644 --- a/lib/ui/project/project_list.dart +++ b/lib/ui/project/project_list.dart @@ -8,8 +8,6 @@ import 'package:invoiceninja_flutter/ui/project/project_list_vm.dart'; import 'package:invoiceninja_flutter/utils/localization.dart'; class ProjectList extends StatelessWidget { - final ProjectListVM viewModel; - const ProjectList({ Key key, @required this.viewModel, @@ -116,4 +114,6 @@ class ProjectList extends StatelessWidget { }), ); } + + final ProjectListVM viewModel; } diff --git a/lib/ui/project/project_list_item.dart b/lib/ui/project/project_list_item.dart index 551d731fc..4792eb316 100644 --- a/lib/ui/project/project_list_item.dart +++ b/lib/ui/project/project_list_item.dart @@ -6,15 +6,6 @@ import 'package:invoiceninja_flutter/data/models/models.dart'; import 'package:invoiceninja_flutter/ui/app/dismissible_entity.dart'; class ProjectListItem extends StatelessWidget { - final UserEntity user; - final Function(EntityAction) onEntityAction; - final GestureTapCallback onTap; - final GestureTapCallback onLongPress; - //final ValueChanged onCheckboxChanged; - final ProjectEntity project; - final String filter; - - static final projectItemKey = (int id) => Key('__project_item_${id}__'); const ProjectListItem({ @required this.user, @@ -26,6 +17,16 @@ class ProjectListItem extends StatelessWidget { @required this.filter, }); + final UserEntity user; + final Function(EntityAction) onEntityAction; + final GestureTapCallback onTap; + final GestureTapCallback onLongPress; + //final ValueChanged onCheckboxChanged; + final ProjectEntity project; + final String filter; + + static final projectItemKey = (int id) => Key('__project_item_${id}__'); + @override Widget build(BuildContext context) { final filterMatch = filter != null && filter.isNotEmpty diff --git a/lib/ui/project/project_list_vm.dart b/lib/ui/project/project_list_vm.dart index 8bda9b2df..dd699f9cb 100644 --- a/lib/ui/project/project_list_vm.dart +++ b/lib/ui/project/project_list_vm.dart @@ -30,17 +30,6 @@ class ProjectListBuilder extends StatelessWidget { } class ProjectListVM { - final UserEntity user; - final List projectList; - final BuiltMap projectMap; - final String filter; - final bool isLoading; - final bool isLoaded; - final Function(BuildContext, ProjectEntity) onProjectTap; - final Function(BuildContext, ProjectEntity, DismissDirection) onDismissed; - final Function(BuildContext) onRefreshed; - final Function(BuildContext, ProjectEntity, EntityAction) onEntityAction; - ProjectListVM({ @required this.user, @required this.projectList, @@ -132,4 +121,15 @@ class ProjectListVM { } }); } + + final UserEntity user; + final List projectList; + final BuiltMap projectMap; + final String filter; + final bool isLoading; + final bool isLoaded; + final Function(BuildContext, ProjectEntity) onProjectTap; + final Function(BuildContext, ProjectEntity, DismissDirection) onDismissed; + final Function(BuildContext) onRefreshed; + final Function(BuildContext, ProjectEntity, EntityAction) onEntityAction; } diff --git a/stubs/data/repositories/stub_repository b/stubs/data/repositories/stub_repository index 178a17987..d5fca551e 100644 --- a/stubs/data/repositories/stub_repository +++ b/stubs/data/repositories/stub_repository @@ -9,12 +9,13 @@ import 'package:invoiceninja_flutter/data/models/models.dart'; import 'package:invoiceninja_flutter/data/web_client.dart'; class StubRepository { - final WebClient webClient; const StubRepository({ this.webClient = const WebClient(), }); + final WebClient webClient; + Future loadItem( CompanyEntity company, AuthState auth, int entityId) async { final dynamic response = await webClient.get( diff --git a/stubs/ui/stub/edit/stub_edit b/stubs/ui/stub/edit/stub_edit index d01173b67..7a83c904b 100644 --- a/stubs/ui/stub/edit/stub_edit +++ b/stubs/ui/stub/edit/stub_edit @@ -6,13 +6,13 @@ import 'package:invoiceninja_flutter/ui/app/buttons/refresh_icon_button.dart'; import 'package:invoiceninja_flutter/utils/localization.dart'; class StubEdit extends StatefulWidget { - final StubEditVM viewModel; - const StubEdit({ Key key, @required this.viewModel, }) : super(key: key); + final StubEditVM viewModel; + @override _StubEditState createState() => _StubEditState(); } diff --git a/stubs/ui/stub/edit/stub_edit_vm b/stubs/ui/stub/edit/stub_edit_vm index af2f0deea..d2cd6dcd7 100644 --- a/stubs/ui/stub/edit/stub_edit_vm +++ b/stubs/ui/stub/edit/stub_edit_vm @@ -9,11 +9,10 @@ import 'package:invoiceninja_flutter/redux/stub/stub_actions.dart'; import 'package:invoiceninja_flutter/data/models/stub_model.dart'; import 'package:invoiceninja_flutter/ui/stub/edit/stub_edit.dart'; import 'package:invoiceninja_flutter/redux/app/app_state.dart'; -import 'package:invoiceninja_flutter/ui/app/icon_message.dart'; class StubEditScreen extends StatelessWidget { + const StubEditScreen({Key key}) : super(key: key); static const String route = '/stub/edit'; - StubEditScreen({Key key}) : super(key: key); @override Widget build(BuildContext context) { @@ -31,12 +30,6 @@ class StubEditScreen extends StatelessWidget { } class StubEditVM { - final StubEntity stub; - final Function(StubEntity) onChanged; - final Function(BuildContext) onSavePressed; - final Function onBackPressed; - final bool isLoading; - StubEditVM({ @required this.stub, @required this.onChanged, @@ -77,4 +70,10 @@ class StubEditVM { }, ); } + + final StubEntity stub; + final Function(StubEntity) onChanged; + final Function(BuildContext) onSavePressed; + final Function onBackPressed; + final bool isLoading; } diff --git a/stubs/ui/stub/stub_list b/stubs/ui/stub/stub_list index e25628bc1..56d514d3a 100644 --- a/stubs/ui/stub/stub_list +++ b/stubs/ui/stub/stub_list @@ -8,8 +8,6 @@ import 'package:invoiceninja_flutter/ui/stub/stub_list_vm.dart'; import 'package:invoiceninja_flutter/utils/localization.dart'; class StubList extends StatelessWidget { - final StubListVM viewModel; - const StubList({ Key key, @required this.viewModel, @@ -116,4 +114,6 @@ class StubList extends StatelessWidget { }), ); } + + final StubListVM viewModel; } diff --git a/stubs/ui/stub/stub_list_item b/stubs/ui/stub/stub_list_item index ca0ce0811..37707ec67 100644 --- a/stubs/ui/stub/stub_list_item +++ b/stubs/ui/stub/stub_list_item @@ -6,15 +6,6 @@ import 'package:invoiceninja_flutter/data/models/models.dart'; import 'package:invoiceninja_flutter/ui/app/dismissible_entity.dart'; class StubListItem extends StatelessWidget { - final UserEntity user; - final Function(EntityAction) onEntityAction; - final GestureTapCallback onTap; - final GestureTapCallback onLongPress; - //final ValueChanged onCheckboxChanged; - final StubEntity stub; - final String filter; - - static final stubItemKey = (int id) => Key('__stub_item_${id}__'); const StubListItem({ @required this.user, @@ -26,6 +17,16 @@ class StubListItem extends StatelessWidget { @required this.filter, }); + final UserEntity user; + final Function(EntityAction) onEntityAction; + final GestureTapCallback onTap; + final GestureTapCallback onLongPress; + //final ValueChanged onCheckboxChanged; + final StubEntity stub; + final String filter; + + static final stubItemKey = (int id) => Key('__stub_item_${id}__'); + @override Widget build(BuildContext context) { final filterMatch = filter != null && filter.isNotEmpty diff --git a/stubs/ui/stub/stub_list_vm b/stubs/ui/stub/stub_list_vm index d8c966d40..f85bd4943 100644 --- a/stubs/ui/stub/stub_list_vm +++ b/stubs/ui/stub/stub_list_vm @@ -30,17 +30,6 @@ class StubListBuilder extends StatelessWidget { } class StubListVM { - final UserEntity user; - final List stubList; - final BuiltMap stubMap; - final String filter; - final bool isLoading; - final bool isLoaded; - final Function(BuildContext, StubEntity) onStubTap; - final Function(BuildContext, StubEntity, DismissDirection) onDismissed; - final Function(BuildContext) onRefreshed; - final Function(BuildContext, StubEntity, EntityAction) onEntityAction; - StubListVM({ @required this.user, @required this.stubList, @@ -132,4 +121,15 @@ class StubListVM { } }); } + + final UserEntity user; + final List stubList; + final BuiltMap stubMap; + final String filter; + final bool isLoading; + final bool isLoaded; + final Function(BuildContext, StubEntity) onStubTap; + final Function(BuildContext, StubEntity, DismissDirection) onDismissed; + final Function(BuildContext) onRefreshed; + final Function(BuildContext, StubEntity, EntityAction) onEntityAction; }