Refactor
This commit is contained in:
parent
beff732918
commit
eac93fec2c
|
|
@ -1,6 +1,8 @@
|
|||
import 'package:built_collection/built_collection.dart';
|
||||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
import 'package:invoiceninja/data/models/entities.dart';
|
||||
import 'package:invoiceninja/redux/app/app_state.dart';
|
||||
|
||||
part 'currency_model.g.dart';
|
||||
|
||||
|
|
@ -35,7 +37,7 @@ class CurrencyFields {
|
|||
static const String exchangeRate = 'exchangeRate';
|
||||
}
|
||||
|
||||
abstract class CurrencyEntity implements Built<CurrencyEntity, CurrencyEntityBuilder> {
|
||||
abstract class CurrencyEntity extends Object with SelectableEntity implements Built<CurrencyEntity, CurrencyEntityBuilder> {
|
||||
|
||||
factory CurrencyEntity() {
|
||||
return _$CurrencyEntity._(
|
||||
|
|
@ -52,8 +54,6 @@ abstract class CurrencyEntity implements Built<CurrencyEntity, CurrencyEntityBui
|
|||
}
|
||||
CurrencyEntity._();
|
||||
|
||||
int get id;
|
||||
|
||||
String get name;
|
||||
|
||||
String get symbol;
|
||||
|
|
@ -76,5 +76,47 @@ abstract class CurrencyEntity implements Built<CurrencyEntity, CurrencyEntityBui
|
|||
@BuiltValueField(wireName: 'exchange_rate')
|
||||
double get exchangeRate;
|
||||
|
||||
@override
|
||||
bool matchesSearch(String search) {
|
||||
if (search == null || search.isEmpty) {
|
||||
return true;
|
||||
}
|
||||
|
||||
search = search.toLowerCase();
|
||||
|
||||
if (name.toLowerCase().contains(search)) {
|
||||
return true;
|
||||
} else if (code.toLowerCase().contains(search)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@override
|
||||
String matchesSearchValue(String search) {
|
||||
if (search == null || search.isEmpty) {
|
||||
return null;
|
||||
}
|
||||
|
||||
search = search.toLowerCase();
|
||||
|
||||
if (code.toLowerCase().contains(search)) {
|
||||
return code;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@override
|
||||
String get listDisplayName {
|
||||
return name;
|
||||
}
|
||||
|
||||
@override
|
||||
String listDisplayCost(AppState state) {
|
||||
return '';
|
||||
}
|
||||
|
||||
static Serializer<CurrencyEntity> get serializer => _$currencyEntitySerializer;
|
||||
}
|
||||
|
|
@ -1,6 +1,8 @@
|
|||
import 'package:built_collection/built_collection.dart';
|
||||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
import 'package:invoiceninja/data/models/entities.dart';
|
||||
import 'package:invoiceninja/redux/app/app_state.dart';
|
||||
|
||||
part 'language_model.g.dart';
|
||||
|
||||
|
|
@ -30,7 +32,7 @@ class LanguageFields {
|
|||
|
||||
}
|
||||
|
||||
abstract class LanguageEntity implements Built<LanguageEntity, LanguageEntityBuilder> {
|
||||
abstract class LanguageEntity extends Object with SelectableEntity implements Built<LanguageEntity, LanguageEntityBuilder> {
|
||||
|
||||
factory LanguageEntity() {
|
||||
return _$LanguageEntity._(
|
||||
|
|
@ -41,10 +43,51 @@ abstract class LanguageEntity implements Built<LanguageEntity, LanguageEntityBui
|
|||
}
|
||||
LanguageEntity._();
|
||||
|
||||
int get id;
|
||||
String get name;
|
||||
String get locale;
|
||||
|
||||
@override
|
||||
bool matchesSearch(String search) {
|
||||
if (search == null || search.isEmpty) {
|
||||
return true;
|
||||
}
|
||||
|
||||
search = search.toLowerCase();
|
||||
|
||||
if (name.toLowerCase().contains(search)) {
|
||||
return true;
|
||||
} else if (locale.toLowerCase().contains(search)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@override
|
||||
String matchesSearchValue(String search) {
|
||||
if (search == null || search.isEmpty) {
|
||||
return null;
|
||||
}
|
||||
|
||||
search = search.toLowerCase();
|
||||
|
||||
if (locale.toLowerCase().contains(search)) {
|
||||
return locale;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@override
|
||||
String get listDisplayName {
|
||||
return name;
|
||||
}
|
||||
|
||||
@override
|
||||
String listDisplayCost(AppState state) {
|
||||
return '';
|
||||
}
|
||||
|
||||
static Serializer<LanguageEntity> get serializer => _$languageEntitySerializer;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import 'package:built_collection/built_collection.dart';
|
||||
import 'package:invoiceninja/data/models/static/country_model.dart';
|
||||
import 'package:invoiceninja/data/models/models.dart';
|
||||
import 'package:memoize/memoize.dart';
|
||||
|
||||
|
||||
|
|
@ -14,3 +14,28 @@ List<int> countryList(BuiltMap<int, CountryEntity> countryMap) {
|
|||
|
||||
return list;
|
||||
}
|
||||
|
||||
var memoizedLanguageList = memo1((BuiltMap<int, LanguageEntity> languageMap) =>
|
||||
languageList(languageMap));
|
||||
|
||||
List<int> languageList(BuiltMap<int, LanguageEntity> languageMap) {
|
||||
final list = languageMap.keys.toList();
|
||||
|
||||
list.sort((idA, idB) => languageMap[idA].listDisplayName
|
||||
.compareTo(languageMap[idB].listDisplayName));
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
var memoizedCurrencyList = memo1((BuiltMap<int, CurrencyEntity> currencyMap) =>
|
||||
currencyList(currencyMap));
|
||||
|
||||
List<int> currencyList(BuiltMap<int, CurrencyEntity> currencyMap) {
|
||||
final list = currencyMap.keys.toList();
|
||||
|
||||
list.sort((idA, idB) => currencyMap[idA].listDisplayName
|
||||
.compareTo(currencyMap[idB].listDisplayName));
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ class InvoiceItemSelector extends StatefulWidget {
|
|||
|
||||
class _InvoiceItemSelectorState extends State<InvoiceItemSelector> {
|
||||
String _filter;
|
||||
List<int> _selectedIds = [];
|
||||
final List<int> _selectedIds = [];
|
||||
|
||||
final _textController = TextEditingController();
|
||||
//EntityType _selectedEntityType = EntityType.product;
|
||||
|
|
|
|||
Loading…
Reference in New Issue