Update oparent version
[portal.git] / docs / tutorials / portal-sdk / your-angular-app.rst
1 Your Angular app
2 =========================
3 Now that you have the existing anuglarJS application working source code, it's time to migrate to the angular latest version.
4 The portal SDK application kick stated the migration process from angularJS to angular (v6) using the method angular ngUpgrade.
5
6 SDK angular application
7 -----------------------
8 To start migration, locate the current SDK angular application in :code:`sdk/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp`.
9
10 Setup Steps
11 -----------
12 1. Install Node.js and angularCLI. Refer https://angular.io/guide/quickstart
13 2. npm install in the directory `sdk/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp`
14 3. ng serve should bring you the welcome.html page in your local machine
15
16 firstpage.html
17 --------------
18 1. template: the existing welcome.html in `sdk/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models` is the landing page which will be migrated first.
19 The content of this file will be copied to angular landling page (index.html) in `sdk/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src`. But in SDK the default page name index.html renamed to welcome.html, refer the file angular.json in ngapp.
20 2. style: the existing css content will be copied to the styles.css in `sdk/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src`
21
22 Boot the angularJS from angular application
23 ---------------------------------------------------
24 Each of the menu module (ex: admin, report) can separate angularJS application, so scan the entire *.html files in angularJS source for "ng-app" directive and remove them since the angularJS will be booted from angular application
25 Refer the https://angular.io/guide/ajs-quick-reference to bootstrap steps. ex: SDK ngapp `this.upgrade.bootstrap(document.body, ['abs']);` in app.component.ts
26
27 Controller
28 -------------
29 The controller controller.js will be migrated to Type Script. When you create a angular component, by default the controller.ts will be created. So need to copy the content of existing controller.js function to controller.ts
30 Refer the usage.component.ts `sdk/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/admin/components/usage`
31
32 Data Service
33 ------------
34 The existing data service data-service.js will be migrated to Type Script. When you create a angular service, the data-service.ts will be created.
35 Refer the app-http-client.service.ts `sdk/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/admin/services`
36
37
38 Template
39 -------------
40 All the HTML file should be scanned and replace with angular directives. ex: "ng-if" in angular "*ngIf"
41 Refer the https://angular.io/guide/ajs-quick-reference to migrate angularJs to angular directives in the static html should be scanned for
42
43
44 Migrationg existing page to the SDK navigatio
45 ---------------------------------------------
46 TBD
47
48
49 Adding your new page to the SDK navigation
50 ------------------------------------------
51 TBD
52
53 Rollback to angularJs incase if there is blocker
54 ------------------------------------------------
55 TBD