Refactor
This commit is contained in:
parent
beff732918
commit
eac93fec2c
|
|
@ -1,6 +1,8 @@
|
||||||
import 'package:built_collection/built_collection.dart';
|
import 'package:built_collection/built_collection.dart';
|
||||||
import 'package:built_value/built_value.dart';
|
import 'package:built_value/built_value.dart';
|
||||||
import 'package:built_value/serializer.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';
|
part 'currency_model.g.dart';
|
||||||
|
|
||||||
|
|
@ -35,7 +37,7 @@ class CurrencyFields {
|
||||||
static const String exchangeRate = 'exchangeRate';
|
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() {
|
factory CurrencyEntity() {
|
||||||
return _$CurrencyEntity._(
|
return _$CurrencyEntity._(
|
||||||
|
|
@ -52,8 +54,6 @@ abstract class CurrencyEntity implements Built<CurrencyEntity, CurrencyEntityBui
|
||||||
}
|
}
|
||||||
CurrencyEntity._();
|
CurrencyEntity._();
|
||||||
|
|
||||||
int get id;
|
|
||||||
|
|
||||||
String get name;
|
String get name;
|
||||||
|
|
||||||
String get symbol;
|
String get symbol;
|
||||||
|
|
@ -76,5 +76,47 @@ abstract class CurrencyEntity implements Built<CurrencyEntity, CurrencyEntityBui
|
||||||
@BuiltValueField(wireName: 'exchange_rate')
|
@BuiltValueField(wireName: 'exchange_rate')
|
||||||
double get exchangeRate;
|
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;
|
static Serializer<CurrencyEntity> get serializer => _$currencyEntitySerializer;
|
||||||
}
|
}
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
import 'package:built_collection/built_collection.dart';
|
import 'package:built_collection/built_collection.dart';
|
||||||
import 'package:built_value/built_value.dart';
|
import 'package:built_value/built_value.dart';
|
||||||
import 'package:built_value/serializer.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';
|
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() {
|
factory LanguageEntity() {
|
||||||
return _$LanguageEntity._(
|
return _$LanguageEntity._(
|
||||||
|
|
@ -41,10 +43,51 @@ abstract class LanguageEntity implements Built<LanguageEntity, LanguageEntityBui
|
||||||
}
|
}
|
||||||
LanguageEntity._();
|
LanguageEntity._();
|
||||||
|
|
||||||
int get id;
|
|
||||||
String get name;
|
String get name;
|
||||||
String get locale;
|
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;
|
static Serializer<LanguageEntity> get serializer => _$languageEntitySerializer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import 'package:built_collection/built_collection.dart';
|
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';
|
import 'package:memoize/memoize.dart';
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -14,3 +14,28 @@ List<int> countryList(BuiltMap<int, CountryEntity> countryMap) {
|
||||||
|
|
||||||
return list;
|
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> {
|
class _InvoiceItemSelectorState extends State<InvoiceItemSelector> {
|
||||||
String _filter;
|
String _filter;
|
||||||
List<int> _selectedIds = [];
|
final List<int> _selectedIds = [];
|
||||||
|
|
||||||
final _textController = TextEditingController();
|
final _textController = TextEditingController();
|
||||||
//EntityType _selectedEntityType = EntityType.product;
|
//EntityType _selectedEntityType = EntityType.product;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue