Bootstrapping hybrid app (Angular v1 and v6) 38/72138/1
authorSaravanan, Madheswaran <msaravanan@in.ibm.com>
Wed, 7 Nov 2018 23:36:41 +0000 (18:36 -0500)
committerSaravanan, Madheswaran <msaravanan@in.ibm.com>
Wed, 7 Nov 2018 23:36:41 +0000 (18:36 -0500)
Issue-ID: PORTAL-356

Change-Id: I1ee7f6a51eb71dff2128a112afdefff5776f2ffe

Change-Id: I1ee7f6a51eb71dff2128a112afdefff5776f2ffe
Signed-off-by: Saravanan, Madheswaran <msaravanan@in.ibm.com>
60 files changed:
ecomp-sdk/epsdk-app-os/README.md
ecomp-sdk/epsdk-app-os/pom.xml
ecomp-sdk/epsdk-app-os/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-samplePages/ngsamplePage.html [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/README.md
ecomp-sdk/epsdk-app-overlay/src/main/webapp/WEB-INF/fusion/defs/definitions.xml
ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/DS2-workflows-page/ngworkflow-landing.html [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/ngadmin.html [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-profile/ngprofile.html [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/ngall-reports.html [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-samplePages/ngnotebook-frame.html [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/.editorconfig [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/.gitignore [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/README.md [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/angular.json [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/e2e/protractor.conf.js [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/e2e/src/app.e2e-spec.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/e2e/src/app.po.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/e2e/tsconfig.e2e.json [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/package.json [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/admin/admin-routing.module.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/admin/admin.module.spec.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/admin/admin.module.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/app-routing.module.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/app.component.css [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/app.component.html [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/app.component.spec.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/app.component.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/app.module.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/core/core-routing.module.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/core/core.module.spec.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/core/core.module.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/profile/profile-routing.module.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/profile/profile.module.spec.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/profile/profile.module.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/report/report-routing.module.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/report/report.module.spec.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/report/report.module.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/samplepage/samplepage-routing.module.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/samplepage/samplepage.module.spec.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/samplepage/samplepage.module.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/shared-routing.module.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/shared.module.spec.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/shared.module.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/assets/.gitkeep [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/assets/mockdata/get_usage_list.json [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/browserslist [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/environments/environment.prod.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/environments/environment.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/favicon.ico [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/karma.conf.js [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/main.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/ngwelcome.html [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/polyfills.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/styles.css [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/test.ts [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/tsconfig.app.json [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/tsconfig.spec.json [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/tslint.json [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/tsconfig.json [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/tslint.json [new file with mode: 0644]

index 675919b..1c59c83 100644 (file)
@@ -12,6 +12,9 @@ like Apache Tomcat.  Eclipse users must install the M2E-WTP connector, see
 https://www.eclipse.org/m2e-wtp/
 
 ## Release Notes
+Version 2.5.0
+- PORTAL-356 Bootstrapping hybrid applications (Angular and AngularJS)
+
 Version 2.3.0
 - PORTAL 254 ECOMP AAF jar
 - PORTAL-281 Portal SDK AAF jar throws null pointer exception
index 21f75af..7ccc177 100644 (file)
                <finalName>${project.artifactId}</finalName>
 
                <plugins>
+                       <plugin>
+                               <artifactId>maven-clean-plugin</artifactId>
+                               <version>3.0.0</version>
+                               <configuration>
+                                       <filesets>
+                                               <fileset>
+                                                       <directory>${basedir}/ngapp/app/dist</directory>
+                                               </fileset>
+                                       </filesets>
+                               </configuration>
+                       </plugin>
                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-surefire-plugin</artifactId>
                                        </execution>
                                </executions>
                        </plugin>
+                       <plugin>
+                               <artifactId>maven-resources-plugin</artifactId>
+                               <version>2.5</version>
+                               <executions>
+                                       <execution>
+                                               <id>copy-angularjs-step1</id>
+                                               <phase>process-resources</phase>
+                                               <goals>
+                                                       <goal>copy-resources</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <outputDirectory>${basedir}/ngapp</outputDirectory>
+                                                       <resources>
+                                                               <resource>
+                                                                       <directory>../epsdk-app-overlay/src/main/webapp/ngapp</directory>
+                                                               </resource>             
+                                                       </resources>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
+                                       
+                       <plugin>
+                <groupId>com.github.eirslett</groupId>
+                <artifactId>frontend-maven-plugin</artifactId>
+                <version>1.6</version>
+
+                <configuration>
+                                   <nodeVersion>v8.11.3</nodeVersion>
+                                       <npmVersion>5.6.0</npmVersion>
+                                       <workingDirectory>${basedir}/ngapp</workingDirectory>
+                </configuration>
 
+                <executions>
+                    <execution>
+                        <id>install node and npm</id>
+                                               <phase>compile</phase>
+                        <goals>
+                            <goal>install-node-and-npm</goal>
+                        </goals>
+                    </execution>
 
-                       <!-- add version number to manifest -->
+                    <execution>
+                        <id>npm install</id>
+                                               <phase>compile</phase>
+                        <goals>
+                            <goal>npm</goal>
+                        </goals>
+                    </execution>
+
+                    <execution>
+                        <id>npm run build</id>
+                                               <phase>compile</phase>
+                        <goals>
+                            <goal>npm</goal>
+                        </goals>
+
+                        <configuration>
+                            <arguments>run build</arguments>
+                        </configuration>
+                    </execution>
+
+                </executions>
+            </plugin>                  
+                       <plugin>
+                               <artifactId>maven-resources-plugin</artifactId>
+                               <version>2.5</version>
+                               <executions>
+                               
+                                       <execution>
+                                               <id>copy-angular-final-step2</id>
+                                               <phase>prepare-package</phase>
+                                               <goals>
+                                                       <goal>copy-resources</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <outputDirectory>${basedir}/target/epsdk-app-os/app</outputDirectory>
+                                                       <resources>
+                                                               <resource>
+                                                                       <directory>${basedir}/ngapp/dist</directory>
+                                                               </resource>
+                                                       </resources>
+                                               </configuration>
+                                       </execution>                            
+                               
+                               </executions>
+                       </plugin>
+                       
+                       <!--                    
+                       <plugin>
+                               <artifactId>maven-clean-plugin</artifactId>
+                               <version>2.5</version>
+                               <executions>
+                                 <execution>
+                                       <id>auto-clean-ng</id>
+                                       <phase>prepare-package</phase>
+                                       <goals>
+                                         <goal>clean</goal>
+                                       </goals>
+                                       <configuration>
+                                        <filesets>
+                                               <fileset>
+                                                 <directory>${basedir}/target/epsdk-app-os/ngapp</directory>
+                                               </fileset>
+                                         </filesets>
+                                       </configuration>
+                                 </execution>
+                               </executions>
+                       </plugin>
+                       -->                     
                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-war-plugin</artifactId>
-                               <version>2.0.2</version>
+                               <version>3.2.2</version>
                                <configuration>
                                        <archive>
                                                <manifest>
                                                        <artifactId>epsdk-app-overlay</artifactId>
                                                </overlay>
                                        </overlays>
+                                       <packagingExcludes>**/ngapp</packagingExcludes>
                                </configuration>
                        </plugin>
 
diff --git a/ecomp-sdk/epsdk-app-os/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-samplePages/ngsamplePage.html b/ecomp-sdk/epsdk-app-os/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-samplePages/ngsamplePage.html
new file mode 100644 (file)
index 0000000..b774579
--- /dev/null
@@ -0,0 +1,70 @@
+<!DOCTYPE html>
+<!-- Single-page application for EPSDK-App demonstration pages using DS2 look and feel -->
+<html>
+<head>
+       <meta charset="ISO-8859-1">
+       <meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" />
+       <title>Sample Page NG</title>
+
+       <!-- B2b Library -->
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/b2b/css/b2b-angular/b2b-angular.css">
+       
+       <!-- icons in open source -->
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/ds2/css/digital-ng-library/ionicons.css">
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/ds2/css/digital-ng-library/ecomp-ionicons.css">
+       
+       <link rel="stylesheet" type="text/css" href="app/fusion/styles/ecomp.css">
+       
+       <!-- Common scripts -->
+
+       <script src="app/fusion/external/angular-1.4.8/angular.min.js"></script>
+       <script src="app/fusion/external/angular-1.4.8/angular-messages.js"></script>
+       <script src="app/fusion/external/angular-1.4.8/angular-touch.js"></script>
+       <script src="app/fusion/external/angular-1.4.8/angular-sanitize.js"></script>   
+       <script src="app/fusion/external/angular-1.4.8/angular-route.min.js"></script>
+       <script src="app/fusion/external/angular-1.4.8/angular-cookies.min.js"></script>
+       <script src="app/fusion/external/b2b/js/b2b-angular/b2b-library.min.js"></script>
+       <script src="app/fusion/external/jquery/dist/jquery.min.js"></script>
+       <script src="app/fusion/external/javascript-detect-element-resize/jquery.resize.js"></script>
+       <script src="app/fusion/external/angular-bootstrap/ui-bootstrap-tpls.min.js"></script>
+       <script src="app/fusion/external/angular-gridster/dist/angular-gridster.min.js"></script>
+       <script src="app/fusion/scripts/DS2-services/ds2-modal/modalService.js"></script>
+       <script src="app/fusion/external/ds2/js/appDS2.js"></script>    
+                       
+       <script src="app/fusion/scripts/DS2-services/userInfoServiceDS2.js"></script>    
+       <script src="app/fusion/scripts/DS2-services/headerServiceDS2.js"></script>
+       <script src="app/fusion/scripts/DS2-services/leftMenuServiceDS2.js"></script>
+       <script src="app/fusion/scripts/DS2-services/manifestService.js"></script>
+       <script src="app/fusion/scripts/DS2-directives/footer.js"></script>
+       <script src="app/fusion/scripts/DS2-directives/ds2Header.js"></script>
+       <script src="app/fusion/scripts/DS2-directives/ds2LeftMenu.js"></script>
+       <script src="app/fusion/scripts/DS2-directives/b2b-leftnav-ext.js"></script> 
+       <script src="app/fusion/external/utils/js/browserCheck.js"></script>     
+       
+       <!-- Page-specific items -->    
+       <script src="app/fusion/scripts/DS2-services/adminService.js"></script>
+       <script src="app/fusion/scripts/DS2-services/adminMenuService.js"></script>
+       
+       <script src="app/fusion/scripts/DS2-controllers/samplePage-route.js"></script>
+               <script src="app/fusion/scripts/DS2-controllers/collaborateList-route.js"></script>
+               <script src="app/fusion/scripts/DS2-controllers/collaborate-list-controller.js"></script>
+       <script src="app/fusion/scripts/DS2-services/ds2-sample-page/droolsService.js"></script>        
+       <script src="app/fusion/scripts/DS2-controllers/ds2-sample/drools-controller.js"></script>      
+               <script src="app/fusion/scripts/DS2-controllers/ds2-sample/notebook-controller.js"></script>    
+       <script src="app/fusion/scripts/DS2-controllers/ds2-sample/notebookFrameController.js"></script>
+       <script src="app/fusion/scripts/DS2-controllers/ds2-sample/nbook-framecontroller.js"></script>
+       
+</head>
+       <body class="appBody">
+               <app-root></app-root>
+               <div ds2-Header class="header-container" ></div>
+               <div ds2-menu id="menuContainer" class="menu-container" ></div>
+               <div ng-view id="rightContentProfile" class="content-container"></div>  
+               <div ds2-Footer class="footer-container"></div>
+               
+             <script type="text/javascript" src="app/ngapp/runtime.js"></script>
+             <script type="text/javascript" src="app/ngapp/polyfills.js"></script>
+             <script type="text/javascript" src="app/ngapp/main.js"></script>
+               
+       </body>
+</html>
index 5f03cb9..b6a4a01 100644 (file)
@@ -16,6 +16,8 @@ version 1.0.1.  Note that previous versions of the EPSDK web application used
 AngularJS version 1.5.0.
 
 ### ONAP Distributions
+Version 2.5.0
+- PORTAL-356 Bootstrapping hybrid applications (Angular and AngularJS)
 
 Version 1.4.0
 - PORTAL-19 Rename Java package base to org.onap
index 05556d2..90ccf9b 100644 (file)
        
        <!--  <definition name="nbooktest"
                template="app/fusion/notebook-integration/scripts/view-models/notebook-frame.html"/>
-        -->
-                               <definition name="nbooktest"
+
+        <definition name="nbooktest"
                template="app/fusion/scripts/DS2-view-models/ds2-samplePages/notebook-frame.html"/>
+
+       -->
+        <definition name="nbooktest"
+               template="app/fusion/scripts/DS2-view-models/ds2-samplePages/ngnotebook-frame.html"/>
                
        <definition extends="ebz_template" name="broadcast_list">
                <put-attribute name="body"
        <definition name="collaboration"
                template="/WEB-INF/fusion/jsp/webrtc/collaboration.jsp" />
        <!-- <definition name="user_profile_list" template="/app/fusion/scripts/view-models/admin-page/profile.html" 
-               /> -->
+               /> 
+               
        <definition name="user_profile_list"
                template="/app/fusion/scripts/DS2-view-models/ds2-profile/profile.html" />
+       -->
+               
+       <definition name="user_profile_list"
+               template="/app/fusion/scripts/DS2-view-models/ds2-profile/ngprofile.html" />
+       
 
        <!-- <definition name="admin" template="/app/fusion/scripts/view-models/admin-page/admin.html" 
                /> -->
        <definition name="openCollaboration"
                template="/app/fusion/scripts/DS2-view-models/ds2-admin/collaboration.html" />
+                               
+       <!--
        <definition name="workflows"
                template="/app/fusion/scripts/DS2-view-models/DS2-workflows-page/workflow-landing.html" />
+       -->
+
+       <definition name="workflows"
+               template="/app/fusion/scripts/DS2-view-models/DS2-workflows-page/ngworkflow-landing.html" />
+
        <definition name="report_dashboard"
                template="/app/fusion/scripts/view-models/reportdashboard-page/src/report-dashboard.html" />
 
        <definition name="ds2_sample"
                template="/app/fusionapp/scripts/DS2-view-models/sampleDS2.html" />
 
+       <!-- 
        <definition name="admin"
                template="/app/fusion/scripts/DS2-view-models/ds2-admin/admin.html" />
+        -->
+        
+       <definition name="admin"
+               template="/app/fusion/scripts/DS2-view-models/ds2-admin/ngadmin.html" />                
+               
+       <!-- 
        <definition name="samplePage"
                template="/app/fusion/scripts/DS2-view-models/ds2-samplePages/samplePage.html" />
+        -->
+       <definition name="samplePage"
+               template="/app/fusion/scripts/DS2-view-models/ds2-samplePages/ngsamplePage.html" />
+
+       <!-- 
        <definition name="welcome"
                template="/app/fusion/scripts/DS2-view-models/welcome.html" />
+        -->
+        
+       <definition name="welcome"
+               template="/app/ngapp/ngwelcome.html" />
 
        <definition name="bootstrap_sample"
                template="/app/fusion/scripts/DS2-view-models/bootstrap-sample-page.html" />
                <put-attribute name="viewName" value="report_import"></put-attribute>
        </definition>
 
+       <!--
        <definition name="report"
                template="/app/fusion/scripts/DS2-view-models/ds2-reports/all-reports.html" />
+       -->
+       <definition name="report"
+               template="/app/fusion/scripts/DS2-view-models/ds2-reports/ngall-reports.html" />
 
        <definition extends="ebz_template" name="reportDS1">
                <put-attribute name="body"
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/DS2-workflows-page/ngworkflow-landing.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/DS2-workflows-page/ngworkflow-landing.html
new file mode 100644 (file)
index 0000000..07d50af
--- /dev/null
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<!-- Single-page application for EPSDK-App workflow page using DS2 look and feel -->
+<html>
+<head>
+       <meta charset="ISO-8859-1">
+       <meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" />
+       
+       <title>Workflow NG</title>
+
+       <!-- Common items -->
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/b2b/css/b2b-angular/b2b-angular.css">
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/b2b/css/b2b-angular/font_icons.css">
+       
+       <!-- icons in open source -->
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/ds2/css/digital-ng-library/ionicons.css">
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/ds2/css/digital-ng-library/ecomp-ionicons.css">
+       
+
+       <link rel="stylesheet" type="text/css" href="app/fusion/styles/ecomp.css">
+       
+       <script src="app/fusion/external/angular-1.4.8/angular.min.js"></script>
+       <script src="app/fusion/external/angular-1.4.8/angular-messages.js"></script>
+       <script src="app/fusion/external/angular-1.4.8/angular-touch.js"></script>
+       <script src="app/fusion/external/angular-1.4.8/angular-sanitize.js"></script>   
+       <script src="app/fusion/external/angular-1.4.8/angular-route.min.js"></script>
+       <script src="app/fusion/external/angular-1.4.8/angular-cookies.min.js"></script>
+               
+       <script src="app/fusion/external/b2b/js/b2b-angular/b2b-library.min.js"></script>
+       <script src="app/fusion/external/jquery/dist/jquery.min.js"></script>
+               
+       <script src="app/fusion/external/javascript-detect-element-resize/jquery.resize.js"></script>
+       <script src="app/fusion/external/angular-bootstrap/ui-bootstrap-tpls.min.js"></script>
+       <script src="app/fusion/external/angular-gridster/dist/angular-gridster.min.js"></script>
+       
+       <script src="app/fusion/scripts/DS2-services/ds2-modal/modalService.js"></script>
+       <script src="app/fusion/external/ds2/js/appDS2.js"></script>    
+                       
+       <script src="app/fusion/scripts/DS2-services/userInfoServiceDS2.js"></script>    
+       <script src="app/fusion/scripts/DS2-services/headerServiceDS2.js"></script>
+       <script src="app/fusion/scripts/DS2-services/leftMenuServiceDS2.js"></script>
+       <script src="app/fusion/scripts/DS2-services/manifestService.js"></script>
+       
+       <script src="app/fusion/scripts/DS2-directives/footer.js"></script>
+       <script src="app/fusion/scripts/DS2-directives/ds2Header.js"></script>
+       <script src="app/fusion/scripts/DS2-directives/ds2LeftMenu.js"></script>
+       <script src="app/fusion/scripts/DS2-directives/b2b-leftnav-ext.js"></script> 
+       
+    <!-- Page specific items -->
+       <script src="app/fusion/scripts/DS2-services/userInfoServiceDS2.js"></script> 
+       <script src="app/fusion/scripts/DS2-controllers/ds2-workflows/workflowRouting.js"></script>
+    <script src="app/fusion/scripts/DS2-controllers/ds2-workflows/workflowController.js"></script>     
+    <script src="app/fusion/scripts/DS2-controllers/ds2-workflows/workflowApp.js"></script>
+       <link rel="stylesheet" type="text/css" href="app/ngapp/styles.css">
+        
+  <!--   <link rel="stylesheet" type="text/css" href="static/fusion/sample/css/scribble.css" />
+       <link rel="stylesheet" type="text/css" href="app/fusion/styles/workflows/workflows.css" >
+       <link rel="stylesheet" type="text/css" href="app/fusion/styles/workflows/bs-workflow.css" >
+        -->
+</head>
+       <body class="appBody">
+               <div ds2-Header class="header-container" ></div>
+               <div ds2-menu id="menuContainer" class="menu-container" ></div>
+               <div ng-view id="rightContentProfile" class="content-container"></div>
+               <div ds2-Footer class="footer-container"></div>
+
+               <script type="text/javascript" src="app/ngapp/runtime.js"></script>
+      <script type="text/javascript" src="app/ngapp/polyfills.js"></script>
+      <script type="text/javascript" src="app/ngapp/main.js"></script>
+               
+       </body>
+</html>
+
+
+
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/ngadmin.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-admin/ngadmin.html
new file mode 100644 (file)
index 0000000..ad0ee46
--- /dev/null
@@ -0,0 +1,73 @@
+<!DOCTYPE html>
+<!-- Single-page application for EPSDK-App admin pages using DS2 look and feel -->
+<html>
+<head>
+       <meta charset="ISO-8859-1">
+       <meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" />
+       
+    <title>Admin NG</title>
+   
+       <!-- B2b Library -->
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/b2b/css/b2b-angular/b2b-angular.css">
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/b2b/css/b2b-angular/font_icons.css">
+       
+       <!-- icons in open source -->
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/ds2/css/digital-ng-library/ionicons.css">
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/ds2/css/digital-ng-library/ecomp-ionicons.css">
+       
+       <link rel="stylesheet" type="text/css" href="app/fusion/styles/ecomp.css">
+       
+       <!-- Common scripts --> 
+       <script src="app/fusion/external/angular-1.4.8/angular.js"></script>    
+       <script src="app/fusion/external/angular-1.4.8/angular-messages.js"></script>
+       <script src="app/fusion/external/angular-1.4.8/angular-touch.js"></script>
+       <script src="app/fusion/external/angular-1.4.8/angular-sanitize.js"></script>   
+       <script src="app/fusion/external/angular-1.4.8/angular-route.min.js"></script>
+       <script src="app/fusion/external/angular-1.4.8/angular-cookies.min.js"></script>
+       <script src="app/fusion/external/jquery/dist/jquery.min.js"></script>
+       
+       <script src="app/fusion/external/javascript-detect-element-resize/jquery.resize.js"></script>
+       <script src="app/fusion/external/angular-bootstrap/ui-bootstrap-tpls.min.js"></script>
+       <script src="app/fusion/external/angular-gridster/dist/angular-gridster.min.js"></script>
+       
+       <!-- B2b Library -->
+       <script src="app/fusion/external/b2b/js/b2b-angular/b2b-library.min.js"></script>
+       
+       <script src="app/fusion/scripts/DS2-services/ds2-modal/modalService.js"></script>
+       <script src="app/fusion/external/ds2/js/appDS2.js"></script>    
+       <script src="app/fusion/scripts/DS2-services/userInfoServiceDS2.js"></script>    
+       <script src="app/fusion/scripts/DS2-services/headerServiceDS2.js"></script>
+       <script src="app/fusion/scripts/DS2-services/leftMenuServiceDS2.js"></script>
+       <script src="app/fusion/scripts/DS2-services/manifestService.js"></script>
+       
+       <script src="app/fusion/scripts/DS2-directives/footer.js"></script>
+       <script src="app/fusion/scripts/DS2-directives/ds2Header.js"></script>
+       <script src="app/fusion/scripts/DS2-directives/ds2LeftMenu.js"></script>
+       <script src="app/fusion/scripts/DS2-directives/b2b-leftnav-ext.js"></script> 
+       <!-- Page-specific items -->
+       <script src="app/fusion/scripts/DS2-controllers/admin-controller.js"></script>
+       <script src="app/fusion/scripts/DS2-controllers/admin-route.js"></script>
+       <script src="app/fusion/scripts/DS2-controllers/admin-menu-edit.js"></script> 
+       <script src="app/fusion/scripts/DS2-services/adminService.js"></script> 
+       <script src="app/fusion/scripts/DS2-services/adminMenuService.js"></script>
+       <script src="app/fusion/scripts/DS2-services/userInfoServiceDS2.js"></script>     
+       <script src="app/fusion/scripts/DS2-controllers/usage-list-controller.js"></script>             
+       <script src="app/fusion/scripts/DS2-controllers/fn-menu-add-popup-controller.js"></script>
+       <script src="app/fusion/scripts/DS2-controllers/collaborate-list-controller.js"></script>
+       <script src="app/fusion/scripts/DS2-controllers/admin-closed-cloop.js"></script>
+       <script src="app/fusion/scripts/DS2-controllers/admin-whitelist.js"></script>
+       <link rel="stylesheet" type="text/css" href="app/ngapp/styles.css">
+</head>
+       <body class="appBody">
+               <app-root></app-root>        
+        <div ds2-Header class="header-container" ></div>
+        <div ds2-menu id="menuContainer" class="menu-container" ></div>
+        <div ng-view id="rightContentProfile" class="content-container">  </div>       
+        <div ds2-Footer class="footer-container"></div>
+
+      <script type="text/javascript" src="app/ngapp/runtime.js"></script>
+      <script type="text/javascript" src="app/ngapp/polyfills.js"></script>
+      <script type="text/javascript" src="app/ngapp/main.js"></script>
+               
+       </body>
+</html>
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-profile/ngprofile.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-profile/ngprofile.html
new file mode 100644 (file)
index 0000000..37729dd
--- /dev/null
@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<!-- Single-page application for EPSDK-App profile pages using DS2 look and feel -->
+<html>
+<head>
+       <meta charset="ISO-8859-1">
+       <meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" />
+       
+       <title>Profile Search NG</title>
+
+       <!-- B2b Library -->
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/b2b/css/b2b-angular/b2b-angular.css">
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/b2b/css/b2b-angular/font_icons.css">
+       
+       <!-- icons in open source -->
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/ds2/css/digital-ng-library/ionicons.css">
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/ds2/css/digital-ng-library/ecomp-ionicons.css">
+       
+
+       <link rel="stylesheet" type="text/css" href="app/fusion/styles/ecomp.css">
+       
+       <!-- Common scripts -->
+       
+       <script src="app/fusion/external/angular-1.4.8/angular.min.js"></script>
+       <script src="app/fusion/external/angular-1.4.8/angular-messages.js"></script>
+       <script src="app/fusion/external/angular-1.4.8/angular-touch.js"></script>
+       <script src="app/fusion/external/angular-1.4.8/angular-sanitize.js"></script>   
+       <script src="app/fusion/external/angular-1.4.8/angular-route.min.js"></script>
+       <script src="app/fusion/external/angular-1.4.8/angular-cookies.min.js"></script>
+               
+       <!-- B2b Library -->
+       <script src="app/fusion/external/b2b/js/b2b-angular/b2b-library.min.js"></script>
+       <script src="app/fusion/external/jquery/dist/jquery.min.js"></script>
+       
+       <script src="app/fusion/external/javascript-detect-element-resize/jquery.resize.js"></script>
+       <script src="app/fusion/external/angular-bootstrap/ui-bootstrap-tpls.min.js"></script>
+       <script src="app/fusion/external/angular-gridster/dist/angular-gridster.min.js"></script>
+       
+       <script src="app/fusion/scripts/DS2-services/ds2-modal/modalService.js"></script>
+       <script src="app/fusion/external/ds2/js/appDS2.js"></script>    
+       
+       <script src="app/fusion/scripts/DS2-services/userInfoServiceDS2.js"></script>    
+       <script src="app/fusion/scripts/DS2-services/headerServiceDS2.js"></script>
+       <script src="app/fusion/scripts/DS2-services/leftMenuServiceDS2.js"></script>
+       <script src="app/fusion/scripts/DS2-services/manifestService.js"></script>
+       
+       <script src="app/fusion/scripts/DS2-directives/footer.js"></script>
+       <script src="app/fusion/scripts/DS2-directives/ds2Header.js"></script>
+       <script src="app/fusion/scripts/DS2-directives/b2b-leftnav-ext.js"></script> 
+       <script src="app/fusion/scripts/DS2-directives/ds2LeftMenu.js"></script>
+       
+       <!-- Page-specific scripts -->
+
+       <script src="app/fusion/scripts/DS2-controllers/profile-route.js"></script>
+       <script src="app/fusion/scripts/DS2-controllers/ds-profile/post-controller.js"></script>
+       <script src="app/fusion/scripts/DS2-controllers/ds2-profile/self-profile-controller.js"></script> 
+       <script src="app/fusion/scripts/DS2-services/ds2-profile/selfProfileService.js"></script> 
+       <script src="app/fusion/scripts/DS2-services/profileServiceDS2.js"></script>
+       <script src="app/fusion/scripts/DS2-services/postSearch.js"></script>     
+       <script src="app/fusion/scripts/DS2-services/adminService.js"></script>
+       <script src="app/fusion/scripts/DS2-controllers/profile-search-controller-DS2.js"></script>
+       <link rel="stylesheet" type="text/css" href="app/ngapp/styles.css">
+       
+</head>
+       <body class="appBody">
+               <app-root></app-root>
+               <div ds2-Header class="header-container" ></div>
+               <div ds2-menu id="menuContainer" class="menu-container" ></div>
+               <div ng-view id="rightContentProfile" class="content-container"></div>  
+               <div ds2-Footer class="footer-container"></div>
+
+         <script type="text/javascript" src="app/ngapp/runtime.js"></script>
+         <script type="text/javascript" src="app/ngapp/polyfills.js"></script>
+         <script type="text/javascript" src="app/ngapp/main.js"></script>
+       </body>
+</html>
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/ngall-reports.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/ngall-reports.html
new file mode 100644 (file)
index 0000000..bad0aeb
--- /dev/null
@@ -0,0 +1,84 @@
+<!DOCTYPE html>
+<html>
+<head>
+       <meta charset="ISO-8859-1">
+       <meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" />
+       
+       <title>Reports NG</title>
+
+       <!-- Resources -->      
+       
+
+       <!-- B2b Library -->
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/b2b/css/b2b-angular/b2b-angular.css">
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/b2b/css/b2b-angular/font_icons.css">
+
+       <!-- icons in open source -->
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/ds2/css/digital-ng-library/ionicons.css">
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/ds2/css/digital-ng-library/ecomp-ionicons.css">
+       
+
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/angular-bootstrap/ui-bootstrap-csp.css">
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/angular-gridster/dist/angular-gridster.min.css">
+       <!-- digital-design-library must be loaded late -->
+       <link rel="stylesheet" type="text/css" href="app/fusion/styles/ecomp.css">
+
+       <!-- Common scripts --> 
+       <script src="app/fusion/external/angular-1.4.8/angular.min.js"></script>
+       <script src="app/fusion/external/angular-1.4.8/angular-messages.js"></script>
+       <script src="app/fusion/external/angular-1.4.8/angular-touch.js"></script>
+       <script src="app/fusion/external/angular-1.4.8/angular-sanitize.js"></script>   
+       <script src="app/fusion/external/angular-1.4.8/angular-route.min.js"></script>
+       <script src="app/fusion/external/angular-1.4.8/angular-cookies.min.js"></script>
+       <script src="app/fusion/external/b2b/js/b2b-angular/b2b-library.min.js"></script>
+       <script src="app/fusion/external/jquery/dist/jquery.min.js"></script>
+       <script src="app/fusion/external/javascript-detect-element-resize/jquery.resize.js"></script>
+       <script src="app/fusion/external/angular-bootstrap/ui-bootstrap-tpls.min.js"></script>
+       <script src="app/fusion/external/angular-gridster/dist/angular-gridster.min.js"></script>
+       <script src="app/fusion/external/angular-gridster/dist/angular-gridster.min.js"></script>
+               
+       <!-- EPSDK App scripts and common services -->  
+       <script src="app/fusion/scripts/DS2-services/ds2-modal/modalService.js"></script>
+       <script src="app/fusion/external/ds2/js/appDS2.js"></script>
+                       
+       <script src="app/fusion/scripts/DS2-services/userInfoServiceDS2.js"></script>    
+       <script src="app/fusion/scripts/DS2-services/headerServiceDS2.js"></script>
+       <script src="app/fusion/scripts/DS2-services/leftMenuServiceDS2.js"></script>
+       <script src="app/fusion/scripts/DS2-services/manifestService.js"></script>
+       
+       <script src="app/fusion/scripts/DS2-directives/footer.js"></script>
+       <script src="app/fusion/scripts/DS2-directives/ds2Header.js"></script>
+       <script src="app/fusion/scripts/DS2-directives/ds2LeftMenu.js"></script>
+       <script src="app/fusion/scripts/DS2-directives/b2b-leftnav-ext.js"></script> 
+       <script src= "app/fusion/scripts/DS2-services/userInfoServiceDS2.js"></script>
+
+               <!-- Page specific items -->
+       <script src="app/fusion/external/d3/js/d3.js"></script>
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/angular-ui-grid/ui-grid.css">                  
+       <script src="app/fusion/external/angular-ui-grid/ui-grid.min.js"></script>              
+       <script src="./app/fusion/scripts/DS2-services/ds2-raptor-report/raptorReportFactory.js"></script>              
+       <script src="./app/fusion/scripts/DS2-services/ds2-raptor-report/stepFormFactory.js"></script>  
+       <script src="./app/fusion/scripts/DS2-controllers/ds2-reports/report-search-controller.js"></script>
+       <script src="./app/fusion/scripts/DS2-controllers/ds2-reports/report-run-controller.js"></script>
+       <script src="./app/fusion/scripts/DS2-controllers/ds2-reports/report-step-controller.js"></script>
+       <script src="./app/fusion/scripts/DS2-controllers/ds2-reports/report-import-controller.js"></script>
+       <script src="./app/fusion/scripts/DS2-controllers/ds2-reports/report-chart-controller.js"></script>
+       <script src="./app/fusion/scripts/DS2-view-models/ds2-reports/directive/dynamicform.js"></script>
+       <script src="./app/fusion/scripts/DS2-controllers/ds2-reports/report-router.js"></script>
+       <script src= "app/fusion/scripts/DS2-services/ds2-raptor-report/reportModalControllers.js"></script>
+       <link rel="stylesheet" type="text/css" href="app/ngapp/styles.css">
+               
+</head>
+       <body class="appBody">
+               <app-root></app-root>
+               <div ds2-Header class="header-container" ></div>
+               <div ds2-menu id="menuContainer" class="menu-container" ></div> 
+               <div ng-view id="rightContentProfile" class="content-container"></div>  
+               <div ds2-Footer class="footer-container"></div>
+               
+         <script type="text/javascript" src="app/ngapp/runtime.js"></script>
+         <script type="text/javascript" src="app/ngapp/polyfills.js"></script>
+         <script type="text/javascript" src="app/ngapp/main.js"></script>
+               
+       </body>
+</html>
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-samplePages/ngnotebook-frame.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-samplePages/ngnotebook-frame.html
new file mode 100644 (file)
index 0000000..7813b0c
--- /dev/null
@@ -0,0 +1,81 @@
+<!DOCTYPE html>
+<html>
+<head>
+       <meta charset="ISO-8859-1">
+       <meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" />
+       
+       <title>Notebook Page NG</title>
+
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/b2b/css/b2b-angular/b2b-angular.css">
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/b2b/css/b2b-angular/font_icons.css">
+       
+       <link rel="stylesheet" type="text/css" href="app/fusion/styles/ecomp.css">
+       <!-- Common scripts -->
+
+       <script src="app/fusion/external/angular-1.4.8/angular.min.js"></script>
+       <script src="app/fusion/external/angular-1.4.8/angular-messages.js"></script>
+       <script src="app/fusion/external/angular-1.4.8/angular-touch.js"></script>
+       <script src="app/fusion/external/angular-1.4.8/angular-sanitize.js"></script>   
+       <script src="app/fusion/external/angular-1.4.8/angular-route.min.js"></script>
+       <script src="app/fusion/external/angular-1.4.8/angular-cookies.min.js"></script>
+               
+       <script src="app/fusion/external/b2b/js/b2b-angular/b2b-library.min.js"></script>
+       <script src="app/fusion/external/jquery/dist/jquery.min.js"></script>
+       
+       <script src="app/fusion/external/javascript-detect-element-resize/jquery.resize.js"></script>
+       <script src="app/fusion/external/angular-bootstrap/ui-bootstrap-tpls.min.js"></script>
+       <script src="app/fusion/external/angular-gridster/dist/angular-gridster.min.js"></script>
+       
+       <script src="app/fusion/scripts/DS2-services/ds2-modal/modalService.js"></script>
+       <script src="app/fusion/external/ds2/js/appDS2.js"></script>    
+                       
+       <script src="app/fusion/scripts/DS2-services/userInfoServiceDS2.js"></script>    
+       <script src="app/fusion/scripts/DS2-services/headerServiceDS2.js"></script>
+       <script src="app/fusion/scripts/DS2-services/leftMenuServiceDS2.js"></script>
+       <script src="app/fusion/scripts/DS2-services/manifestService.js"></script>
+       
+       <script src="app/fusion/scripts/DS2-directives/footer.js"></script>
+       <script src="app/fusion/scripts/DS2-directives/ds2Header.js"></script>
+       <script src="app/fusion/scripts/DS2-directives/ds2LeftMenu.js"></script>
+       <script src="app/fusion/scripts/DS2-directives/b2b-leftnav-ext.js"></script> 
+       
+       <script src="app/fusion/external/utils/js/browserCheck.js"></script>     
+       
+       
+
+       <script src="app/fusion/scripts/DS2-controllers/ds2-sample/nbook-framecontroller.js"></script>
+
+       
+               <script src="app/fusion/scripts/DS2-controllers/ds2-sample/notebookFrameController.js"></script>
+                       <script src="app/fusion/scripts/DS2-controllers/ds2-sample/nbook-framecontroller.js"></script>
+               
+
+               <script src="app/fusion/scripts/DS2-services/userInfoServiceDS2.js"></script>
+               
+               <!-- loadjscssfile("./app/fusion/external/utils/js/browserCheck.js","js");
+               loadjscssfile("./app/fusion/scripts/DS2-services/adminService.js","js");
+               loadjscssfile("./app/fusion/scripts/DS2-services/adminMenuService.js","js"); -->
+               
+
+
+<!--   //<script src="dependency/joint.js"></script>    -->
+       
+       <link rel="stylesheet" type="text/css" href="app/ngapp/styles.css">
+</head>
+       <body class="appBody">
+               <app-root></app-root>
+               <div ds2-Header class="header-container" ></div>
+               <div ds2-menu id="menuContainer" class="menu-container" ></div>
+               <div ng-view id="rightContentProfile" class="content-container"></div>  
+               <div ds2-Footer class="footer-container"></div>
+               
+      <script type="text/javascript" src="app/ngapp/runtime.js"></script>
+      <script type="text/javascript" src="app/ngapp/polyfills.js"></script>
+      <script type="text/javascript" src="app/ngapp/main.js"></script>
+               
+       </body>
+</html>
+
+
+
+
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/.editorconfig b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/.editorconfig
new file mode 100644 (file)
index 0000000..6e87a00
--- /dev/null
@@ -0,0 +1,13 @@
+# Editor configuration, see http://editorconfig.org
+root = true
+
+[*]
+charset = utf-8
+indent_style = space
+indent_size = 2
+insert_final_newline = true
+trim_trailing_whitespace = true
+
+[*.md]
+max_line_length = off
+trim_trailing_whitespace = false
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/.gitignore b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/.gitignore
new file mode 100644 (file)
index 0000000..ee5c9d8
--- /dev/null
@@ -0,0 +1,39 @@
+# See http://help.github.com/ignore-files/ for more about ignoring files.
+
+# compiled output
+/dist
+/tmp
+/out-tsc
+
+# dependencies
+/node_modules
+
+# IDEs and editors
+/.idea
+.project
+.classpath
+.c9/
+*.launch
+.settings/
+*.sublime-workspace
+
+# IDE - VSCode
+.vscode/*
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
+
+# misc
+/.sass-cache
+/connect.lock
+/coverage
+/libpeerconnection.log
+npm-debug.log
+yarn-error.log
+testem.log
+/typings
+
+# System Files
+.DS_Store
+Thumbs.db
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/README.md b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/README.md
new file mode 100644 (file)
index 0000000..6b2fc4b
--- /dev/null
@@ -0,0 +1,27 @@
+# Ngapp
+
+This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 6.2.3.
+
+## Development server
+
+Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.
+
+## Code scaffolding
+
+Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.
+
+## Build
+
+Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build.
+
+## Running unit tests
+
+Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
+
+## Running end-to-end tests
+
+Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).
+
+## Further help
+
+To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/angular.json b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/angular.json
new file mode 100644 (file)
index 0000000..f3033b1
--- /dev/null
@@ -0,0 +1,130 @@
+{
+  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
+  "version": 1,
+  "newProjectRoot": "projects",
+  "projects": {
+    "ngapp": {
+      "root": "",
+      "sourceRoot": "src",
+      "projectType": "application",
+      "prefix": "app",
+      "schematics": {},
+      "architect": {
+        "build": {
+          "builder": "@angular-devkit/build-angular:browser",
+          "options": {
+            "outputPath": "dist/ngapp",
+            "index": "src/ngwelcome.html",
+            "main": "src/main.ts",
+            "polyfills": "src/polyfills.ts",
+            "tsConfig": "src/tsconfig.app.json",
+            "assets": [
+              "src/favicon.ico",
+              "src/assets",
+              "src/static",
+              "src/app/fusion",
+              "src/app/fusionapp"              
+            ],
+            "styles": [
+              "src/styles.css"
+            ],
+            "scripts": []
+          },
+          "configurations": {
+            "production": {
+              "fileReplacements": [
+                {
+                  "replace": "src/environments/environment.ts",
+                  "with": "src/environments/environment.prod.ts"
+                }
+              ],
+              "optimization": true,
+              "outputHashing": "all",
+              "sourceMap": false,
+              "extractCss": true,
+              "namedChunks": false,
+              "aot": true,
+              "extractLicenses": true,
+              "vendorChunk": false,
+              "buildOptimizer": true
+            }
+          }
+        },
+        "serve": {
+          "builder": "@angular-devkit/build-angular:dev-server",
+          "options": {
+            "browserTarget": "ngapp:build"
+          },
+          "configurations": {
+            "production": {
+              "browserTarget": "ngapp:build:production"
+            }
+          }
+        },
+        "extract-i18n": {
+          "builder": "@angular-devkit/build-angular:extract-i18n",
+          "options": {
+            "browserTarget": "ngapp:build"
+          }
+        },
+        "test": {
+          "builder": "@angular-devkit/build-angular:karma",
+          "options": {
+            "main": "src/test.ts",
+            "polyfills": "src/polyfills.ts",
+            "tsConfig": "src/tsconfig.spec.json",
+            "karmaConfig": "src/karma.conf.js",
+            "styles": [
+              "src/styles.css"
+            ],
+            "scripts": [],
+            "assets": [
+              "src/favicon.ico",
+              "src/assets"
+            ]
+          }
+        },
+        "lint": {
+          "builder": "@angular-devkit/build-angular:tslint",
+          "options": {
+            "tsConfig": [
+              "src/tsconfig.app.json",
+              "src/tsconfig.spec.json"
+            ],
+            "exclude": [
+              "**/node_modules/**"
+            ]
+          }
+        }
+      }
+    },
+    "ngapp-e2e": {
+      "root": "e2e/",
+      "projectType": "application",
+      "architect": {
+        "e2e": {
+          "builder": "@angular-devkit/build-angular:protractor",
+          "options": {
+            "protractorConfig": "e2e/protractor.conf.js",
+            "devServerTarget": "ngapp:serve"
+          },
+          "configurations": {
+            "production": {
+              "devServerTarget": "ngapp:serve:production"
+            }
+          }
+        },
+        "lint": {
+          "builder": "@angular-devkit/build-angular:tslint",
+          "options": {
+            "tsConfig": "e2e/tsconfig.e2e.json",
+            "exclude": [
+              "**/node_modules/**"
+            ]
+          }
+        }
+      }
+    }
+  },
+  "defaultProject": "ngapp"
+}
\ No newline at end of file
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/e2e/protractor.conf.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/e2e/protractor.conf.js
new file mode 100644 (file)
index 0000000..86776a3
--- /dev/null
@@ -0,0 +1,28 @@
+// Protractor configuration file, see link for more information
+// https://github.com/angular/protractor/blob/master/lib/config.ts
+
+const { SpecReporter } = require('jasmine-spec-reporter');
+
+exports.config = {
+  allScriptsTimeout: 11000,
+  specs: [
+    './src/**/*.e2e-spec.ts'
+  ],
+  capabilities: {
+    'browserName': 'chrome'
+  },
+  directConnect: true,
+  baseUrl: 'http://localhost:4200/',
+  framework: 'jasmine',
+  jasmineNodeOpts: {
+    showColors: true,
+    defaultTimeoutInterval: 30000,
+    print: function() {}
+  },
+  onPrepare() {
+    require('ts-node').register({
+      project: require('path').join(__dirname, './tsconfig.e2e.json')
+    });
+    jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
+  }
+};
\ No newline at end of file
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/e2e/src/app.e2e-spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/e2e/src/app.e2e-spec.ts
new file mode 100644 (file)
index 0000000..b6f71fe
--- /dev/null
@@ -0,0 +1,14 @@
+import { AppPage } from './app.po';
+
+describe('workspace-project App', () => {
+  let page: AppPage;
+
+  beforeEach(() => {
+    page = new AppPage();
+  });
+
+  it('should display welcome message', () => {
+    page.navigateTo();
+    expect(page.getParagraphText()).toEqual('Welcome to ngapp!');
+  });
+});
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/e2e/src/app.po.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/e2e/src/app.po.ts
new file mode 100644 (file)
index 0000000..82ea75b
--- /dev/null
@@ -0,0 +1,11 @@
+import { browser, by, element } from 'protractor';
+
+export class AppPage {
+  navigateTo() {
+    return browser.get('/');
+  }
+
+  getParagraphText() {
+    return element(by.css('app-root h1')).getText();
+  }
+}
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/e2e/tsconfig.e2e.json b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/e2e/tsconfig.e2e.json
new file mode 100644 (file)
index 0000000..a6dd622
--- /dev/null
@@ -0,0 +1,13 @@
+{
+  "extends": "../tsconfig.json",
+  "compilerOptions": {
+    "outDir": "../out-tsc/app",
+    "module": "commonjs",
+    "target": "es5",
+    "types": [
+      "jasmine",
+      "jasminewd2",
+      "node"
+    ]
+  }
+}
\ No newline at end of file
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/package.json b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/package.json
new file mode 100644 (file)
index 0000000..25c2295
--- /dev/null
@@ -0,0 +1,50 @@
+{
+  "name": "ngapp",
+  "version": "0.0.0",
+  "scripts": {
+    "ng": "ng",
+    "start": "ng serve",
+    "build": "ng build --prod --output-hashing none",
+    "test": "ng test",
+    "lint": "ng lint",
+    "e2e": "ng e2e"
+  },
+  "private": true,
+  "dependencies": {
+    "@angular/animations": "^6.1.0",
+    "@angular/common": "^6.1.0",
+    "@angular/compiler": "^6.1.0",
+    "@angular/core": "^6.1.0",
+    "@angular/forms": "^6.1.0",
+    "@angular/http": "^6.1.0",
+    "@angular/platform-browser": "^6.1.0",
+    "@angular/platform-browser-dynamic": "^6.1.0",
+    "@angular/router": "^6.1.0",
+    "@angular/upgrade": "^6.1.0",
+    "core-js": "^2.5.4",
+    "rxjs": "~6.2.0",
+    "zone.js": "~0.8.26"
+  },
+  "devDependencies": {
+    "@angular-devkit/build-angular": "~0.8.0",
+    "@angular/cli": "~6.2.3",
+    "@angular/compiler-cli": "^6.1.0",
+    "@angular/language-service": "^6.1.0",
+    "@types/angular": "^1.6.51",
+    "@types/jasmine": "~2.8.8",
+    "@types/jasminewd2": "~2.0.3",
+    "@types/node": "~8.9.4",
+    "codelyzer": "~4.3.0",
+    "jasmine-core": "~2.99.1",
+    "jasmine-spec-reporter": "~4.2.1",
+    "karma": "~3.0.0",
+    "karma-chrome-launcher": "~2.2.0",
+    "karma-coverage-istanbul-reporter": "~2.0.1",
+    "karma-jasmine": "~1.1.2",
+    "karma-jasmine-html-reporter": "^0.2.2",
+    "protractor": "~5.4.0",
+    "ts-node": "~7.0.0",
+    "tslint": "~5.11.0",
+    "typescript": "~2.9.2"
+  }
+}
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/admin/admin-routing.module.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/admin/admin-routing.module.ts
new file mode 100644 (file)
index 0000000..5b0a501
--- /dev/null
@@ -0,0 +1,10 @@
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+
+const routes: Routes = [];
+
+@NgModule({
+  imports: [RouterModule.forChild(routes)],
+  exports: [RouterModule]
+})
+export class AdminRoutingModule { }
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/admin/admin.module.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/admin/admin.module.spec.ts
new file mode 100644 (file)
index 0000000..ee0b403
--- /dev/null
@@ -0,0 +1,13 @@
+import { AdminModule } from './admin.module';
+
+describe('AdminModule', () => {
+  let adminModule: AdminModule;
+
+  beforeEach(() => {
+    adminModule = new AdminModule();
+  });
+
+  it('should create an instance', () => {
+    expect(adminModule).toBeTruthy();
+  });
+});
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/admin/admin.module.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/admin/admin.module.ts
new file mode 100644 (file)
index 0000000..ab44333
--- /dev/null
@@ -0,0 +1,77 @@
+
+import { CommonModule } from '@angular/common';
+import { BrowserModule } from '@angular/platform-browser';
+import { NgModule } from '@angular/core';
+import { AppRoutingModule } from '../app-routing.module';
+
+import { UpgradeModule, downgradeComponent} from '@angular/upgrade/static';
+import { HttpClientModule } from '@angular/common/http';
+import { RouterModule, UrlHandlingStrategy } from '@angular/router';
+import { APP_BASE_HREF } from '@angular/common';
+
+export class CustomHandlingStrategy implements UrlHandlingStrategy {
+  shouldProcessUrl(url) {
+   console.log('url --->>> ' + url.toString());
+    var str = "ng6";
+    if (url.toString().search(str) == -1 ) 
+       return false;
+    else
+        return true;
+  }
+  
+  extract(url) { return url; }
+  merge(url, whole) { return url; }
+}
+
+
+//declare var angular: any;
+
+/*
+declare var angular: angular.IAngularStatic;
+
+angular.module('abs')
+  .directive(
+    'appusage',
+    downgradeComponent({component: UsageComponent}) as angular.IDirectiveFactory
+);
+
+angular.module('abs')
+  .directive(
+    'app-hello',
+    downgradeComponent({component: HelloComponent}) as angular.IDirectiveFactory
+);
+*/
+
+@NgModule({
+  declarations: [
+  ],
+  imports: [
+    CommonModule,
+    BrowserModule,
+    AppRoutingModule,
+    UpgradeModule,
+    HttpClientModule,
+    RouterModule,
+    /*
+    RouterModule.forRoot([
+      {
+        path: 'ng6/usage_list',
+        component: UsageComponent
+      }
+    ],
+    {
+      useHash: true,
+      enableTracing: true
+    }
+    )*/
+  ],
+  
+  entryComponents: [
+  ],
+  providers: [ 
+              { provide: UrlHandlingStrategy, useClass: CustomHandlingStrategy },
+              { provide: APP_BASE_HREF,       useValue: '/' + (window.location.pathname.split('/')[1] || '') }
+  ]
+})
+
+export class AdminModule { }
\ No newline at end of file
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/app-routing.module.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/app-routing.module.ts
new file mode 100644 (file)
index 0000000..e3dafc3
--- /dev/null
@@ -0,0 +1,29 @@
+/*
+ * Copyright © 2017 AT&T Intellectual Property.
+ *
+ * Copyright © 2018 IBM
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+
+const routes: Routes = [];
+
+@NgModule({
+  imports: [RouterModule.forRoot(routes)],
+  exports: [RouterModule]
+})
+export class AppRoutingModule { }
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/app.component.css b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/app.component.css
new file mode 100644 (file)
index 0000000..1aa77fb
--- /dev/null
@@ -0,0 +1,17 @@
+/*
+ * Copyright © 2017 AT&T Intellectual Property.
+ *
+ * Copyright © 2018 IBM
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/app.component.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/app.component.html
new file mode 100644 (file)
index 0000000..adc96ff
--- /dev/null
@@ -0,0 +1,24 @@
+<!--The content below is only a placeholder and can be replaced.-->
+
+<!--
+<div style="text-align:center">
+  <h1>
+    Welcome to {{ title }}!
+  </h1>
+  <img width="300" alt="Angular Logo" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTAgMjUwIj4KICAgIDxwYXRoIGZpbGw9IiNERDAwMzEiIGQ9Ik0xMjUgMzBMMzEuOSA2My4ybDE0LjIgMTIzLjFMMTI1IDIzMGw3OC45LTQzLjcgMTQuMi0xMjMuMXoiIC8+CiAgICA8cGF0aCBmaWxsPSIjQzMwMDJGIiBkPSJNMTI1IDMwdjIyLjItLjFWMjMwbDc4LjktNDMuNyAxNC4yLTEyMy4xTDEyNSAzMHoiIC8+CiAgICA8cGF0aCAgZmlsbD0iI0ZGRkZGRiIgZD0iTTEyNSA1Mi4xTDY2LjggMTgyLjZoMjEuN2wxMS43LTI5LjJoNDkuNGwxMS43IDI5LjJIMTgzTDEyNSA1Mi4xem0xNyA4My4zaC0zNGwxNy00MC45IDE3IDQwLjl6IiAvPgogIDwvc3ZnPg==">
+</div>
+<h2>Here are some links to help you start: </h2>
+<ul>
+  <li>
+    <h2><a target="_blank" rel="noopener" href="https://angular.io/tutorial">Tour of Heroes</a></h2>
+  </li>
+  <li>
+    <h2><a target="_blank" rel="noopener" href="https://github.com/angular/angular-cli/wiki">CLI Documentation</a></h2>
+  </li>
+  <li>
+    <h2><a target="_blank" rel="noopener" href="https://blog.angular.io/">Angular blog</a></h2>
+  </li>
+</ul>
+-->
+
+<router-outlet></router-outlet>
\ No newline at end of file
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/app.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/app.component.spec.ts
new file mode 100644 (file)
index 0000000..aca0180
--- /dev/null
@@ -0,0 +1,49 @@
+/*
+ * Copyright © 2017 AT&T Intellectual Property.
+ *
+ * Copyright © 2018 IBM
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { TestBed, async } from '@angular/core/testing';
+import { RouterTestingModule } from '@angular/router/testing';
+import { AppComponent } from './app.component';
+describe('AppComponent', () => {
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      imports: [
+        RouterTestingModule
+      ],
+      declarations: [
+        AppComponent
+      ],
+    }).compileComponents();
+  }));
+  it('should create the app', async(() => {
+    const fixture = TestBed.createComponent(AppComponent);
+    const app = fixture.debugElement.componentInstance;
+    expect(app).toBeTruthy();
+  }));
+  it(`should have as title 'ngapp'`, async(() => {
+    const fixture = TestBed.createComponent(AppComponent);
+    const app = fixture.debugElement.componentInstance;
+    expect(app.title).toEqual('ngapp');
+  }));
+  it('should render title in a h1 tag', async(() => {
+    const fixture = TestBed.createComponent(AppComponent);
+    fixture.detectChanges();
+    const compiled = fixture.debugElement.nativeElement;
+    expect(compiled.querySelector('h1').textContent).toContain('Welcome to ngapp!');
+  }));
+});
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/app.component.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/app.component.ts
new file mode 100644 (file)
index 0000000..05aa60b
--- /dev/null
@@ -0,0 +1,37 @@
+/*
+ * Copyright © 2017 AT&T Intellectual Property.
+ *
+ * Copyright © 2018 IBM
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { Component } from '@angular/core';
+import { UpgradeModule } from "@angular/upgrade/static";
+
+@Component({
+  selector: 'app-root',
+  templateUrl: './app.component.html',
+  styleUrls: ['./app.component.css']
+})
+export class AppComponent {
+  title = 'ngapp';
+  
+  constructor(private upgrade: UpgradeModule) {
+    console.log('base href ==>> ' + window.location.pathname.split('/')[1]);
+  }
+
+  ngOnInit() {    
+    this.upgrade.bootstrap(document.body, ['abs']);
+  }
+}
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/app.module.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/app.module.ts
new file mode 100644 (file)
index 0000000..5c57be3
--- /dev/null
@@ -0,0 +1,106 @@
+/*
+ * Copyright © 2017 AT&T Intellectual Property.
+ *
+ * Copyright © 2018 IBM
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { BrowserModule } from '@angular/platform-browser';
+import { NgModule } from '@angular/core';
+import { AppRoutingModule } from './app-routing.module';
+import { AppComponent} from './app.component';
+import { UpgradeModule, downgradeComponent} from '@angular/upgrade/static';
+import { RouterModule, UrlHandlingStrategy } from '@angular/router';
+import { APP_BASE_HREF } from '@angular/common';
+import { AdminModule } from './admin/admin.module';
+import { ProfileModule } from './profile/profile.module';
+
+import { SharedModule } from './shared/shared.module';
+import { SamplepageModule } from './samplepage/samplepage.module';
+import { ReportModule } from './report/report.module';
+import { CoreModule } from './core/core.module'
+
+
+export class CustomHandlingStrategy implements UrlHandlingStrategy {
+  shouldProcessUrl(url) {
+   console.log('url --->>> ' + url.toString());
+    var str = "ng6";
+    if (url.toString().search(str) == -1 ) 
+       return false;
+    else
+        return true;
+  }
+  
+  extract(url) { return url; }
+  merge(url, whole) { return url; }
+}
+
+
+//declare var angular: any;
+
+/*
+declare var angular: angular.IAngularStatic;
+
+angular.module('abs')
+  .directive(
+    'appusage',
+    downgradeComponent({component: UsageComponent}) as angular.IDirectiveFactory
+);
+
+angular.module('abs')
+  .directive(
+    'app-hello',
+    downgradeComponent({component: HelloComponent}) as angular.IDirectiveFactory
+);
+*/
+
+@NgModule({
+  declarations: [
+    AppComponent
+  ],
+  imports: [
+    BrowserModule,
+    AppRoutingModule,
+    UpgradeModule,
+    RouterModule,
+    /*
+    RouterModule.forRoot([
+      {
+        path: 'ng6/usage_list',
+        component: UsageComponent
+      }
+    ],
+    {
+      useHash: true,
+      enableTracing: true
+    }
+    ),*/
+    AdminModule,
+    ProfileModule,
+    ReportModule,
+    SharedModule,
+    SamplepageModule,
+    ReportModule,
+    CoreModule
+  ],
+  
+  entryComponents: [
+  ],
+  providers: [ 
+              { provide: UrlHandlingStrategy, useClass: CustomHandlingStrategy },
+              { provide: APP_BASE_HREF,       useValue: '/' + (window.location.pathname.split('/')[1] || '') }
+  ],
+  bootstrap: [AppComponent]
+})
+export class AppModule { }
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/core/core-routing.module.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/core/core-routing.module.ts
new file mode 100644 (file)
index 0000000..405e5a0
--- /dev/null
@@ -0,0 +1,10 @@
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+
+const routes: Routes = [];
+
+@NgModule({
+  imports: [RouterModule.forChild(routes)],
+  exports: [RouterModule]
+})
+export class CoreRoutingModule { }
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/core/core.module.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/core/core.module.spec.ts
new file mode 100644 (file)
index 0000000..d8fcf7e
--- /dev/null
@@ -0,0 +1,13 @@
+import { CoreModule } from './core.module';
+
+describe('CoreModule', () => {
+  let coreModule: CoreModule;
+
+  beforeEach(() => {
+    coreModule = new CoreModule();
+  });
+
+  it('should create an instance', () => {
+    expect(coreModule).toBeTruthy();
+  });
+});
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/core/core.module.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/core/core.module.ts
new file mode 100644 (file)
index 0000000..41729d4
--- /dev/null
@@ -0,0 +1,13 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+
+import { CoreRoutingModule } from './core-routing.module';
+
+@NgModule({
+  imports: [
+    CommonModule,
+    CoreRoutingModule
+  ],
+  declarations: []
+})
+export class CoreModule { }
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/profile/profile-routing.module.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/profile/profile-routing.module.ts
new file mode 100644 (file)
index 0000000..339de80
--- /dev/null
@@ -0,0 +1,10 @@
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+
+const routes: Routes = [];
+
+@NgModule({
+  imports: [RouterModule.forChild(routes)],
+  exports: [RouterModule]
+})
+export class ProfileRoutingModule { }
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/profile/profile.module.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/profile/profile.module.spec.ts
new file mode 100644 (file)
index 0000000..0960501
--- /dev/null
@@ -0,0 +1,13 @@
+import { ProfileModule } from './profile.module';
+
+describe('ProfileModule', () => {
+  let profileModule: ProfileModule;
+
+  beforeEach(() => {
+    profileModule = new ProfileModule();
+  });
+
+  it('should create an instance', () => {
+    expect(profileModule).toBeTruthy();
+  });
+});
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/profile/profile.module.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/profile/profile.module.ts
new file mode 100644 (file)
index 0000000..dbb3875
--- /dev/null
@@ -0,0 +1,13 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+
+import { ProfileRoutingModule } from './profile-routing.module';
+
+@NgModule({
+  imports: [
+    CommonModule,
+    ProfileRoutingModule
+  ],
+  declarations: []
+})
+export class ProfileModule { }
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/report/report-routing.module.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/report/report-routing.module.ts
new file mode 100644 (file)
index 0000000..c5d8680
--- /dev/null
@@ -0,0 +1,10 @@
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+
+const routes: Routes = [];
+
+@NgModule({
+  imports: [RouterModule.forChild(routes)],
+  exports: [RouterModule]
+})
+export class ReportRoutingModule { }
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/report/report.module.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/report/report.module.spec.ts
new file mode 100644 (file)
index 0000000..cfbd84c
--- /dev/null
@@ -0,0 +1,13 @@
+import { ReportModule } from './report.module';
+
+describe('ReportModule', () => {
+  let reportModule: ReportModule;
+
+  beforeEach(() => {
+    reportModule = new ReportModule();
+  });
+
+  it('should create an instance', () => {
+    expect(reportModule).toBeTruthy();
+  });
+});
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/report/report.module.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/report/report.module.ts
new file mode 100644 (file)
index 0000000..ed2ea4c
--- /dev/null
@@ -0,0 +1,13 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+
+import { ReportRoutingModule } from './report-routing.module';
+
+@NgModule({
+  imports: [
+    CommonModule,
+    ReportRoutingModule
+  ],
+  declarations: []
+})
+export class ReportModule { }
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/samplepage/samplepage-routing.module.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/samplepage/samplepage-routing.module.ts
new file mode 100644 (file)
index 0000000..9a98dc3
--- /dev/null
@@ -0,0 +1,10 @@
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+
+const routes: Routes = [];
+
+@NgModule({
+  imports: [RouterModule.forChild(routes)],
+  exports: [RouterModule]
+})
+export class SamplepageRoutingModule { }
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/samplepage/samplepage.module.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/samplepage/samplepage.module.spec.ts
new file mode 100644 (file)
index 0000000..856d8f3
--- /dev/null
@@ -0,0 +1,13 @@
+import { SamplepageModule } from './samplepage.module';
+
+describe('SamplepageModule', () => {
+  let samplepageModule: SamplepageModule;
+
+  beforeEach(() => {
+    samplepageModule = new SamplepageModule();
+  });
+
+  it('should create an instance', () => {
+    expect(samplepageModule).toBeTruthy();
+  });
+});
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/samplepage/samplepage.module.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/samplepage/samplepage.module.ts
new file mode 100644 (file)
index 0000000..c1a065f
--- /dev/null
@@ -0,0 +1,13 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+
+import { SamplepageRoutingModule } from './samplepage-routing.module';
+
+@NgModule({
+  imports: [
+    CommonModule,
+    SamplepageRoutingModule
+  ],
+  declarations: []
+})
+export class SamplepageModule { }
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/shared-routing.module.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/shared-routing.module.ts
new file mode 100644 (file)
index 0000000..06ce37c
--- /dev/null
@@ -0,0 +1,10 @@
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+
+const routes: Routes = [];
+
+@NgModule({
+  imports: [RouterModule.forChild(routes)],
+  exports: [RouterModule]
+})
+export class SharedRoutingModule { }
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/shared.module.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/shared.module.spec.ts
new file mode 100644 (file)
index 0000000..3ecb626
--- /dev/null
@@ -0,0 +1,13 @@
+import { SharedModule } from './shared.module';
+
+describe('SharedModule', () => {
+  let sharedModule: SharedModule;
+
+  beforeEach(() => {
+    sharedModule = new SharedModule();
+  });
+
+  it('should create an instance', () => {
+    expect(sharedModule).toBeTruthy();
+  });
+});
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/shared.module.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/shared.module.ts
new file mode 100644 (file)
index 0000000..f9eea33
--- /dev/null
@@ -0,0 +1,13 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+
+import { SharedRoutingModule } from './shared-routing.module';
+
+@NgModule({
+  imports: [
+    CommonModule,
+    SharedRoutingModule
+  ],
+  declarations: []
+})
+export class SharedModule { }
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/assets/.gitkeep b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/assets/.gitkeep
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/assets/mockdata/get_usage_list.json b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/assets/mockdata/get_usage_list.json
new file mode 100644 (file)
index 0000000..648043b
--- /dev/null
@@ -0,0 +1,3 @@
+{  
+   "data":"[{\"lastName\":\"User\",\"lastAccess\":\"0:34\",\"id\":1,\"sessionId\":\"00A71210A24BFB0BF44CB5DA77FE3125\",\"delete\":\"no\",\"email\":\"demo@email.com\",\"remaining\":\"29:26\"}]"
+}
\ No newline at end of file
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/browserslist b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/browserslist
new file mode 100644 (file)
index 0000000..37371cb
--- /dev/null
@@ -0,0 +1,11 @@
+# This file is currently used by autoprefixer to adjust CSS to support the below specified browsers
+# For additional information regarding the format and rule options, please see:
+# https://github.com/browserslist/browserslist#queries
+#
+# For IE 9-11 support, please remove 'not' from the last line of the file and adjust as needed
+
+> 0.5%
+last 2 versions
+Firefox ESR
+not dead
+not IE 9-11
\ No newline at end of file
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/environments/environment.prod.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/environments/environment.prod.ts
new file mode 100644 (file)
index 0000000..dc99c44
--- /dev/null
@@ -0,0 +1,22 @@
+/*
+ * Copyright © 2017 AT&T Intellectual Property.
+ *
+ * Copyright © 2018 IBM
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+export const environment = {
+  production: true,
+  baseUrl: ''
+};
\ No newline at end of file
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/environments/environment.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/environments/environment.ts
new file mode 100644 (file)
index 0000000..493f63e
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+ * Copyright © 2017 AT&T Intellectual Property.
+ *
+ * Copyright © 2018 IBM
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+// The file contents for the current environment will overwrite these during build.
+// The build system defaults to the dev environment which uses `environment.ts`, but if you do
+// `ng build --env=prod` then `environment.prod.ts` will be used instead.
+// The list of which env maps to which file can be found in `.angular-cli.json`.
+
+export const environment = {
+  production: false,
+  baseUrl: 'http://localhost:8067/epsdk-app-os/'
+};
\ No newline at end of file
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/favicon.ico b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/favicon.ico
new file mode 100644 (file)
index 0000000..8081c7c
Binary files /dev/null and b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/favicon.ico differ
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/karma.conf.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/karma.conf.js
new file mode 100644 (file)
index 0000000..b6e0042
--- /dev/null
@@ -0,0 +1,31 @@
+// Karma configuration file, see link for more information
+// https://karma-runner.github.io/1.0/config/configuration-file.html
+
+module.exports = function (config) {
+  config.set({
+    basePath: '',
+    frameworks: ['jasmine', '@angular-devkit/build-angular'],
+    plugins: [
+      require('karma-jasmine'),
+      require('karma-chrome-launcher'),
+      require('karma-jasmine-html-reporter'),
+      require('karma-coverage-istanbul-reporter'),
+      require('@angular-devkit/build-angular/plugins/karma')
+    ],
+    client: {
+      clearContext: false // leave Jasmine Spec Runner output visible in browser
+    },
+    coverageIstanbulReporter: {
+      dir: require('path').join(__dirname, '../coverage'),
+      reports: ['html', 'lcovonly'],
+      fixWebpackSourcePaths: true
+    },
+    reporters: ['progress', 'kjhtml'],
+    port: 9876,
+    colors: true,
+    logLevel: config.LOG_INFO,
+    autoWatch: true,
+    browsers: ['Chrome'],
+    singleRun: false
+  });
+};
\ No newline at end of file
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/main.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/main.ts
new file mode 100644 (file)
index 0000000..2c9e65f
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ * Copyright © 2017 AT&T Intellectual Property.
+ *
+ * Copyright © 2018 IBM
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { enableProdMode } from '@angular/core';
+import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
+
+import { AppModule } from './app/app.module';
+import { environment } from './environments/environment';
+
+if (environment.production) {
+  enableProdMode();
+}
+
+platformBrowserDynamic().bootstrapModule(AppModule)
+  .catch(err => console.error(err));
+
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/ngwelcome.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/ngwelcome.html
new file mode 100644 (file)
index 0000000..63217b9
--- /dev/null
@@ -0,0 +1,156 @@
+<!doctype html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <title>Welcome NG</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <link rel="icon" type="image/x-icon" href="favicon.ico">
+
+       <!-- B2b Library -->
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/b2b/css/b2b-angular/b2b-angular.css">
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/b2b/css/b2b-angular/font_icons.css">
+       
+       <!-- icons in open source -->
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/ds2/css/digital-ng-library/ionicons.css">
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/ds2/css/digital-ng-library/ecomp-ionicons.css">
+
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/angular-bootstrap/ui-bootstrap-csp.css">
+       <link rel="stylesheet" type="text/css" href="app/fusion/external/angular-gridster/dist/angular-gridster.min.css">
+       <link rel="stylesheet" type="text/css" href="static/fusion/sample/css/scribble.css" />
+       <link rel="stylesheet" type="text/css" href="static/fusion/sample/css/welcome.css" />
+
+       <link rel="stylesheet" type="text/css" href="app/fusion/styles/ecomp.css">
+
+       <!-- Common scripts --> 
+       <script src="app/fusion/external/angular-1.4.8/angular.min.js"></script>
+       <script src="app/fusion/external/angular-1.4.8/angular-messages.js"></script>
+       <script src="app/fusion/external/angular-1.4.8/angular-touch.js"></script>
+       <script src="app/fusion/external/angular-1.4.8/angular-sanitize.js"></script>   
+       <script src="app/fusion/external/angular-1.4.8/angular-route.min.js"></script>
+       <script src="app/fusion/external/angular-1.4.8/angular-cookies.min.js"></script>
+       <script src="app/fusion/external/jquery/dist/jquery.min.js"></script>
+       <script src="app/fusion/external/javascript-detect-element-resize/jquery.resize.js"></script>
+       <script src="app/fusion/external/angular-bootstrap/ui-bootstrap-tpls.min.js"></script>
+       <script src="app/fusion/external/angular-gridster/dist/angular-gridster.min.js"></script>
+               
+       <!-- EPSDK App scripts and common services -->  
+       <!-- B2b Library -->
+       <script src="app/fusion/external/b2b/js/b2b-angular/b2b-library.min.js"></script>
+       <script src="app/fusion/scripts/DS2-services/ds2-modal/modalService.js"></script>
+       <script src="app/fusion/external/ds2/js/appDS2.js"></script>    
+                       
+       <script src="app/fusion/scripts/DS2-services/userInfoServiceDS2.js"></script>    
+       <script src="app/fusion/scripts/DS2-services/headerServiceDS2.js"></script>
+       <script src="app/fusion/scripts/DS2-services/leftMenuServiceDS2.js"></script>
+       <script src="app/fusion/scripts/DS2-services/manifestService.js"></script>
+       
+       <script src="app/fusion/scripts/DS2-directives/footer.js"></script>
+       <script src="app/fusion/scripts/DS2-directives/ds2Header.js"></script>
+       <script src="app/fusion/scripts/DS2-directives/ds2LeftMenu.js"></script>
+       <script src="app/fusion/scripts/DS2-directives/b2b-leftnav-ext.js"></script> 
+       <script src= "app/fusion/scripts/DS2-services/userInfoServiceDS2.js"></script>  
+
+       <!-- Page specific items -->
+       <script src="app/fusion/scripts/DS2-controllers/welcome-controller.js"></script>
+       <script src="app/fusion/scripts/DS2-controllers/welcome-route.js"></script>     
+
+<style>
+    .controls {
+        margin-bottom: 20px;
+    }
+    .page-header {
+        margin-top: 20px;
+    }
+    ul {
+        list-style: none;
+    }
+    .box {
+        height: 100%;
+        border: 1px solid #ccc;
+        background-color: #fff;
+        position: relative;
+        overflow: hidden;
+    }
+    .box-header {
+        background-color: #eee;
+        padding: 0px 0px 0px 0px;
+    /*     border-bottom: 1px solid #ccc; */
+      margin-bottom: -25px;
+        cursor: move;
+        position: relative;
+    }
+    .box-header h3 {
+        margin-top: 0px;
+        display: inline-block;
+    }
+    .box-content {
+        padding: 10px;
+        display:block;
+        height: 100%;
+        position: relative;
+        overflow-x:auto;
+        overflow-y:auto;    
+    }
+    .box-header-btns {
+        top: 15px;
+        right: 10px;
+        cursor: pointer;
+        position: absolute;
+    }
+
+    .gridster {
+        border: none;
+        position:relative;    
+    }
+
+    .box-content .box-content-frame{
+
+    }
+
+    .box table{
+    border:none;
+    display:block;
+    }
+
+    .box table tr{
+    line-height:20px;
+    }
+
+    .box table th{
+    border:none;
+    line-height:20px;
+    }
+
+    /* .header-container{
+      margin-top:-50px;
+    } */
+    /* .content-container{
+      margin-top:50px;
+    } */
+    .menu-container{
+    margin-top:0px
+    }
+
+    .handle-e {
+    width:3px;
+    }
+</style>
+
+<link rel="stylesheet" type="text/css" href="app/ngapp/styles.css">
+</head>
+<body class="appBody">
+  <app-root></app-root>
+      <!-- commented the header for now to avoid duplicate headers on portal -->
+      <div ds2-Header class="header-container" ></div>
+      <div ds2-menu id="menuContainer" class="menu-container"></div>
+      <div ng-view id="rightContentProfile" class="content-container"></div>   
+      <div ds2-Footer class="footer-container"></div>
+
+      <script type="text/javascript" src="app/ngapp/runtime.js"></script>
+      <script type="text/javascript" src="app/ngapp/polyfills.js"></script>
+      <script type="text/javascript" src="app/ngapp/main.js"></script>
+
+  </body>
+  
+</body>
+</html>
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/polyfills.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/polyfills.ts
new file mode 100644 (file)
index 0000000..b012103
--- /dev/null
@@ -0,0 +1,98 @@
+/*
+ * Copyright © 2017 AT&T Intellectual Property.
+ *
+ * Copyright © 2018 IBM
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * This file includes polyfills needed by Angular and is loaded before the app.
+ * You can add your own extra polyfills to this file.
+ *
+ * This file is divided into 2 sections:
+ *   1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
+ *   2. Application imports. Files imported after ZoneJS that should be loaded before your main
+ *      file.
+ *
+ * The current setup is for so-called "evergreen" browsers; the last versions of browsers that
+ * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),
+ * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.
+ *
+ * Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html
+ */
+
+/***************************************************************************************************
+ * BROWSER POLYFILLS
+ */
+
+/** IE9, IE10 and IE11 requires all of the following polyfills. **/
+ import 'core-js/es6/symbol';
+ import 'core-js/es6/object';
+ import 'core-js/es6/function';
+ import 'core-js/es6/parse-int';
+ import 'core-js/es6/parse-float';
+ import 'core-js/es6/number';
+ import 'core-js/es6/math';
+ import 'core-js/es6/string';
+ import 'core-js/es6/date';
+ import 'core-js/es6/array';
+ import 'core-js/es6/regexp';
+ import 'core-js/es6/map';
+ import 'core-js/es6/weak-map';
+ import 'core-js/es6/set';
+
+/** IE10 and IE11 requires the following for NgClass support on SVG elements */
+// import 'classlist.js';  // Run `npm install --save classlist.js`.
+
+/** IE10 and IE11 requires the following for the Reflect API. */
+// import 'core-js/es6/reflect';
+
+
+/** Evergreen browsers require these. **/
+// Used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove.
+import 'core-js/es7/reflect';
+
+
+/**
+ * Web Animations `@angular/platform-browser/animations`
+ * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.
+ * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).
+ **/
+// import 'web-animations-js';  // Run `npm install --save web-animations-js`.
+
+/**
+ * By default, zone.js will patch all possible macroTask and DomEvents
+ * user can disable parts of macroTask/DomEvents patch by setting following flags
+ */
+
+ // (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame
+ // (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick
+ // (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames
+
+ /*
+ * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js
+ * with the following flag, it will bypass `zone.js` patch for IE/Edge
+ */
+// (window as any).__Zone_enable_cross_context_check = true;
+
+/***************************************************************************************************
+ * Zone JS is required by default for Angular itself.
+ */
+import 'zone.js/dist/zone';  // Included with Angular CLI.
+
+
+
+/***************************************************************************************************
+ * APPLICATION IMPORTS
+ */
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/styles.css b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/styles.css
new file mode 100644 (file)
index 0000000..90d4ee0
--- /dev/null
@@ -0,0 +1 @@
+/* You can add global styles to this file, and also import other style files */
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/test.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/test.ts
new file mode 100644 (file)
index 0000000..52acc19
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * Copyright © 2017 AT&T Intellectual Property.
+ *
+ * Copyright © 2018 IBM
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+// This file is required by karma.conf.js and loads recursively all the .spec and framework files
+
+import 'zone.js/dist/zone-testing';
+import { getTestBed } from '@angular/core/testing';
+import {
+  BrowserDynamicTestingModule,
+  platformBrowserDynamicTesting
+} from '@angular/platform-browser-dynamic/testing';
+
+declare const require: any;
+
+// First, initialize the Angular testing environment.
+getTestBed().initTestEnvironment(
+  BrowserDynamicTestingModule,
+  platformBrowserDynamicTesting()
+);
+// Then we find all the tests.
+const context = require.context('./', true, /\.spec\.ts$/);
+// And load the modules.
+context.keys().map(context);
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/tsconfig.app.json b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/tsconfig.app.json
new file mode 100644 (file)
index 0000000..e44bdeb
--- /dev/null
@@ -0,0 +1,11 @@
+{
+  "extends": "../tsconfig.json",
+  "compilerOptions": {
+    "outDir": "../out-tsc/app",
+       "types": ["node", "angular"]
+  },
+  "exclude": [
+    "test.ts",
+    "**/*.spec.ts"
+  ]
+}
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/tsconfig.spec.json b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/tsconfig.spec.json
new file mode 100644 (file)
index 0000000..de77336
--- /dev/null
@@ -0,0 +1,18 @@
+{
+  "extends": "../tsconfig.json",
+  "compilerOptions": {
+    "outDir": "../out-tsc/spec",
+    "types": [
+      "jasmine",
+      "node"
+    ]
+  },
+  "files": [
+    "test.ts",
+    "polyfills.ts"
+  ],
+  "include": [
+    "**/*.spec.ts",
+    "**/*.d.ts"
+  ]
+}
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/tslint.json b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/tslint.json
new file mode 100644 (file)
index 0000000..52e2c1a
--- /dev/null
@@ -0,0 +1,17 @@
+{
+    "extends": "../tslint.json",
+    "rules": {
+        "directive-selector": [
+            true,
+            "attribute",
+            "app",
+            "camelCase"
+        ],
+        "component-selector": [
+            true,
+            "element",
+            "app",
+            "kebab-case"
+        ]
+    }
+}
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/tsconfig.json b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/tsconfig.json
new file mode 100644 (file)
index 0000000..f6e888a
--- /dev/null
@@ -0,0 +1,25 @@
+{
+  "compileOnSave": false,
+  "compilerOptions": {
+    "baseUrl": "./",
+    "outDir": "./dist/out-tsc",
+    "sourceMap": true,
+    "declaration": false,
+    "module": "es2015",
+    "moduleResolution": "node",
+    "emitDecoratorMetadata": true,
+    "experimentalDecorators": true,
+    "target": "es5",
+    "typeRoots": [
+      "node_modules/@types"
+    ],
+           "types": [
+        "angular",
+        "jasmine"
+    ],
+    "lib": [
+      "es2017",
+      "dom"
+    ]
+  }
+}
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/tslint.json b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/tslint.json
new file mode 100644 (file)
index 0000000..6ddb6b2
--- /dev/null
@@ -0,0 +1,131 @@
+{
+  "rulesDirectory": [
+    "node_modules/codelyzer"
+  ],
+  "rules": {
+    "arrow-return-shorthand": true,
+    "callable-types": true,
+    "class-name": true,
+    "comment-format": [
+      true,
+      "check-space"
+    ],
+    "curly": true,
+    "deprecation": {
+      "severity": "warn"
+    },
+    "eofline": true,
+    "forin": true,
+    "import-blacklist": [
+      true,
+      "rxjs/Rx"
+    ],
+    "import-spacing": true,
+    "indent": [
+      true,
+      "spaces"
+    ],
+    "interface-over-type-literal": true,
+    "label-position": true,
+    "max-line-length": [
+      true,
+      140
+    ],
+    "member-access": false,
+    "member-ordering": [
+      true,
+      {
+        "order": [
+          "static-field",
+          "instance-field",
+          "static-method",
+          "instance-method"
+        ]
+      }
+    ],
+    "no-arg": true,
+    "no-bitwise": true,
+    "no-console": [
+      true,
+      "debug",
+      "info",
+      "time",
+      "timeEnd",
+      "trace"
+    ],
+    "no-construct": true,
+    "no-debugger": true,
+    "no-duplicate-super": true,
+    "no-empty": false,
+    "no-empty-interface": true,
+    "no-eval": true,
+    "no-inferrable-types": [
+      true,
+      "ignore-params"
+    ],
+    "no-misused-new": true,
+    "no-non-null-assertion": true,
+    "no-redundant-jsdoc": true,
+    "no-shadowed-variable": true,
+    "no-string-literal": false,
+    "no-string-throw": true,
+    "no-switch-case-fall-through": true,
+    "no-trailing-whitespace": true,
+    "no-unnecessary-initializer": true,
+    "no-unused-expression": true,
+    "no-use-before-declare": true,
+    "no-var-keyword": true,
+    "object-literal-sort-keys": false,
+    "one-line": [
+      true,
+      "check-open-brace",
+      "check-catch",
+      "check-else",
+      "check-whitespace"
+    ],
+    "prefer-const": true,
+    "quotemark": [
+      true,
+      "single"
+    ],
+    "radix": true,
+    "semicolon": [
+      true,
+      "always"
+    ],
+    "triple-equals": [
+      true,
+      "allow-null-check"
+    ],
+    "typedef-whitespace": [
+      true,
+      {
+        "call-signature": "nospace",
+        "index-signature": "nospace",
+        "parameter": "nospace",
+        "property-declaration": "nospace",
+        "variable-declaration": "nospace"
+      }
+    ],
+    "unified-signatures": true,
+    "variable-name": false,
+    "whitespace": [
+      true,
+      "check-branch",
+      "check-decl",
+      "check-operator",
+      "check-separator",
+      "check-type"
+    ],
+    "no-output-on-prefix": true,
+    "use-input-property-decorator": true,
+    "use-output-property-decorator": true,
+    "use-host-property-decorator": true,
+    "no-input-rename": true,
+    "no-output-rename": true,
+    "use-life-cycle-interface": true,
+    "use-pipe-transform-interface": true,
+    "component-class-suffix": true,
+    "directive-class-suffix": true
+  }
+}