diff --git a/packages/vehicle-manufacture-car-builder/.gitignore b/packages/vehicle-manufacture-car-builder/.gitignore
index b8e2f43f..d8334732 100644
--- a/packages/vehicle-manufacture-car-builder/.gitignore
+++ b/packages/vehicle-manufacture-car-builder/.gitignore
@@ -69,3 +69,7 @@ typings/
.env
www/
+
+# Phone app generated
+plugins
+platforms
\ No newline at end of file
diff --git a/packages/vehicle-manufacture-car-builder/config.xml b/packages/vehicle-manufacture-car-builder/config.xml
index f59e195a..5ad13712 100644
--- a/packages/vehicle-manufacture-car-builder/config.xml
+++ b/packages/vehicle-manufacture-car-builder/config.xml
@@ -1,83 +1,71 @@
-
-
-
- Arium
- An awesome demo for Vehicle Lifecycle.
- Anna Thomas
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+ Arium
+ An awesome demo for Vehicle Lifecycle.
+ Anna Thomas
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/vehicle-manufacture-car-builder/ionic.config.json b/packages/vehicle-manufacture-car-builder/ionic.config.json
index 730d674f..8a666020 100644
--- a/packages/vehicle-manufacture-car-builder/ionic.config.json
+++ b/packages/vehicle-manufacture-car-builder/ionic.config.json
@@ -1,5 +1,8 @@
{
"name": "vehicleLifecycle",
"app_id": "test",
- "type": "ionic-angular"
+ "type": "ionic-angular",
+ "integrations": {
+ "cordova": {}
+ }
}
diff --git a/packages/vehicle-manufacture-car-builder/package.json b/packages/vehicle-manufacture-car-builder/package.json
index ce150785..1c04a061 100644
--- a/packages/vehicle-manufacture-car-builder/package.json
+++ b/packages/vehicle-manufacture-car-builder/package.json
@@ -2,7 +2,7 @@
"name": "vehicle-manufacture-car-builder",
"private": false,
"author": "Hyperledger Composer",
- "homepage": "http://ionicframework.com/",
+ "homepage": "http://github.com/hyperledger/composer-sample-applications",
"scripts": {
"clean": "ionic-app-scripts clean",
"build": "ionic-app-scripts build",
@@ -37,8 +37,20 @@
}
},
"dependencies": {
+ "@ionic-native/keyboard": "3.4.2",
"config": "^1.26.1",
+ "cordova-ios": "^4.5.4",
+ "cordova-plugin-compat": "^1.2.0",
+ "cordova-plugin-console": "^1.1.0",
+ "cordova-plugin-device": "^1.1.7",
+ "cordova-plugin-ionic-keyboard": "^2.1.2",
+ "cordova-plugin-ionic-webview": "^1.2.1",
+ "cordova-plugin-splashscreen": "^4.1.0",
+ "cordova-plugin-statusbar": "^2.4.2",
+ "cordova-plugin-whitelist": "^1.3.3",
"express": "^4.15.2",
+ "ionic-plugin-keyboard": "^2.2.1",
+ "shelljs": "^0.8.2",
"ws": "^2.3.1"
},
"devDependencies": {
@@ -68,5 +80,20 @@
},
"version": "0.0.7",
"description": "Vehicle Lifecycle - A mobile application for the customers view",
- "license": "Apache-2.0"
-}
+ "license": "Apache-2.0",
+ "cordova": {
+ "plugins": {
+ "cordova-plugin-console": {},
+ "cordova-plugin-device": {},
+ "cordova-plugin-splashscreen": {},
+ "cordova-plugin-statusbar": {},
+ "cordova-plugin-whitelist": {},
+ "ionic-plugin-keyboard": {},
+ "cordova-plugin-ionic-webview": {},
+ "cordova-plugin-ionic-keyboard": {}
+ },
+ "platforms": [
+ "ios"
+ ]
+ }
+}
\ No newline at end of file
diff --git a/packages/vehicle-manufacture-car-builder/src/app/app.module.ts b/packages/vehicle-manufacture-car-builder/src/app/app.module.ts
index da6a0822..40c84f4c 100644
--- a/packages/vehicle-manufacture-car-builder/src/app/app.module.ts
+++ b/packages/vehicle-manufacture-car-builder/src/app/app.module.ts
@@ -18,6 +18,7 @@ import { SplashScreen } from '@ionic-native/splash-screen';
import { StatusBar } from '@ionic-native/status-bar';
import { CloudSettings, CloudModule } from '@ionic/cloud-angular';
import { HttpModule } from '@angular/http';
+import { Keyboard } from '@ionic-native/keyboard';
import { MyApp } from './app.component';
import { LoginPage } from '../pages/login/login';
@@ -26,6 +27,8 @@ import { BuilderPage } from '../pages/builder/builder';
import { StatusPage } from '../pages/status/status';
import { CarSlideComponent } from '../components/car-slide/car-slide';
import { HeaderComponent } from '../components/header/header';
+import { SettingsPage } from '../pages/settings/settings';
+import { ConfigProvider } from '../providers/config/config';
// This needs to be changed if interacting with Ionic services - https://docs.ionic.io/setup.html
const cloudSettings: CloudSettings = {
@@ -38,6 +41,7 @@ const cloudSettings: CloudSettings = {
declarations: [
MyApp,
LoginPage,
+ SettingsPage,
DesignerPage,
BuilderPage,
StatusPage,
@@ -54,6 +58,7 @@ const cloudSettings: CloudSettings = {
entryComponents: [
MyApp,
LoginPage,
+ SettingsPage,
DesignerPage,
BuilderPage,
StatusPage
@@ -61,7 +66,9 @@ const cloudSettings: CloudSettings = {
providers: [
StatusBar,
SplashScreen,
- {provide: ErrorHandler, useClass: IonicErrorHandler}
+ Keyboard,
+ {provide: ErrorHandler, useClass: IonicErrorHandler},
+ ConfigProvider
]
})
export class AppModule {}
diff --git a/packages/vehicle-manufacture-car-builder/src/assets/arium_nebula.svg b/packages/vehicle-manufacture-car-builder/src/assets/arium_nebula.svg
new file mode 100644
index 00000000..5da42781
--- /dev/null
+++ b/packages/vehicle-manufacture-car-builder/src/assets/arium_nebula.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/vehicle-manufacture-car-builder/src/assets/arium_nova.svg b/packages/vehicle-manufacture-car-builder/src/assets/arium_nova.svg
new file mode 100644
index 00000000..858cc1a7
--- /dev/null
+++ b/packages/vehicle-manufacture-car-builder/src/assets/arium_nova.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/vehicle-manufacture-car-builder/src/assets/arium_thanos.svg b/packages/vehicle-manufacture-car-builder/src/assets/arium_thanos.svg
new file mode 100644
index 00000000..49caf432
--- /dev/null
+++ b/packages/vehicle-manufacture-car-builder/src/assets/arium_thanos.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/vehicle-manufacture-car-builder/src/assets/arrow_left.svg b/packages/vehicle-manufacture-car-builder/src/assets/arrow_left.svg
new file mode 100644
index 00000000..5a6e428d
--- /dev/null
+++ b/packages/vehicle-manufacture-car-builder/src/assets/arrow_left.svg
@@ -0,0 +1,15 @@
+
+
\ No newline at end of file
diff --git a/packages/vehicle-manufacture-car-builder/src/assets/bmw_1.jpeg b/packages/vehicle-manufacture-car-builder/src/assets/bmw_1.jpeg
deleted file mode 100644
index e081729b..00000000
Binary files a/packages/vehicle-manufacture-car-builder/src/assets/bmw_1.jpeg and /dev/null differ
diff --git a/packages/vehicle-manufacture-car-builder/src/assets/bmw_2.png b/packages/vehicle-manufacture-car-builder/src/assets/bmw_2.png
deleted file mode 100644
index 31f2aee3..00000000
Binary files a/packages/vehicle-manufacture-car-builder/src/assets/bmw_2.png and /dev/null differ
diff --git a/packages/vehicle-manufacture-car-builder/src/assets/bmw_3.jpeg b/packages/vehicle-manufacture-car-builder/src/assets/bmw_3.jpeg
deleted file mode 100644
index a43b7e7c..00000000
Binary files a/packages/vehicle-manufacture-car-builder/src/assets/bmw_3.jpeg and /dev/null differ
diff --git a/packages/vehicle-manufacture-car-builder/src/assets/cog.svg b/packages/vehicle-manufacture-car-builder/src/assets/cog.svg
new file mode 100644
index 00000000..e8376042
--- /dev/null
+++ b/packages/vehicle-manufacture-car-builder/src/assets/cog.svg
@@ -0,0 +1,15 @@
+
\ No newline at end of file
diff --git a/packages/vehicle-manufacture-car-builder/src/components/car-slide/car-slide.html b/packages/vehicle-manufacture-car-builder/src/components/car-slide/car-slide.html
index 3d1afd31..a112741b 100644
--- a/packages/vehicle-manufacture-car-builder/src/components/car-slide/car-slide.html
+++ b/packages/vehicle-manufacture-car-builder/src/components/car-slide/car-slide.html
@@ -17,7 +17,7 @@
Car
Arium {{car.name}}
-
+
diff --git a/packages/vehicle-manufacture-car-builder/src/components/car-slide/car-slide.module.ts b/packages/vehicle-manufacture-car-builder/src/components/car-slide/car-slide.module.ts
deleted file mode 100644
index 68c1a48b..00000000
--- a/packages/vehicle-manufacture-car-builder/src/components/car-slide/car-slide.module.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-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 { IonicModule } from 'ionic-angular';
-import { CarSlideComponent } from './car-slide';
-
-@NgModule({
- declarations: [
- CarSlideComponent,
- ],
- imports: [
- IonicModule.forRoot(CarSlideComponent),
- ],
- exports: [
- CarSlideComponent
- ]
-})
-export class CarSlideComponentModule {}
diff --git a/packages/vehicle-manufacture-car-builder/src/components/car-slide/car-slide.scss b/packages/vehicle-manufacture-car-builder/src/components/car-slide/car-slide.scss
index 2c5a0204..c23d725d 100644
--- a/packages/vehicle-manufacture-car-builder/src/components/car-slide/car-slide.scss
+++ b/packages/vehicle-manufacture-car-builder/src/components/car-slide/car-slide.scss
@@ -16,6 +16,10 @@ car-slide {
padding: 0 0 0 25px;
}
+ .image {
+ background-color: #F3F3F3;
+ }
+
.build {
img {
margin-right: 0!important;
diff --git a/packages/vehicle-manufacture-car-builder/src/components/header/header.module.ts b/packages/vehicle-manufacture-car-builder/src/components/header/header.module.ts
deleted file mode 100644
index e3d18985..00000000
--- a/packages/vehicle-manufacture-car-builder/src/components/header/header.module.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-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 { IonicModule } from 'ionic-angular';
-import { HeaderComponent } from './header';
-
-@NgModule({
- declarations: [
- HeaderComponent,
- ],
- imports: [
- IonicModule.forRoot(HeaderComponent),
- ],
- exports: [
- HeaderComponent
- ]
-})
-export class HeaderComponentModule {}
diff --git a/packages/vehicle-manufacture-car-builder/src/pages/builder/builder.html b/packages/vehicle-manufacture-car-builder/src/pages/builder/builder.html
index 40efd21d..1542adbb 100644
--- a/packages/vehicle-manufacture-car-builder/src/pages/builder/builder.html
+++ b/packages/vehicle-manufacture-car-builder/src/pages/builder/builder.html
@@ -168,6 +168,6 @@
Tinted Windows
-
+
diff --git a/packages/vehicle-manufacture-car-builder/src/pages/builder/builder.module.ts b/packages/vehicle-manufacture-car-builder/src/pages/builder/builder.module.ts
deleted file mode 100644
index ca7f1135..00000000
--- a/packages/vehicle-manufacture-car-builder/src/pages/builder/builder.module.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-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 { IonicModule } from 'ionic-angular';
-import { BuilderPage } from './builder';
-
-@NgModule({
- declarations: [
- BuilderPage,
- ],
- imports: [
- IonicModule.forRoot(BuilderPage),
- ],
- exports: [
- BuilderPage
- ]
-})
-export class BuilderPageModule {}
diff --git a/packages/vehicle-manufacture-car-builder/src/pages/builder/builder.ts b/packages/vehicle-manufacture-car-builder/src/pages/builder/builder.ts
index 1b38edb8..a823ac83 100644
--- a/packages/vehicle-manufacture-car-builder/src/pages/builder/builder.ts
+++ b/packages/vehicle-manufacture-car-builder/src/pages/builder/builder.ts
@@ -12,9 +12,10 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import { Component } from '@angular/core';
-import { IonicPage, NavController, NavParams } from 'ionic-angular';
+import { NavController, NavParams } from 'ionic-angular';
import { StatusPage } from '../status/status';
-import { Http, Response } from '@angular/http';
+import { Http } from '@angular/http';
+import { ConfigProvider } from '../../providers/config/config';
/**
* Generated class for the BuilderPage page.
@@ -22,7 +23,6 @@ import { Http, Response } from '@angular/http';
* See http://ionicframework.com/docs/components/#navigation for more info
* on Ionic pages and navigation.
*/
-@IonicPage()
@Component({
selector: 'page-builder',
templateUrl: 'builder.html'
@@ -31,25 +31,20 @@ export class BuilderPage {
car: any;
states: any;
selected: string;
- ready: Promise;
- config: any;
- constructor(private navController: NavController, private navParams: NavParams, private http: Http) {
+ private config = {};
+ private ready = false;
+
+ constructor(private navController: NavController, private navParams: NavParams, private http: Http, private configProvider: ConfigProvider) {
this.car = navParams.get('car');
this.states = {};
- this.ready = this.loadConfig()
- .then((config) => {
- this.config = config;
- console.log('Config loaded:',this.config)
- });
- }
-
- loadConfig(): Promise {
- // Load the config data.
- return this.http.get('/assets/config.json')
- .map((res: Response) => res.json())
- .toPromise();
+ this.configProvider.ready.subscribe((ready) => {
+ if (ready) {
+ this.ready = true;
+ this.config = this.configProvider.getConfig();
+ }
+ });
}
open(option) {
@@ -111,31 +106,29 @@ export class BuilderPage {
orderId: this.generateID()
};
- this.ready.then(() => {
-
- let parent = this;
-
- var data = JSON.stringify(order);
-
- var xhr = new XMLHttpRequest();
- xhr.withCredentials = true;
-
- xhr.addEventListener("readystatechange", function () {
- if (this.readyState === 4 && this.status === 200) {
- parent.navController.push(StatusPage, {
- car: parent.car,
- orderId: order.orderId
- });
- } else if (this.readyState === 4) {
- document.getElementById('purchase').getElementsByTagName('span')[0].innerHTML = 'An error occurred';
- console.log('RESPONSE TEXT', this.responseText);
- }
- });
- xhr.open("POST", this.config.restServer.httpURL+"/PlaceOrder");
- xhr.setRequestHeader("Content-Type", "application/json");
- xhr.send(data);
- document.getElementById('purchase').getElementsByTagName('span')[0].innerHTML = 'Sending request...';
+
+ let parent = this;
+
+ var data = JSON.stringify(order);
+
+ var xhr = new XMLHttpRequest();
+ xhr.withCredentials = true;
+
+ xhr.addEventListener("readystatechange", function () {
+ if (this.readyState === 4 && this.status === 200) {
+ parent.navController.push(StatusPage, {
+ car: parent.car,
+ orderId: order.orderId
+ });
+ } else if (this.readyState === 4) {
+ document.getElementById('purchase').getElementsByTagName('span')[0].innerHTML = 'An error occurred';
+ console.log('RESPONSE TEXT', this.responseText);
+ }
});
+ xhr.open("POST", this.config['restServer'].httpURL+"/PlaceOrder");
+ xhr.setRequestHeader("Content-Type", "application/json");
+ xhr.send(data);
+ document.getElementById('purchase').getElementsByTagName('span')[0].innerHTML = 'Sending request...';
}
containsExtra(state) {
diff --git a/packages/vehicle-manufacture-car-builder/src/pages/designer/designer.ts b/packages/vehicle-manufacture-car-builder/src/pages/designer/designer.ts
index 7ca7629d..d4526aae 100644
--- a/packages/vehicle-manufacture-car-builder/src/pages/designer/designer.ts
+++ b/packages/vehicle-manufacture-car-builder/src/pages/designer/designer.ts
@@ -24,16 +24,22 @@ export class DesignerPage {
constructor(public navController: NavController) {
this.cars = [{
name: 'Nebula',
- image: 'bmw_2.png',
- zoom: 'cover'
+ image: 'arium_nebula.svg',
+ zoom: 'contain',
+ repeat: 'no-repeat',
+ position: 'right'
}, {
name: 'Nova',
- image: 'bmw_1.jpeg',
- zoom: 'cover'
+ image: 'arium_nova.svg',
+ zoom: 'contain',
+ repeat: 'no-repeat',
+ position: 'right'
}, {
name: 'Thanos',
- image: 'bmw_3.jpeg',
- zoom: 'cover'
+ image: 'arium_thanos.svg',
+ zoom: 'contain',
+ repeat: 'no-repeat',
+ position: 'right'
}]
}
diff --git a/packages/vehicle-manufacture-car-builder/src/pages/login/login.html b/packages/vehicle-manufacture-car-builder/src/pages/login/login.html
index 377969f8..54762b3d 100644
--- a/packages/vehicle-manufacture-car-builder/src/pages/login/login.html
+++ b/packages/vehicle-manufacture-car-builder/src/pages/login/login.html
@@ -14,6 +14,7 @@
+
diff --git a/packages/vehicle-manufacture-car-builder/src/pages/login/login.module.ts b/packages/vehicle-manufacture-car-builder/src/pages/login/login.module.ts
deleted file mode 100644
index 26c575df..00000000
--- a/packages/vehicle-manufacture-car-builder/src/pages/login/login.module.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-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 { IonicModule } from 'ionic-angular';
-import { LoginPage } from './login';
-
-@NgModule({
- declarations: [
- LoginPage,
- ],
- imports: [
- IonicModule.forRoot(LoginPage),
- ],
- exports: [
- LoginPage
- ]
-})
-export class LoginPageModule {}
diff --git a/packages/vehicle-manufacture-car-builder/src/pages/login/login.scss b/packages/vehicle-manufacture-car-builder/src/pages/login/login.scss
index 403d658b..8800543b 100644
--- a/packages/vehicle-manufacture-car-builder/src/pages/login/login.scss
+++ b/packages/vehicle-manufacture-car-builder/src/pages/login/login.scss
@@ -25,6 +25,14 @@ page-login {
background: url("../assets/background.png");
background-size: cover;
+ #cog {
+ position: absolute;
+ top: 25px;
+ right: 25px;
+ cursor: pointer;
+ z-index: 11;
+ }
+
.map {
position: absolute;
z-index: 5;
diff --git a/packages/vehicle-manufacture-car-builder/src/pages/login/login.ts b/packages/vehicle-manufacture-car-builder/src/pages/login/login.ts
index 63ec4cce..028b0971 100644
--- a/packages/vehicle-manufacture-car-builder/src/pages/login/login.ts
+++ b/packages/vehicle-manufacture-car-builder/src/pages/login/login.ts
@@ -12,8 +12,9 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import { Component } from '@angular/core';
-import { IonicPage, NavController, NavParams } from 'ionic-angular';
+import { NavController, NavParams } from 'ionic-angular';
import { DesignerPage } from '../designer/designer';
+import { SettingsPage } from '../settings/settings';
/**
* Generated class for the LoginPage page.
@@ -21,7 +22,6 @@ import { DesignerPage } from '../designer/designer';
* See http://ionicframework.com/docs/components/#navigation for more info
* on Ionic pages and navigation.
*/
-@IonicPage()
@Component({
selector: 'page-login',
templateUrl: 'login.html',
@@ -36,4 +36,7 @@ export class LoginPage {
this.navController.push(DesignerPage);
}
+ settings() {
+ this.navController.push(SettingsPage);
+ }
}
diff --git a/packages/vehicle-manufacture-car-builder/src/pages/settings/settings.html b/packages/vehicle-manufacture-car-builder/src/pages/settings/settings.html
new file mode 100644
index 00000000..6c8fbc96
--- /dev/null
+++ b/packages/vehicle-manufacture-car-builder/src/pages/settings/settings.html
@@ -0,0 +1,33 @@
+
+
+