This commit is contained in:
Hillel Coren 2019-10-06 16:37:57 +03:00
parent 773af4020e
commit e05f47730a
6 changed files with 20 additions and 1 deletions

View File

@ -1,7 +1,7 @@
import 'package:flutter/material.dart';
// This version must be updated in tandem with the pubspec version.
const String kAppVersion = '2.0.2';
const String kAppVersion = '2.0.0';
const String kSiteUrl = 'https://invoiceninja.com';
const String kAppUrl = 'https://admin.invoiceninja.com';
const String kAppPlansURL =

View File

@ -44,8 +44,11 @@ abstract class GroupEntity extends Object
factory GroupEntity({String id}) {
return _$GroupEntity._(
id: id ?? BaseEntity.nextId,
isChanged: false,
name: '',
settings: SettingsEntity(),
customValue1: '',
customValue2: '',
);
}

View File

@ -1,6 +1,7 @@
import 'package:invoiceninja_flutter/data/models/models.dart';
import 'package:invoiceninja_flutter/redux/client/client_selectors.dart';
import 'package:invoiceninja_flutter/redux/expense/expense_selectors.dart';
import 'package:invoiceninja_flutter/redux/group/group_selectors.dart';
import 'package:invoiceninja_flutter/redux/invoice/invoice_selectors.dart';
import 'package:invoiceninja_flutter/redux/payment/payment_selectors.dart';
import 'package:invoiceninja_flutter/redux/product/product_selectors.dart';
@ -33,6 +34,7 @@ import 'package:invoiceninja_flutter/redux/payment/payment_state.dart';
import 'package:invoiceninja_flutter/redux/quote/quote_state.dart';
import 'package:invoiceninja_flutter/ui/app/screen_imports.dart';
import 'package:invoiceninja_flutter/ui/client/edit/client_edit_vm.dart';
import 'package:invoiceninja_flutter/ui/group/edit/group_edit_vm.dart';
import 'package:invoiceninja_flutter/ui/product/edit/product_edit_vm.dart';
part 'app_state.g.dart';
@ -254,6 +256,8 @@ abstract class AppState implements Built<AppState, AppStateBuilder> {
return hasVendorChanges(vendorUIState.editing, vendorState.map);
case ExpenseEditScreen.route:
return hasExpenseChanges(expenseUIState.editing, expenseState.map);
case GroupEditScreen.route:
return hasGroupChanges(groupUIState.editing, groupState.map);
// TODO add to stater.sh
}

View File

@ -1,3 +1,4 @@
import 'package:invoiceninja_flutter/data/models/expense_model.dart';
import 'package:invoiceninja_flutter/data/models/group_model.dart';
import 'package:memoize/memoize.dart';
import 'package:built_collection/built_collection.dart';
@ -60,3 +61,7 @@ List<String> filteredGroupsSelector(BuiltMap<String, GroupEntity> groupMap,
return list;
}
bool hasGroupChanges(
GroupEntity group, BuiltMap<String, GroupEntity> groupMap) =>
group.isNew ? group.isChanged : group != groupMap[group.id];

View File

@ -65,6 +65,8 @@ IconData getEntityIcon(EntityType entityType) {
return FontAwesomeIcons.fileImage;
case EntityType.task:
return FontAwesomeIcons.clock;
case EntityType.group:
return FontAwesomeIcons.tags;
default:
return null;
}

View File

@ -1,3 +1,4 @@
import 'package:invoiceninja_flutter/data/models/stub_model.dart';
import 'package:memoize/memoize.dart';
import 'package:built_collection/built_collection.dart';
import 'package:invoiceninja_flutter/data/models/models.dart';
@ -67,3 +68,7 @@ List<String> filteredStubsSelector(BuiltMap<String, StubEntity> stubMap,
return list;
}
bool hasStubChanges(
StubEntity stub, BuiltMap<String, StubEntity> stubMap) =>
stub.isNew ? stub.isChanged : stub != stubMap[stub.id];