Toggle navigation
Toggle navigation
This project
Loading...
Sign in
flutter_package
/
fluttertpc_get
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
Nana Axel
2020-09-11 13:15:38 +0100
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Committed by
GitHub
2020-09-11 13:15:38 +0100
Commit
2f7642e4eb5c8511244a33b3c218d5a49fbd6be1
2f7642e4
1 parent
901b3f62
Ability to find a tagged controller in GetX
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
7 deletions
lib/src/state_manager/rx/rx_widgets/rx_getx_widget.dart
lib/src/state_manager/rx/rx_widgets/rx_getx_widget.dart
View file @
2f7642e
...
...
@@ -18,8 +18,10 @@ class GetX<T extends DisposableInterface> extends StatefulWidget {
final
void
Function
(
State
state
)
initState
,
dispose
,
didChangeDependencies
;
final
void
Function
(
GetX
oldWidget
,
State
state
)
didUpdateWidget
;
final
T
init
;
final
String
tag
;
const
GetX
({
this
.
tag
=
null
,
this
.
builder
,
this
.
global
=
true
,
this
.
autoRemove
=
true
,
...
...
@@ -45,22 +47,22 @@ class GetImplXState<T extends DisposableInterface> extends State<GetX<T>> {
@override
void
initState
()
{
_observer
=
Rx
();
var
isPrepared
=
GetInstance
().
isPrepared
<
T
>();
var
isRegistered
=
GetInstance
().
isRegistered
<
T
>();
var
isPrepared
=
GetInstance
().
isPrepared
<
T
>(
tag:
tag
);
var
isRegistered
=
GetInstance
().
isRegistered
<
T
>(
tag:
tag
);
if
(
widget
.
global
)
{
if
(
isPrepared
)
{
if
(
GetConfig
.
smartManagement
!=
SmartManagement
.
keepFactory
)
{
isCreator
=
true
;
}
controller
=
GetInstance
().
find
<
T
>();
controller
=
GetInstance
().
find
<
T
>(
tag:
tag
);
}
else
if
(
isRegistered
)
{
controller
=
GetInstance
().
find
<
T
>();
controller
=
GetInstance
().
find
<
T
>(
tag:
tag
);
isCreator
=
false
;
}
else
{
controller
=
widget
.
init
;
isCreator
=
true
;
GetInstance
().
put
<
T
>(
controller
);
GetInstance
().
put
<
T
>(
controller
,
tag:
tag
);
}
}
else
{
controller
=
widget
.
init
;
...
...
@@ -94,8 +96,8 @@ class GetImplXState<T extends DisposableInterface> extends State<GetX<T>> {
void
dispose
()
{
if
(
widget
.
dispose
!=
null
)
widget
.
dispose
(
this
);
if
(
isCreator
||
widget
.
assignId
)
{
if
(
widget
.
autoRemove
&&
GetInstance
().
isRegistered
<
T
>())
{
GetInstance
().
delete
<
T
>();
if
(
widget
.
autoRemove
&&
GetInstance
().
isRegistered
<
T
>(
tag:
tag
))
{
GetInstance
().
delete
<
T
>(
tag:
tag
);
}
}
subs
.
cancel
();
...
...
Please
register
or
login
to post a comment