Merge branch 'master' of https://github.com/jonataslaw/getx into code_docs
Showing
31 changed files
with
279 additions
and
283 deletions
1 | +## [3.3.0] | ||
2 | +- Fix extensions (@stefandevo) | ||
3 | +- Added CPF to utils options (@kauemurakami) | ||
4 | +- Added fenix mode to Get.lazyPut. | ||
5 | +Use `Get.lazyPut<Controller>(()=> Controller(), fenix:true)` to have a controller that after being destroyed, has the ability to be recreated in case someone needs it. This is a function that already exists in smartManagement.keepFactory which is now also possible in full mode. | ||
6 | +- Fix native transition on android | ||
7 | + | ||
1 | ## [3.2.2] | 8 | ## [3.2.2] |
2 | - Improve transitions and refactor route system | 9 | - Improve transitions and refactor route system |
3 | 10 |
@@ -288,67 +288,72 @@ GetPlatform.isWeb | @@ -288,67 +288,72 @@ GetPlatform.isWeb | ||
288 | Get.height | 288 | Get.height |
289 | Get.width | 289 | Get.width |
290 | 290 | ||
291 | -// If you need a changeable height/width (like browser windows that can be scaled) you will need to use context. | ||
292 | -Get.context.width | ||
293 | -Get.context.height | ||
294 | - | ||
295 | // Gives the context of the screen in the foreground anywhere in your code. | 291 | // Gives the context of the screen in the foreground anywhere in your code. |
296 | Get.context | 292 | Get.context |
297 | 293 | ||
298 | // Gives the context of the snackbar/dialog/bottomsheet in the foreground anywhere in your code. | 294 | // Gives the context of the snackbar/dialog/bottomsheet in the foreground anywhere in your code. |
299 | Get.contextOverlay | 295 | Get.contextOverlay |
300 | 296 | ||
297 | +// Note: the following methods are extensions on context. Since you | ||
298 | +// have access to context in any place of your UI, you can use it anywhere in the UI code | ||
299 | + | ||
300 | +// If you need a changeable height/width (like browser windows that can be scaled) you will need to use context. | ||
301 | +context.width | ||
302 | +context.height | ||
303 | + | ||
304 | + | ||
305 | + | ||
301 | // gives you the power to define half the screen now, a third of it and so on. | 306 | // gives you the power to define half the screen now, a third of it and so on. |
302 | //Useful for responsive applications. | 307 | //Useful for responsive applications. |
303 | // param dividedBy (double) optional - default: 1 | 308 | // param dividedBy (double) optional - default: 1 |
304 | // param reducedBy (double) optional - default: 0 | 309 | // param reducedBy (double) optional - default: 0 |
305 | -Get.context.heightTransformer() | ||
306 | -Get.context.widthTransformer() | 310 | +context.heightTransformer() |
311 | +context.widthTransformer() | ||
307 | 312 | ||
308 | /// similar to MediaQuery.of(context).size | 313 | /// similar to MediaQuery.of(context).size |
309 | -Get.context.mediaQuerySize() | 314 | +context.mediaQuerySize() |
310 | 315 | ||
311 | /// similar to MediaQuery.of(context).padding | 316 | /// similar to MediaQuery.of(context).padding |
312 | -Get.context.mediaQueryPadding() | 317 | +context.mediaQueryPadding() |
313 | 318 | ||
314 | /// similar to MediaQuery.of(context).viewPadding | 319 | /// similar to MediaQuery.of(context).viewPadding |
315 | -Get.context.mediaQueryViewPadding() | 320 | +context.mediaQueryViewPadding() |
316 | 321 | ||
317 | /// similar to MediaQuery.of(context).viewInsets; | 322 | /// similar to MediaQuery.of(context).viewInsets; |
318 | -Get.context.mediaQueryViewInsets() | 323 | +context.mediaQueryViewInsets() |
319 | 324 | ||
320 | /// similar to MediaQuery.of(context).orientation; | 325 | /// similar to MediaQuery.of(context).orientation; |
321 | -Get.context.orientation() | 326 | +context.orientation() |
322 | 327 | ||
323 | /// check if device is on landscape mode | 328 | /// check if device is on landscape mode |
324 | -Get.context.isLandscape() | 329 | +context.isLandscape() |
325 | 330 | ||
326 | /// check if device is on portrait mode | 331 | /// check if device is on portrait mode |
327 | -Get.context.isPortrait() | 332 | +context.isPortrait() |
328 | 333 | ||
329 | /// similar to MediaQuery.of(context).devicePixelRatio; | 334 | /// similar to MediaQuery.of(context).devicePixelRatio; |
330 | -Get.context.devicePixelRatio() | 335 | +context.devicePixelRatio() |
331 | 336 | ||
332 | /// similar to MediaQuery.of(context).textScaleFactor; | 337 | /// similar to MediaQuery.of(context).textScaleFactor; |
333 | -Get.context.textScaleFactor() | 338 | +context.textScaleFactor() |
334 | 339 | ||
335 | /// get the shortestSide from screen | 340 | /// get the shortestSide from screen |
336 | -Get.context.mediaQueryShortestSide() | 341 | +context.mediaQueryShortestSide() |
337 | 342 | ||
338 | /// True if width be larger than 800 | 343 | /// True if width be larger than 800 |
339 | -Get.context.showNavbar() | 344 | +context.showNavbar() |
340 | 345 | ||
341 | /// True if the shortestSide is smaller than 600p | 346 | /// True if the shortestSide is smaller than 600p |
342 | -Get.context.isPhone() | 347 | +context.isPhone() |
343 | 348 | ||
344 | /// True if the shortestSide is largest than 600p | 349 | /// True if the shortestSide is largest than 600p |
345 | -Get.context.isSmallTablet() | 350 | +context.isSmallTablet() |
346 | 351 | ||
347 | /// True if the shortestSide is largest than 720p | 352 | /// True if the shortestSide is largest than 720p |
348 | -Get.context.isLargeTablet() | 353 | +context.isLargeTablet() |
349 | 354 | ||
350 | /// True if the current device is Tablet | 355 | /// True if the current device is Tablet |
351 | -Get.context.isTablet() | 356 | +context.isTablet() |
352 | ``` | 357 | ``` |
353 | 358 | ||
354 | ### Configuraciones globales opcionales | 359 | ### Configuraciones globales opcionales |
@@ -16,7 +16,7 @@ | @@ -16,7 +16,7 @@ | ||
16 | 16 | ||
17 | [**Slack (English)**](https://communityinviter.com/apps/getxworkspace/getx) | 17 | [**Slack (English)**](https://communityinviter.com/apps/getxworkspace/getx) |
18 | 18 | ||
19 | -[**Discord (English and Portuguese)**](https://discord.com/invite/9Y3wK9) | 19 | +[**Discord (English and Portuguese)**](https://discord.com/invite/9Hpt99N) |
20 | 20 | ||
21 | [**Telegram (Portuguese)**](https://t.me/joinchat/PhdbJRmsZNpAqSLJL6bH7g) | 21 | [**Telegram (Portuguese)**](https://t.me/joinchat/PhdbJRmsZNpAqSLJL6bH7g) |
22 | 22 | ||
@@ -318,6 +318,9 @@ Get.context | @@ -318,6 +318,9 @@ Get.context | ||
318 | // Gives the context of the snackbar/dialog/bottomsheet in the foreground anywhere in your code. | 318 | // Gives the context of the snackbar/dialog/bottomsheet in the foreground anywhere in your code. |
319 | Get.contextOverlay | 319 | Get.contextOverlay |
320 | 320 | ||
321 | +// Note: the following methods are extensions on context. Since you | ||
322 | +// have access to context in any place of your UI, you can use it anywhere in the UI code | ||
323 | + | ||
321 | // If you need a changeable height/width (like browser windows that can be scaled) you will need to use context. | 324 | // If you need a changeable height/width (like browser windows that can be scaled) you will need to use context. |
322 | context.width | 325 | context.width |
323 | context.height | 326 | context.height |
@@ -299,63 +299,68 @@ Get.offNamedUntil() | @@ -299,63 +299,68 @@ Get.offNamedUntil() | ||
299 | // retorna qual é a plataforma | 299 | // retorna qual é a plataforma |
300 | //(Esse método é completamente compatível com o FlutterWeb, | 300 | //(Esse método é completamente compatível com o FlutterWeb, |
301 | //diferente do método do framework "Platform.isAndroid") | 301 | //diferente do método do framework "Platform.isAndroid") |
302 | -GetPlatform.isAndroid/isIOS/isWeb... | 302 | +GetPlatform.isAndroid |
303 | +GetPlatform.isIOS | ||
304 | +GetPlatform.isWeb | ||
303 | 305 | ||
304 | // Equivalente ao método: MediaQuery.of(context).size.width ou height, mas é imutável. Significa que não irá atualizar mesmo que o tamanho da tela mude (como em navegadores ou app desktop) | 306 | // Equivalente ao método: MediaQuery.of(context).size.width ou height, mas é imutável. Significa que não irá atualizar mesmo que o tamanho da tela mude (como em navegadores ou app desktop) |
305 | Get.height | 307 | Get.height |
306 | Get.width | 308 | Get.width |
307 | 309 | ||
308 | -// Se você precisa de um width/height adaptável (como em navegadores em que a janela pode ser redimensionada) você precisa usar 'context' | ||
309 | -Get.context.width | ||
310 | -Get.context.height | ||
311 | - | ||
312 | -// forncece o context da tela em qualquer lugar do seu código. | 310 | +// fornece o context da tela em qualquer lugar do seu código. |
313 | Get.context | 311 | Get.context |
314 | 312 | ||
315 | // fornece o context de snackbar/dialog/bottomsheet em qualquer lugar do seu código. | 313 | // fornece o context de snackbar/dialog/bottomsheet em qualquer lugar do seu código. |
316 | Get.contextOverlay | 314 | Get.contextOverlay |
317 | 315 | ||
316 | +// Obs: os métodos a seguir são extensions do context. Já que se | ||
317 | +// tem acesso ao context em qualquer lugar do código da UI, você pode usar lá | ||
318 | + | ||
319 | +// Se você precisa de um width/height adaptável (como em navegadores em que a janela pode ser redimensionada) você precisa usar 'context' | ||
320 | +context.width | ||
321 | +context.height | ||
322 | + | ||
318 | /// similar to MediaQuery.of(this).padding | 323 | /// similar to MediaQuery.of(this).padding |
319 | -Get.mediaQueryPadding() | 324 | +context.mediaQueryPadding() |
320 | 325 | ||
321 | /// similar to MediaQuery.of(this).viewPadding | 326 | /// similar to MediaQuery.of(this).viewPadding |
322 | -Get.mediaQueryViewPadding() | 327 | +context.mediaQueryViewPadding() |
323 | 328 | ||
324 | /// similar to MediaQuery.of(this).viewInsets; | 329 | /// similar to MediaQuery.of(this).viewInsets; |
325 | -Get.mediaQueryViewInsets() | 330 | +context.mediaQueryViewInsets() |
326 | 331 | ||
327 | /// similar to MediaQuery.of(this).orientation; | 332 | /// similar to MediaQuery.of(this).orientation; |
328 | -Get.orientation() | 333 | +context.orientation() |
329 | 334 | ||
330 | /// check if device is on landscape mode | 335 | /// check if device is on landscape mode |
331 | -Get.isLandscape() | 336 | +context.isLandscape() |
332 | 337 | ||
333 | /// check if device is on portrait mode | 338 | /// check if device is on portrait mode |
334 | -Get.isPortrait() | 339 | +context.isPortrait() |
335 | 340 | ||
336 | /// similar to MediaQuery.of(this).devicePixelRatio; | 341 | /// similar to MediaQuery.of(this).devicePixelRatio; |
337 | -Get.devicePixelRatio() | 342 | +context.devicePixelRatio() |
338 | 343 | ||
339 | /// similar to MediaQuery.of(this).textScaleFactor; | 344 | /// similar to MediaQuery.of(this).textScaleFactor; |
340 | -Get.textScaleFactor() | 345 | +context.textScaleFactor() |
341 | 346 | ||
342 | /// get the shortestSide from screen | 347 | /// get the shortestSide from screen |
343 | -Get.mediaQueryShortestSide() | 348 | +context.mediaQueryShortestSide() |
344 | 349 | ||
345 | /// True if width be larger than 800 | 350 | /// True if width be larger than 800 |
346 | -Get.showNavbar() | 351 | +context.showNavbar() |
347 | 352 | ||
348 | /// True if the shortestSide is smaller than 600p | 353 | /// True if the shortestSide is smaller than 600p |
349 | -Get.isPhone() | 354 | +context.isPhone() |
350 | 355 | ||
351 | /// True if the shortestSide is largest than 600p | 356 | /// True if the shortestSide is largest than 600p |
352 | -Get.isSmallTablet() | 357 | +context.isSmallTablet() |
353 | 358 | ||
354 | /// True if the shortestSide is largest than 720p | 359 | /// True if the shortestSide is largest than 720p |
355 | -Get.isLargeTablet() | 360 | +context.isLargeTablet() |
356 | 361 | ||
357 | /// True if the current device is Tablet | 362 | /// True if the current device is Tablet |
358 | -Get.isTablet() | 363 | +context.isTablet() |
359 | ``` | 364 | ``` |
360 | 365 | ||
361 | ### Configurações Globais opcionais e configurações manuais | 366 | ### Configurações Globais opcionais e configurações manuais |
1 | +// This is a generated file; do not edit or check into version control. | ||
2 | +FLUTTER_ROOT=/opt/flutter | ||
3 | +FLUTTER_APPLICATION_PATH=/home/jonny/Área de trabalho/getx/benchmark/state_managers | ||
4 | +FLUTTER_TARGET=lib/main.dart | ||
5 | +FLUTTER_BUILD_DIR=build | ||
6 | +SYMROOT=${SOURCE_ROOT}/../build/ios | ||
7 | +OTHER_LDFLAGS=$(inherited) -framework Flutter | ||
8 | +FLUTTER_FRAMEWORK_DIR=/opt/flutter/bin/cache/artifacts/engine/ios | ||
9 | +FLUTTER_BUILD_NAME=1.0.0 | ||
10 | +FLUTTER_BUILD_NUMBER=1 | ||
11 | +DART_OBFUSCATION=false | ||
12 | +TRACK_WIDGET_CREATION=false | ||
13 | +TREE_SHAKE_ICONS=false | ||
14 | +PACKAGE_CONFIG=.packages |
1 | +#!/bin/sh | ||
2 | +# This is a generated file; do not edit or check into version control. | ||
3 | +export "FLUTTER_ROOT=/opt/flutter" | ||
4 | +export "FLUTTER_APPLICATION_PATH=/home/jonny/Área de trabalho/getx/benchmark/state_managers" | ||
5 | +export "FLUTTER_TARGET=lib/main.dart" | ||
6 | +export "FLUTTER_BUILD_DIR=build" | ||
7 | +export "SYMROOT=${SOURCE_ROOT}/../build/ios" | ||
8 | +export "OTHER_LDFLAGS=$(inherited) -framework Flutter" | ||
9 | +export "FLUTTER_FRAMEWORK_DIR=/opt/flutter/bin/cache/artifacts/engine/ios" | ||
10 | +export "FLUTTER_BUILD_NAME=1.0.0" | ||
11 | +export "FLUTTER_BUILD_NUMBER=1" | ||
12 | +export "DART_OBFUSCATION=false" | ||
13 | +export "TRACK_WIDGET_CREATION=false" | ||
14 | +export "TREE_SHAKE_ICONS=false" | ||
15 | +export "PACKAGE_CONFIG=.packages" |
@@ -28,7 +28,7 @@ packages: | @@ -28,7 +28,7 @@ packages: | ||
28 | name: async | 28 | name: async |
29 | url: "https://pub.dartlang.org" | 29 | url: "https://pub.dartlang.org" |
30 | source: hosted | 30 | source: hosted |
31 | - version: "2.4.1" | 31 | + version: "2.4.2" |
32 | bloc: | 32 | bloc: |
33 | dependency: "direct main" | 33 | dependency: "direct main" |
34 | description: | 34 | description: |
@@ -99,6 +99,13 @@ packages: | @@ -99,6 +99,13 @@ packages: | ||
99 | url: "https://pub.dartlang.org" | 99 | url: "https://pub.dartlang.org" |
100 | source: hosted | 100 | source: hosted |
101 | version: "7.1.0" | 101 | version: "7.1.0" |
102 | + characters: | ||
103 | + dependency: transitive | ||
104 | + description: | ||
105 | + name: characters | ||
106 | + url: "https://pub.dartlang.org" | ||
107 | + source: hosted | ||
108 | + version: "1.0.0" | ||
102 | charcode: | 109 | charcode: |
103 | dependency: transitive | 110 | dependency: transitive |
104 | description: | 111 | description: |
@@ -133,7 +140,7 @@ packages: | @@ -133,7 +140,7 @@ packages: | ||
133 | name: collection | 140 | name: collection |
134 | url: "https://pub.dartlang.org" | 141 | url: "https://pub.dartlang.org" |
135 | source: hosted | 142 | source: hosted |
136 | - version: "1.14.12" | 143 | + version: "1.14.13" |
137 | convert: | 144 | convert: |
138 | dependency: transitive | 145 | dependency: transitive |
139 | description: | 146 | description: |
@@ -297,7 +304,7 @@ packages: | @@ -297,7 +304,7 @@ packages: | ||
297 | name: matcher | 304 | name: matcher |
298 | url: "https://pub.dartlang.org" | 305 | url: "https://pub.dartlang.org" |
299 | source: hosted | 306 | source: hosted |
300 | - version: "0.12.6" | 307 | + version: "0.12.8" |
301 | meta: | 308 | meta: |
302 | dependency: "direct main" | 309 | dependency: "direct main" |
303 | description: | 310 | description: |
@@ -456,7 +463,7 @@ packages: | @@ -456,7 +463,7 @@ packages: | ||
456 | name: stack_trace | 463 | name: stack_trace |
457 | url: "https://pub.dartlang.org" | 464 | url: "https://pub.dartlang.org" |
458 | source: hosted | 465 | source: hosted |
459 | - version: "1.9.3" | 466 | + version: "1.9.5" |
460 | stream_channel: | 467 | stream_channel: |
461 | dependency: transitive | 468 | dependency: transitive |
462 | description: | 469 | description: |
@@ -491,7 +498,7 @@ packages: | @@ -491,7 +498,7 @@ packages: | ||
491 | name: test_api | 498 | name: test_api |
492 | url: "https://pub.dartlang.org" | 499 | url: "https://pub.dartlang.org" |
493 | source: hosted | 500 | source: hosted |
494 | - version: "0.2.16" | 501 | + version: "0.2.17" |
495 | timing: | 502 | timing: |
496 | dependency: transitive | 503 | dependency: transitive |
497 | description: | 504 | description: |
@@ -505,7 +512,7 @@ packages: | @@ -505,7 +512,7 @@ packages: | ||
505 | name: typed_data | 512 | name: typed_data |
506 | url: "https://pub.dartlang.org" | 513 | url: "https://pub.dartlang.org" |
507 | source: hosted | 514 | source: hosted |
508 | - version: "1.1.6" | 515 | + version: "1.2.0" |
509 | uuid: | 516 | uuid: |
510 | dependency: "direct main" | 517 | dependency: "direct main" |
511 | description: | 518 | description: |
@@ -2,20 +2,8 @@ | @@ -2,20 +2,8 @@ | ||
2 | "configVersion": 2, | 2 | "configVersion": 2, |
3 | "packages": [ | 3 | "packages": [ |
4 | { | 4 | { |
5 | - "name": "archive", | ||
6 | - "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/archive-2.0.13", | ||
7 | - "packageUri": "lib/", | ||
8 | - "languageVersion": "2.0" | ||
9 | - }, | ||
10 | - { | ||
11 | - "name": "args", | ||
12 | - "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/args-1.6.0", | ||
13 | - "packageUri": "lib/", | ||
14 | - "languageVersion": "2.3" | ||
15 | - }, | ||
16 | - { | ||
17 | "name": "async", | 5 | "name": "async", |
18 | - "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/async-2.4.1", | 6 | + "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/async-2.4.2", |
19 | "packageUri": "lib/", | 7 | "packageUri": "lib/", |
20 | "languageVersion": "2.2" | 8 | "languageVersion": "2.2" |
21 | }, | 9 | }, |
@@ -26,40 +14,46 @@ | @@ -26,40 +14,46 @@ | ||
26 | "languageVersion": "2.4" | 14 | "languageVersion": "2.4" |
27 | }, | 15 | }, |
28 | { | 16 | { |
17 | + "name": "characters", | ||
18 | + "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/characters-1.0.0", | ||
19 | + "packageUri": "lib/", | ||
20 | + "languageVersion": "2.6" | ||
21 | + }, | ||
22 | + { | ||
29 | "name": "charcode", | 23 | "name": "charcode", |
30 | "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/charcode-1.1.3", | 24 | "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/charcode-1.1.3", |
31 | "packageUri": "lib/", | 25 | "packageUri": "lib/", |
32 | "languageVersion": "2.0" | 26 | "languageVersion": "2.0" |
33 | }, | 27 | }, |
34 | { | 28 | { |
35 | - "name": "collection", | ||
36 | - "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/collection-1.14.12", | 29 | + "name": "clock", |
30 | + "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/clock-1.0.1", | ||
37 | "packageUri": "lib/", | 31 | "packageUri": "lib/", |
38 | "languageVersion": "2.0" | 32 | "languageVersion": "2.0" |
39 | }, | 33 | }, |
40 | { | 34 | { |
41 | - "name": "convert", | ||
42 | - "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/convert-2.1.1", | 35 | + "name": "collection", |
36 | + "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/collection-1.14.13", | ||
43 | "packageUri": "lib/", | 37 | "packageUri": "lib/", |
44 | - "languageVersion": "1.17" | 38 | + "languageVersion": "2.3" |
45 | }, | 39 | }, |
46 | { | 40 | { |
47 | - "name": "crypto", | ||
48 | - "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/crypto-2.1.4", | 41 | + "name": "dio", |
42 | + "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/dio-3.0.9", | ||
49 | "packageUri": "lib/", | 43 | "packageUri": "lib/", |
50 | - "languageVersion": "2.1" | 44 | + "languageVersion": "2.4" |
51 | }, | 45 | }, |
52 | { | 46 | { |
53 | - "name": "cupertino_icons", | ||
54 | - "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/cupertino_icons-0.1.3", | 47 | + "name": "fake_async", |
48 | + "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/fake_async-1.1.0", | ||
55 | "packageUri": "lib/", | 49 | "packageUri": "lib/", |
56 | - "languageVersion": "2.0" | 50 | + "languageVersion": "2.2" |
57 | }, | 51 | }, |
58 | { | 52 | { |
59 | "name": "flutter", | 53 | "name": "flutter", |
60 | "rootUri": "file:///opt/flutter/packages/flutter", | 54 | "rootUri": "file:///opt/flutter/packages/flutter", |
61 | "packageUri": "lib/", | 55 | "packageUri": "lib/", |
62 | - "languageVersion": "2.2" | 56 | + "languageVersion": "2.9" |
63 | }, | 57 | }, |
64 | { | 58 | { |
65 | "name": "flutter_test", | 59 | "name": "flutter_test", |
@@ -69,21 +63,21 @@ | @@ -69,21 +63,21 @@ | ||
69 | }, | 63 | }, |
70 | { | 64 | { |
71 | "name": "get", | 65 | "name": "get", |
72 | - "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/get-1.15.2", | 66 | + "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/get-3.2.2", |
73 | "packageUri": "lib/", | 67 | "packageUri": "lib/", |
74 | - "languageVersion": "2.1" | 68 | + "languageVersion": "2.6" |
75 | }, | 69 | }, |
76 | { | 70 | { |
77 | - "name": "image", | ||
78 | - "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/image-2.1.12", | 71 | + "name": "http_parser", |
72 | + "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/http_parser-3.1.4", | ||
79 | "packageUri": "lib/", | 73 | "packageUri": "lib/", |
80 | - "languageVersion": "2.0" | 74 | + "languageVersion": "2.3" |
81 | }, | 75 | }, |
82 | { | 76 | { |
83 | "name": "matcher", | 77 | "name": "matcher", |
84 | - "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/matcher-0.12.6", | 78 | + "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/matcher-0.12.8", |
85 | "packageUri": "lib/", | 79 | "packageUri": "lib/", |
86 | - "languageVersion": "2.2" | 80 | + "languageVersion": "2.4" |
87 | }, | 81 | }, |
88 | { | 82 | { |
89 | "name": "meta", | 83 | "name": "meta", |
@@ -93,19 +87,7 @@ | @@ -93,19 +87,7 @@ | ||
93 | }, | 87 | }, |
94 | { | 88 | { |
95 | "name": "path", | 89 | "name": "path", |
96 | - "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/path-1.6.4", | ||
97 | - "packageUri": "lib/", | ||
98 | - "languageVersion": "2.0" | ||
99 | - }, | ||
100 | - { | ||
101 | - "name": "petitparser", | ||
102 | - "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/petitparser-2.4.0", | ||
103 | - "packageUri": "lib/", | ||
104 | - "languageVersion": "2.4" | ||
105 | - }, | ||
106 | - { | ||
107 | - "name": "quiver", | ||
108 | - "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/quiver-2.1.3", | 90 | + "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/path-1.7.0", |
109 | "packageUri": "lib/", | 91 | "packageUri": "lib/", |
110 | "languageVersion": "2.0" | 92 | "languageVersion": "2.0" |
111 | }, | 93 | }, |
@@ -123,9 +105,9 @@ | @@ -123,9 +105,9 @@ | ||
123 | }, | 105 | }, |
124 | { | 106 | { |
125 | "name": "stack_trace", | 107 | "name": "stack_trace", |
126 | - "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.9.3", | 108 | + "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.9.5", |
127 | "packageUri": "lib/", | 109 | "packageUri": "lib/", |
128 | - "languageVersion": "1.23" | 110 | + "languageVersion": "2.0" |
129 | }, | 111 | }, |
130 | { | 112 | { |
131 | "name": "stream_channel", | 113 | "name": "stream_channel", |
@@ -147,15 +129,15 @@ | @@ -147,15 +129,15 @@ | ||
147 | }, | 129 | }, |
148 | { | 130 | { |
149 | "name": "test_api", | 131 | "name": "test_api", |
150 | - "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/test_api-0.2.15", | 132 | + "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/test_api-0.2.17", |
151 | "packageUri": "lib/", | 133 | "packageUri": "lib/", |
152 | - "languageVersion": "2.4" | 134 | + "languageVersion": "2.7" |
153 | }, | 135 | }, |
154 | { | 136 | { |
155 | "name": "typed_data", | 137 | "name": "typed_data", |
156 | - "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/typed_data-1.1.6", | 138 | + "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/typed_data-1.2.0", |
157 | "packageUri": "lib/", | 139 | "packageUri": "lib/", |
158 | - "languageVersion": "2.0" | 140 | + "languageVersion": "2.4" |
159 | }, | 141 | }, |
160 | { | 142 | { |
161 | "name": "vector_math", | 143 | "name": "vector_math", |
@@ -164,19 +146,13 @@ | @@ -164,19 +146,13 @@ | ||
164 | "languageVersion": "2.0" | 146 | "languageVersion": "2.0" |
165 | }, | 147 | }, |
166 | { | 148 | { |
167 | - "name": "xml", | ||
168 | - "rootUri": "file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/xml-3.6.1", | ||
169 | - "packageUri": "lib/", | ||
170 | - "languageVersion": "2.6" | ||
171 | - }, | ||
172 | - { | ||
173 | - "name": "profileweb", | 149 | + "name": "get_state", |
174 | "rootUri": "../", | 150 | "rootUri": "../", |
175 | "packageUri": "lib/", | 151 | "packageUri": "lib/", |
176 | - "languageVersion": "2.1" | 152 | + "languageVersion": "2.7" |
177 | } | 153 | } |
178 | ], | 154 | ], |
179 | - "generated": "2020-04-27T06:02:27.159254Z", | 155 | + "generated": "2020-07-14T09:09:42.984811Z", |
180 | "generator": "pub", | 156 | "generator": "pub", |
181 | - "generatorVersion": "2.8.0-dev.20.10" | 157 | + "generatorVersion": "2.9.0-21.2.beta" |
182 | } | 158 | } |
1 | -# Generated by pub on 2020-04-27 03:02:27.132181. | ||
2 | -archive:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/archive-2.0.13/lib/ | ||
3 | -args:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/args-1.6.0/lib/ | ||
4 | -async:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/async-2.4.1/lib/ | 1 | +# Generated by pub on 2020-07-14 06:09:42.955823. |
2 | +async:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/async-2.4.2/lib/ | ||
5 | boolean_selector:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/boolean_selector-2.0.0/lib/ | 3 | boolean_selector:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/boolean_selector-2.0.0/lib/ |
4 | +characters:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/characters-1.0.0/lib/ | ||
6 | charcode:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/charcode-1.1.3/lib/ | 5 | charcode:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/charcode-1.1.3/lib/ |
7 | -collection:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/collection-1.14.12/lib/ | ||
8 | -convert:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/convert-2.1.1/lib/ | ||
9 | -crypto:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/crypto-2.1.4/lib/ | ||
10 | -cupertino_icons:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/cupertino_icons-0.1.3/lib/ | 6 | +clock:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/clock-1.0.1/lib/ |
7 | +collection:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/collection-1.14.13/lib/ | ||
8 | +dio:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/dio-3.0.9/lib/ | ||
9 | +fake_async:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/fake_async-1.1.0/lib/ | ||
11 | flutter:file:///opt/flutter/packages/flutter/lib/ | 10 | flutter:file:///opt/flutter/packages/flutter/lib/ |
12 | flutter_test:file:///opt/flutter/packages/flutter_test/lib/ | 11 | flutter_test:file:///opt/flutter/packages/flutter_test/lib/ |
13 | -get:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/get-1.15.2/lib/ | ||
14 | -image:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/image-2.1.12/lib/ | ||
15 | -matcher:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/matcher-0.12.6/lib/ | 12 | +get:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/get-3.2.2/lib/ |
13 | +http_parser:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/http_parser-3.1.4/lib/ | ||
14 | +matcher:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/matcher-0.12.8/lib/ | ||
16 | meta:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/meta-1.1.8/lib/ | 15 | meta:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/meta-1.1.8/lib/ |
17 | -path:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/path-1.6.4/lib/ | ||
18 | -petitparser:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/petitparser-2.4.0/lib/ | ||
19 | -quiver:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/quiver-2.1.3/lib/ | 16 | +path:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/path-1.7.0/lib/ |
20 | sky_engine:file:///opt/flutter/bin/cache/pkg/sky_engine/lib/ | 17 | sky_engine:file:///opt/flutter/bin/cache/pkg/sky_engine/lib/ |
21 | source_span:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/source_span-1.7.0/lib/ | 18 | source_span:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/source_span-1.7.0/lib/ |
22 | -stack_trace:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.9.3/lib/ | 19 | +stack_trace:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.9.5/lib/ |
23 | stream_channel:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/stream_channel-2.0.0/lib/ | 20 | stream_channel:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/stream_channel-2.0.0/lib/ |
24 | string_scanner:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.0.5/lib/ | 21 | string_scanner:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.0.5/lib/ |
25 | term_glyph:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.1.0/lib/ | 22 | term_glyph:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.1.0/lib/ |
26 | -test_api:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/test_api-0.2.15/lib/ | ||
27 | -typed_data:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/typed_data-1.1.6/lib/ | 23 | +test_api:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/test_api-0.2.17/lib/ |
24 | +typed_data:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/typed_data-1.2.0/lib/ | ||
28 | vector_math:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/vector_math-2.0.8/lib/ | 25 | vector_math:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/vector_math-2.0.8/lib/ |
29 | -xml:file:///opt/flutter/.pub-cache/hosted/pub.dartlang.org/xml-3.6.1/lib/ | ||
30 | -profileweb:lib/ | 26 | +get_state:lib/ |
example/lib/home/bindings/home_binding.dart
0 → 100644
1 | +import 'package:get/get.dart'; | ||
2 | +import 'package:get_state/home/controllers/home_controller.dart'; | ||
3 | +import 'package:get_state/home/data/home_provider.dart'; | ||
4 | +import 'package:get_state/home/data/home_repository.dart'; | ||
5 | + | ||
6 | +class HomeBinding extends Bindings { | ||
7 | + @override | ||
8 | + void dependencies() { | ||
9 | + Get.lazyPut<HomeController>(() { | ||
10 | + final homeProvider = HomeProvider(); | ||
11 | + final homeRepository = HomeRepository(homeProvider); | ||
12 | + return HomeController(homeRepository); | ||
13 | + }); | ||
14 | + } | ||
15 | +} |
1 | import 'package:get/get.dart'; | 1 | import 'package:get/get.dart'; |
2 | -import 'package:get_state/home/models/home_model.dart'; | ||
3 | -import 'package:get_state/home/repositorys/home_repository.dart'; | 2 | +import 'package:get_state/home/data/home_model.dart'; |
3 | +import 'package:get_state/home/data/home_repository.dart'; | ||
4 | 4 | ||
5 | -class Controller extends GetController { | ||
6 | - /// You do not need that. I recommend using it just for ease of syntax. | ||
7 | - /// with static method: Controller.to.fetchDataFromApi(); | ||
8 | - /// with no static method: Get.find<Controller>().fetchDataFromApi(); | ||
9 | - /// There is no difference in performance, nor any side effect of using either syntax. Only one does not need the type, and the other does. | ||
10 | - static Controller get to => Get.find(); | 5 | +class HomeController extends GetxController { |
6 | + HomeController(this.homeRepository); | ||
7 | + final HomeRepository homeRepository; | ||
11 | 8 | ||
12 | - ApiModel data; | 9 | + Rx<ApiModel> data = Rx<ApiModel>(); |
10 | + | ||
11 | + @override | ||
12 | + void onInit() => fetchDataFromApi(); | ||
13 | 13 | ||
14 | void fetchDataFromApi() async { | 14 | void fetchDataFromApi() async { |
15 | - Api api = Api(); | ||
16 | - final response = await api.fetchData(); | ||
17 | - if (response == null) { | ||
18 | - Get.snackbar("Erro", "Não foi possível conectar ao servidor"); | ||
19 | - } else { | ||
20 | - data = response; | ||
21 | - update(this); | 15 | + data.value = await homeRepository.getData(); |
16 | + if (data.value == null) { | ||
17 | + Get.snackbar("Error", "Can't connect to server"); | ||
22 | } | 18 | } |
23 | } | 19 | } |
24 | } | 20 | } |
25 | - | ||
26 | -/// The first way works perfectly, but if you want to follow good practices, | ||
27 | -/// you can make the data private and access it through a Get. | ||
28 | -/// | ||
29 | -/// | ||
30 | -// class Controllers extends GetController { | ||
31 | -// /// You do not need that. I recommend using it just for ease of syntax. | ||
32 | -// /// with static method: Controller.to.fetchDataFromApi(); | ||
33 | -// /// with no static method: Get.find<Controller>().fetchDataFromApi(); | ||
34 | -// /// There is no difference in performance, nor any side effect of using either syntax. Only one does not need the type, and the other does. | ||
35 | -// static Controller get to => Get.find(); | ||
36 | - | ||
37 | -// ApiModel _data; | ||
38 | -// ApiModel get data => _data; | ||
39 | - | ||
40 | -// void fetchDataFromApi() async { | ||
41 | -// Api api = Api(); | ||
42 | -// final response = await api.fetchData(); | ||
43 | -// if (response == null) { | ||
44 | -// Get.snackbar("Erro", "Não foi possível conectar ao servidor"); | ||
45 | -// } else { | ||
46 | -// _data = response; | ||
47 | -// update(this); | ||
48 | -// } | ||
49 | -// } | ||
50 | -// } |
1 | import 'package:dio/dio.dart'; | 1 | import 'package:dio/dio.dart'; |
2 | -import 'package:get_state/home/models/home_model.dart'; | 2 | +import 'package:get_state/home/data/home_model.dart'; |
3 | 3 | ||
4 | -class Api { | ||
5 | - /// To make your repository Global, you can use this: | ||
6 | - /// | ||
7 | - /// static Api get to => Get.put(Api()); | ||
8 | - /// | ||
9 | - /// So you can access it with: Get.find<Api>().fetchData; | ||
10 | - /// You can dispose it with Get.delete<Api>(Api()); | ||
11 | - /// Only make the repository global if necessary, if you are going to use it on a single controller, there is no reason to make it global. | 4 | +class HomeProvider { |
12 | Future<ApiModel> fetchData() async { | 5 | Future<ApiModel> fetchData() async { |
13 | try { | 6 | try { |
14 | final response = await Dio().get("https://api.covid19api.com/summary"); | 7 | final response = await Dio().get("https://api.covid19api.com/summary"); |
15 | return ApiModel.fromJson(response.data); | 8 | return ApiModel.fromJson(response.data); |
16 | } catch (e) { | 9 | } catch (e) { |
17 | print(e.toString()); | 10 | print(e.toString()); |
18 | - return null; | 11 | + return ApiModel(); |
19 | } | 12 | } |
20 | } | 13 | } |
21 | } | 14 | } |
example/lib/home/data/home_repository.dart
0 → 100644
1 | +import 'package:get_state/home/data/home_provider.dart'; | ||
2 | +import 'package:get_state/home/data/home_model.dart'; | ||
3 | + | ||
4 | +class HomeRepository { | ||
5 | + HomeRepository(this.homeProvider); | ||
6 | + final HomeProvider homeProvider; | ||
7 | + | ||
8 | + Future<ApiModel> getData() async { | ||
9 | + return homeProvider.fetchData(); | ||
10 | + } | ||
11 | +} |
1 | import 'dart:ui'; | 1 | import 'dart:ui'; |
2 | import 'package:flutter/material.dart'; | 2 | import 'package:flutter/material.dart'; |
3 | import 'package:get_state/home/controllers/home_controller.dart'; | 3 | import 'package:get_state/home/controllers/home_controller.dart'; |
4 | -import 'package:get_state/home/models/home_model.dart'; | 4 | +import 'package:get_state/home/data/home_model.dart'; |
5 | import 'package:get/get.dart'; | 5 | import 'package:get/get.dart'; |
6 | 6 | ||
7 | -class CountryPage extends StatelessWidget { | 7 | +class CountryPage extends GetWidget<HomeController> { |
8 | @override | 8 | @override |
9 | Widget build(BuildContext context) { | 9 | Widget build(BuildContext context) { |
10 | return Container( | 10 | return Container( |
@@ -28,9 +28,9 @@ class CountryPage extends StatelessWidget { | @@ -28,9 +28,9 @@ class CountryPage extends StatelessWidget { | ||
28 | ), | 28 | ), |
29 | body: Center( | 29 | body: Center( |
30 | child: ListView.builder( | 30 | child: ListView.builder( |
31 | - itemCount: null, | 31 | + itemCount: controller.data.value.countries.length, |
32 | itemBuilder: (context, index) { | 32 | itemBuilder: (context, index) { |
33 | - Country country = Controller.to.data.countries[index]; | 33 | + Country country = controller.data.value.countries[index]; |
34 | return ListTile( | 34 | return ListTile( |
35 | onTap: () { | 35 | onTap: () { |
36 | Get.toNamed('/details', arguments: country); | 36 | Get.toNamed('/details', arguments: country); |
1 | import 'dart:ui'; | 1 | import 'dart:ui'; |
2 | import 'package:flutter/material.dart'; | 2 | import 'package:flutter/material.dart'; |
3 | import 'package:get/get.dart'; | 3 | import 'package:get/get.dart'; |
4 | -import 'package:get_state/home/models/home_model.dart'; | 4 | +import 'package:get_state/home/data/home_model.dart'; |
5 | 5 | ||
6 | class DetailsPage extends StatelessWidget { | 6 | class DetailsPage extends StatelessWidget { |
7 | @override | 7 | @override |
@@ -3,10 +3,9 @@ import 'package:flutter/material.dart'; | @@ -3,10 +3,9 @@ import 'package:flutter/material.dart'; | ||
3 | import 'package:get/get.dart'; | 3 | import 'package:get/get.dart'; |
4 | import 'package:get_state/home/controllers/home_controller.dart'; | 4 | import 'package:get_state/home/controllers/home_controller.dart'; |
5 | 5 | ||
6 | -class HomePage extends StatelessWidget { | 6 | +class HomePage extends GetWidget<HomeController> { |
7 | @override | 7 | @override |
8 | Widget build(BuildContext context) { | 8 | Widget build(BuildContext context) { |
9 | - print("rebuild"); | ||
10 | return Container( | 9 | return Container( |
11 | decoration: BoxDecoration( | 10 | decoration: BoxDecoration( |
12 | color: Colors.white, | 11 | color: Colors.white, |
@@ -24,16 +23,9 @@ class HomePage extends StatelessWidget { | @@ -24,16 +23,9 @@ class HomePage extends StatelessWidget { | ||
24 | centerTitle: true, | 23 | centerTitle: true, |
25 | ), | 24 | ), |
26 | body: Center( | 25 | body: Center( |
27 | - child: GetBuilder<Controller>( | ||
28 | - init: Controller(), | ||
29 | - initState: (_) { | ||
30 | - Controller.to.fetchDataFromApi(); | ||
31 | - }, | ||
32 | - builder: (_) { | ||
33 | - if (_.data == null) { | ||
34 | - return CircularProgressIndicator(); | ||
35 | - } else { | ||
36 | - return Column( | 26 | + child: Obx(() => (controller.data() == null) |
27 | + ? CircularProgressIndicator() | ||
28 | + : Column( | ||
37 | mainAxisAlignment: MainAxisAlignment.center, | 29 | mainAxisAlignment: MainAxisAlignment.center, |
38 | children: [ | 30 | children: [ |
39 | SizedBox( | 31 | SizedBox( |
@@ -46,9 +38,9 @@ class HomePage extends StatelessWidget { | @@ -46,9 +38,9 @@ class HomePage extends StatelessWidget { | ||
46 | ), | 38 | ), |
47 | ), | 39 | ), |
48 | Text( | 40 | Text( |
49 | - '${_.data.global.totalConfirmed}', | ||
50 | - style: TextStyle( | ||
51 | - fontSize: 45, fontWeight: FontWeight.bold), | 41 | + '${controller.data.value.global.totalConfirmed}', |
42 | + style: | ||
43 | + TextStyle(fontSize: 45, fontWeight: FontWeight.bold), | ||
52 | ), | 44 | ), |
53 | SizedBox( | 45 | SizedBox( |
54 | height: 10, | 46 | height: 10, |
@@ -60,9 +52,9 @@ class HomePage extends StatelessWidget { | @@ -60,9 +52,9 @@ class HomePage extends StatelessWidget { | ||
60 | ), | 52 | ), |
61 | ), | 53 | ), |
62 | Text( | 54 | Text( |
63 | - '${_.data.global.totalDeaths}', | ||
64 | - style: TextStyle( | ||
65 | - fontSize: 45, fontWeight: FontWeight.bold), | 55 | + '${controller.data.value.global.totalDeaths}', |
56 | + style: | ||
57 | + TextStyle(fontSize: 45, fontWeight: FontWeight.bold), | ||
66 | ), | 58 | ), |
67 | SizedBox( | 59 | SizedBox( |
68 | height: 10, | 60 | height: 10, |
@@ -79,11 +71,10 @@ class HomePage extends StatelessWidget { | @@ -79,11 +71,10 @@ class HomePage extends StatelessWidget { | ||
79 | child: Text( | 71 | child: Text( |
80 | "Fetch by country", | 72 | "Fetch by country", |
81 | style: TextStyle(fontWeight: FontWeight.bold), | 73 | style: TextStyle(fontWeight: FontWeight.bold), |
82 | - )) | 74 | + ), |
75 | + ) | ||
83 | ], | 76 | ], |
84 | - ); | ||
85 | - } | ||
86 | - }), | 77 | + )), |
87 | ), | 78 | ), |
88 | ), | 79 | ), |
89 | ); | 80 | ); |
1 | import 'package:flutter/material.dart'; | 1 | import 'package:flutter/material.dart'; |
2 | import 'package:get/get.dart'; | 2 | import 'package:get/get.dart'; |
3 | +import 'package:get_state/home/bindings/home_binding.dart'; | ||
3 | import 'package:get_state/home/views/country_view.dart'; | 4 | import 'package:get_state/home/views/country_view.dart'; |
4 | import 'home/views/details_view.dart'; | 5 | import 'home/views/details_view.dart'; |
5 | import 'home/views/home_view.dart'; | 6 | import 'home/views/home_view.dart'; |
6 | 7 | ||
7 | void main() { | 8 | void main() { |
8 | - runApp(GetMaterialApp( | 9 | + runApp( |
10 | + GetMaterialApp( | ||
9 | debugShowCheckedModeBanner: false, | 11 | debugShowCheckedModeBanner: false, |
10 | initialRoute: '/', | 12 | initialRoute: '/', |
11 | - namedRoutes: { | ||
12 | - '/': GetRoute(page: HomePage()), | ||
13 | - '/country': GetRoute(page: CountryPage()), | ||
14 | - '/details': GetRoute(page: DetailsPage()), | ||
15 | - }, | ||
16 | - )); | 13 | + getPages: [ |
14 | + GetPage(name: '/', page: () => HomePage(), binding: HomeBinding()), | ||
15 | + GetPage(name: '/country', page: () => CountryPage()), | ||
16 | + GetPage(name: '/details', page: () => DetailsPage()), | ||
17 | + ], | ||
18 | + ), | ||
19 | + ); | ||
17 | } | 20 | } |
@@ -5,9 +5,9 @@ | @@ -5,9 +5,9 @@ | ||
5 | #ifndef GENERATED_PLUGIN_REGISTRANT_ | 5 | #ifndef GENERATED_PLUGIN_REGISTRANT_ |
6 | #define GENERATED_PLUGIN_REGISTRANT_ | 6 | #define GENERATED_PLUGIN_REGISTRANT_ |
7 | 7 | ||
8 | -#include <flutter/plugin_registry.h> | 8 | +#include <flutter_linux/flutter_linux.h> |
9 | 9 | ||
10 | // Registers Flutter plugins. | 10 | // Registers Flutter plugins. |
11 | -void RegisterPlugins(flutter::PluginRegistry* registry); | 11 | +void fl_register_plugins(FlPluginRegistry* registry); |
12 | 12 | ||
13 | #endif // GENERATED_PLUGIN_REGISTRANT_ | 13 | #endif // GENERATED_PLUGIN_REGISTRANT_ |
1 | +# | ||
2 | +# Generated file, do not edit. | ||
3 | +# | ||
4 | + | ||
5 | +list(APPEND FLUTTER_PLUGIN_LIST | ||
6 | +) | ||
7 | + | ||
8 | +set(PLUGIN_BUNDLED_LIBRARIES) | ||
9 | + | ||
10 | +foreach(plugin ${FLUTTER_PLUGIN_LIST}) | ||
11 | + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin}) | ||
12 | + target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) | ||
13 | + list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>) | ||
14 | + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) | ||
15 | +endforeach(plugin) |
@@ -7,7 +7,7 @@ packages: | @@ -7,7 +7,7 @@ packages: | ||
7 | name: async | 7 | name: async |
8 | url: "https://pub.dartlang.org" | 8 | url: "https://pub.dartlang.org" |
9 | source: hosted | 9 | source: hosted |
10 | - version: "2.4.1" | 10 | + version: "2.4.2" |
11 | boolean_selector: | 11 | boolean_selector: |
12 | dependency: transitive | 12 | dependency: transitive |
13 | description: | 13 | description: |
@@ -15,6 +15,13 @@ packages: | @@ -15,6 +15,13 @@ packages: | ||
15 | url: "https://pub.dartlang.org" | 15 | url: "https://pub.dartlang.org" |
16 | source: hosted | 16 | source: hosted |
17 | version: "2.0.0" | 17 | version: "2.0.0" |
18 | + characters: | ||
19 | + dependency: transitive | ||
20 | + description: | ||
21 | + name: characters | ||
22 | + url: "https://pub.dartlang.org" | ||
23 | + source: hosted | ||
24 | + version: "1.0.0" | ||
18 | charcode: | 25 | charcode: |
19 | dependency: transitive | 26 | dependency: transitive |
20 | description: | 27 | description: |
@@ -35,7 +42,7 @@ packages: | @@ -35,7 +42,7 @@ packages: | ||
35 | name: collection | 42 | name: collection |
36 | url: "https://pub.dartlang.org" | 43 | url: "https://pub.dartlang.org" |
37 | source: hosted | 44 | source: hosted |
38 | - version: "1.14.12" | 45 | + version: "1.14.13" |
39 | dio: | 46 | dio: |
40 | dependency: "direct main" | 47 | dependency: "direct main" |
41 | description: | 48 | description: |
@@ -66,7 +73,7 @@ packages: | @@ -66,7 +73,7 @@ packages: | ||
66 | name: get | 73 | name: get |
67 | url: "https://pub.dartlang.org" | 74 | url: "https://pub.dartlang.org" |
68 | source: hosted | 75 | source: hosted |
69 | - version: "2.0.8-dev" | 76 | + version: "3.2.2" |
70 | http_parser: | 77 | http_parser: |
71 | dependency: transitive | 78 | dependency: transitive |
72 | description: | 79 | description: |
@@ -80,7 +87,7 @@ packages: | @@ -80,7 +87,7 @@ packages: | ||
80 | name: matcher | 87 | name: matcher |
81 | url: "https://pub.dartlang.org" | 88 | url: "https://pub.dartlang.org" |
82 | source: hosted | 89 | source: hosted |
83 | - version: "0.12.6" | 90 | + version: "0.12.8" |
84 | meta: | 91 | meta: |
85 | dependency: transitive | 92 | dependency: transitive |
86 | description: | 93 | description: |
@@ -113,7 +120,7 @@ packages: | @@ -113,7 +120,7 @@ packages: | ||
113 | name: stack_trace | 120 | name: stack_trace |
114 | url: "https://pub.dartlang.org" | 121 | url: "https://pub.dartlang.org" |
115 | source: hosted | 122 | source: hosted |
116 | - version: "1.9.3" | 123 | + version: "1.9.5" |
117 | stream_channel: | 124 | stream_channel: |
118 | dependency: transitive | 125 | dependency: transitive |
119 | description: | 126 | description: |
@@ -141,14 +148,14 @@ packages: | @@ -141,14 +148,14 @@ packages: | ||
141 | name: test_api | 148 | name: test_api |
142 | url: "https://pub.dartlang.org" | 149 | url: "https://pub.dartlang.org" |
143 | source: hosted | 150 | source: hosted |
144 | - version: "0.2.15" | 151 | + version: "0.2.17" |
145 | typed_data: | 152 | typed_data: |
146 | dependency: transitive | 153 | dependency: transitive |
147 | description: | 154 | description: |
148 | name: typed_data | 155 | name: typed_data |
149 | url: "https://pub.dartlang.org" | 156 | url: "https://pub.dartlang.org" |
150 | source: hosted | 157 | source: hosted |
151 | - version: "1.1.6" | 158 | + version: "1.2.0" |
152 | vector_math: | 159 | vector_math: |
153 | dependency: transitive | 160 | dependency: transitive |
154 | description: | 161 | description: |
@@ -157,4 +164,4 @@ packages: | @@ -157,4 +164,4 @@ packages: | ||
157 | source: hosted | 164 | source: hosted |
158 | version: "2.0.8" | 165 | version: "2.0.8" |
159 | sdks: | 166 | sdks: |
160 | - dart: ">=2.7.0 <3.0.0" | 167 | + dart: ">=2.9.0-14.0.dev <3.0.0" |
@@ -27,7 +27,7 @@ dependencies: | @@ -27,7 +27,7 @@ dependencies: | ||
27 | 27 | ||
28 | # The following adds the Cupertino Icons font to your application. | 28 | # The following adds the Cupertino Icons font to your application. |
29 | # Use with the CupertinoIcons class for iOS style icons. | 29 | # Use with the CupertinoIcons class for iOS style icons. |
30 | - get: ^2.0.8-dev | 30 | + get: ^3.2.2 |
31 | dio: ^3.0.9 | 31 | dio: ^3.0.9 |
32 | 32 | ||
33 | dev_dependencies: | 33 | dev_dependencies: |
@@ -3,14 +3,18 @@ import '../get_main.dart'; | @@ -3,14 +3,18 @@ import '../get_main.dart'; | ||
3 | import 'get_instance.dart'; | 3 | import 'get_instance.dart'; |
4 | 4 | ||
5 | extension Inst on GetImpl { | 5 | extension Inst on GetImpl { |
6 | - void lazyPut<S>(FcBuilderFunc builder, {String tag}) { | ||
7 | - return GetInstance().lazyPut<S>(builder, tag: tag); | 6 | + void lazyPut<S>(FcBuilderFunc builder, {String tag, bool fenix = false}) { |
7 | + return GetInstance().lazyPut<S>(builder, tag: tag, fenix: fenix); | ||
8 | } | 8 | } |
9 | 9 | ||
10 | Future<S> putAsync<S>(FcBuilderFuncAsync<S> builder, | 10 | Future<S> putAsync<S>(FcBuilderFuncAsync<S> builder, |
11 | {String tag, bool permanent = false}) async => | 11 | {String tag, bool permanent = false}) async => |
12 | GetInstance().putAsync<S>(builder, tag: tag, permanent: permanent); | 12 | GetInstance().putAsync<S>(builder, tag: tag, permanent: permanent); |
13 | 13 | ||
14 | + void create<S>(FcBuilderFunc<S> builder, | ||
15 | + {String name, bool permanent = true}) => | ||
16 | + GetInstance().create<S>(builder, name: name, permanent: permanent); | ||
17 | + | ||
14 | S find<S>({String tag, FcBuilderFunc<S> instance}) => | 18 | S find<S>({String tag, FcBuilderFunc<S> instance}) => |
15 | GetInstance().find<S>(tag: tag, instance: instance); | 19 | GetInstance().find<S>(tag: tag, instance: instance); |
16 | 20 |
@@ -64,8 +64,10 @@ class GetInstance { | @@ -64,8 +64,10 @@ class GetInstance { | ||
64 | void create<S>( | 64 | void create<S>( |
65 | FcBuilderFunc<S> builder, { | 65 | FcBuilderFunc<S> builder, { |
66 | String name, | 66 | String name, |
67 | + bool permanent = true, | ||
67 | }) { | 68 | }) { |
68 | - _insert(isSingleton: false, name: name, builder: builder); | 69 | + _insert( |
70 | + isSingleton: false, name: name, builder: builder, permanent: permanent); | ||
69 | } | 71 | } |
70 | 72 | ||
71 | void _insert<S>({ | 73 | void _insert<S>({ |
@@ -227,7 +229,8 @@ class GetInstance { | @@ -227,7 +229,8 @@ class GetInstance { | ||
227 | 229 | ||
228 | FcBuilder builder = GetConfig._singl[newKey] as FcBuilder; | 230 | FcBuilder builder = GetConfig._singl[newKey] as FcBuilder; |
229 | if (builder.permanent) { | 231 | if (builder.permanent) { |
230 | - print('[GET] [$newKey] has been marked as permanent, SmartManagement is not authorized to delete it.'); | 232 | + print( |
233 | + '[GET] [$newKey] has been marked as permanent, SmartManagement is not authorized to delete it.'); | ||
231 | return false; | 234 | return false; |
232 | } | 235 | } |
233 | final i = builder.dependency; | 236 | final i = builder.dependency; |
@@ -31,6 +31,7 @@ extension GetStringUtils on String { | @@ -31,6 +31,7 @@ extension GetStringUtils on String { | ||
31 | bool get isPalindrom => GetUtils.isPalindrom(this); | 31 | bool get isPalindrom => GetUtils.isPalindrom(this); |
32 | bool get isPassport => GetUtils.isPassport(this); | 32 | bool get isPassport => GetUtils.isPassport(this); |
33 | bool get isCurrency => GetUtils.isCurrency(this); | 33 | bool get isCurrency => GetUtils.isCurrency(this); |
34 | + bool isCpf(String s) => GetUtils.isCpf(this); | ||
34 | bool isCaseInsensitiveContains(String b) => | 35 | bool isCaseInsensitiveContains(String b) => |
35 | GetUtils.isCaseInsensitiveContains(this, b); | 36 | GetUtils.isCaseInsensitiveContains(this, b); |
36 | bool isCaseInsensitiveContainsAny(String b) => | 37 | bool isCaseInsensitiveContainsAny(String b) => |
@@ -336,10 +336,9 @@ class GetPageRoute<T> extends PageRoute<T> { | @@ -336,10 +336,9 @@ class GetPageRoute<T> extends PageRoute<T> { | ||
336 | child: child) | 336 | child: child) |
337 | : child); | 337 | : child); |
338 | 338 | ||
339 | - return FadeInTransition().buildTransitions( | 339 | + return FadeUpwardsPageTransitionsBuilder().buildTransitions( |
340 | + this, | ||
340 | context, | 341 | context, |
341 | - curve, | ||
342 | - alignment, | ||
343 | animation, | 342 | animation, |
344 | secondaryAnimation, | 343 | secondaryAnimation, |
345 | popGesture ?? Get.defaultPopGesture | 344 | popGesture ?? Get.defaultPopGesture |
@@ -364,10 +363,9 @@ class GetPageRoute<T> extends PageRoute<T> { | @@ -364,10 +363,9 @@ class GetPageRoute<T> extends PageRoute<T> { | ||
364 | child: child) | 363 | child: child) |
365 | : child); | 364 | : child); |
366 | 365 | ||
367 | - return FadeInTransition().buildTransitions( | 366 | + return FadeUpwardsPageTransitionsBuilder().buildTransitions( |
367 | + this, | ||
368 | context, | 368 | context, |
369 | - curve, | ||
370 | - alignment, | ||
371 | animation, | 369 | animation, |
372 | secondaryAnimation, | 370 | secondaryAnimation, |
373 | popGesture ?? Get.defaultPopGesture | 371 | popGesture ?? Get.defaultPopGesture |
1 | -import 'default_transitions.dart'; | ||
2 | -import 'transitions_component.dart'; | ||
3 | -import 'transitions_type.dart'; | ||
4 | - | ||
5 | -class TransitionFilter { | ||
6 | - static TransitionComponent newTransitionComponent( | ||
7 | - Transition transition, | ||
8 | - ) { | ||
9 | - switch (transition) { | ||
10 | - case Transition.leftToRight: | ||
11 | - return SlideLeftTransition(); | ||
12 | - | ||
13 | - case Transition.downToUp: | ||
14 | - return SlideDownTransition(); | ||
15 | - | ||
16 | - case Transition.upToDown: | ||
17 | - return SlideTopTransition(); | ||
18 | - | ||
19 | - case Transition.rightToLeft: | ||
20 | - return SlideRightTransition(); | ||
21 | - | ||
22 | - case Transition.zoom: | ||
23 | - return ZoomInTransition(); | ||
24 | - | ||
25 | - case Transition.fadeIn: | ||
26 | - return FadeInTransition(); | ||
27 | - | ||
28 | - case Transition.rightToLeftWithFade: | ||
29 | - return RightToLeftFadeTransition(); | ||
30 | - | ||
31 | - case Transition.leftToRightWithFade: | ||
32 | - return LeftToRightFadeTransition(); | ||
33 | - | ||
34 | - case Transition.cupertino: | ||
35 | - return CupertinoTransitions(); | ||
36 | - | ||
37 | - case Transition.size: | ||
38 | - return SizeTransitions(); | ||
39 | - | ||
40 | - default: | ||
41 | - return FadeInTransition(); | ||
42 | - } | ||
43 | - } | ||
44 | -} |
@@ -2,3 +2,4 @@ export 'src/context_extensions/extensions.dart'; | @@ -2,3 +2,4 @@ export 'src/context_extensions/extensions.dart'; | ||
2 | export 'src/queue/get_queue.dart'; | 2 | export 'src/queue/get_queue.dart'; |
3 | export 'src/platform/platform.dart'; | 3 | export 'src/platform/platform.dart'; |
4 | export 'src/regex/get_utils.dart'; | 4 | export 'src/regex/get_utils.dart'; |
5 | +export 'src/regex/get_utils_extensions.dart'; |
@@ -7,7 +7,7 @@ packages: | @@ -7,7 +7,7 @@ packages: | ||
7 | name: async | 7 | name: async |
8 | url: "https://pub.dartlang.org" | 8 | url: "https://pub.dartlang.org" |
9 | source: hosted | 9 | source: hosted |
10 | - version: "2.4.1" | 10 | + version: "2.4.2" |
11 | boolean_selector: | 11 | boolean_selector: |
12 | dependency: transitive | 12 | dependency: transitive |
13 | description: | 13 | description: |
@@ -99,7 +99,7 @@ packages: | @@ -99,7 +99,7 @@ packages: | ||
99 | name: stack_trace | 99 | name: stack_trace |
100 | url: "https://pub.dartlang.org" | 100 | url: "https://pub.dartlang.org" |
101 | source: hosted | 101 | source: hosted |
102 | - version: "1.9.3" | 102 | + version: "1.9.5" |
103 | stream_channel: | 103 | stream_channel: |
104 | dependency: transitive | 104 | dependency: transitive |
105 | description: | 105 | description: |
1 | name: get | 1 | name: get |
2 | description: Open screens/snackbars/dialogs/bottomSheets without context, manage states and inject dependencies easily with Get. | 2 | description: Open screens/snackbars/dialogs/bottomSheets without context, manage states and inject dependencies easily with Get. |
3 | -version: 3.2.2 | 3 | +version: 3.3.0 |
4 | homepage: https://github.com/jonataslaw/get | 4 | homepage: https://github.com/jonataslaw/get |
5 | 5 | ||
6 | environment: | 6 | environment: |
-
Please register or login to post a comment