Settings
This commit is contained in:
parent
773af4020e
commit
e05f47730a
|
|
@ -1,7 +1,7 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
// This version must be updated in tandem with the pubspec version.
|
// 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 kSiteUrl = 'https://invoiceninja.com';
|
||||||
const String kAppUrl = 'https://admin.invoiceninja.com';
|
const String kAppUrl = 'https://admin.invoiceninja.com';
|
||||||
const String kAppPlansURL =
|
const String kAppPlansURL =
|
||||||
|
|
|
||||||
|
|
@ -44,8 +44,11 @@ abstract class GroupEntity extends Object
|
||||||
factory GroupEntity({String id}) {
|
factory GroupEntity({String id}) {
|
||||||
return _$GroupEntity._(
|
return _$GroupEntity._(
|
||||||
id: id ?? BaseEntity.nextId,
|
id: id ?? BaseEntity.nextId,
|
||||||
|
isChanged: false,
|
||||||
name: '',
|
name: '',
|
||||||
settings: SettingsEntity(),
|
settings: SettingsEntity(),
|
||||||
|
customValue1: '',
|
||||||
|
customValue2: '',
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||||
import 'package:invoiceninja_flutter/redux/client/client_selectors.dart';
|
import 'package:invoiceninja_flutter/redux/client/client_selectors.dart';
|
||||||
import 'package:invoiceninja_flutter/redux/expense/expense_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/invoice/invoice_selectors.dart';
|
||||||
import 'package:invoiceninja_flutter/redux/payment/payment_selectors.dart';
|
import 'package:invoiceninja_flutter/redux/payment/payment_selectors.dart';
|
||||||
import 'package:invoiceninja_flutter/redux/product/product_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/redux/quote/quote_state.dart';
|
||||||
import 'package:invoiceninja_flutter/ui/app/screen_imports.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/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';
|
import 'package:invoiceninja_flutter/ui/product/edit/product_edit_vm.dart';
|
||||||
|
|
||||||
part 'app_state.g.dart';
|
part 'app_state.g.dart';
|
||||||
|
|
@ -254,6 +256,8 @@ abstract class AppState implements Built<AppState, AppStateBuilder> {
|
||||||
return hasVendorChanges(vendorUIState.editing, vendorState.map);
|
return hasVendorChanges(vendorUIState.editing, vendorState.map);
|
||||||
case ExpenseEditScreen.route:
|
case ExpenseEditScreen.route:
|
||||||
return hasExpenseChanges(expenseUIState.editing, expenseState.map);
|
return hasExpenseChanges(expenseUIState.editing, expenseState.map);
|
||||||
|
case GroupEditScreen.route:
|
||||||
|
return hasGroupChanges(groupUIState.editing, groupState.map);
|
||||||
// TODO add to stater.sh
|
// TODO add to stater.sh
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
import 'package:invoiceninja_flutter/data/models/expense_model.dart';
|
||||||
import 'package:invoiceninja_flutter/data/models/group_model.dart';
|
import 'package:invoiceninja_flutter/data/models/group_model.dart';
|
||||||
import 'package:memoize/memoize.dart';
|
import 'package:memoize/memoize.dart';
|
||||||
import 'package:built_collection/built_collection.dart';
|
import 'package:built_collection/built_collection.dart';
|
||||||
|
|
@ -60,3 +61,7 @@ List<String> filteredGroupsSelector(BuiltMap<String, GroupEntity> groupMap,
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool hasGroupChanges(
|
||||||
|
GroupEntity group, BuiltMap<String, GroupEntity> groupMap) =>
|
||||||
|
group.isNew ? group.isChanged : group != groupMap[group.id];
|
||||||
|
|
|
||||||
|
|
@ -65,6 +65,8 @@ IconData getEntityIcon(EntityType entityType) {
|
||||||
return FontAwesomeIcons.fileImage;
|
return FontAwesomeIcons.fileImage;
|
||||||
case EntityType.task:
|
case EntityType.task:
|
||||||
return FontAwesomeIcons.clock;
|
return FontAwesomeIcons.clock;
|
||||||
|
case EntityType.group:
|
||||||
|
return FontAwesomeIcons.tags;
|
||||||
default:
|
default:
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
import 'package:invoiceninja_flutter/data/models/stub_model.dart';
|
||||||
import 'package:memoize/memoize.dart';
|
import 'package:memoize/memoize.dart';
|
||||||
import 'package:built_collection/built_collection.dart';
|
import 'package:built_collection/built_collection.dart';
|
||||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||||
|
|
@ -67,3 +68,7 @@ List<String> filteredStubsSelector(BuiltMap<String, StubEntity> stubMap,
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool hasStubChanges(
|
||||||
|
StubEntity stub, BuiltMap<String, StubEntity> stubMap) =>
|
||||||
|
stub.isNew ? stub.isChanged : stub != stubMap[stub.id];
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue