Navigation docs
- Added a Navigation. methods references in docs, for easier understanding of the names.
Showing
1 changed file
with
34 additions
and
6 deletions
1 | import 'package:flutter/material.dart'; | 1 | import 'package:flutter/material.dart'; |
2 | import 'package:flutter/scheduler.dart'; | 2 | import 'package:flutter/scheduler.dart'; |
3 | -import 'package:get/src/core/get_interface.dart'; | ||
4 | import 'package:get/instance_manager.dart'; | 3 | import 'package:get/instance_manager.dart'; |
5 | import 'package:get/route_manager.dart'; | 4 | import 'package:get/route_manager.dart'; |
5 | +import 'package:get/src/core/get_interface.dart'; | ||
6 | import 'package:get/src/core/log.dart'; | 6 | import 'package:get/src/core/log.dart'; |
7 | + | ||
7 | import 'dialog/dialog_route.dart'; | 8 | import 'dialog/dialog_route.dart'; |
8 | import 'root/parse_route.dart'; | 9 | import 'root/parse_route.dart'; |
9 | import 'routes/bindings_interface.dart'; | 10 | import 'routes/bindings_interface.dart'; |
@@ -13,6 +14,8 @@ import 'routes/bindings_interface.dart'; | @@ -13,6 +14,8 @@ import 'routes/bindings_interface.dart'; | ||
13 | NavigatorState get navigator => Get.key.currentState; | 14 | NavigatorState get navigator => Get.key.currentState; |
14 | 15 | ||
15 | extension GetNavigation on GetInterface { | 16 | extension GetNavigation on GetInterface { |
17 | + /// **Navigation.push()** shortcut.<br><br> | ||
18 | + /// | ||
16 | /// Pushes a new [page] to the stack | 19 | /// Pushes a new [page] to the stack |
17 | /// | 20 | /// |
18 | /// It has the advantage of not needing context, | 21 | /// It has the advantage of not needing context, |
@@ -69,7 +72,9 @@ extension GetNavigation on GetInterface { | @@ -69,7 +72,9 @@ extension GetNavigation on GetInterface { | ||
69 | ); | 72 | ); |
70 | } | 73 | } |
71 | 74 | ||
72 | - /// Pushes a new named [page] to the stack | 75 | + /// **Navigation.pushNamed()** shortcut.<br><br> |
76 | + /// | ||
77 | + /// Pushes a new named [page] to the stack. | ||
73 | /// | 78 | /// |
74 | /// It has the advantage of not needing context, so you can call | 79 | /// It has the advantage of not needing context, so you can call |
75 | /// from your business logic. | 80 | /// from your business logic. |
@@ -95,6 +100,8 @@ extension GetNavigation on GetInterface { | @@ -95,6 +100,8 @@ extension GetNavigation on GetInterface { | ||
95 | return global(id).currentState.pushNamed(page, arguments: arguments); | 100 | return global(id).currentState.pushNamed(page, arguments: arguments); |
96 | } | 101 | } |
97 | 102 | ||
103 | + /// **Navigation.pushReplacementNamed()** shortcut.<br><br> | ||
104 | + /// | ||
98 | /// Pop the current named [page] in the stack and push a new one in its place | 105 | /// Pop the current named [page] in the stack and push a new one in its place |
99 | /// | 106 | /// |
100 | /// It has the advantage of not needing context, so you can call | 107 | /// It has the advantage of not needing context, so you can call |
@@ -123,6 +130,8 @@ extension GetNavigation on GetInterface { | @@ -123,6 +130,8 @@ extension GetNavigation on GetInterface { | ||
123 | .pushReplacementNamed(page, arguments: arguments); | 130 | .pushReplacementNamed(page, arguments: arguments); |
124 | } | 131 | } |
125 | 132 | ||
133 | + /// **Navigation.popUntil()** shortcut.<br><br> | ||
134 | + /// | ||
126 | /// Calls pop several times in the stack until [predicate] returns true | 135 | /// Calls pop several times in the stack until [predicate] returns true |
127 | /// | 136 | /// |
128 | /// [id] is for when you are using nested navigation, | 137 | /// [id] is for when you are using nested navigation, |
@@ -139,6 +148,8 @@ extension GetNavigation on GetInterface { | @@ -139,6 +148,8 @@ extension GetNavigation on GetInterface { | ||
139 | return global(id).currentState.popUntil(predicate); | 148 | return global(id).currentState.popUntil(predicate); |
140 | } | 149 | } |
141 | 150 | ||
151 | + /// **Navigation.pushAndRemoveUntil()** shortcut.<br><br> | ||
152 | + /// | ||
142 | /// Push the given [page], and then pop several pages in the stack until | 153 | /// Push the given [page], and then pop several pages in the stack until |
143 | /// [predicate] returns true | 154 | /// [predicate] returns true |
144 | /// | 155 | /// |
@@ -160,6 +171,8 @@ extension GetNavigation on GetInterface { | @@ -160,6 +171,8 @@ extension GetNavigation on GetInterface { | ||
160 | return global(id).currentState.pushAndRemoveUntil(page, predicate); | 171 | return global(id).currentState.pushAndRemoveUntil(page, predicate); |
161 | } | 172 | } |
162 | 173 | ||
174 | + /// **Navigation.pushNamedAndRemoveUntil()** shortcut.<br><br> | ||
175 | + /// | ||
163 | /// Push the given named [page], and then pop several pages in the stack | 176 | /// Push the given named [page], and then pop several pages in the stack |
164 | /// until [predicate] returns true | 177 | /// until [predicate] returns true |
165 | /// | 178 | /// |
@@ -185,6 +198,8 @@ extension GetNavigation on GetInterface { | @@ -185,6 +198,8 @@ extension GetNavigation on GetInterface { | ||
185 | .pushNamedAndRemoveUntil(page, predicate, arguments: arguments); | 198 | .pushNamedAndRemoveUntil(page, predicate, arguments: arguments); |
186 | } | 199 | } |
187 | 200 | ||
201 | + /// **Navigation.popAndPushNamed()** shortcut.<br><br> | ||
202 | + /// | ||
188 | /// Pop the current named page and pushes a new [page] to the stack in its place | 203 | /// Pop the current named page and pushes a new [page] to the stack in its place |
189 | /// | 204 | /// |
190 | /// You can send any type of value to the other route in the [arguments]. | 205 | /// You can send any type of value to the other route in the [arguments]. |
@@ -200,6 +215,8 @@ extension GetNavigation on GetInterface { | @@ -200,6 +215,8 @@ extension GetNavigation on GetInterface { | ||
200 | .popAndPushNamed(page, arguments: arguments, result: result); | 215 | .popAndPushNamed(page, arguments: arguments, result: result); |
201 | } | 216 | } |
202 | 217 | ||
218 | + /// **Navigation.removeRoute()** shortcut.<br><br> | ||
219 | + /// | ||
203 | /// Remove a specific [route] from the stack | 220 | /// Remove a specific [route] from the stack |
204 | /// | 221 | /// |
205 | /// [id] is for when you are using nested navigation, | 222 | /// [id] is for when you are using nested navigation, |
@@ -208,6 +225,8 @@ extension GetNavigation on GetInterface { | @@ -208,6 +225,8 @@ extension GetNavigation on GetInterface { | ||
208 | return global(id).currentState.removeRoute(route); | 225 | return global(id).currentState.removeRoute(route); |
209 | } | 226 | } |
210 | 227 | ||
228 | + /// **Navigation.pushNamedAndRemoveUntil()** shortcut.<br><br> | ||
229 | + /// | ||
211 | /// Push a named [page] and pop several pages in the stack | 230 | /// Push a named [page] and pop several pages in the stack |
212 | /// until [predicate] returns true. [predicate] is optional | 231 | /// until [predicate] returns true. [predicate] is optional |
213 | /// | 232 | /// |
@@ -234,14 +253,16 @@ extension GetNavigation on GetInterface { | @@ -234,14 +253,16 @@ extension GetNavigation on GetInterface { | ||
234 | arguments: arguments); | 253 | arguments: arguments); |
235 | } | 254 | } |
236 | 255 | ||
237 | - /// Returns true if a snackbar, dialog or bottomsheet is currently showing in the screen | 256 | + /// Returns true if a Snackbar, Dialog or BottomSheet is currently showing |
238 | bool get isOverlaysOpen => | 257 | bool get isOverlaysOpen => |
239 | (isSnackbarOpen || isDialogOpen || isBottomSheetOpen); | 258 | (isSnackbarOpen || isDialogOpen || isBottomSheetOpen); |
240 | 259 | ||
241 | - /// returns true if there is no snackbar, dialog or bottomsheet open | 260 | + /// Returns true if there is no Snackbar, Dialog or BottomSheet open |
242 | bool get isOverlaysClosed => | 261 | bool get isOverlaysClosed => |
243 | (!isSnackbarOpen && !isDialogOpen && !isBottomSheetOpen); | 262 | (!isSnackbarOpen && !isDialogOpen && !isBottomSheetOpen); |
244 | 263 | ||
264 | + /// **Navigation.popUntil()** shortcut.<br><br> | ||
265 | + /// | ||
245 | /// Pop the current page, snackbar, dialog or bottomsheet in the stack | 266 | /// Pop the current page, snackbar, dialog or bottomsheet in the stack |
246 | /// | 267 | /// |
247 | /// if your set [closeOverlays] to true, Get.back() will close the currently open | 268 | /// if your set [closeOverlays] to true, Get.back() will close the currently open |
@@ -272,6 +293,8 @@ extension GetNavigation on GetInterface { | @@ -272,6 +293,8 @@ extension GetNavigation on GetInterface { | ||
272 | } | 293 | } |
273 | } | 294 | } |
274 | 295 | ||
296 | + /// **Navigation.popUntil()** (with predicate) shortcut .<br><br> | ||
297 | + /// | ||
275 | /// Close as many routes as defined by [times] | 298 | /// Close as many routes as defined by [times] |
276 | /// | 299 | /// |
277 | /// [id] is for when you are using nested navigation, | 300 | /// [id] is for when you are using nested navigation, |
@@ -287,6 +310,8 @@ extension GetNavigation on GetInterface { | @@ -287,6 +310,8 @@ extension GetNavigation on GetInterface { | ||
287 | return back; | 310 | return back; |
288 | } | 311 | } |
289 | 312 | ||
313 | + /// **Navigation.pushReplacement()** shortcut .<br><br> | ||
314 | + /// | ||
290 | /// Pop the current page and pushes a new [page] to the stack | 315 | /// Pop the current page and pushes a new [page] to the stack |
291 | /// | 316 | /// |
292 | /// It has the advantage of not needing context, | 317 | /// It has the advantage of not needing context, |
@@ -337,6 +362,8 @@ extension GetNavigation on GetInterface { | @@ -337,6 +362,8 @@ extension GetNavigation on GetInterface { | ||
337 | transitionDuration: duration ?? defaultDurationTransition)); | 362 | transitionDuration: duration ?? defaultDurationTransition)); |
338 | } | 363 | } |
339 | 364 | ||
365 | + /// **Navigation.pushAndRemoveUntil()** shortcut .<br><br> | ||
366 | + /// | ||
340 | /// Push a [page] and pop several pages in the stack | 367 | /// Push a [page] and pop several pages in the stack |
341 | /// until [predicate] returns true. [predicate] is optional | 368 | /// until [predicate] returns true. [predicate] is optional |
342 | /// | 369 | /// |
@@ -470,6 +497,7 @@ extension GetNavigation on GetInterface { | @@ -470,6 +497,7 @@ extension GetNavigation on GetInterface { | ||
470 | )); | 497 | )); |
471 | } | 498 | } |
472 | 499 | ||
500 | + /// Custom UI Dialog. | ||
473 | Future<T> defaultDialog<T>({ | 501 | Future<T> defaultDialog<T>({ |
474 | String title = "Alert", | 502 | String title = "Alert", |
475 | Widget content, | 503 | Widget content, |
@@ -884,7 +912,7 @@ extension GetNavigation on GetInterface { | @@ -884,7 +912,7 @@ extension GetNavigation on GetInterface { | ||
884 | return key; | 912 | return key; |
885 | } | 913 | } |
886 | if (!keys.containsKey(k)) { | 914 | if (!keys.containsKey(k)) { |
887 | - throw 'route id not found'; | 915 | + throw 'Route id ($k) not found'; |
888 | } | 916 | } |
889 | return keys[k]; | 917 | return keys[k]; |
890 | } | 918 | } |
@@ -892,7 +920,7 @@ extension GetNavigation on GetInterface { | @@ -892,7 +920,7 @@ extension GetNavigation on GetInterface { | ||
892 | RouteSettings get routeSettings => settings; | 920 | RouteSettings get routeSettings => settings; |
893 | 921 | ||
894 | void setSettings(RouteSettings settings) { | 922 | void setSettings(RouteSettings settings) { |
895 | - settings = settings; | 923 | + this.settings = settings; |
896 | } | 924 | } |
897 | 925 | ||
898 | /// give current arguments | 926 | /// give current arguments |
-
Please register or login to post a comment