Skip to content

Commit acf5afb

Browse files
nicoleoliveirajhosefmarks
authored andcommitted
docs(sync): atualização das versões do tutorial
Ao seguir o tutorial, o usuário não estava conseguindo utilizar o po-sync por incompatibilidade com as versões colocadas no tutorial. Fixes DTHFUI-2045
1 parent 36160f2 commit acf5afb

File tree

1 file changed

+74
-54
lines changed

1 file changed

+74
-54
lines changed

docs/guides/sync-get-started.md

Lines changed: 74 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,16 @@ Para maiores detalhes sobre os serviços e métodos utilizados neste tutorial, c
1313
- ```shell
1414
npm install -g @angular/cli@8.0.1
1515
```
16-
- [Ionic](https://ionicframework.com/docs/cli/) (4.1.2):
16+
- [Ionic](https://ionicframework.com/docs/cli/) (4.7.0):
1717
- ```shell
18-
npm install -g ionic@4.1.2
18+
npm install -g ionic@4.7.0
19+
```
20+
- [Cordova](https://cordova.apache.org/docs/en/latest/) (9.0.0):
21+
- ```shell
22+
npm i -g cordova
1923
```
2024

25+
2126
> É importante ter conhecimento prévio em Angular e Ionic para seguir esta documentação e obter melhor entendimento do PO Sync.
2227

2328
### Passo 1 - Criando o aplicativo
@@ -30,44 +35,48 @@ ionic start po-sync-getting-started blank --skip-deps
3035

3136
> `--skip-deps`: pula a instalação das dependências do `package.json`.
3237

33-
Caso apareçam as seguintes questões abaixo durante a instalação, digite **n**.
38+
Caso apareçam as seguintes questões abaixo durante a instalação, digite:
3439

35-
- Integrate your new app with Cordova to target native iOS and Android? (y/N)
36-
- Install the free Ionic Pro SDK and connect your app? (Y/n)
40+
- Try Ionic 4? (y/N): y
41+
- Install the free Ionic Pro SDK and connect your app? (Y/n): n
3742

3843
### Passo 2 - Instalando as dependências
3944

40-
É necessário realizar alguns ajustes de compatibilidade do PO para o projeto criado.
45+
É necessário realizar alguns ajustes de compatibilidade do Portinari para o projeto criado.
4146

4247
Navegue até a pasta do aplicativo:
4348
```shell
4449
cd po-sync-getting-started
4550
```
4651

47-
Antes de executar a instalação, é necessário que todas as dependências do projeto estejam declaradas de acordo com a versão do PO no arquivo `package.json`, localizado na raiz da aplicação:
52+
Antes de executar a instalação, é necessário que todas as dependências do projeto estejam declaradas de acordo com a versão do Portinari no arquivo `package.json`, localizado na raiz da aplicação:
4853

4954
```typescript
5055
...
5156
"dependencies": {
52-
"@angular/animations": "~8.0.0",
5357
"@angular/common": "~8.0.0",
54-
"@angular/compiler": "~8.0.0",
55-
"@angular/compiler-cli": "~8.0.0",
5658
"@angular/core": "~8.0.0",
5759
"@angular/forms": "~8.0.0",
5860
"@angular/platform-browser": "~8.0.0",
5961
"@angular/platform-browser-dynamic": "~8.0.0",
60-
"@ionic-native/core": "4.18.0",
61-
"@ionic-native/splash-screen": "4.18.0",
62-
"@ionic-native/status-bar": "4.18.0",
62+
"@angular/router": "~8.0.0",
63+
"@ionic-native/core": "4.20.0",
64+
"@ionic-native/splash-screen": "4.20.0",
65+
"@ionic-native/status-bar": "4.20.0",
66+
"@ionic/angular": "4.7.0",
6367
"rxjs": "6.3.3",
6468
...
6569
},
6670
"devDependencies": {
67-
...
68-
"typescript": "3.1.6"
71+
"@angular-devkit/build-angular": "0.803.25",
72+
"@angular-devkit/core": "~8.0.0",
73+
"@angular-devkit/schematics": "~8.0.0",
74+
"@angular/cli": "~8.0.0",
75+
"@angular/compiler": "~8.0.0",
76+
"@angular/compiler-cli": "~8.0.0",
77+
"typescript": "~3.4.3"
6978
},
70-
...
79+
...
7180
```
7281

7382
> Após configurar seu arquivo, certifique-se de salvar as alterações realizadas.
@@ -95,55 +104,63 @@ Para realizar essa instalação, execute o seguinte comando:
95104
ionic cordova plugin add cordova-plugin-network-information
96105
```
97106

107+
Também será necessário adicionar o `rxjs-compat`:
108+
```shell
109+
npm install rxjs-compat --save
110+
```
111+
98112
### Passo 4 - Utilizando o po-sync
99113

100114
#### Passo 4.1 - Importando o `po-sync` e o `po-storage`
101115
No arquivo `src/app/app.module.ts`, adicione a importação dos módulos do `po-storage` e do `po-sync`:
102116

103117
```typescript
118+
import { NgModule } from '@angular/core';
104119
import { BrowserModule } from '@angular/platform-browser';
105-
import { ErrorHandler, NgModule } from '@angular/core';
106-
import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
120+
import { RouteReuseStrategy } from '@angular/router';
121+
122+
import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
107123
import { SplashScreen } from '@ionic-native/splash-screen';
108124
import { StatusBar } from '@ionic-native/status-bar';
109125
110126
/* Imports adicionados */
111127
import { PoStorageModule } from '@portinari/portinari-storage';
112128
import { PoSyncModule } from '@portinari/portinari-sync';
113129
114-
import { MyApp } from './app.component';
115-
import { HomePage } from '../pages/home/home';
130+
import { AppComponent } from './app.component';
131+
import { AppRoutingModule } from './app-routing.module';
116132
117133
@NgModule({
118-
declarations: [
119-
MyApp,
120-
HomePage
121-
],
134+
declarations: [AppComponent],
135+
entryComponents: [],
122136
imports: [
123137
BrowserModule,
124-
IonicModule.forRoot(MyApp),
138+
IonicModule.forRoot(),
139+
AppRoutingModule,
125140
PoStorageModule.forRoot(), // import do módulo Po Storage
126141
PoSyncModule, // import do módulo Po Sync
127142
],
128-
bootstrap: [IonicApp],
129-
entryComponents: [
130-
MyApp,
131-
HomePage
132-
],
133143
providers: [
134144
StatusBar,
135145
SplashScreen,
136-
{provide: ErrorHandler, useClass: IonicErrorHandler}
137-
]
146+
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
147+
],
148+
bootstrap: [AppComponent]
138149
})
139150
export class AppModule {}
140151
```
141152
153+
Caso apareça algum erro de importação em `SplashScreen` e `StatusBar`, altere a importação colocada por:
154+
```
155+
import { SplashScreen } from '@ionic-native/splash-screen';
156+
import { StatusBar } from '@ionic-native/status-bar';
157+
```
158+
142159
#### Passo 4.2 - Mapeando seu primeiro *schema*
143160
144161
O `po-sync` utiliza a definição de `schemas`, onde cada `schema` representa um modelo de dados armazenado no dispositivo.
145162
146-
Crie o arquivo `src/pages/home/conference-schema.constants.ts` e adicione o conteúdo abaixo:
163+
Crie o arquivo `src/home/conference-schema.constants.ts` e adicione o conteúdo abaixo:
147164
148165
```typescript
149166
import { PoSyncSchema } from '@portinari/portinari-sync';
@@ -169,19 +186,22 @@ Substitua o conteúdo do arquivo pelo conteúdo abaixo:
169186
170187
```typescript
171188
import { Component } from '@angular/core';
172-
import { Platform } from 'ionic-angular';
189+
190+
import { Platform } from '@ionic/angular';
173191
import { SplashScreen } from '@ionic-native/splash-screen';
174192
import { StatusBar } from '@ionic-native/status-bar';
175193
176-
import { PoNetworkType, PoSyncConfig, PoSyncService } from '@portinari/portinari-sync';
194+
import { PoSyncConfig, PoNetworkType, PoSyncService } from '@portinari/portinari-sync';
177195
178-
import { HomePage } from '../pages/home/home';
179-
import { conferenceSchema } from '../pages/home/conference-schema.constants';
196+
import { conferenceSchema } from './home/conference-schema.constants';
197+
import { HomePage } from './home/home.page';
180198
181199
@Component({
182-
templateUrl: 'app.html'
200+
selector: 'app-root',
201+
templateUrl: 'app.component.html',
202+
styleUrls: ['app.component.scss']
183203
})
184-
export class MyApp {
204+
export class AppComponent {
185205
rootPage;
186206
187207
constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen, private poSync: PoSyncService) {
@@ -207,21 +227,29 @@ export class MyApp {
207227
}
208228
```
209229
230+
Caso apareça algum erro de importação em `SplashScreen` e `StatusBar`, altere a importação colocada por:
231+
```
232+
import { SplashScreen } from '@ionic-native/splash-screen';
233+
import { StatusBar } from '@ionic-native/status-bar';
234+
```
235+
210236
Após utilizar o método `PoSyncService.prepare()`, a aplicação estará pronta para sincronizar os dados através do método `PoSyncService.sync()`.
211237
212238
### Passo 6 - Acessando os dados
213239
214-
Localize o arquivo `src/pages/home/home.ts` e faça as seguintes alterações:
240+
Localize o arquivo `src/home/home.page.ts` e faça as seguintes alterações:
215241
216242
```typescript
217243
import { Component } from '@angular/core';
218-
import { NavController } from 'ionic-angular';
244+
245+
import { NavController } from '@ionic/angular';
219246
220247
import { PoSyncService } from '@portinari/portinari-sync';
221248
222249
@Component({
223-
selector: 'page-home',
224-
templateUrl: 'home.html'
250+
selector: 'app-home',
251+
templateUrl: 'home.page.html',
252+
styleUrls: ['home.page.scss'],
225253
})
226254
export class HomePage {
227255
@@ -246,19 +274,11 @@ No construtor, foi realizado uma inscrição no método `PoSyncService.onSync()`
246274
247275
### Passo 7 - Exibindo os dados em tela
248276
249-
No arquivo `src/pages/home/home.html` crie a seguinte estrutura:
277+
No arquivo `src/home/home.page.html` crie a seguinte estrutura:
250278
```html
251-
<ion-header>
252-
<ion-navbar>
253-
<ion-title>
254-
PO-Sync
255-
</ion-title>
256-
</ion-navbar>
257-
</ion-header>
258-
259279
<ion-content padding>
260-
<button ion-button full (click)="loadHomePage()">Buscar informações</button>
261-
<button ion-button full color="danger" (click)="clear()">Apagar informações</button>
280+
<ion-button full (click)="loadHomePage()">Buscar informações</ion-button>
281+
<ion-button full color="danger" (click)="clear()">Apagar informações</ion-button>
262282
263283
<ion-card *ngIf="conference">
264284
<ion-card-content>

0 commit comments

Comments
 (0)