Commit 5e0d50ed by Adarsh K

latest change

parent edf41b5d
...@@ -28,7 +28,7 @@ plugins/ ...@@ -28,7 +28,7 @@ plugins/
plugins/android.json plugins/android.json
plugins/ios.json plugins/ios.json
$RECYCLE.BIN/ $RECYCLE.BIN/
package-lock.json
.DS_Store .DS_Store
Thumbs.db Thumbs.db
UserInterfaceState.xcuserstate UserInterfaceState.xcuserstate
...@@ -103,5 +103,4 @@ ...@@ -103,5 +103,4 @@
</plugin> </plugin>
<plugin name="cordova-plugin-nativegeocoder" spec="3.2.2" /> <plugin name="cordova-plugin-nativegeocoder" spec="3.2.2" />
<plugin name="cordova-plugin-statusbar" spec="^2.4.2" /> <plugin name="cordova-plugin-statusbar" spec="^2.4.2" />
<engine name="android" spec="7.1.4" />
</widget> </widget>
...@@ -604,7 +604,8 @@ ...@@ -604,7 +604,8 @@
"minimist": { "minimist": {
"version": "0.0.8", "version": "0.0.8",
"bundled": true, "bundled": true,
"dev": true "dev": true,
"optional": true
}, },
"minipass": { "minipass": {
"version": "2.3.5", "version": "2.3.5",
...@@ -629,6 +630,7 @@ ...@@ -629,6 +630,7 @@
"version": "0.5.1", "version": "0.5.1",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"minimist": "0.0.8" "minimist": "0.0.8"
} }
...@@ -1951,6 +1953,11 @@ ...@@ -1951,6 +1953,11 @@
"through": ">=2.2.7 <3" "through": ">=2.2.7 <3"
} }
}, },
"abbrev": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
"integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
},
"accepts": { "accepts": {
"version": "1.3.7", "version": "1.3.7",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
...@@ -2038,6 +2045,26 @@ ...@@ -2038,6 +2045,26 @@
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
"dev": true "dev": true
}, },
"android-versions": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/android-versions/-/android-versions-1.4.0.tgz",
"integrity": "sha512-GnomfYsBq+nZh3c3UH/4r9Jt6FuTxdhUJbeHIdYOH5xBhQ8I0ZzC2/RM5IFFIjrzuNWSHb8JWP1lPK0/a26jrg==",
"requires": {
"semver": "^5.4.1"
},
"dependencies": {
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
}
}
},
"ansi": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz",
"integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE="
},
"ansi-colors": { "ansi-colors": {
"version": "3.2.4", "version": "3.2.4",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
...@@ -2530,8 +2557,7 @@ ...@@ -2530,8 +2557,7 @@
"base64-js": { "base64-js": {
"version": "1.3.1", "version": "1.3.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
"integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g=="
"dev": true
}, },
"base64id": { "base64id": {
"version": "1.0.0", "version": "1.0.0",
...@@ -2563,6 +2589,11 @@ ...@@ -2563,6 +2589,11 @@
"callsite": "1.0.0" "callsite": "1.0.0"
} }
}, },
"big-integer": {
"version": "1.6.44",
"resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.44.tgz",
"integrity": "sha512-7MzElZPTyJ2fNvBkPxtFQ2fWIkVmuzw41+BZHSzpEq3ymB2MfeKp1+yXl/tS75xCx+WnyV+yb0kp+K1C3UNwmQ=="
},
"big.js": { "big.js": {
"version": "5.2.2", "version": "5.2.2",
"resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
...@@ -2648,6 +2679,14 @@ ...@@ -2648,6 +2679,14 @@
"multicast-dns-service-types": "^1.1.0" "multicast-dns-service-types": "^1.1.0"
} }
}, },
"bplist-parser": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz",
"integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=",
"requires": {
"big-integer": "^1.6.7"
}
},
"brace-expansion": { "brace-expansion": {
"version": "1.1.11", "version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
...@@ -3396,212 +3435,48 @@ ...@@ -3396,212 +3435,48 @@
} }
}, },
"cordova-android": { "cordova-android": {
"version": "7.1.4", "version": "8.0.0",
"resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-7.1.4.tgz", "resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-8.0.0.tgz",
"integrity": "sha512-Rtvu002I83uzfVyCsE6p2krFKVHt9TSAqZUATes+zH+o9cdxYGrLHY+PKCQo4SLCdSMdrkIHCDnQPTYTp/d7+g==", "integrity": "sha512-Ipv8HbVJpxEyYFSFLTEOaLRp0yxBtJVNbgSuDEB4naa34FzQaRWSNiiMcPJnO+x3hRXNt7pcwa46hARNzhn7+w==",
"requires": { "requires": {
"abbrev": "*", "android-versions": "^1.3.0",
"android-versions": "1.4.0", "cordova-common": "^3.1.0",
"ansi": "*", "elementtree": "^0.1.7",
"balanced-match": "*", "nopt": "^4.0.1",
"base64-js": "1.2.0", "properties-parser": "^0.3.1",
"big-integer": "1.6.32", "q": "^1.4.1",
"bplist-parser": "*", "shelljs": "^0.5.3"
"brace-expansion": "*", }
"concat-map": "*", },
"cordova-common": "2.2.5", "cordova-common": {
"cordova-registry-mapper": "*", "version": "3.2.0",
"elementtree": "0.1.6", "resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-3.2.0.tgz",
"glob": "5.0.15", "integrity": "sha512-EvlQ6PirfR65hGDoQvsluW00uSS2MTVIRKQ3c1Xvsddx7D5T5JgF3fHWkGik/Y/8yNcpI0zI2NcJyie2z/ak2A==",
"inflight": "*", "requires": {
"inherits": "*", "ansi": "^0.3.1",
"minimatch": "*", "bplist-parser": "^0.1.0",
"nopt": "3.0.1", "cross-spawn": "^6.0.5",
"once": "*", "elementtree": "0.1.7",
"path-is-absolute": "1.0.1", "endent": "^1.1.1",
"plist": "2.1.0", "fs-extra": "^8.0.0",
"properties-parser": "0.2.3", "glob": "^7.1.2",
"q": "1.4.1", "minimatch": "^3.0.0",
"sax": "0.3.5", "plist": "^3.0.1",
"semver": "5.5.0", "q": "^1.4.1",
"shelljs": "0.5.3", "strip-bom": "^3.0.0",
"underscore": "*", "underscore": "^1.8.3",
"unorm": "*", "which": "^1.3.0"
"wrappy": "*",
"xmlbuilder": "8.2.2",
"xmldom": "*"
}, },
"dependencies": { "dependencies": {
"abbrev": { "fs-extra": {
"version": "1.1.1", "version": "8.1.0",
"bundled": true "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
}, "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"android-versions": {
"version": "1.4.0",
"bundled": true,
"requires": {
"semver": "^5.4.1"
}
},
"ansi": {
"version": "0.3.1",
"bundled": true
},
"balanced-match": {
"version": "1.0.0",
"bundled": true
},
"base64-js": {
"version": "1.2.0",
"bundled": true
},
"big-integer": {
"version": "1.6.32",
"bundled": true
},
"bplist-parser": {
"version": "0.1.1",
"bundled": true,
"requires": {
"big-integer": "^1.6.7"
}
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"concat-map": {
"version": "0.0.1",
"bundled": true
},
"cordova-common": {
"version": "2.2.5",
"bundled": true,
"requires": {
"ansi": "^0.3.1",
"bplist-parser": "^0.1.0",
"cordova-registry-mapper": "^1.1.8",
"elementtree": "0.1.6",
"glob": "^5.0.13",
"minimatch": "^3.0.0",
"plist": "^2.1.0",
"q": "^1.4.1",
"shelljs": "^0.5.3",
"underscore": "^1.8.3",
"unorm": "^1.3.3"
}
},
"cordova-registry-mapper": {
"version": "1.1.15",
"bundled": true
},
"elementtree": {
"version": "0.1.6",
"bundled": true,
"requires": {
"sax": "0.3.5"
}
},
"glob": {
"version": "5.0.15",
"bundled": true,
"requires": {
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "2 || 3",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
},
"inflight": {
"version": "1.0.6",
"bundled": true,
"requires": {
"once": "^1.3.0",
"wrappy": "1"
}
},
"inherits": {
"version": "2.0.3",
"bundled": true
},
"minimatch": {
"version": "3.0.4",
"bundled": true,
"requires": {
"brace-expansion": "^1.1.7"
}
},
"nopt": {
"version": "3.0.1",
"bundled": true,
"requires": {
"abbrev": "1"
}
},
"once": {
"version": "1.4.0",
"bundled": true,
"requires": {
"wrappy": "1"
}
},
"path-is-absolute": {
"version": "1.0.1",
"bundled": true
},
"plist": {
"version": "2.1.0",
"bundled": true,
"requires": { "requires": {
"base64-js": "1.2.0", "graceful-fs": "^4.2.0",
"xmlbuilder": "8.2.2", "jsonfile": "^4.0.0",
"xmldom": "0.1.x" "universalify": "^0.1.0"
} }
},
"properties-parser": {
"version": "0.2.3",
"bundled": true
},
"q": {
"version": "1.4.1",
"bundled": true
},
"sax": {
"version": "0.3.5",
"bundled": true
},
"semver": {
"version": "5.5.0",
"bundled": true
},
"shelljs": {
"version": "0.5.3",
"bundled": true
},
"underscore": {
"version": "1.9.1",
"bundled": true
},
"unorm": {
"version": "1.4.1",
"bundled": true
},
"wrappy": {
"version": "1.0.2",
"bundled": true
},
"xmlbuilder": {
"version": "8.2.2",
"bundled": true
},
"xmldom": {
"version": "0.1.27",
"bundled": true
} }
} }
}, },
...@@ -3722,7 +3597,6 @@ ...@@ -3722,7 +3597,6 @@
"version": "6.0.5", "version": "6.0.5",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
"integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
"dev": true,
"requires": { "requires": {
"nice-try": "^1.0.4", "nice-try": "^1.0.4",
"path-key": "^2.0.1", "path-key": "^2.0.1",
...@@ -3734,8 +3608,7 @@ ...@@ -3734,8 +3608,7 @@
"semver": { "semver": {
"version": "5.7.0", "version": "5.7.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz",
"integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA=="
"dev": true
} }
} }
}, },
...@@ -3855,11 +3728,15 @@ ...@@ -3855,11 +3728,15 @@
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
"dev": true "dev": true
}, },
"dedent": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
"integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw="
},
"deep-equal": { "deep-equal": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
"integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU="
"dev": true
}, },
"default-gateway": { "default-gateway": {
"version": "4.2.0", "version": "4.2.0",
...@@ -3884,7 +3761,6 @@ ...@@ -3884,7 +3761,6 @@
"version": "1.1.3", "version": "1.1.3",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
"integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
"dev": true,
"requires": { "requires": {
"object-keys": "^1.0.12" "object-keys": "^1.0.12"
} }
...@@ -3930,6 +3806,11 @@ ...@@ -3930,6 +3806,11 @@
} }
} }
}, },
"defined": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
"integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM="
},
"del": { "del": {
"version": "4.1.1", "version": "4.1.1",
"resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz",
...@@ -4141,6 +4022,21 @@ ...@@ -4141,6 +4022,21 @@
"integrity": "sha512-ZsaFWi+9J9Nsm4OmGM/BvZF3HEeZL4bte1+CcN9vHUcqdkOOVAXP4SeacPZ/W5uCQZEKPYBXg6yUjZx8/jpD0Q==", "integrity": "sha512-ZsaFWi+9J9Nsm4OmGM/BvZF3HEeZL4bte1+CcN9vHUcqdkOOVAXP4SeacPZ/W5uCQZEKPYBXg6yUjZx8/jpD0Q==",
"dev": true "dev": true
}, },
"elementtree": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.7.tgz",
"integrity": "sha1-mskb5uUvtuYkTE5UpKw+2K6OKcA=",
"requires": {
"sax": "1.1.4"
},
"dependencies": {
"sax": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.1.4.tgz",
"integrity": "sha1-dLbTPJrh4AFRDxeakRaFiPGu2qk="
}
}
},
"elliptic": { "elliptic": {
"version": "6.5.0", "version": "6.5.0",
"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.0.tgz", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.0.tgz",
...@@ -4191,6 +4087,16 @@ ...@@ -4191,6 +4087,16 @@
"once": "^1.4.0" "once": "^1.4.0"
} }
}, },
"endent": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/endent/-/endent-1.3.0.tgz",
"integrity": "sha512-C8AryqPPwtydqcpO5AF6k9Bd1EpFkQtvsefJqS3y3n8TG13Jy63MascDxTOULZYqrUde+dK6BjNc6LIMr3iI2A==",
"requires": {
"dedent": "^0.7.0",
"fast-json-parse": "^1.0.3",
"objectorarray": "^1.0.3"
}
},
"engine.io": { "engine.io": {
"version": "3.2.1", "version": "3.2.1",
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz", "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz",
...@@ -4338,7 +4244,6 @@ ...@@ -4338,7 +4244,6 @@
"version": "1.13.0", "version": "1.13.0",
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz",
"integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==",
"dev": true,
"requires": { "requires": {
"es-to-primitive": "^1.2.0", "es-to-primitive": "^1.2.0",
"function-bind": "^1.1.1", "function-bind": "^1.1.1",
...@@ -4352,7 +4257,6 @@ ...@@ -4352,7 +4257,6 @@
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
"integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
"dev": true,
"requires": { "requires": {
"is-callable": "^1.1.4", "is-callable": "^1.1.4",
"is-date-object": "^1.0.1", "is-date-object": "^1.0.1",
...@@ -4683,6 +4587,11 @@ ...@@ -4683,6 +4587,11 @@
"integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
"dev": true "dev": true
}, },
"fast-json-parse": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/fast-json-parse/-/fast-json-parse-1.0.3.tgz",
"integrity": "sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw=="
},
"fast-json-stable-stringify": { "fast-json-stable-stringify": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
...@@ -4844,6 +4753,14 @@ ...@@ -4844,6 +4753,14 @@
} }
} }
}, },
"for-each": {
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
"integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
"requires": {
"is-callable": "^1.1.3"
}
},
"for-in": { "for-in": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
...@@ -4963,8 +4880,7 @@ ...@@ -4963,8 +4880,7 @@
"function-bind": { "function-bind": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
"dev": true
}, },
"genfun": { "genfun": {
"version": "5.0.0", "version": "5.0.0",
...@@ -5067,8 +4983,7 @@ ...@@ -5067,8 +4983,7 @@
"graceful-fs": { "graceful-fs": {
"version": "4.2.1", "version": "4.2.1",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.1.tgz", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.1.tgz",
"integrity": "sha512-b9usnbDGnD928gJB3LrCmxoibr3VE4U2SMo5PBuBnokWyDADTqDPXg4YpwKF1trpH+UbGp7QLicO3+aWEy0+mw==", "integrity": "sha512-b9usnbDGnD928gJB3LrCmxoibr3VE4U2SMo5PBuBnokWyDADTqDPXg4YpwKF1trpH+UbGp7QLicO3+aWEy0+mw=="
"dev": true
}, },
"grpc": { "grpc": {
"version": "1.22.2", "version": "1.22.2",
...@@ -5603,7 +5518,6 @@ ...@@ -5603,7 +5518,6 @@
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"dev": true,
"requires": { "requires": {
"function-bind": "^1.1.1" "function-bind": "^1.1.1"
} }
...@@ -5649,8 +5563,7 @@ ...@@ -5649,8 +5563,7 @@
"has-symbols": { "has-symbols": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
"integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q="
"dev": true
}, },
"has-value": { "has-value": {
"version": "1.0.0", "version": "1.0.0",
...@@ -6149,8 +6062,7 @@ ...@@ -6149,8 +6062,7 @@
"is-callable": { "is-callable": {
"version": "1.1.4", "version": "1.1.4",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
"integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA=="
"dev": true
}, },
"is-data-descriptor": { "is-data-descriptor": {
"version": "0.1.4", "version": "0.1.4",
...@@ -6175,8 +6087,7 @@ ...@@ -6175,8 +6087,7 @@
"is-date-object": { "is-date-object": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
"integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY="
"dev": true
}, },
"is-descriptor": { "is-descriptor": {
"version": "0.1.6", "version": "0.1.6",
...@@ -6294,7 +6205,6 @@ ...@@ -6294,7 +6205,6 @@
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
"integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
"dev": true,
"requires": { "requires": {
"has": "^1.0.1" "has": "^1.0.1"
} }
...@@ -6308,7 +6218,6 @@ ...@@ -6308,7 +6218,6 @@
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
"integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
"dev": true,
"requires": { "requires": {
"has-symbols": "^1.0.0" "has-symbols": "^1.0.0"
} }
...@@ -6349,8 +6258,7 @@ ...@@ -6349,8 +6258,7 @@
"isexe": { "isexe": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
"dev": true
}, },
"isobject": { "isobject": {
"version": "3.0.1", "version": "3.0.1",
...@@ -6692,7 +6600,6 @@ ...@@ -6692,7 +6600,6 @@
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
"dev": true,
"requires": { "requires": {
"graceful-fs": "^4.1.6" "graceful-fs": "^4.1.6"
} }
...@@ -8028,8 +7935,7 @@ ...@@ -8028,8 +7935,7 @@
"minimist": { "minimist": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
"dev": true
}, },
"minipass": { "minipass": {
"version": "2.3.5", "version": "2.3.5",
...@@ -8205,8 +8111,7 @@ ...@@ -8205,8 +8111,7 @@
"nice-try": { "nice-try": {
"version": "1.0.5", "version": "1.0.5",
"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
"dev": true
}, },
"node-fetch": { "node-fetch": {
"version": "1.7.3", "version": "1.7.3",
...@@ -8290,6 +8195,15 @@ ...@@ -8290,6 +8195,15 @@
} }
} }
}, },
"nopt": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
"integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
"requires": {
"abbrev": "1",
"osenv": "^0.1.4"
}
},
"normalize-package-data": { "normalize-package-data": {
"version": "2.5.0", "version": "2.5.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
...@@ -8478,11 +8392,15 @@ ...@@ -8478,11 +8392,15 @@
} }
} }
}, },
"object-inspect": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz",
"integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ=="
},
"object-keys": { "object-keys": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
"dev": true
}, },
"object-visit": { "object-visit": {
"version": "1.0.1", "version": "1.0.1",
...@@ -8512,6 +8430,14 @@ ...@@ -8512,6 +8430,14 @@
"isobject": "^3.0.1" "isobject": "^3.0.1"
} }
}, },
"objectorarray": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/objectorarray/-/objectorarray-1.0.3.tgz",
"integrity": "sha512-kPoflSYkAf/Onvjr4ZLaq37vDuOXjVzfwLCRuORRzYGdXkHa/vacPT0RgR+KmtkwOYFcxTMM62BRrZk8GGKHjw==",
"requires": {
"tape": "^4.8.0"
}
},
"obuf": { "obuf": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
...@@ -8617,8 +8543,7 @@ ...@@ -8617,8 +8543,7 @@
"os-homedir": { "os-homedir": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
"dev": true
}, },
"os-locale": { "os-locale": {
"version": "3.1.0", "version": "3.1.0",
...@@ -8634,14 +8559,12 @@ ...@@ -8634,14 +8559,12 @@
"os-tmpdir": { "os-tmpdir": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
"dev": true
}, },
"osenv": { "osenv": {
"version": "0.1.5", "version": "0.1.5",
"resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
"integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
"dev": true,
"requires": { "requires": {
"os-homedir": "^1.0.0", "os-homedir": "^1.0.0",
"os-tmpdir": "^1.0.0" "os-tmpdir": "^1.0.0"
...@@ -8856,14 +8779,12 @@ ...@@ -8856,14 +8779,12 @@
"path-key": { "path-key": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
"integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
"dev": true
}, },
"path-parse": { "path-parse": {
"version": "1.0.6", "version": "1.0.6",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
"integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
"dev": true
}, },
"path-to-regexp": { "path-to-regexp": {
"version": "0.1.7", "version": "0.1.7",
...@@ -8943,6 +8864,16 @@ ...@@ -8943,6 +8864,16 @@
"find-up": "^3.0.0" "find-up": "^3.0.0"
} }
}, },
"plist": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz",
"integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==",
"requires": {
"base64-js": "^1.2.3",
"xmlbuilder": "^9.0.7",
"xmldom": "0.1.x"
}
},
"portfinder": { "portfinder": {
"version": "1.0.21", "version": "1.0.21",
"resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.21.tgz", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.21.tgz",
...@@ -9093,6 +9024,14 @@ ...@@ -9093,6 +9024,14 @@
} }
} }
}, },
"properties-parser": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/properties-parser/-/properties-parser-0.3.1.tgz",
"integrity": "sha1-ExbpU5/7/ZOEXjabIRAiq9R4dxo=",
"requires": {
"string.prototype.codepointat": "^0.2.0"
}
},
"protobufjs": { "protobufjs": {
"version": "6.8.8", "version": "6.8.8",
"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.8.tgz", "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.8.tgz",
...@@ -9362,8 +9301,7 @@ ...@@ -9362,8 +9301,7 @@
"q": { "q": {
"version": "1.4.1", "version": "1.4.1",
"resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
"integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4="
"dev": true
}, },
"qjobs": { "qjobs": {
"version": "1.2.0", "version": "1.2.0",
...@@ -9712,6 +9650,14 @@ ...@@ -9712,6 +9650,14 @@
"signal-exit": "^3.0.2" "signal-exit": "^3.0.2"
} }
}, },
"resumer": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz",
"integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=",
"requires": {
"through": "~2.3.4"
}
},
"ret": { "ret": {
"version": "0.1.15", "version": "0.1.15",
"resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
...@@ -10103,7 +10049,6 @@ ...@@ -10103,7 +10049,6 @@
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
"integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
"dev": true,
"requires": { "requires": {
"shebang-regex": "^1.0.0" "shebang-regex": "^1.0.0"
} }
...@@ -10111,8 +10056,12 @@ ...@@ -10111,8 +10056,12 @@
"shebang-regex": { "shebang-regex": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
"dev": true },
"shelljs": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz",
"integrity": "sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM="
}, },
"signal-exit": { "signal-exit": {
"version": "3.0.2", "version": "3.0.2",
...@@ -10787,6 +10736,21 @@ ...@@ -10787,6 +10736,21 @@
} }
} }
}, },
"string.prototype.codepointat": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz",
"integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg=="
},
"string.prototype.trim": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz",
"integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=",
"requires": {
"define-properties": "^1.1.2",
"es-abstract": "^1.5.0",
"function-bind": "^1.0.2"
}
},
"string_decoder": { "string_decoder": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
...@@ -10807,8 +10771,7 @@ ...@@ -10807,8 +10771,7 @@
"strip-bom": { "strip-bom": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
"integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
"dev": true
}, },
"strip-eof": { "strip-eof": {
"version": "1.0.0", "version": "1.0.0",
...@@ -10897,6 +10860,36 @@ ...@@ -10897,6 +10860,36 @@
"integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
"dev": true "dev": true
}, },
"tape": {
"version": "4.11.0",
"resolved": "https://registry.npmjs.org/tape/-/tape-4.11.0.tgz",
"integrity": "sha512-yixvDMX7q7JIs/omJSzSZrqulOV51EC9dK8dM0TzImTIkHWfe2/kFyL5v+d9C+SrCMaICk59ujsqFAVidDqDaA==",
"requires": {
"deep-equal": "~1.0.1",
"defined": "~1.0.0",
"for-each": "~0.3.3",
"function-bind": "~1.1.1",
"glob": "~7.1.4",
"has": "~1.0.3",
"inherits": "~2.0.4",
"minimist": "~1.2.0",
"object-inspect": "~1.6.0",
"resolve": "~1.11.1",
"resumer": "~0.0.0",
"string.prototype.trim": "~1.1.2",
"through": "~2.3.8"
},
"dependencies": {
"resolve": {
"version": "1.11.1",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz",
"integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==",
"requires": {
"path-parse": "^1.0.6"
}
}
}
},
"tar": { "tar": {
"version": "4.4.10", "version": "4.4.10",
"resolved": "https://registry.npmjs.org/tar/-/tar-4.4.10.tgz", "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.10.tgz",
...@@ -10960,8 +10953,7 @@ ...@@ -10960,8 +10953,7 @@
"through": { "through": {
"version": "2.3.8", "version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
"dev": true
}, },
"through2": { "through2": {
"version": "2.0.5", "version": "2.0.5",
...@@ -11220,6 +11212,11 @@ ...@@ -11220,6 +11212,11 @@
"integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==",
"dev": true "dev": true
}, },
"underscore": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz",
"integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg=="
},
"union-value": { "union-value": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
...@@ -11281,8 +11278,7 @@ ...@@ -11281,8 +11278,7 @@
"universalify": { "universalify": {
"version": "0.1.2", "version": "0.1.2",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
"dev": true
}, },
"unpipe": { "unpipe": {
"version": "1.0.0", "version": "1.0.0",
...@@ -13121,7 +13117,6 @@ ...@@ -13121,7 +13117,6 @@
"version": "1.3.1", "version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
"dev": true,
"requires": { "requires": {
"isexe": "^2.0.0" "isexe": "^2.0.0"
} }
...@@ -13225,8 +13220,12 @@ ...@@ -13225,8 +13220,12 @@
"xmlbuilder": { "xmlbuilder": {
"version": "9.0.7", "version": "9.0.7",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
"integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0="
"dev": true },
"xmldom": {
"version": "0.1.27",
"resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz",
"integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk="
}, },
"xmlhttprequest": { "xmlhttprequest": {
"version": "1.8.0", "version": "1.8.0",
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
"@ionic/angular": "^4.7.1", "@ionic/angular": "^4.7.1",
"@ionic/storage": "^2.2.0", "@ionic/storage": "^2.2.0",
"agm-direction": "^0.7.8", "agm-direction": "^0.7.8",
"cordova-android": "7.1.4", "cordova-android": "^8.0.0",
"cordova-plugin-device": "^2.0.2", "cordova-plugin-device": "^2.0.2",
"cordova-plugin-geolocation": "4.0.2", "cordova-plugin-geolocation": "4.0.2",
"cordova-plugin-ionic-keyboard": "^2.1.3", "cordova-plugin-ionic-keyboard": "^2.1.3",
...@@ -94,4 +94,4 @@ ...@@ -94,4 +94,4 @@
"android" "android"
] ]
} }
} }
\ No newline at end of file
These are Cordova resources. You can replace icon.png and splash.png and run
`ionic cordova resources` to generate custom icons and splash screens for your
app. See `ionic cordova resources --help` for details.
Cordova reference documentation:
- Icons: https://cordova.apache.org/docs/en/latest/config_ref/images.html
- Splash Screens: https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-splashscreen/
...@@ -26,17 +26,17 @@ ...@@ -26,17 +26,17 @@
</ul> </ul>
</div> </div>
<div class="cart_content"> <div class="cart_content">
<ion-slides pager="false" [options]="cart_wizard" (ionSlideDidChange)="slideChanged()"> <ion-slides pager="false" [options]="cartwizard" (ionSlideDidChange)="slideChanged()">
<ion-slide> <ion-slide>
<div class="cart_list"> <div class="cart_list" *ngIf="cartService.carts">
<ul> <ul *ngIf="cartService.carts.length > 0">
<li> <li *ngFor="let carts of cartService.carts">
<div class="close"></div> <div class="close"></div>
<div class="cart_image"></div> <div class="cart_image"><img [src]="carts.image" onerror="this.src=''" /></div>
<div class="cart_detail"> <div class="cart_detail">
<h4>European Style V neck</h4> <h4>{{carts.prodName}}</h4>
<h4>Green, Red</h4> <h4>{{carts.size}}, {{carts.color}}</h4>
<h5>AU$99.00</h5> <h5>A$ {{carts.price}}</h5>
</div> </div>
<div class="cart_count"> <div class="cart_count">
<div class="add" (click)="addCount()">+</div> <div class="add" (click)="addCount()">+</div>
...@@ -44,45 +44,15 @@ ...@@ -44,45 +44,15 @@
<div class="remove" (click)="removeCount()">-</div> <div class="remove" (click)="removeCount()">-</div>
</div> </div>
<div class="clear"></div> <div class="clear"></div>
</li> </li>
<li>
<div class="close"></div>
<div class="cart_image"></div>
<div class="cart_detail">
<h4>European Style V neck</h4>
<h4>Green, Red</h4>
<h5>AU$99.00</h5>
</div>
<div class="cart_count">
<div class="add" (click)="addCount()">+</div>
<div class="count">{{count}}</div>
<div class="remove" (click)="removeCount()">-</div>
</div>
<div class="clear"></div>
</li>
<li>
<div class="close"></div>
<div class="cart_image"></div>
<div class="cart_detail">
<h4>European Style V neck</h4>
<h4>Green, Red</h4>
<h5>AU$99.00</h5>
</div>
<div class="cart_count">
<div class="add" (click)="addCount()">+</div>
<div class="count">{{count}}</div>
<div class="remove" (click)="removeCount()">-</div>
</div>
<div class="clear"></div>
</li>
</ul> </ul>
<div class="total_div"> <div class="total_div" *ngIf="cartService.cartTotal">
<ion-row> <ion-row>
<ion-col> <ion-col>
<p class="textLeft">Total Price:</p> <p class="textLeft">Total Price:</p>
</ion-col> </ion-col>
<ion-col> <ion-col>
<p class="textRight">AU$ 239.00</p> <p class="textRight">A$ {{cartService.cartTotal}}</p>
</ion-col> </ion-col>
</ion-row> </ion-row>
</div> </div>
...@@ -92,43 +62,21 @@ ...@@ -92,43 +62,21 @@
<div class="checkout_list"> <div class="checkout_list">
<h5> <h5>
<span class="floatLeft">ITEMS</span> <span class="floatLeft">ITEMS</span>
<span class="floatRight">AU$239.00</span> <span class="floatRight" *ngIf="cartService.cartTotal">A$ {{cartService.cartTotal}}</span>
<div class="clear"></div> <div class="clear"></div>
</h5> </h5>
<ion-grid class="p0"> <ion-grid class="p0" *ngIf="cartService.carts && cartService.carts.length > 0">
<ion-row> <ion-row *ngFor="let carts of cartService.carts">
<ion-col size="6" class="p0"> <ion-col size="6" class="p0">
<h6 class="textLeft">European Style V Neck</h6> <h6 class="textLeft">{{carts.prodName}}</h6>
</ion-col> </ion-col>
<ion-col size="2" class="p0"> <ion-col size="2" class="p0">
<h6 class="textRight"><strong>1 X</strong></h6> <h6 class="textRight"><strong>1 X</strong></h6>
</ion-col> </ion-col>
<ion-col size="4" class="p0"> <ion-col size="4" class="p0">
<h6 class="textRight"><strong>AU$99.00</strong></h6> <h6 class="textRight"><strong>A$ {{carts.price}}</strong></h6>
</ion-col>
</ion-row>
<ion-row>
<ion-col size="6" class="p0">
<h6 class="textLeft">Simple Night Wear black doted</h6>
</ion-col>
<ion-col size="2" class="p0">
<h6 class="textRight"><strong>3 X</strong></h6>
</ion-col>
<ion-col size="4" class="p0">
<h6 class="textRight"><strong>AU$60.00</strong></h6>
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row>
<ion-col size="6" class="p0">
<h6 class="textLeft">European Style V Neck</h6>
</ion-col>
<ion-col size="2" class="p0">
<h6 class="textRight"><strong>3 X</strong></h6>
</ion-col>
<ion-col size="4" class="p0">
<h6 class="textRight"><strong>AU$90.00</strong></h6>
</ion-col>
</ion-row>
</ion-grid> </ion-grid>
<hr> <hr>
<h5> <h5>
...@@ -192,7 +140,7 @@ ...@@ -192,7 +140,7 @@
<h4>Order Placed</h4> <h4>Order Placed</h4>
<p>June 26th 2019, 03:00 PM</p> <p>June 26th 2019, 03:00 PM</p>
<h3>The product will be delivered in</h3> <h3>The product will be delivered in</h3>
<h1>10:00 Mins</h1> <h1>60:00 Mins</h1>
<button class="view_order" (click)="goToPage('myorder')">VIEW ORDERS</button><br> <button class="view_order" (click)="goToPage('myorder')">VIEW ORDERS</button><br>
<button class="home_btn" (click)="goToPage('home')">HOME</button> <button class="home_btn" (click)="goToPage('home')">HOME</button>
</div> </div>
...@@ -200,14 +148,14 @@ ...@@ -200,14 +148,14 @@
</ion-slides> </ion-slides>
</div> </div>
</div> </div>
<div class="footer_btn" [hidden]="currentIndex != 0" (click)="next()"> <div class="footer_btn" *ngIf="cartService.carts && cartService.carts.length > 0" [hidden]="currentIndex != 0" (click)="next(1)">
CHECKOUT CHECKOUT
</div> </div>
<div class="footer_btn" [hidden]="currentIndex != 1" (click)="next()"> <div class="footer_btn" *ngIf="cartService.carts && cartService.carts.length > 0" [hidden]="currentIndex != 1" (click)="next(2);">
PAY PAY
</div> </div>
<div class="footer_btn" [hidden]="currentIndex != 2" (click)="goToPage('orderplaced')"> <!-- <div class="footer_btn" [hidden]="currentIndex != 2" (click)="goToPage('orderplaced')">
FINISH FINISH
</div> </div> -->
</div> </div>
</ion-content> </ion-content>
\ No newline at end of file
...@@ -179,6 +179,8 @@ ...@@ -179,6 +179,8 @@
} }
.cart_list { .cart_list {
width: 100%; width: 100%;
height: calc(100vh - 200px);
overflow: scroll;
ul { ul {
margin: 0px; margin: 0px;
padding: 10px; padding: 10px;
......
...@@ -2,6 +2,8 @@ import { Component, OnInit, ViewChild } from '@angular/core'; ...@@ -2,6 +2,8 @@ import { Component, OnInit, ViewChild } from '@angular/core';
import { IonSlides } from '@ionic/angular'; import { IonSlides } from '@ionic/angular';
import { Location } from '@angular/common'; import { Location } from '@angular/common';
import { Router, ActivatedRoute } from '@angular/router'; import { Router, ActivatedRoute } from '@angular/router';
import { CartsService } from './../../config/cart.service';
import { OrdersService } from './../../config/order.service';
@Component({ @Component({
...@@ -13,22 +15,31 @@ export class CartPage implements OnInit { ...@@ -13,22 +15,31 @@ export class CartPage implements OnInit {
@ViewChild(IonSlides, { static: false }) slides: IonSlides; @ViewChild(IonSlides, { static: false }) slides: IonSlides;
currentIndex: any; currentIndex: any;
count:any; count: any;
cartwizard = {
initialSlide: 0,
speed: 1000,
allowTouchMove: false
};
constructor( constructor(
private router: Router, private router: Router,
private route: ActivatedRoute, private route: ActivatedRoute,
private location: Location private location: Location,
) { public cartService: CartsService,
public orderService: OrdersService
) {
this.currentIndex = 0; this.currentIndex = 0;
this.count = 0; this.count = 1;
this.cartService.cartList();
} }
ngOnInit() { ngOnInit() {
} }
goToPage(path, data = null) { goToPage(path, data = null) {
this.router.navigateByUrl(path, { queryParams: data }); this.router.navigateByUrl(path, { queryParams: data });
document.body.scrollTop = document.documentElement.scrollTop = 0; document.body.scrollTop = document.documentElement.scrollTop = 0;
...@@ -36,30 +47,33 @@ export class CartPage implements OnInit { ...@@ -36,30 +47,33 @@ export class CartPage implements OnInit {
goBack() { goBack() {
this.location.back(); this.location.back();
} }
cart_wizard = {
initialSlide: 0,
speed: 1000,
allowTouchMove: false
};
next() {
this.slides.slideNext(); next(index: number = null) {
console.log(index);
if (index === 2) {
const state = this.orderService.checkOut(this.cartService.carts).then((data) => {
console.log('ready for slide');
this.slides.slideNext();
});
} else {
this.slides.slideNext();
}
} }
prev() { prev() {
this.slides.slidePrev(); this.slides.slidePrev();
} }
addCount(){ addCount() {
this.count = this.count+1 // this.count = this.count+1
} }
removeCount() { removeCount() {
this.count = this.count - 1; // this.count = this.count - 1;
if(this.count <0){ if (this.count <0){
this.count = 0; this.count = 0;
} }
} }
...@@ -69,8 +83,16 @@ export class CartPage implements OnInit { ...@@ -69,8 +83,16 @@ export class CartPage implements OnInit {
this.slides.getActiveIndex().then(index => { this.slides.getActiveIndex().then(index => {
this.currentIndex = index; this.currentIndex = index;
console.log(this.currentIndex); console.log(this.currentIndex);
}); });
} }
sliderChange() {
this.orderService.checkout.subscribe(state => {
if (state) {
this.next();
this.orderService.checkout.next(false);
}
});
}
} }
...@@ -7,25 +7,25 @@ ...@@ -7,25 +7,25 @@
<div class="clear"></div> <div class="clear"></div>
</div> </div>
<ion-content> <ion-content>
<div class="myorder_wrapper"> <div class="myorder_wrapper" *ngIf="myorder.orders">
<ul> <ul *ngIf="myorder.orders.length > 0">
<li> <li *ngFor="let order of myorder.orders; let i = index">
<div class="order_image"></div> <div class="order_image"><img [src]="order.image" onerror="" /></div>
<div class="order_detail"> <div class="order_detail">
<h5 class="floatLeft">European Style V Neck</h5> <h5 class="floatLeft">{{order.prodName}}</h5>
<div class="clear"></div> <div class="clear"></div>
<h5>Green, Small <span>3</span></h5> <h5>{{order.color}}, {{order.size}} <span>{{order.qty}}</span></h5>
<p>AU$99.00</p> <p>{{order.amount}}</p>
</div> </div>
<div class="order_other"> <div class="order_other">
<h6 class="floatRight">June 26th 2019</h6> <h6 class="floatRight">{{ order.bookDate.seconds * 1000 | date:'MMMM dd, y' }}</h6>
<div class="clear"></div> <div class="clear"></div>
<button class="track_btn" (click)=" goToPage('trackorder')">TRACK</button> <button class="track_btn" *ngIf="order.orderStatus == 3" (click)="orderDetails(i)">TRACK</button>
<div class="clear"></div> <div class="clear"></div>
</div> </div>
<div class="clear"></div> <div class="clear"></div>
</li> </li>
<li> <!-- <li>
<div class="order_image"></div> <div class="order_image"></div>
<div class="order_detail"> <div class="order_detail">
<h5 class="floatLeft">European Style V Neck</h5> <h5 class="floatLeft">European Style V Neck</h5>
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
<div class="clear"></div> <div class="clear"></div>
</div> </div>
<div class="clear"></div> <div class="clear"></div>
</li> </li> -->
</ul> </ul>
</div> </div>
</ion-content> </ion-content>
\ No newline at end of file
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { Location } from '@angular/common'; import { Location } from '@angular/common';
import { Router, ActivatedRoute } from '@angular/router'; import { Router, ActivatedRoute } from '@angular/router';
import { MyordersService } from './../../config/myorder.service';
@Component({ @Component({
selector: 'app-myorder', selector: 'app-myorder',
...@@ -12,7 +13,8 @@ export class MyorderPage implements OnInit { ...@@ -12,7 +13,8 @@ export class MyorderPage implements OnInit {
constructor( constructor(
private router: Router, private router: Router,
private route: ActivatedRoute, private route: ActivatedRoute,
private location: Location private location: Location,
public myorder: MyordersService
) { } ) { }
ngOnInit() { ngOnInit() {
...@@ -25,6 +27,12 @@ export class MyorderPage implements OnInit { ...@@ -25,6 +27,12 @@ export class MyorderPage implements OnInit {
goBack() { goBack() {
this.location.back(); this.location.back();
} }
orderDetails(index: number) {
this.myorder.trackOrder(this.myorder.orders[index]);
this.router.navigateByUrl('trackorder');
document.body.scrollTop = document.documentElement.scrollTop = 0;
}
} }
...@@ -9,75 +9,45 @@ ...@@ -9,75 +9,45 @@
<div class="clear"></div> <div class="clear"></div>
</div> </div>
<ion-content> <ion-content>
<div class="product_detail_wrapper"> <div class="product_detail_wrapper" *ngIf="product">
<div class="product_banner"> <div class="product_banner">
<div class="fav_icon"></div> <div class="fav_icon"></div>
<div class="featured_badge">Featured</div> <div class="featured_badge" *ngIf="product.featured">Featured</div>
<img src="../assets/[email protected]"> <img [src]="product.image" onerror="this.src='../assets/[email protected]'">
</div> </div>
<div class="product_header"> <div class="product_header">
<ion-row> <ion-row>
<ion-col size="8"> <ion-col size="8">
<h3>European style V Neck</h3> <h3>{{product.prodName}}</h3>
<p><strong><span><img src="../assets/Path61_2.png"></span>4</strong>Lulu Fashion, Women's Fashion <p><strong><span><img src="../assets/Path61_2.png"></span>4</strong>Lulu Fashion, {{product.category}}
</p> </p>
</ion-col> </ion-col>
<ion-col size="4"> <ion-col size="4">
<h5>AU$99.00</h5> <h5>A$ {{product.price}}</h5>
<p><span class="offer" *ngIf="product.discount > 0">-{{product.discount}}%</span></p>
</ion-col> </ion-col>
</ion-row> </ion-row>
</div> </div>
<div class="product_div_content"> <div class="product_div_content">
<h5>Size</h5> <h5>Size</h5>
<div class="size_div"> <div class="size_div">
<ul> <ul *ngIf="product.size">
<ion-slides pager="false" [options]="slideOpts"> <ion-slides pager="false" [options]="slideOpts">
<ion-slide> <ion-slide *ngFor="let size of product.size; let i = index">
<li>
<button id="custom_check_button">
<label>
<input id="1" type="radio" name="services" value="">
<p>Small</p>
</label>
</button>
</li>
</ion-slide>
<ion-slide>
<li>
<button id="custom_check_button">
<label>
<input id="2" type="radio" name="services" value="">
<p>Medium</p>
</label>
</button>
</li>
</ion-slide>
<ion-slide>
<li>
<button id="custom_check_button">
<label>
<input id="3" type="radio" name="services" value="">
<p>Large</p>
</label>
</button>
</li>
</ion-slide>
<ion-slide>
<li> <li>
<button id="custom_check_button"> <button id="custom_check_button">
<label> <label>
<input id="4" type="radio" name="services" value=""> <input id="{{size.sizeId}}" type="radio" name="services" value="{{size.sizeId}}" (click)="cartService.choose_size(size.sizeName)" [checked]="i==0">
<p>Xtra Large</p> <p>{{size.sizeName}}</p>
</label> </label>
</button> </button>
</li> </li>
</ion-slide> </ion-slide>
</ion-slides> </ion-slides>
</ul> </ul>
</div> </div>
<h5>Description</h5> <h5>Description</h5>
<p>Brand - SMART SHOP Fabric- Net Work - Embroidered Colour- White Occasion - Wedding,Festival Wash Care- Normal Wash Type- Anarkali Sleeve- Full Sleeve Dupatta- No Neck- Round This product make you more beautiful and pretty from other. This <p>{{product.prodDesc}}
product has good quality material. Buy only original that product with us for get satisfy. Buy only original Buy only that
</p> </p>
<h5> <h5>
<span class="floatLeft">Reviews</span><span class="floatRight" (click)="goToPage('reviewlist')">MORE</span> <span class="floatLeft">Reviews</span><span class="floatRight" (click)="goToPage('reviewlist')">MORE</span>
...@@ -206,6 +176,6 @@ ...@@ -206,6 +176,6 @@
<button class="fav"></button> <button class="fav"></button>
<button class="cart" (click)="goToPage('cart')"></button> <button class="cart" (click)="goToPage('cart')"></button>
</div> </div>
<div class="footer_btn" (click)="goToPage('cart')">BUY NOW</div> <div class="footer_btn" (click)="cartService.buyNow(product)">BUY NOW</div>
</div> </div>
</ion-content> </ion-content>
\ No newline at end of file
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { Location } from '@angular/common'; import { Location } from '@angular/common';
import { Router, ActivatedRoute } from '@angular/router'; import { Router, ActivatedRoute } from '@angular/router';
import { Products } from './../../config/services/product';
import { Order } from './../../config/services/order';
import { CartsService } from './../../config/cart.service';
import { ProductsService } from './../../config/products.service';
import { map } from 'rxjs/operators';
@Component({ @Component({
selector: 'app-productdetail', selector: 'app-productdetail',
...@@ -8,22 +13,63 @@ import { Router, ActivatedRoute } from '@angular/router'; ...@@ -8,22 +13,63 @@ import { Router, ActivatedRoute } from '@angular/router';
styleUrls: ['./productdetail.page.scss'], styleUrls: ['./productdetail.page.scss'],
}) })
export class ProductdetailPage implements OnInit { export class ProductdetailPage implements OnInit {
product: Products;
order: Order;
slideOpts = { slideOpts = {
slidesPerView: 3.5 slidesPerView: 3.5
} };
relatedProd = { relatedProd = {
slidesPerView: 2 slidesPerView: 2
} };
constructor( constructor(
private router: Router, private router: Router,
private route: ActivatedRoute, private route: ActivatedRoute,
private location: Location private location: Location,
) { } private cartService: CartsService,
private prodService: ProductsService
) {
}
ngOnInit() { ngOnInit() {
console.log('here');
const params = this.prodService.selItem;
if (params) {
const prod: Products = {
prodId: params.prodId,
prodName: params.prodName,
prodCode: params.prodCode,
prodDesc: params.prodDesc,
prodStatus: params.prodStatus,
brand: params.brand,
category: params.category,
color: params.color,
discount: params.discount,
featured: params.featured,
image: params.image,
price: params.price,
qty: params.qty,
shopper: params.shopper,
skuCode: params.skuCode,
status: params.status,
size: params.size,
currency: params.currency
};
this.product = prod;
} else {
this.product = undefined;
}
console.log(this.product);
}
stringObject(items: any) {
items.forEach(element => {
console.log(element.sizeId);
element = JSON.parse(element);
console.log(element);
});
} }
goToPage(path, data = null) { goToPage(path, data = null) {
......
...@@ -27,44 +27,17 @@ ...@@ -27,44 +27,17 @@
<div class="product_title"> <div class="product_title">
Lulu Fashion Lulu Fashion
</div> </div>
<ul [class.grid_view]="onGrid"> <ul [class.grid_view]="onGrid" *ngIf="prodService.product && prodService.product.length > 0">
<li (click)="goToPage('productdetail')"> <li *ngFor="let product of prodService.product; let i = index" (click)="prodDetails(i)">
<div class="product_image"> <div class="product_image">
<img src="../assets/[email protected]"> <img [src]="product.image" onerror="this.src='../assets/[email protected]'">
<div class="fav_icon"> <div class="fav_icon">
</div> </div>
<div class="featured_badge" *ngIf="product.featured">Featured</div>
</div> </div>
<h5>European Style V Neck</h5> <h5>{{product.prodName}}</h5>
<p>AU$99.00</p> <p>A$ {{product.price}}<span class="offer" *ngIf="product.discount > 0">-{{product.discount}}%</span></p>
</li> </li>
<li (click)="goToPage('productdetail')">
<div class="product_image">
<img src="../assets/Recommended-Ball-Gown-Floor-Length-V-Neck-Lace-Organza-Prom-Dress-OD850662@3x.png">
<div class="fav_icon">
</div>
</div>
<h5>European Style V Neck</h5>
<p>AU$99.00</p>
</li>
<li (click)="goToPage('productdetail')">
<div class="product_image">
<img src="../assets/[email protected]">
<div class="fav_icon">
</div>
</div>
<h5>European Style V Neck</h5>
<p>AU$99.00 <span class="offer">-8%</span></p>
</li>
<li (click)="goToPage('productdetail')">
<div class="product_image">
<img src="../assets/[email protected]">
<div class="fav_icon">
</div>
<div class="featured_badge">Featured</div>
</div>
<h5>European Style V Neck</h5>
<p>AU$99.00<span>AU$110.00</span></p>
</li>
</ul> </ul>
</div> </div>
<div class="sort_wrappper" *ngIf="isShow" [@slideInOut]> <div class="sort_wrappper" *ngIf="isShow" [@slideInOut]>
......
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { Location } from '@angular/common'; import { Location } from '@angular/common';
import { trigger, transition, animate, style } from '@angular/animations'; import { trigger, transition, animate, style } from '@angular/animations';
import { Router, ActivatedRoute } from '@angular/router'; import { Router, ActivatedRoute, NavigationExtras } from '@angular/router';
import { ProductsService } from './../../config/products.service';
@Component({ @Component({
...@@ -28,10 +29,12 @@ export class ProductlistPage implements OnInit { ...@@ -28,10 +29,12 @@ export class ProductlistPage implements OnInit {
constructor( constructor(
private router: Router, private router: Router,
private route: ActivatedRoute, private route: ActivatedRoute,
private location: Location private location: Location,
public prodService: ProductsService
) { } ) { }
ngOnInit() { ngOnInit() {
this.prodService.prodList();
} }
goToPage(path, data = null) { goToPage(path, data = null) {
...@@ -44,10 +47,17 @@ export class ProductlistPage implements OnInit { ...@@ -44,10 +47,17 @@ export class ProductlistPage implements OnInit {
} }
goBack() { goBack() {
this.location.back(); // this.location.back();
window.history.back();
} }
gridToggle(){ gridToggle(){
this.onGrid = !this.onGrid; this.onGrid = !this.onGrid;
} }
prodDetails(index: number) {
this.prodService.setProd(this.prodService.product[index]);
this.router.navigateByUrl('productdetail');
document.body.scrollTop = document.documentElement.scrollTop = 0;
}
} }
...@@ -17,14 +17,14 @@ ...@@ -17,14 +17,14 @@
</div> --> </div> -->
</div> </div>
<div class="rider_footer "> <div class="rider_footer" *ngIf="order">
<div class="rider_image "></div> <div class="rider_image "></div>
<div class="rider_detail "> <div class="rider_detail ">
<h5>John Doe</h5> <h5>{{order.riderName}}</h5>
<p>Rider</p> <p>Rider</p>
</div> </div>
<div class="rider_time "> <div class="rider_time ">
18<span>Mins</span> {{order.time}}<span>Mins</span>
</div> </div>
<div class="rider_call ">Call Rider</div> <div class="rider_call ">Call Rider</div>
<div class="clear "></div> <div class="clear "></div>
......
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
import { Component, OnInit, ViewChild, ElementRef } from '@angular/core'; import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';
import { Location } from '@angular/common'; import { Location } from '@angular/common';
import { Router, ActivatedRoute } from '@angular/router'; import { Router, ActivatedRoute } from '@angular/router';
import { MyordersService } from './../../config/myorder.service';
import { Myorder } from './../../config/services/myorder';
declare var google; declare var google;
...@@ -13,7 +15,8 @@ declare var google; ...@@ -13,7 +15,8 @@ declare var google;
export class TrackorderPage implements OnInit { export class TrackorderPage implements OnInit {
map: any; map: any;
address: string address: string;
order: Myorder;
public lat: number = 51.678418; public lat: number = 51.678418;
public lng: number = 7.809007; public lng: number = 7.809007;
...@@ -25,10 +28,11 @@ export class TrackorderPage implements OnInit { ...@@ -25,10 +28,11 @@ export class TrackorderPage implements OnInit {
constructor( constructor(
private router: Router, private router: Router,
private route: ActivatedRoute, private route: ActivatedRoute,
private location: Location private location: Location,
public myorder: MyordersService
) { } ) { }
ngOnInit() { ngOnInit() {
this.getDirection(); this.getDirection();
} }
...@@ -46,8 +50,9 @@ export class TrackorderPage implements OnInit { ...@@ -46,8 +50,9 @@ export class TrackorderPage implements OnInit {
getDirection() { getDirection() {
this.origin = { lat: 51.678418, lng: 7.809007 }; this.order = this.myorder.selItem;
this.destination = { lat: 51.678418, lng: 7.81900 }; this.origin = { lat: this.order.pickupLocation._lat, lng: this.order.pickupLocation._long };
this.destination = { lat: this.order.deliveryLocation._lat, lng: this.order.deliveryLocation._long };
this.renderOptions = { polylineOptions: { strokeColor: 'rgba(69, 67, 152,1)' }, suppressMarkers: true }; this.renderOptions = { polylineOptions: { strokeColor: 'rgba(69, 67, 152,1)' }, suppressMarkers: true };
this.markerOptions = { this.markerOptions = {
origin: { origin: {
......
import { Injectable } from '@angular/core';
import { AngularFirestore, AngularFirestoreDocument, AngularFirestoreCollection } from '@angular/fire/firestore';
import { Router, ActivatedRoute } from '@angular/router';
import { Products } from './services/product';
import { Cart, CartItem } from './services/cart';
import { ServiceService } from './service.service';
import * as firebase from 'firebase';
import { take } from 'rxjs/operators';
import { User } from './services/user';
import { from } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class CartsService {
size: string;
color: string;
custId: string;
prodId: string;
cart: Cart;
user: User;
carts: CartItem[] = [];
cartTotal: number;
constructor(
public afs: AngularFirestore,
public router: Router,
public service: ServiceService
) {
this.size = 'Small';
this.custId = '';
const users = this.service.get('user').then((data) => {
if (data) {
data = JSON.parse(data);
this.custId = data.uid;
console.log(this.custId);
} else {
this.custId = 'WwHnLICVY2dvZGUHuKqasiTB91a2';
}
});
}
public async buyNow(product: Products) {
this.color = 'Blue';
this.prodId = product.prodId;
const prodRef = firebase.firestore().collection('products').doc(this.prodId);
const cartRef: AngularFirestoreCollection<any> = this.afs.collection('carts', ref => ref.where('size', '==', this.size)
.where('color', '==', this.color)
.where('custId', '==', this.custId)
.where('product', '==', prodRef)
);
cartRef.valueChanges().pipe(take(1)).subscribe((value: Cart[]) => {
console.log(value);
if (value.length === 0) {
const cart: Cart = {
color: this.color,
custId: this.custId,
product: firebase.firestore().doc(`products/${this.prodId}`),
image: product.image,
prodId: product.prodId,
price: product.price,
prodName: product.prodName,
shopper: product.shopper,
qty: 1,
size: this.size
};
this.afs.collection('carts').add(cart).then((docRef) => {
const neworderId = docRef.id;
this.afs.collection('carts').doc(neworderId).update({cartId: docRef.id}).then(() => {
console.log('Booking Successfully');
this.router.navigateByUrl('cart');
document.body.scrollTop = document.documentElement.scrollTop = 0;
});
}).catch((error) => {
console.error('Error adding document: ', error);
});
} else {
alert('Item already added in the cart');
}
});
}
public async cartList() {
const cartRef: AngularFirestoreCollection<any> = this.afs.collection('carts', ref => ref.where('custId', '==', this.custId));
cartRef.valueChanges().subscribe((value) => {
this.carts = [];
const res = value;
this.cartTotal = 0;
if (res.length > 0) {
res.forEach((item) => {
const cartItem: CartItem = {
cartId: item.cartId,
color: item.color,
shopperId: item.shopper,
prodId: item.prodId,
price: item.price,
prodName: item.prodName,
image: item.image,
qty: item.qty,
size: item.size,
};
this.cartTotal += item.price;
/*const prodItem = item.product.get().then((property) => {
const response = property.data();
cartItem.prodName = response.prodName;
cartItem.price = response.price;
cartItem.image = response.image;
cartItem.prodId = response.prodId;
cartItem.shopperId = response.shopper;
this.cartTotal += response.price;
});*/
this.carts.push(cartItem);
});
} else {
// alert('No Products Found');
}
});
}
choose_size(size: string) {
this.size = size;
}
}
import { Injectable } from '@angular/core';
import { AngularFirestore, AngularFirestoreDocument, AngularFirestoreCollection } from '@angular/fire/firestore';
import { Myorder } from './services/myorder';
import { ServiceService } from './../config/service.service';
import * as firebase from 'firebase';
@Injectable({
providedIn: 'root'
})
export class MyordersService {
product: Myorder[] = [];
custId: string;
orders: Myorder[];
selItem: Myorder;
constructor(
public afs: AngularFirestore,
public service: ServiceService
) {
const users = this.service.get('user').then((data) => {
if (data) {
data = JSON.parse(data);
this.custId = data.uid;
if (this.custId !== undefined) {
this.orderList(this.custId);
}
} else {
this.custId = 'WwHnLICVY2dvZGUHuKqasiTB91a2';
}
});
}
public async orderList(custId) {
console.log('called');
console.log(custId);
const This = this;
const orderRef: AngularFirestoreCollection<any> = this.afs.collection('orders', ref => ref.where('custId', '==', custId)
.orderBy('bookDate', 'desc'));
orderRef.valueChanges().subscribe((value) => {
console.log(value);
this.orders = [];
const res = value;
if (res.length > 0) {
res.forEach((item) => {
console.log(item);
const order: Myorder = {
prodName: item.prodName,
color: item.color,
image: item.image,
amount: item.amount,
qty: item.qty,
status: item.status,
orderStatus: item.orderStatus,
bookDate: item.bookDate,
deliveryLocation: item.deliveryLocation,
pickupLocation: item.pickupLocation,
riderName: 'John',
size: item.size,
time: '60'
};
this.orders.push(order);
});
console.log(this.orders);
} else {
alert('No Orders Found');
}
});
}
public async trackOrder(order) {
this.selItem = order;
}
}
import { Injectable } from '@angular/core';
import { AngularFirestore, AngularFirestoreDocument, AngularFirestoreCollection } from '@angular/fire/firestore';
import { Router, ActivatedRoute } from '@angular/router';
import { Order } from './services/order';
import { Products } from './services/product';
import { ServiceService } from './service.service';
import * as firebase from 'firebase';
import { CartItem } from './services/cart';
import { BehaviorSubject } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class OrdersService {
order: Order;
size: string;
color: string;
custId: string;
shopperId: any;
checkout = new BehaviorSubject(false);
constructor(
public afs: AngularFirestore,
public router: Router,
public service: ServiceService
) {
this.size = 'small';
this.color = 'Blue';
this.custId = '';
const users = this.service.get('user').then((data) => {
if (data) {
data = JSON.parse(data);
this.custId = data.uid;
console.log(this.custId);
} else {
this.custId = 'WwHnLICVY2dvZGUHuKqasiTB91a2';
}
});
}
public async checkOut(cart: CartItem[]) {
console.log(cart);
let currProcess = 0;
const cartCount = cart.length;
cart.forEach((product) => {
this.afs.collection('orders').add({
bookDate: firebase.firestore.FieldValue.serverTimestamp()
}).then((docRef) => {
const neworderId = docRef.id;
const delivery = new firebase.firestore.GeoPoint(10.0237, 76.3116);
const pickup = new firebase.firestore.GeoPoint(10.7231, 76.1234);
const orderItem: Order = {
amount: 'A$ 175',
customer: firebase.firestore().doc('/customer/' + this.custId),
shopper: product.shopperId,
deliveryAddress: 'Techware Software solution, Carnival Infopark, Kochi',
deliveryCharge: 'A$ 0.5',
deliveryLocation: delivery,
bookDate: firebase.firestore.FieldValue.serverTimestamp(),
discount: 'A$ 12.00',
orderCode: this.orderCode(),
orderId: neworderId,
orderStatus: 1,
pickupAddress: 'GetMi, Canberra, AUS',
pickupLocation: pickup,
price: 'A$ ' + product.price,
product: firebase.firestore().doc('/product/' + product.prodId),
promoId: null,
qty: product.qty,
rider: firebase.firestore().doc('/riders/qbTKza18mWVzYG9NLIbmjMbrYjG2'),
status: 1,
tax: 'A$ 7.5',
size: product.size,
color: product.color,
custId: this.custId,
image: product.image,
prodId: product.prodId,
prodName: product.prodName,
riderId: 'qbTKza18mWVzYG9NLIbmjMbrYjG2',
shopperId: 'qbTKza18mWVzYG9NLIbmjMbrYjG2'
};
this.afs.collection('orders').doc(neworderId).set(orderItem).then(() => {
currProcess += 1;
console.log('Booking Successfully');
this.afs.doc(`carts/${product.cartId}`).delete();
// this.router.navigateByUrl('cart');
console.log(currProcess, cartCount);
document.body.scrollTop = document.documentElement.scrollTop = 0;
if (currProcess === cartCount) {
// this.router.navigateByUrl('cart');
return true;
}
});
}).catch((error) => {
console.error('Error adding document: ', error);
});
});
}
public async buyNow(product: Products) {
//
}
orderCode() {
const newpin = Math.round(Math.random() * 1000000);
const orderCode = 'GM' + this.pad(newpin, 6, null);
return orderCode;
}
pad(n, width, z) {
z = z || '0';
n = n + '';
return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
}
choose_size(size: string) {
this.size = size;
}
}
import { Injectable } from '@angular/core';
import { AngularFirestore, AngularFirestoreDocument, AngularFirestoreCollection } from '@angular/fire/firestore';
import { Products } from './services/product';
import { ServiceService } from './../config/service.service';
@Injectable({
providedIn: 'root'
})
export class ProductsService {
product: Products[] = [];
selItem: Products;
constructor(
public afs: AngularFirestore,
public service: ServiceService
) { }
public async prodList() {
const This = this;
const prodRef: AngularFirestoreCollection<any> = this.afs.collection(`products`);
prodRef.valueChanges().subscribe((value) => {
this.product = [];
const res = value;
if (res.length > 0) {
res.forEach((item) => {
console.log(item.size);
const prod: Products = {
prodId: item.prodId,
prodName: item.prodName,
prodCode: item.prodCode,
prodDesc: item.prodDesc,
prodStatus: item.prodStatus,
brand: item.brand.brandName,
category: item.category.catName,
color: item.color,
discount: item.discount,
featured: item.featured,
image: item.image,
price: item.price,
qty: item.qty,
shopper: item.shopper,
skuCode: item.skuCode,
status: item.status,
size: this.service.key2Array(item.size),
currency: item.currency
};
this.product.push(prod);
});
console.log(this.product);
} else {
alert('No Products Found');
}
});
}
public async setProd(item: Products) {
this.selItem = item;
}
}
...@@ -26,5 +26,15 @@ export class ServiceService { ...@@ -26,5 +26,15 @@ export class ServiceService {
}); });
} }
public key2Array(item: object) {
const response = [];
for (const key in item) {
if (item.hasOwnProperty(key)) {
response.push(item[key]);
}
}
return response;
}
} }
export interface Cart {
custId: string;
shopper: any;
product: any;
prodName: any;
prodId: string;
image: string;
size: string;
color: string;
qty: number;
price: number;
}
export interface CartItem {
cartId: string;
prodId: string;
shopperId: any;
prodName: any;
image: string;
size: string;
color: string;
qty: number;
price: number;
}
export interface Myorder {
amount: string;
prodName: any;
image: string;
size: string;
color: string;
qty: number;
bookDate: any;
pickupLocation: any;
deliveryLocation: any;
status: number;
orderStatus: number;
riderName: string;
time: string;
}
import { AngularFirestoreDocument } from '@angular/fire/firestore';
import { GeoJsonOptions } from '@agm/core/services/google-maps-types';
export interface Order {
amount: string;
customer: any;
deliveryAddress: string;
deliveryCharge: string;
deliveryLocation: object;
discount: string;
orderCode: string;
orderId: string;
orderStatus: number;
pickupAddress: string;
pickupLocation: object;
price: string;
bookDate: any;
prodId: string;
custId: string;
product: any;
prodName: any;
image: string;
size: string;
color: string;
promoId: any;
qty: number;
rider: any;
riderId: string;
shopper: any;
shopperId: string;
status: number;
tax: string;
}
export interface Products {
brand: string;
category: string;
color: string;
discount: number;
featured: boolean;
image: string;
price: number;
prodCode: string;
prodDesc: string;
prodId: string;
prodName: string;
prodStatus: boolean;
qty: number;
shopper: string;
size: Size[];
skuCode: string;
status: boolean;
currency: {
currId: string;
currName: string;
symbol: string
};
}
export interface Size {
sizeId: string;
sizeName: string;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment