mirror of
https://github.com/kodjodevf/mangayomi.git
synced 2026-04-21 03:32:06 +00:00
feat: search filter feature
This commit is contained in:
parent
09b002be8b
commit
34f31e6cb7
2 changed files with 17 additions and 13 deletions
|
|
@ -705,24 +705,24 @@ class $TriStateFilter implements TriStateFilter, $Instance {
|
|||
constructors: {
|
||||
'': BridgeConstructorDef(
|
||||
BridgeFunctionDef(returns: BridgeTypeAnnotation($type), params: [
|
||||
BridgeParameter('type',
|
||||
BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.string)), false),
|
||||
BridgeParameter('name',
|
||||
BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.string)), false),
|
||||
BridgeParameter('value',
|
||||
BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.string)), false),
|
||||
BridgeParameter('type',
|
||||
BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.string)), true),
|
||||
], namedParams: [
|
||||
BridgeParameter(
|
||||
'state', BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.int)), true)
|
||||
]))
|
||||
},
|
||||
fields: {
|
||||
'type': BridgeFieldDef(
|
||||
BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.string))),
|
||||
'name': BridgeFieldDef(
|
||||
BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.string))),
|
||||
'value': BridgeFieldDef(
|
||||
BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.string))),
|
||||
'type': BridgeFieldDef(
|
||||
BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.string))),
|
||||
'state': BridgeFieldDef(BridgeTypeAnnotation(
|
||||
BridgeTypeRef(CoreTypes.int),
|
||||
)),
|
||||
|
|
@ -731,7 +731,7 @@ class $TriStateFilter implements TriStateFilter, $Instance {
|
|||
|
||||
static $Value? $new(Runtime runtime, $Value? target, List<$Value?> args) {
|
||||
return $TriStateFilter.wrap(TriStateFilter(
|
||||
args[0]!.$value, args[1]!.$value, args[2]!.$value,
|
||||
args[2]?.$value ?? '', args[0]!.$value, args[1]!.$value,
|
||||
state: args[3]?.$value ?? 0));
|
||||
}
|
||||
|
||||
|
|
@ -844,10 +844,10 @@ class $GroupFilter implements GroupFilter, $Instance {
|
|||
args[1]!.$value,
|
||||
(args[2]!.$value as List).map((e) {
|
||||
if (e is $Value) {
|
||||
if (e.$reified is Map) {
|
||||
final val = e.$reified as Map;
|
||||
final value = e.$reified;
|
||||
if (value is Map) {
|
||||
Map<String, dynamic> map = {};
|
||||
map = val.map((key, value) => MapEntry(key.toString(), value));
|
||||
map = value.map((key, value) => MapEntry(key.toString(), value));
|
||||
if (map['type'] == 'TriState') {
|
||||
final filter = map['filter'] as Map;
|
||||
return TriStateFilter.fromJson(filter
|
||||
|
|
@ -858,6 +858,7 @@ class $GroupFilter implements GroupFilter, $Instance {
|
|||
.map((key, value) => MapEntry(key.toString(), value)));
|
||||
}
|
||||
}
|
||||
return value;
|
||||
}
|
||||
return e;
|
||||
}).toList()));
|
||||
|
|
@ -933,24 +934,24 @@ class $CheckBoxFilter implements CheckBoxFilter, $Instance {
|
|||
constructors: {
|
||||
'': BridgeConstructorDef(
|
||||
BridgeFunctionDef(returns: BridgeTypeAnnotation($type), params: [
|
||||
BridgeParameter('type',
|
||||
BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.string)), false),
|
||||
BridgeParameter('name',
|
||||
BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.string)), false),
|
||||
BridgeParameter('value',
|
||||
BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.string)), false),
|
||||
BridgeParameter('type',
|
||||
BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.string)), true),
|
||||
], namedParams: [
|
||||
BridgeParameter('state',
|
||||
BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.bool)), true),
|
||||
]))
|
||||
},
|
||||
fields: {
|
||||
'type': BridgeFieldDef(
|
||||
BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.string))),
|
||||
'name': BridgeFieldDef(
|
||||
BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.string))),
|
||||
'value': BridgeFieldDef(
|
||||
BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.string))),
|
||||
'type': BridgeFieldDef(
|
||||
BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.string))),
|
||||
'state': BridgeFieldDef(BridgeTypeAnnotation(
|
||||
BridgeTypeRef(CoreTypes.bool),
|
||||
)),
|
||||
|
|
@ -959,7 +960,7 @@ class $CheckBoxFilter implements CheckBoxFilter, $Instance {
|
|||
|
||||
static $Value? $new(Runtime runtime, $Value? target, List<$Value?> args) {
|
||||
return $CheckBoxFilter.wrap(CheckBoxFilter(
|
||||
args[0]!.$value, args[1]!.$value, args[2]!.$value,
|
||||
args[2]?.$value ?? '', args[0]!.$value, args[1]!.$value,
|
||||
state: args[3]?.$value ?? false));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -142,6 +142,7 @@ class _MangaHomeScreenState extends ConsumerState<MangaHomeScreen> {
|
|||
onChanged: (value) {},
|
||||
onSuffixPressed: () {
|
||||
_textEditingController.clear();
|
||||
_query = "";
|
||||
setState(() {});
|
||||
},
|
||||
onPressed: () {
|
||||
|
|
@ -252,6 +253,8 @@ class _MangaHomeScreenState extends ConsumerState<MangaHomeScreen> {
|
|||
);
|
||||
if (result == 'filter') {
|
||||
setState(() {
|
||||
_query = '';
|
||||
_textEditingController.clear();
|
||||
_selectedIndex = 2;
|
||||
_isFiltering = true;
|
||||
_isSearch = true;
|
||||
|
|
|
|||
Loading…
Reference in a new issue