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
Ahmed Fwela
2021-10-07 18:10:36 +0200
Browse Files
Options
Browse Files
Download
Plain Diff
Commit
206754ef52022ec08559a5485ea7910a6cc328ec
206754ef
2 parents
067c5159
4a021fe5
Merge branch 'fix-router-outlet'
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
80 additions
and
25 deletions
example/lib/pages/home/presentation/views/home_view.dart
example_nav2/lib/app/modules/splash/controllers/splash_service.dart
example_nav2/lib/app/modules/splash/views/splash_view.dart
example_nav2/lib/main.dart
example_nav2/windows/flutter/generated_plugin_registrant.cc
example_nav2/windows/flutter/generated_plugin_registrant.h
lib/get_navigation/src/nav2/get_nav_config.dart
lib/get_navigation/src/nav2/get_router_delegate.dart
example/lib/pages/home/presentation/views/home_view.dart
View file @
206754e
...
...
@@ -71,9 +71,7 @@ class HomeView extends GetView<HomeController> {
shape:
StadiumBorder
(),
),
onPressed:
()
async
{
final
data
=
await
Get
.
rootDelegate
.
toNamed
(
'/home/country'
);
print
(
'DATA:
$data
'
);
await
Get
.
rootDelegate
.
toNamed
(
'/home/country'
);
},
child:
Text
(
'fetch_country'
.
tr
,
...
...
example_nav2/lib/app/modules/splash/controllers/splash_service.dart
0 → 100644
View file @
206754e
import
'dart:async'
;
import
'package:get/get.dart'
;
import
'package:async/async.dart'
;
class
SplashService
extends
GetxService
{
final
welcomeStr
=
[
'GetX'
,
'Rules!'
];
final
activeStr
=
0
.
obs
;
final
memo
=
AsyncMemoizer
<
void
>();
Future
<
void
>
init
()
{
return
memo
.
runOnce
(
_initFunction
);
}
void
_changeActiveString
()
{
activeStr
.
value
=
(
activeStr
.
value
+
1
)
%
welcomeStr
.
length
;
}
Future
<
void
>
_initFunction
()
async
{
final
t
=
Timer
.
periodic
(
Duration
(
milliseconds:
500
),
(
t
)
=>
_changeActiveString
(),
);
//simulate some long running operation
await
Future
.
delayed
(
Duration
(
seconds:
5
));
//cancel the timer once we are done
t
.
cancel
();
}
}
...
...
example_nav2/lib/app/modules/splash/views/splash_view.dart
0 → 100644
View file @
206754e
import
'package:flutter/material.dart'
;
import
'package:get/get.dart'
;
import
'../controllers/splash_service.dart'
;
class
SplashView
extends
GetView
<
SplashService
>
{
@override
Widget
build
(
BuildContext
context
)
{
return
Scaffold
(
body:
Center
(
child:
Column
(
mainAxisSize:
MainAxisSize
.
min
,
children:
[
Obx
(
()
=>
Text
(
controller
.
welcomeStr
[
controller
.
activeStr
.
value
],
style:
TextStyle
(
fontSize:
20
),
),
),
CircularProgressIndicator
(),
],
),
),
);
}
}
...
...
example_nav2/lib/main.dart
View file @
206754e
import
'package:example_nav2/app/modules/splash/controllers/splash_service.dart'
;
import
'package:example_nav2/app/modules/splash/views/splash_view.dart'
;
import
'package:flutter/material.dart'
;
import
'package:get/get.dart'
;
...
...
@@ -10,10 +12,23 @@ void main() {
title:
"Application"
,
initialBinding:
BindingsBuilder
(
()
{
Get
.
put
(
SplashService
());
Get
.
put
(
AuthService
());
},
),
getPages:
AppPages
.
routes
,
builder:
(
context
,
child
)
{
return
FutureBuilder
<
void
>(
key:
ValueKey
(
'initFuture'
),
future:
Get
.
find
<
SplashService
>().
init
(),
builder:
(
context
,
snapshot
)
{
if
(
snapshot
.
connectionState
==
ConnectionState
.
done
)
{
return
child
??
SizedBox
.
shrink
();
}
return
SplashView
();
},
);
},
// routeInformationParser: GetInformationParser(
// // initialRoute: Routes.HOME,
// ),
...
...
example_nav2/windows/flutter/generated_plugin_registrant.cc
View file @
206754e
...
...
@@ -2,8 +2,6 @@
// Generated file. Do not edit.
//
// clang-format off
#include "generated_plugin_registrant.h"
...
...
example_nav2/windows/flutter/generated_plugin_registrant.h
View file @
206754e
...
...
@@ -2,8 +2,6 @@
// Generated file. Do not edit.
//
// clang-format off
#ifndef GENERATED_PLUGIN_REGISTRANT_
#define GENERATED_PLUGIN_REGISTRANT_
...
...
lib/get_navigation/src/nav2/get_nav_config.dart
View file @
206754e
...
...
@@ -56,5 +56,5 @@ class GetNavConfig extends RouteInformation {
@override
String
toString
()
=>
'''
======GetNavConfig=====
\n
currentTreeBranch:
$currentTreeBranch
\n
currentPage:
$currentPage
\n
======GetNavConfig====='''
;
======GetNavConfig=====
\n
location:
$location
\n
currentTreeBranch:
$currentTreeBranch
\n
======GetNavConfig====='''
;
}
...
...
lib/get_navigation/src/nav2/get_router_delegate.dart
View file @
206754e
...
...
@@ -311,7 +311,7 @@ class GetDelegate extends RouterDelegate<GetNavConfig>
return
route
;
}
Future
<
T
>
toNamed
<
T
>
(
Future
<
void
>
toNamed
(
String
page
,
{
dynamic
arguments
,
Map
<
String
,
String
>?
parameters
,
...
...
@@ -324,10 +324,7 @@ class GetDelegate extends RouterDelegate<GetNavConfig>
final
decoder
=
Get
.
routeTree
.
matchRoute
(
page
,
arguments:
arguments
);
decoder
.
replaceArguments
(
arguments
);
final
completer
=
Completer
<
T
>();
if
(
decoder
.
route
!=
null
)
{
_allCompleters
[
decoder
.
route
!]
=
completer
;
await
pushHistory
(
GetNavConfig
(
currentTreeBranch:
decoder
.
treeBranch
,
...
...
@@ -335,8 +332,6 @@ class GetDelegate extends RouterDelegate<GetNavConfig>
state:
null
,
//TODO: persist state?
),
);
return
completer
.
future
;
}
else
{
///TODO: IMPLEMENT ROUTE NOT FOUND
...
...
@@ -344,7 +339,7 @@ class GetDelegate extends RouterDelegate<GetNavConfig>
}
}
Future
<
T
?>?
offAndToNamed
<
T
>
(
Future
<
void
>?
offAndToNamed
(
String
page
,
{
dynamic
arguments
,
int
?
id
,
...
...
@@ -361,13 +356,13 @@ class GetDelegate extends RouterDelegate<GetNavConfig>
return
toNamed
(
page
,
arguments:
arguments
,
parameters:
parameters
);
}
Future
<
T
>
offNamed
<
T
>
(
Future
<
void
>
offNamed
(
String
page
,
{
dynamic
arguments
,
Map
<
String
,
String
>?
parameters
,
})
async
{
history
.
removeLast
();
return
toNamed
<
T
>
(
page
,
arguments:
arguments
,
parameters:
parameters
);
return
toNamed
(
page
,
arguments:
arguments
,
parameters:
parameters
);
}
/// Removes routes according to [PopMode]
...
...
@@ -375,7 +370,7 @@ class GetDelegate extends RouterDelegate<GetNavConfig>
/// DOES NOT remove the [fullRoute]
Future
<
void
>
backUntil
(
String
fullRoute
,
{
PopMode
popMode
=
PopMode
.
Page
,
PopMode
popMode
=
PopMode
.
History
,
})
async
{
// remove history or page entries until you meet route
var
iterator
=
currentConfiguration
;
...
...
@@ -406,7 +401,7 @@ class GetDelegate extends RouterDelegate<GetNavConfig>
@override
Future
<
bool
>
popRoute
({
Object
?
result
,
PopMode
popMode
=
PopMode
.
Page
,
PopMode
popMode
=
PopMode
.
History
,
})
async
{
//Returning false will cause the entire app to be popped.
final
wasPopup
=
await
handlePopupRoutes
(
result:
result
);
...
...
@@ -420,8 +415,6 @@ class GetDelegate extends RouterDelegate<GetNavConfig>
return
false
;
}
final
_allCompleters
=
<
GetPage
,
Completer
>{};
bool
_onPopVisualRoute
(
Route
<
dynamic
>
route
,
dynamic
result
)
{
final
didPop
=
route
.
didPop
(
result
);
if
(!
didPop
)
{
...
...
@@ -436,9 +429,6 @@ class GetDelegate extends RouterDelegate<GetNavConfig>
if
(
config
!=
null
)
{
_removeHistoryEntry
(
config
);
}
if
(
_allCompleters
.
containsKey
(
settings
))
{
_allCompleters
[
settings
]?.
complete
(
route
.
popped
);
}
}
refresh
();
...
...
@@ -467,7 +457,7 @@ class GetNavigator extends Navigator {
}
return
true
;
},
onGenerateRoute:
(
RouteSettings
settings
)
{
onGenerateRoute:
(
settings
)
{
final
selectedPageList
=
pages
.
where
((
element
)
=>
element
.
name
==
settings
.
name
);
if
(
selectedPageList
.
isNotEmpty
)
{
...
...
Please
register
or
login
to post a comment