Initial commit

This commit is contained in:
venbatechnologies@gmail.com 2020-10-12 12:58:47 +05:30
parent eed259fe04
commit 13e858a4b0
268 changed files with 37083 additions and 0 deletions

34
.gitignore vendored Normal file → Executable file
View File

@ -1,3 +1,36 @@
<<<<<<< HEAD
# Specifies intentionally untracked files to ignore when using Git
# http://git-scm.com/docs/gitignore
*~
*.sw[mnpcod]
.tmp
*.tmp
*.tmp.*
*.sublime-project
*.sublime-workspace
.DS_Store
Thumbs.db
UserInterfaceState.xcuserstate
$RECYCLE.BIN/
*.log
log.txt
npm-debug.log*
/.idea
/.ionic
/.sass-cache
/.sourcemaps
/.versions
/.vscode
/coverage
/dist
/node_modules
/platforms
/plugins
/www
=======
# These are some examples of commonly ignored file patterns.
# You should customize this list as applicable to your project.
# Learn more about .gitignore:
@ -48,3 +81,4 @@ Thumbs.db
*.mov
*.wmv
>>>>>>> eed259fe04bcb0a948b742c308683ae4205b0fac

187
angular.json Executable file
View File

@ -0,0 +1,187 @@
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"defaultProject": "app",
"newProjectRoot": "projects",
"projects": {
"app": {
"root": "",
"sourceRoot": "src",
"projectType": "application",
"prefix": "app",
"schematics": {},
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "www",
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "tsconfig.app.json",
"assets": [
{
"glob": "**/*",
"input": "src/assets",
"output": "assets"
},
{
"glob": "**/*.svg",
"input": "node_modules/ionicons/dist/ionicons/svg",
"output": "./svg"
}
],
"styles": [
{
"input": "src/theme/variables.scss"
},
{
"input": "src/global.scss"
}
],
"scripts": []
},
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"budgets": [
{
"type": "initial",
"maximumWarning": "2mb",
"maximumError": "5mb"
}
]
},
"ci": {
"progress": false
}
}
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "app:build"
},
"configurations": {
"production": {
"browserTarget": "app:build:production"
},
"ci": {
"progress": false
}
}
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"browserTarget": "app:build"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "src/test.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "tsconfig.spec.json",
"karmaConfig": "karma.conf.js",
"styles": [],
"scripts": [],
"assets": [
{
"glob": "favicon.ico",
"input": "src/",
"output": "/"
},
{
"glob": "**/*",
"input": "src/assets",
"output": "/assets"
}
]
},
"configurations": {
"ci": {
"progress": false,
"watch": false
}
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"tsconfig.app.json",
"tsconfig.spec.json",
"e2e/tsconfig.json"
],
"exclude": ["**/node_modules/**"]
}
},
"e2e": {
"builder": "@angular-devkit/build-angular:protractor",
"options": {
"protractorConfig": "e2e/protractor.conf.js",
"devServerTarget": "app:serve"
},
"configurations": {
"production": {
"devServerTarget": "app:serve:production"
},
"ci": {
"devServerTarget": "app:serve:ci"
}
}
},
"ionic-cordova-build": {
"builder": "@ionic/angular-toolkit:cordova-build",
"options": {
"browserTarget": "app:build"
},
"configurations": {
"production": {
"browserTarget": "app:build:production"
}
}
},
"ionic-cordova-serve": {
"builder": "@ionic/angular-toolkit:cordova-serve",
"options": {
"cordovaBuildTarget": "app:ionic-cordova-build",
"devServerTarget": "app:serve"
},
"configurations": {
"production": {
"cordovaBuildTarget": "app:ionic-cordova-build:production",
"devServerTarget": "app:serve:production"
}
}
}
}
}
},
"cli": {
"defaultCollection": "@ionic/angular-toolkit"
},
"schematics": {
"@ionic/angular-toolkit:component": {
"styleext": "scss"
},
"@ionic/angular-toolkit:page": {
"styleext": "scss"
}
}
}

12
browserslist Executable file
View File

@ -0,0 +1,12 @@
# This file is used by the build system to adjust CSS and JS output to support the specified browsers below.
# For additional information regarding the format and rule options, please see:
# https://github.com/browserslist/browserslist#queries
# You can see what browsers were selected by your queries by running:
# npx browserslist
> 0.5%
last 2 versions
Firefox ESR
not dead
not IE 9-11 # For IE 9-11 support, remove 'not'.

18
build.json Executable file
View File

@ -0,0 +1,18 @@
{
"android": {
"debug": {
"keystore": "releaseApk/pd-genie-officer.jks",
"storePassword": "pdgenieofficer",
"alias": "my-alias",
"password" : "pdgenieofficer",
"keystoreType": ""
},
"release": {
"keystore": "releaseApk/pd-genie-officer.jks",
"storePassword": "pdgenieofficer",
"alias": "my-alias",
"password" : "pdgenieofficer",
"keystoreType": ""
}
}
}

127
config.xml Executable file
View File

@ -0,0 +1,127 @@
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.sineedge.pdgvendor" version="0.0.4" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>PD Genie Field Visit</name>
<description>info@pdgenie.com</description>
<author email="info@pdgenie.com" href="https://pdgenie.com">PD Genie</author>
<content src="index.html" />
<access origin="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<preference name="ScrollEnabled" value="false" />
<preference name="android-minSdkVersion" value="22" />
<preference name="BackupWebStorage" value="none" />
<preference name="SplashMaintainAspectRatio" value="true" />
<preference name="FadeSplashScreenDuration" value="300" />
<preference name="SplashShowOnlyFirstTime" value="false" />
<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="3000" />
<preference name="ShowSplashScreenSpinner" value="false" />
<platform name="android">
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
<application android:networkSecurityConfig="@xml/network_security_config" />
</edit-config>
<resource-file src="resources/android/icon/drawable-xxxhdpi-icon.png" target="app/src/main/res/mipmap/icon.png" />
<resource-file src="resources/android/xml/network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" />
<resource-file src="google-services.json" target="app/google-services.json" />
<allow-intent href="market:*" />
<icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
<icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
<icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
<icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
<icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
<icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
<splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
<splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
<splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
<splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
<splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
<splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
<splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
<splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
<splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
<splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
<splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
<splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
<icon height="57" src="resources/ios/icon/icon.png" width="57" />
<icon height="114" src="resources/ios/icon/icon@2x.png" width="114" />
<icon height="29" src="resources/ios/icon/icon-small.png" width="29" />
<icon height="58" src="resources/ios/icon/icon-small@2x.png" width="58" />
<icon height="87" src="resources/ios/icon/icon-small@3x.png" width="87" />
<icon height="20" src="resources/ios/icon/icon-20.png" width="20" />
<icon height="40" src="resources/ios/icon/icon-20@2x.png" width="40" />
<icon height="60" src="resources/ios/icon/icon-20@3x.png" width="60" />
<icon height="48" src="resources/ios/icon/icon-24@2x.png" width="48" />
<icon height="55" src="resources/ios/icon/icon-27.5@2x.png" width="55" />
<icon height="29" src="resources/ios/icon/icon-29.png" width="29" />
<icon height="58" src="resources/ios/icon/icon-29@2x.png" width="58" />
<icon height="87" src="resources/ios/icon/icon-29@3x.png" width="87" />
<icon height="40" src="resources/ios/icon/icon-40.png" width="40" />
<icon height="80" src="resources/ios/icon/icon-40@2x.png" width="80" />
<icon height="120" src="resources/ios/icon/icon-40@3x.png" width="120" />
<icon height="88" src="resources/ios/icon/icon-44@2x.png" width="88" />
<icon height="50" src="resources/ios/icon/icon-50.png" width="50" />
<icon height="100" src="resources/ios/icon/icon-50@2x.png" width="100" />
<icon height="60" src="resources/ios/icon/icon-60.png" width="60" />
<icon height="120" src="resources/ios/icon/icon-60@2x.png" width="120" />
<icon height="180" src="resources/ios/icon/icon-60@3x.png" width="180" />
<icon height="72" src="resources/ios/icon/icon-72.png" width="72" />
<icon height="144" src="resources/ios/icon/icon-72@2x.png" width="144" />
<icon height="76" src="resources/ios/icon/icon-76.png" width="76" />
<icon height="152" src="resources/ios/icon/icon-76@2x.png" width="152" />
<icon height="167" src="resources/ios/icon/icon-83.5@2x.png" width="167" />
<icon height="172" src="resources/ios/icon/icon-86@2x.png" width="172" />
<icon height="196" src="resources/ios/icon/icon-98@2x.png" width="196" />
<icon height="1024" src="resources/ios/icon/icon-1024.png" width="1024" />
<splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" />
<splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640" />
<splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768" />
<splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" />
<splash height="1125" src="resources/ios/splash/Default-Landscape-2436h.png" width="2436" />
<splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208" />
<splash height="2048" src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536" />
<splash height="1536" src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048" />
<splash height="2732" src="resources/ios/splash/Default-Portrait@~ipadpro.png" width="2048" />
<splash height="2048" src="resources/ios/splash/Default-Landscape@~ipadpro.png" width="2732" />
<splash height="1136" src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" />
<splash height="1334" src="resources/ios/splash/Default-667h.png" width="750" />
<splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" />
<splash height="2436" src="resources/ios/splash/Default-2436h.png" width="1125" />
<splash height="2732" src="resources/ios/splash/Default@2x~universal~anyany.png" width="2732" />
</platform>
<plugin name="cordova-plugin-whitelist" spec="1.3.3" />
<plugin name="cordova-plugin-statusbar" spec="2.4.2" />
<plugin name="cordova-plugin-device" spec="2.0.2" />
<plugin name="cordova-plugin-splashscreen" spec="5.0.2" />
<plugin name="cordova-plugin-ionic-webview" spec="^4.0.0" />
<plugin name="cordova-plugin-ionic-keyboard" spec="^2.0.5" />
<plugin name="cordova-plugin-android-permissions" spec="1.0.2" />
<plugin name="cordova-plugin-app-version" spec="0.1.9" />
<plugin name="cordova-plugin-mauron85-background-geolocation" spec="3.0.1">
<variable name="ICON" value="@mipmap/icon" />
</plugin>
<plugin name="cordova-plugin-camera" spec="4.1.0" />
<plugin name="cordova-plugin-fingerprint-aio" spec="3.0.1" />
<plugin name="cordova-plugin-geolocation" spec="4.0.2" />
<plugin name="cordova-plugin-request-location-accuracy" spec="2.3.0" />
<plugin name="phonegap-plugin-push" spec="2.3.0" />
<plugin name="cordova-sqlite-storage" spec="4.0.0" />
<plugin name="cordova-plugin-market" spec="1.2.0" />
<plugin name="uk.co.workingedge.phonegap.plugin.launchnavigator" spec="5.0.4">
<variable name="GOOGLE_API_KEY_FOR_ANDROID" value="AIzaSyA3lYDYxwtn5vLSl45SOKbtK7G6cEyXGr0" />
<variable name="OKHTTP_VERSION" value="3.12.0" />
</plugin>
<plugin name="cordova-plugin-document-scanner" spec="4.2.3" />
<plugin name="cordova-plugin-file" spec="6.0.2" />
<plugin name="cordova.plugins.diagnostic" spec="5.0.1">
<variable name="ANDROID_SUPPORT_VERSION" value="28.+" />
</plugin>
<engine name="android" spec="^9.0.0" />
</widget>

28
e2e/protractor.conf.js Executable file
View File

@ -0,0 +1,28 @@
// Protractor configuration file, see link for more information
// https://github.com/angular/protractor/blob/master/lib/config.ts
const { SpecReporter } = require('jasmine-spec-reporter');
exports.config = {
allScriptsTimeout: 11000,
specs: [
'./src/**/*.e2e-spec.ts'
],
capabilities: {
'browserName': 'chrome'
},
directConnect: true,
baseUrl: 'http://localhost:4200/',
framework: 'jasmine',
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000,
print: function() {}
},
onPrepare() {
require('ts-node').register({
project: require('path').join(__dirname, './tsconfig.json')
});
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
}
};

19
e2e/src/app.e2e-spec.ts Executable file
View File

@ -0,0 +1,19 @@
import { AppPage } from './app.po';
describe('new App', () => {
let page: AppPage;
beforeEach(() => {
page = new AppPage();
});
describe('default screen', () => {
beforeEach(() => {
page.navigateTo('/home');
});
it('should have a title saying Home', () => {
page.getPageOneTitleText().then(title => {
expect(title).toEqual('Home');
});
});
});
});

15
e2e/src/app.po.ts Executable file
View File

@ -0,0 +1,15 @@
import { browser, by, element } from 'protractor';
export class AppPage {
navigateTo(destination) {
return browser.get(destination);
}
getTitle() {
return browser.getTitle();
}
getPageOneTitleText() {
return element(by.tagName('app-home')).element(by.deepCss('ion-title')).getText();
}
}

13
e2e/tsconfig.json Executable file
View File

@ -0,0 +1,13 @@
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/app",
"module": "commonjs",
"target": "es5",
"types": [
"jasmine",
"jasminewd2",
"node"
]
}
}

40
google-services.json Executable file
View File

@ -0,0 +1,40 @@
{
"project_info": {
"project_number": "906855209078",
"firebase_url": "https://pdgenie-prod.firebaseio.com",
"project_id": "pdgenie-prod",
"storage_bucket": "pdgenie-prod.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:906855209078:android:ee338aff821e0d8a",
"android_client_info": {
"package_name": "com.sineedge.pdgvendor"
}
},
"oauth_client": [
{
"client_id": "906855209078-sb98futmik28cnlpd8urtbg21i223tlj.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyBR2ZvqPvV0KzoG_q-iSzgJQXBss6T_VHs"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "906855209078-sb98futmik28cnlpd8urtbg21i223tlj.apps.googleusercontent.com",
"client_type": 3
}
]
}
}
}
],
"configuration_version": "1"
}

7
ionic.config.json Executable file
View File

@ -0,0 +1,7 @@
{
"name": "pd_officer_v4",
"integrations": {
"cordova": {}
},
"type": "angular"
}

31
karma.conf.js Executable file
View File

@ -0,0 +1,31 @@
// Karma configuration file, see link for more information
// https://karma-runner.github.io/1.0/config/configuration-file.html
module.exports = function (config) {
config.set({
basePath: '',
frameworks: ['jasmine', '@angular-devkit/build-angular'],
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage-istanbul-reporter'),
require('@angular-devkit/build-angular/plugins/karma')
],
client: {
clearContext: false // leave Jasmine Spec Runner output visible in browser
},
coverageIstanbulReporter: {
dir: require('path').join(__dirname, '../coverage'),
reports: ['html', 'lcovonly', 'text-summary'],
fixWebpackSourcePaths: true
},
reporters: ['progress', 'kjhtml'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false
});
};

15906
package-lock.json generated Executable file

File diff suppressed because it is too large Load Diff

150
package.json Executable file
View File

@ -0,0 +1,150 @@
{
"name": "vendor_officer",
"version": "0.0.1",
"author": "PD Genie",
"homepage": "https://pdgenie.com",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animations": "^8.2.14",
"@angular/cdk": "^8.2.3",
"@angular/common": "~8.1.2",
"@angular/core": "~8.1.2",
"@angular/forms": "~8.1.2",
"@angular/material": "^8.2.3",
"@angular/platform-browser": "~8.1.2",
"@angular/platform-browser-dynamic": "~8.1.2",
"@angular/router": "~8.1.2",
"@ionic-native/android-permissions": "^5.22.0",
"@ionic-native/app-version": "^5.22.0",
"@ionic-native/background-geolocation": "^5.22.0",
"@ionic-native/camera": "^5.22.0",
"@ionic-native/core": "^5.22.0",
"@ionic-native/diagnostic": "^5.22.0",
"@ionic-native/document-scanner": "^5.28.0",
"@ionic-native/file": "^5.22.0",
"@ionic-native/fingerprint-aio": "^5.22.0",
"@ionic-native/geolocation": "^5.22.0",
"@ionic-native/launch-navigator": "^5.22.0",
"@ionic-native/location-accuracy": "^5.22.0",
"@ionic-native/market": "^5.22.0",
"@ionic-native/push": "^5.22.0",
"@ionic-native/splash-screen": "^5.22.0",
"@ionic-native/sqlite": "^5.22.0",
"@ionic-native/status-bar": "^5.22.0",
"@ionic/angular": "^5.2.1",
"@ionic/storage": "^2.2.0",
"@netbasal/content-loader": "^1.1.0",
"amazon-cognito-identity-js": "^3.2.5",
"cordova-android": "^9.0.0",
"cordova-plugin-actionsheet": "2.3.3",
"cordova-plugin-android-permissions": "1.0.2",
"cordova-plugin-app-version": "0.1.9",
"cordova-plugin-camera": "4.1.0",
"cordova-plugin-device": "^2.0.3",
"cordova-plugin-dialogs": "2.0.2",
"cordova-plugin-document-scanner": "4.2.3",
"cordova-plugin-file": "6.0.2",
"cordova-plugin-fingerprint-aio": "3.0.1",
"cordova-plugin-geolocation": "4.0.2",
"cordova-plugin-ionic-keyboard": "^2.2.0",
"cordova-plugin-ionic-webview": "^4.1.3",
"cordova-plugin-market": "1.2.0",
"cordova-plugin-mauron85-background-geolocation": "3.0.1",
"cordova-plugin-request-location-accuracy": "2.3.0",
"cordova-plugin-splashscreen": "^5.0.3",
"cordova-plugin-statusbar": "^2.4.3",
"cordova-plugin-whitelist": "^1.3.4",
"cordova-sqlite-storage": "4.0.0",
"cordova-support-google-services": "^1.3.2",
"cordova.plugins.diagnostic": "5.0.1",
"core-js": "^2.5.4",
"ionic-cache": "^4.1.0",
"ngx-ionic-image-viewer": "^0.5.2",
"ngx-mat-select-search": "^2.1.2",
"phonegap-plugin-multidex": "^1.0.0",
"phonegap-plugin-push": "2.3.0",
"rxjs": "^6.5.4",
"tslib": "^1.11.1",
"uk.co.workingedge.phonegap.plugin.launchnavigator": "5.0.4",
"watermarkjs": "^2.1.1",
"zone.js": "~0.9.1"
},
"devDependencies": {
"@angular-devkit/architect": "~0.801.2",
"@angular-devkit/build-angular": "^0.803.25",
"@angular-devkit/core": "~8.1.2",
"@angular-devkit/schematics": "~8.1.2",
"@angular/cli": "~8.1.2",
"@angular/compiler": "~8.1.2",
"@angular/compiler-cli": "~8.1.2",
"@angular/language-service": "~8.1.2",
"@ionic/angular-toolkit": "^2.2.0",
"@types/jasmine": "~3.3.8",
"@types/jasminewd2": "~2.0.3",
"@types/node": "~8.9.4",
"codelyzer": "^5.0.0",
"jasmine-core": "~3.4.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~4.1.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~2.0.1",
"karma-jasmine-html-reporter": "^1.5.2",
"protractor": "^5.4.3",
"ts-node": "~7.0.0",
"tslint": "~5.15.0",
"typescript": "~3.4.3"
},
"description": "An Ionic project",
"cordova": {
"plugins": {
"cordova-plugin-android-permissions": {},
"cordova-plugin-app-version": {},
"cordova-plugin-mauron85-background-geolocation": {
"GOOGLE_PLAY_SERVICES_VERSION": "11+",
"ANDROID_SUPPORT_LIBRARY_VERSION": "26+",
"ICON": "@mipmap/icon",
"SMALL_ICON": "@mipmap/icon",
"ACCOUNT_NAME": "@string/app_name",
"ACCOUNT_LABEL": "@string/app_name",
"ACCOUNT_TYPE": "$PACKAGE_NAME.account",
"CONTENT_AUTHORITY": "$PACKAGE_NAME"
},
"cordova-plugin-camera": {},
"cordova-plugin-fingerprint-aio": {},
"cordova-plugin-geolocation": {},
"uk.co.workingedge.phonegap.plugin.launchnavigator": {
"GOOGLE_API_KEY_FOR_ANDROID": "AIzaSyA3lYDYxwtn5vLSl45SOKbtK7G6cEyXGr0",
"OKHTTP_VERSION": "3.12.0"
},
"cordova-plugin-request-location-accuracy": {},
"phonegap-plugin-push": {},
"cordova-sqlite-storage": {},
"cordova-plugin-market": {},
"cordova-plugin-whitelist": {},
"cordova-plugin-statusbar": {},
"cordova-plugin-device": {},
"cordova-plugin-splashscreen": {},
"cordova-plugin-ionic-webview": {
"ANDROID_SUPPORT_ANNOTATIONS_VERSION": "27.+"
},
"cordova-plugin-ionic-keyboard": {},
"cordova-plugin-document-scanner": {},
"cordova-plugin-file": {},
"cordova.plugins.diagnostic": {
"ANDROID_SUPPORT_VERSION": "28.+"
}
},
"platforms": [
"android"
]
}
}

BIN
releaseApk/No Use/pd-officer.jks Executable file

Binary file not shown.

19
releaseApk/Problem.txt Executable file
View File

@ -0,0 +1,19 @@
problem: Failed to apply plugin [class 'com.google.gms.googleservices.GoogleServicesPlugin']
> For input string: "11+"
solution:Go to src/platform/android/project.properties---->change the gms location and firebase-messaging version to 11.+
For apk size Highly increased problem(Due to camera scanner plugin - openCv libraries)
---------------------
Go to src/platform/android/app/build.gradle -> add
ndk {
abiFilters "armeabi-v7a", "arm64-v8a" // includes ARM SO files only, so no x86 SO file
}
the above object inside of
android {
defaultConfig {

33
releaseApk/ReadMe.txt Executable file
View File

@ -0,0 +1,33 @@
key Name :pd-genie-officer.jks
password: pdgenieofficer
commands:
command 1 GENERATE A KEY(One Time Generation only)
--------------------------------------------------
keytool -genkey -v -keystore lender.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias (One time only)
<we have already jks file in releaseApk folder do not run this command >
command 2 SIGN THE APK
----------------------
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore pd-genie-officer.jks app-release-unsigned.apk my-alias
command 3 OPTIMIZE THE APK
--------------------------
zipalign -v 4 app-release-unsigned.apk pd_genie_officer.apk
command 4 VERIFY THE SIGNED APK
-------------------------------
apksigner verify pd_genie_officer.apk

BIN
releaseApk/pd-genie-officer.jks Executable file

Binary file not shown.

View File

@ -0,0 +1,365 @@
{
"header": {
"reportVersion": 1,
"event": "Allocation failed - JavaScript heap out of memory",
"trigger": "FatalError",
"filename": "report.20200205.192559.19684.0.001.json",
"dumpEventTime": "2020-02-05T19:25:59Z",
"dumpEventTimeStamp": "1580910959478",
"processId": 19684,
"cwd": "/home/rajasekar/project/SineEdge/Resource/Ionic4 migration/pd_officer_v4",
"commandLine": [
"/usr/local/bin/node",
"/home/rajasekar/project/SineEdge/Resource/Ionic4 migration/pd_officer_v4/node_modules/jest-worker/build/workers/processChild.js"
],
"nodejsVersion": "v12.9.0",
"glibcVersionRuntime": "2.23",
"glibcVersionCompiler": "2.17",
"wordSize": 64,
"arch": "x64",
"platform": "linux",
"componentVersions": {
"node": "12.9.0",
"v8": "7.6.303.29-node.15",
"uv": "1.31.0",
"zlib": "1.2.11",
"brotli": "1.0.7",
"ares": "1.15.0",
"modules": "72",
"nghttp2": "1.39.2",
"napi": "4",
"llhttp": "1.1.4",
"http_parser": "2.8.0",
"openssl": "1.1.1c",
"cldr": "35.1",
"icu": "64.2",
"tz": "2019a",
"unicode": "12.1"
},
"release": {
"name": "node",
"headersUrl": "https://nodejs.org/download/release/v12.9.0/node-v12.9.0-headers.tar.gz",
"sourceUrl": "https://nodejs.org/download/release/v12.9.0/node-v12.9.0.tar.gz"
},
"osName": "Linux",
"osRelease": "4.4.0-150-generic",
"osVersion": "#176-Ubuntu SMP Wed May 29 18:56:26 UTC 2019",
"osMachine": "x86_64",
"cpus": [
{
"model": "Intel(R) Core(TM) i3-6006U CPU @ 2.00GHz",
"speed": 2000,
"user": 57009400,
"nice": 60700,
"sys": 11595400,
"idle": 240164800,
"irq": 0
},
{
"model": "Intel(R) Core(TM) i3-6006U CPU @ 2.00GHz",
"speed": 2000,
"user": 58024200,
"nice": 62800,
"sys": 13428300,
"idle": 236402200,
"irq": 0
},
{
"model": "Intel(R) Core(TM) i3-6006U CPU @ 2.00GHz",
"speed": 2000,
"user": 56237200,
"nice": 75000,
"sys": 11413600,
"idle": 238351900,
"irq": 0
},
{
"model": "Intel(R) Core(TM) i3-6006U CPU @ 2.00GHz",
"speed": 2000,
"user": 54480800,
"nice": 64300,
"sys": 12108000,
"idle": 241536800,
"irq": 0
}
],
"networkInterfaces": [
{
"name": "lo",
"internal": true,
"mac": "00:00:00:00:00:00",
"address": "127.0.0.1",
"netmask": "255.0.0.0",
"family": "IPv4"
},
{
"name": "wlp1s0",
"internal": false,
"mac": "a8:6b:ad:81:1d:8f",
"address": "192.168.0.109",
"netmask": "255.255.255.0",
"family": "IPv4"
},
{
"name": "lo",
"internal": true,
"mac": "00:00:00:00:00:00",
"address": "::1",
"netmask": "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff",
"family": "IPv6",
"scopeid": 0
},
{
"name": "wlp1s0",
"internal": false,
"mac": "a8:6b:ad:81:1d:8f",
"address": "fe80::39af:d850:bca6:37cc",
"netmask": "ffff:ffff:ffff:ffff::",
"family": "IPv6",
"scopeid": 3
},
{
"name": "wlp1s0",
"internal": false,
"mac": "a8:6b:ad:81:1d:8f",
"address": "fe80::aea:bb2c:66ac:af34",
"netmask": "ffff:ffff:ffff:ffff::",
"family": "IPv6",
"scopeid": 3
},
{
"name": "wlp1s0",
"internal": false,
"mac": "a8:6b:ad:81:1d:8f",
"address": "fe80::9f05:48b2:4d04:f4dc",
"netmask": "ffff:ffff:ffff:ffff::",
"family": "IPv6",
"scopeid": 3
}
],
"host": "rajasekar-Vostro-15-3568"
},
"javascriptStack": {
"message": "No stack.",
"stack": [
"Unavailable."
]
},
"nativeStack": [
{
"pc": "0x0000000000ae38f5",
"symbol": "report::TriggerNodeReport(v8::Isolate*, node::Environment*, char const*, char const*, std::string const&, v8::Local<v8::String>) [/usr/local/bin/node]"
},
{
"pc": "0x00000000009bdcc3",
"symbol": "node::OnFatalError(char const*, char const*) [/usr/local/bin/node]"
},
{
"pc": "0x0000000000b18ede",
"symbol": "v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/usr/local/bin/node]"
},
{
"pc": "0x0000000000b19259",
"symbol": "v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/usr/local/bin/node]"
},
{
"pc": "0x0000000000ccab35",
"symbol": " [/usr/local/bin/node]"
},
{
"pc": "0x0000000000ccb1a6",
"symbol": "v8::internal::Heap::RecomputeLimits(v8::internal::GarbageCollector) [/usr/local/bin/node]"
},
{
"pc": "0x0000000000cd69da",
"symbol": "v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [/usr/local/bin/node]"
},
{
"pc": "0x0000000000cd78e5",
"symbol": "v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/usr/local/bin/node]"
},
{
"pc": "0x0000000000cda3a8",
"symbol": "v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationType, v8::internal::AllocationAlignment) [/usr/local/bin/node]"
},
{
"pc": "0x0000000000ca1ed7",
"symbol": "v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationType) [/usr/local/bin/node]"
},
{
"pc": "0x0000000000fc9f28",
"symbol": "v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [/usr/local/bin/node]"
},
{
"pc": "0x000000000134f099",
"symbol": " [/usr/local/bin/node]"
}
],
"javascriptHeap": {
"totalMemory": 2153148416,
"totalCommittedMemory": 2148933984,
"usedMemory": 2122776784,
"availableMemory": 49638160,
"memoryLimit": 2197815296,
"heapSpaces": {
"read_only_space": {
"memorySize": 262144,
"committedMemory": 31744,
"capacity": 261832,
"used": 31432,
"available": 230400
},
"new_space": {
"memorySize": 4194304,
"committedMemory": 1218744,
"capacity": 2094656,
"used": 166552,
"available": 1928104
},
"old_space": {
"memorySize": 2052698112,
"committedMemory": 2052275576,
"capacity": 2028556032,
"used": 2027837912,
"available": 718120
},
"code_space": {
"memorySize": 1736704,
"committedMemory": 1630816,
"capacity": 1534368,
"used": 1534368,
"available": 0
},
"map_space": {
"memorySize": 1839104,
"committedMemory": 1359056,
"capacity": 930960,
"used": 930960,
"available": 0
},
"large_object_space": {
"memorySize": 92368896,
"committedMemory": 92368896,
"capacity": 92272104,
"used": 92272104,
"available": 0
},
"code_large_object_space": {
"memorySize": 49152,
"committedMemory": 49152,
"capacity": 3456,
"used": 3456,
"available": 0
},
"new_large_object_space": {
"memorySize": 0,
"committedMemory": 0,
"capacity": 2094656,
"used": 0,
"available": 2094656
}
}
},
"resourceUsage": {
"userCpuSeconds": 212.76,
"kernelCpuSeconds": 4.172,
"cpuConsumptionPercent": 173.546,
"maxRss": 2275667968,
"pageFaults": {
"IORequired": 10,
"IONotRequired": 1089707
},
"fsActivity": {
"reads": 4360,
"writes": 11792
}
},
"uvthreadResourceUsage": {
"userCpuSeconds": 97.748,
"kernelCpuSeconds": 2.224,
"cpuConsumptionPercent": 79.9776,
"fsActivity": {
"reads": 4264,
"writes": 5840
}
},
"libuv": [
],
"environmentVariables": {
"TERM": "xterm-256color",
"PATH": "/home/rajasekar/project/SineEdge/Resource/Ionic4 migration/pd_officer_v4/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin",
"LANG": "en_GB.UTF-8",
"HOME": "/home/rajasekar",
"LANGUAGE": "en_IN:en",
"DISPLAY": ":0",
"XAUTHORITY": "/home/rajasekar/.Xauthority",
"MAIL": "/var/mail/root",
"LOGNAME": "root",
"USER": "root",
"USERNAME": "root",
"SHELL": "/bin/bash",
"SUDO_COMMAND": "/usr/local/bin/ionic cordova build android",
"SUDO_USER": "rajasekar",
"SUDO_UID": "1001",
"SUDO_GID": "1001",
"IONIC_CLI_BIN": "/usr/local/lib/node_modules/ionic/bin/ionic",
"IONIC_CLI_LIB": "/usr/local/lib/node_modules/ionic",
"IONIC_CLI_LOCAL_ERROR": "LOCAL_CLI_NOT_FOUND",
"FORCE_COLOR": "1",
"WEBPACK_DEV_SERVER": "true",
"JEST_WORKER_ID": "3"
},
"userLimits": {
"core_file_size_blocks": {
"soft": 0,
"hard": "unlimited"
},
"data_seg_size_kbytes": {
"soft": "unlimited",
"hard": "unlimited"
},
"file_size_blocks": {
"soft": "unlimited",
"hard": "unlimited"
},
"max_locked_memory_bytes": {
"soft": 65536,
"hard": 65536
},
"max_memory_size_kbytes": {
"soft": "unlimited",
"hard": "unlimited"
},
"open_files": {
"soft": 1048576,
"hard": 1048576
},
"stack_size_bytes": {
"soft": 8388608,
"hard": "unlimited"
},
"cpu_time_seconds": {
"soft": "unlimited",
"hard": "unlimited"
},
"max_user_processes": {
"soft": 30756,
"hard": 30756
},
"virtual_memory_kbytes": {
"soft": "unlimited",
"hard": "unlimited"
}
},
"sharedObjects": [
"/lib/x86_64-linux-gnu/libdl.so.2",
"/lib/x86_64-linux-gnu/librt.so.1",
"/usr/lib/x86_64-linux-gnu/libstdc++.so.6",
"/lib/x86_64-linux-gnu/libm.so.6",
"/lib/x86_64-linux-gnu/libgcc_s.so.1",
"/lib/x86_64-linux-gnu/libpthread.so.0",
"/lib/x86_64-linux-gnu/libc.so.6",
"/lib64/ld-linux-x86-64.so.2"
]
}

View File

@ -0,0 +1,365 @@
{
"header": {
"reportVersion": 1,
"event": "Allocation failed - JavaScript heap out of memory",
"trigger": "FatalError",
"filename": "report.20200205.192809.19728.0.001.json",
"dumpEventTime": "2020-02-05T19:28:09Z",
"dumpEventTimeStamp": "1580911089060",
"processId": 19728,
"cwd": "/home/rajasekar/project/SineEdge/Resource/Ionic4 migration/pd_officer_v4",
"commandLine": [
"/usr/local/bin/node",
"/home/rajasekar/project/SineEdge/Resource/Ionic4 migration/pd_officer_v4/node_modules/jest-worker/build/workers/processChild.js"
],
"nodejsVersion": "v12.9.0",
"glibcVersionRuntime": "2.23",
"glibcVersionCompiler": "2.17",
"wordSize": 64,
"arch": "x64",
"platform": "linux",
"componentVersions": {
"node": "12.9.0",
"v8": "7.6.303.29-node.15",
"uv": "1.31.0",
"zlib": "1.2.11",
"brotli": "1.0.7",
"ares": "1.15.0",
"modules": "72",
"nghttp2": "1.39.2",
"napi": "4",
"llhttp": "1.1.4",
"http_parser": "2.8.0",
"openssl": "1.1.1c",
"cldr": "35.1",
"icu": "64.2",
"tz": "2019a",
"unicode": "12.1"
},
"release": {
"name": "node",
"headersUrl": "https://nodejs.org/download/release/v12.9.0/node-v12.9.0-headers.tar.gz",
"sourceUrl": "https://nodejs.org/download/release/v12.9.0/node-v12.9.0.tar.gz"
},
"osName": "Linux",
"osRelease": "4.4.0-150-generic",
"osVersion": "#176-Ubuntu SMP Wed May 29 18:56:26 UTC 2019",
"osMachine": "x86_64",
"cpus": [
{
"model": "Intel(R) Core(TM) i3-6006U CPU @ 2.00GHz",
"speed": 1988,
"user": 57621500,
"nice": 61100,
"sys": 11646000,
"idle": 240726200,
"irq": 0
},
{
"model": "Intel(R) Core(TM) i3-6006U CPU @ 2.00GHz",
"speed": 1988,
"user": 58644900,
"nice": 63500,
"sys": 13482000,
"idle": 236944600,
"irq": 0
},
{
"model": "Intel(R) Core(TM) i3-6006U CPU @ 2.00GHz",
"speed": 1957,
"user": 56905600,
"nice": 75400,
"sys": 11471600,
"idle": 238799100,
"irq": 0
},
{
"model": "Intel(R) Core(TM) i3-6006U CPU @ 2.00GHz",
"speed": 1932,
"user": 55237900,
"nice": 65000,
"sys": 12161800,
"idle": 241955400,
"irq": 0
}
],
"networkInterfaces": [
{
"name": "lo",
"internal": true,
"mac": "00:00:00:00:00:00",
"address": "127.0.0.1",
"netmask": "255.0.0.0",
"family": "IPv4"
},
{
"name": "wlp1s0",
"internal": false,
"mac": "a8:6b:ad:81:1d:8f",
"address": "192.168.0.109",
"netmask": "255.255.255.0",
"family": "IPv4"
},
{
"name": "lo",
"internal": true,
"mac": "00:00:00:00:00:00",
"address": "::1",
"netmask": "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff",
"family": "IPv6",
"scopeid": 0
},
{
"name": "wlp1s0",
"internal": false,
"mac": "a8:6b:ad:81:1d:8f",
"address": "fe80::39af:d850:bca6:37cc",
"netmask": "ffff:ffff:ffff:ffff::",
"family": "IPv6",
"scopeid": 3
},
{
"name": "wlp1s0",
"internal": false,
"mac": "a8:6b:ad:81:1d:8f",
"address": "fe80::aea:bb2c:66ac:af34",
"netmask": "ffff:ffff:ffff:ffff::",
"family": "IPv6",
"scopeid": 3
},
{
"name": "wlp1s0",
"internal": false,
"mac": "a8:6b:ad:81:1d:8f",
"address": "fe80::9f05:48b2:4d04:f4dc",
"netmask": "ffff:ffff:ffff:ffff::",
"family": "IPv6",
"scopeid": 3
}
],
"host": "rajasekar-Vostro-15-3568"
},
"javascriptStack": {
"message": "No stack.",
"stack": [
"Unavailable."
]
},
"nativeStack": [
{
"pc": "0x0000000000ae38f5",
"symbol": "report::TriggerNodeReport(v8::Isolate*, node::Environment*, char const*, char const*, std::string const&, v8::Local<v8::String>) [/usr/local/bin/node]"
},
{
"pc": "0x00000000009bdcc3",
"symbol": "node::OnFatalError(char const*, char const*) [/usr/local/bin/node]"
},
{
"pc": "0x0000000000b18ede",
"symbol": "v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/usr/local/bin/node]"
},
{
"pc": "0x0000000000b19259",
"symbol": "v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/usr/local/bin/node]"
},
{
"pc": "0x0000000000ccab35",
"symbol": " [/usr/local/bin/node]"
},
{
"pc": "0x0000000000ccb1a6",
"symbol": "v8::internal::Heap::RecomputeLimits(v8::internal::GarbageCollector) [/usr/local/bin/node]"
},
{
"pc": "0x0000000000cd69da",
"symbol": "v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [/usr/local/bin/node]"
},
{
"pc": "0x0000000000cd78e5",
"symbol": "v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/usr/local/bin/node]"
},
{
"pc": "0x0000000000cda3a8",
"symbol": "v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationType, v8::internal::AllocationAlignment) [/usr/local/bin/node]"
},
{
"pc": "0x0000000000ca1ed7",
"symbol": "v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationType) [/usr/local/bin/node]"
},
{
"pc": "0x0000000000fc9f28",
"symbol": "v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [/usr/local/bin/node]"
},
{
"pc": "0x000000000134f099",
"symbol": " [/usr/local/bin/node]"
}
],
"javascriptHeap": {
"totalMemory": 2153639936,
"totalCommittedMemory": 2149642688,
"usedMemory": 2123023336,
"availableMemory": 48544168,
"memoryLimit": 2197815296,
"heapSpaces": {
"read_only_space": {
"memorySize": 262144,
"committedMemory": 31744,
"capacity": 261832,
"used": 31432,
"available": 230400
},
"new_space": {
"memorySize": 4194304,
"committedMemory": 1220024,
"capacity": 2094656,
"used": 167960,
"available": 1926696
},
"old_space": {
"memorySize": 2053746688,
"committedMemory": 2053331128,
"capacity": 2028386000,
"used": 2028268944,
"available": 117056
},
"code_space": {
"memorySize": 1736704,
"committedMemory": 1519360,
"capacity": 1357824,
"used": 1357824,
"available": 0
},
"map_space": {
"memorySize": 1314816,
"committedMemory": 1155152,
"capacity": 923920,
"used": 923920,
"available": 0
},
"large_object_space": {
"memorySize": 92368896,
"committedMemory": 92368896,
"capacity": 92272104,
"used": 92272104,
"available": 0
},
"code_large_object_space": {
"memorySize": 16384,
"committedMemory": 16384,
"capacity": 1152,
"used": 1152,
"available": 0
},
"new_large_object_space": {
"memorySize": 0,
"committedMemory": 0,
"capacity": 2094656,
"used": 0,
"available": 2094656
}
}
},
"resourceUsage": {
"userCpuSeconds": 207.016,
"kernelCpuSeconds": 4.052,
"cpuConsumptionPercent": 173.007,
"maxRss": 2257125376,
"pageFaults": {
"IORequired": 2,
"IONotRequired": 1150153
},
"fsActivity": {
"reads": 25032,
"writes": 0
}
},
"uvthreadResourceUsage": {
"userCpuSeconds": 94.952,
"kernelCpuSeconds": 2.184,
"cpuConsumptionPercent": 79.6197,
"fsActivity": {
"reads": 25032,
"writes": 0
}
},
"libuv": [
],
"environmentVariables": {
"TERM": "xterm-256color",
"PATH": "/home/rajasekar/project/SineEdge/Resource/Ionic4 migration/pd_officer_v4/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin",
"LANG": "en_GB.UTF-8",
"HOME": "/home/rajasekar",
"LANGUAGE": "en_IN:en",
"DISPLAY": ":0",
"XAUTHORITY": "/home/rajasekar/.Xauthority",
"MAIL": "/var/mail/root",
"LOGNAME": "root",
"USER": "root",
"USERNAME": "root",
"SHELL": "/bin/bash",
"SUDO_COMMAND": "/usr/local/bin/ionic cordova build android",
"SUDO_USER": "rajasekar",
"SUDO_UID": "1001",
"SUDO_GID": "1001",
"IONIC_CLI_BIN": "/usr/local/lib/node_modules/ionic/bin/ionic",
"IONIC_CLI_LIB": "/usr/local/lib/node_modules/ionic",
"IONIC_CLI_LOCAL_ERROR": "LOCAL_CLI_NOT_FOUND",
"FORCE_COLOR": "1",
"WEBPACK_DEV_SERVER": "true",
"JEST_WORKER_ID": "3"
},
"userLimits": {
"core_file_size_blocks": {
"soft": 0,
"hard": "unlimited"
},
"data_seg_size_kbytes": {
"soft": "unlimited",
"hard": "unlimited"
},
"file_size_blocks": {
"soft": "unlimited",
"hard": "unlimited"
},
"max_locked_memory_bytes": {
"soft": 65536,
"hard": 65536
},
"max_memory_size_kbytes": {
"soft": "unlimited",
"hard": "unlimited"
},
"open_files": {
"soft": 1048576,
"hard": 1048576
},
"stack_size_bytes": {
"soft": 8388608,
"hard": "unlimited"
},
"cpu_time_seconds": {
"soft": "unlimited",
"hard": "unlimited"
},
"max_user_processes": {
"soft": 30756,
"hard": 30756
},
"virtual_memory_kbytes": {
"soft": "unlimited",
"hard": "unlimited"
}
},
"sharedObjects": [
"/lib/x86_64-linux-gnu/libdl.so.2",
"/lib/x86_64-linux-gnu/librt.so.1",
"/usr/lib/x86_64-linux-gnu/libstdc++.so.6",
"/lib/x86_64-linux-gnu/libm.so.6",
"/lib/x86_64-linux-gnu/libgcc_s.so.1",
"/lib/x86_64-linux-gnu/libpthread.so.0",
"/lib/x86_64-linux-gnu/libc.so.6",
"/lib64/ld-linux-x86-64.so.2"
]
}

8
resources/README.md Executable file
View File

@ -0,0 +1,8 @@
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/

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">localhost</domain>
</domain-config>
</network-security-config>

BIN
resources/icon.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

1
resources/icon.png.md5 Executable file
View File

@ -0,0 +1 @@
b7a37b9afefb48f35e1ced9da6791713

BIN
resources/ios/icon/icon-1024.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

BIN
resources/ios/icon/icon-20.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 686 B

BIN
resources/ios/icon/icon-20@2x.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
resources/ios/icon/icon-20@3x.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
resources/ios/icon/icon-24@2x.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
resources/ios/icon/icon-29.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
resources/ios/icon/icon-29@2x.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
resources/ios/icon/icon-29@3x.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

BIN
resources/ios/icon/icon-40.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
resources/ios/icon/icon-40@2x.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

BIN
resources/ios/icon/icon-40@3x.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

BIN
resources/ios/icon/icon-44@2x.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

BIN
resources/ios/icon/icon-50.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
resources/ios/icon/icon-50@2x.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

BIN
resources/ios/icon/icon-60.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
resources/ios/icon/icon-60@2x.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

BIN
resources/ios/icon/icon-60@3x.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
resources/ios/icon/icon-72.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

BIN
resources/ios/icon/icon-72@2x.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
resources/ios/icon/icon-76.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

BIN
resources/ios/icon/icon-76@2x.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
resources/ios/icon/icon-86@2x.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
resources/ios/icon/icon-98@2x.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
resources/ios/icon/icon-small.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

BIN
resources/ios/icon/icon.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
resources/ios/icon/icon@2x.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
resources/splash.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

1
resources/splash.png.md5 Executable file
View File

@ -0,0 +1 @@
50007304f4721190957196d17b2ae952

59
src/app/app-routing.module.ts Executable file
View File

@ -0,0 +1,59 @@
import { NgModule } from '@angular/core';
import { PreloadAllModules, RouterModule, Routes } from '@angular/router';
// import { PdListPage } from './pages/pd-list/pd-list';
// import { AuthPage } from './pages/auth/auth';
// import { CompleteListPage } from './pages/complete-list/complete-list';
// import { InputPage } from './pages/input/input';
import { PdComponent } from './pages/pd/pd-component/pd.component';
import { AuthenticationComponent } from './pages/authentication/authentication.component';
import { AuthGuard } from './services/_guard/auth.guard';
// import { MapAddressPage } from './pages/map-address/map-address';
// import { OtpPage } from './pages/otp/otp';
// import { PdAllocationPage } from './pages/pd-allocation/pd-allocation';
// import { PdGeneralImagesPage } from './pages/pd-general-images/pd-general-images';
// import { PdQuestionPage } from './pages/pd-question/pd-question';
const routes: Routes = [
{
path: '',
redirectTo: 'authentication',
pathMatch: 'full'
},
{
path : '',
component:PdComponent,
canActivate:[AuthGuard],
children :[
{
path:'pd',
loadChildren: () => import('./pages/pd/pd.module').then(m=>m.PdModule),
}
]
},
{
path : '',
component:AuthenticationComponent,
children:[
{
path : 'authentication',
loadChildren:()=> import('./pages/authentication/authentication.module').then(m=>m.AuthenticationModule)
}
]
},
{
path: 'home',
loadChildren: () => import('./home/home.module').then(m => m.HomePageModule)
},
{
path: 'list',
loadChildren: () => import('./list/list.module').then(m => m.ListPageModule)
}
];
@NgModule({
imports: [
RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })
],
exports: [RouterModule]
})
export class AppRoutingModule {}

58
src/app/app.component.html Executable file
View File

@ -0,0 +1,58 @@
<!-- <ion-app>
<ion-split-pane contentId="main-content">
<ion-menu contentId="main-content" type="overlay">
<ion-header>
<ion-toolbar>
<ion-title>Menu</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-list>
<ion-menu-toggle auto-hide="false" *ngFor="let p of appPages">
<ion-item [routerDirection]="'root'" [routerLink]="[p.url]">
<ion-icon slot="start" [name]="p.icon"></ion-icon>
<ion-label>
{{p.title}}
</ion-label>
</ion-item>
</ion-menu-toggle>
</ion-list>
</ion-content>
</ion-menu>
<ion-router-outlet id="main-content"></ion-router-outlet>
</ion-split-pane>
</ion-app> -->
<!-- <ion-app>
<ion-split-pane contentId="main-content">
<ion-menu contentId="main-content" type="overlay">
<ion-content>
<div class="menu-header" style="text-align:center !important;" *ngIf="userAccess">
<img class="user-avatar round" style="height:111px;max-width:111px;" [src]="userDetails.profilepic || placeholder" onerror="this.src='assets/img/avatar/girl-avatar.png'"
/>
<p class="name">{{userDetails.user_first_name}} {{userDetails.user_last_name}}</p>
<span>({{userDetails.role_name}})</span>
</div>
<div class="menu-header" style="text-align:center !important;" *ngIf="!userAccess">
<img class="user-avatar round" style="height:111px;max-width:111px;" [src]="chosenPicture || placeholder" onerror="this.src='assets/img/avatar/girl-avatar.png'"
/>
<p class="name">Sineedge PD Officer</p>
</div>
<div class="hr"></div>
<ion-list no-lines>
<button menuClose="left" ion-item detail-none *ngFor="let p of pages" (click)="p.method()">
<ion-icon [name]="p.icon" item-left></ion-icon>
{{p.title}}
</button>
<ion-item no-lines>
<p>App Version: {{app_version}}</p>
</ion-item>
</ion-list>
</ion-content>
</ion-menu> -->
<ion-router-outlet id="main-content"></ion-router-outlet>
<!-- </ion-split-pane>
</ion-app> -->

0
src/app/app.component.scss Executable file
View File

67
src/app/app.component.spec.ts Executable file
View File

@ -0,0 +1,67 @@
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { TestBed, async } from '@angular/core/testing';
import { Platform } from '@ionic/angular';
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
import { StatusBar } from '@ionic-native/status-bar/ngx';
import { RouterTestingModule } from '@angular/router/testing';
import { AppComponent } from './app.component';
describe('AppComponent', () => {
let statusBarSpy, splashScreenSpy, platformReadySpy, platformSpy;
beforeEach(async(() => {
statusBarSpy = jasmine.createSpyObj('StatusBar', ['styleDefault']);
splashScreenSpy = jasmine.createSpyObj('SplashScreen', ['hide']);
platformReadySpy = Promise.resolve();
platformSpy = jasmine.createSpyObj('Platform', { ready: platformReadySpy });
TestBed.configureTestingModule({
declarations: [AppComponent],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
providers: [
{ provide: StatusBar, useValue: statusBarSpy },
{ provide: SplashScreen, useValue: splashScreenSpy },
{ provide: Platform, useValue: platformSpy },
],
imports: [ RouterTestingModule.withRoutes([])],
}).compileComponents();
}));
it('should create the app', async () => {
const fixture = TestBed.createComponent(AppComponent);
const app = fixture.debugElement.componentInstance;
expect(app).toBeTruthy();
});
it('should initialize the app', async () => {
TestBed.createComponent(AppComponent);
expect(platformSpy.ready).toHaveBeenCalled();
await platformReadySpy;
expect(statusBarSpy.styleDefault).toHaveBeenCalled();
expect(splashScreenSpy.hide).toHaveBeenCalled();
});
it('should have menu labels', async () => {
const fixture = await TestBed.createComponent(AppComponent);
await fixture.detectChanges();
const app = fixture.nativeElement;
const menuItems = app.querySelectorAll('ion-label');
expect(menuItems.length).toEqual(2);
expect(menuItems[0].textContent).toContain('Home');
expect(menuItems[1].textContent).toContain('List');
});
it('should have urls', async () => {
const fixture = await TestBed.createComponent(AppComponent);
await fixture.detectChanges();
const app = fixture.nativeElement;
const menuItems = app.querySelectorAll('ion-item');
expect(menuItems.length).toEqual(2);
expect(menuItems[0].getAttribute('ng-reflect-router-link')).toEqual('/home');
expect(menuItems[1].getAttribute('ng-reflect-router-link')).toEqual('/list');
});
});

281
src/app/app.component.ts Executable file
View File

@ -0,0 +1,281 @@
import { Component } from '@angular/core';
import { Platform, NavController, AlertController } from '@ionic/angular';
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
import { StatusBar } from '@ionic-native/status-bar/ngx';
import { CognitoServiceProvider } from './services/aws-service/cognito.service';
import { environment } from 'src/environments/environment';
import { AwsServiceProvider } from './services/aws-service/aws-service';
import { PushObject, PushOptions, Push } from '@ionic-native/push/ngx';
import { ToastProvider } from './services/common-provider/toast';
import { PdtriggerProvider } from './services/pdtrigger/pdtrigger';
import { Router } from '@angular/router';
import { AppVersion } from '@ionic-native/app-version/ngx';
import { Market } from '@ionic-native/market/ngx';
import { EventsService } from './services/common-provider/events/events.service';
import { ConstantsProvider } from './services/constants/constants';
@Component({
selector: 'app-root',
templateUrl: 'app.component.html',
styleUrls: ['app.component.scss']
})
export class AppComponent {
public appPages = [
{
title: 'Home',
url: '/home',
icon: 'home'
},
{
title: 'List',
url: '/list',
icon: 'list'
}
];
curr_environmnet: any;
userDetails: any;
user_id: any;
notificationAccess: boolean=false;
userAccess: boolean;
alertShown: boolean=false;
app_version: string;
constructor(
private platform: Platform,
private splashScreen: SplashScreen,
private statusBar: StatusBar,
private cognito:CognitoServiceProvider,
private navCtrl:NavController,
private aws:AwsServiceProvider,
private push:Push,
private toastProvider:ToastProvider,
private pdtrigger:PdtriggerProvider,
private router:Router,
private alertCtrl:AlertController,
private appVersion:AppVersion,
private marketOpener:Market,
private toast:ToastProvider,
private eventService:EventsService,
private constantProvider:ConstantsProvider
) {
this.initializeApp();
}
initializeApp() {
this.platform.ready().then(() => {
this.statusBar.styleLightContent();
this.splashScreen.hide();
// if(this.platform.is('cordova')){
this.backButtonEvent()
// }
this.appVersion.getVersionNumber().then(version_num=>{
this.app_version=version_num
},err=>{
console.log("Unable to get Version",err)
})
});
this.checkAuthentication()
}
checkAuthentication(){
this.curr_environmnet = this.constantProvider.environment()
this.cognito.getAccessToken().then(()=>{
if(this.curr_environmnet.environment_name == 'production'){
this.checkAppVersion();
}
// Ok we have an URI and something in the storage, we could recover
this.getuserDetails();
this.getCommonSettings()
// this.rootPage = AuthPage
if(this.platform.is('cordova')){
this.navCtrl.navigateRoot('/authentication/AuthPage')
}
else{
// this.navCtrl.navigateRoot('/pd/pd-questions/all-ques')
// this.navCtrl.navigateRoot('/pd')
this.navCtrl.navigateRoot('/authentication/AuthPage')
}
// console.log("Crasshed apk",myObject,this.Camerauri);
}).catch(()=>{
setTimeout(() => {
this.navCtrl.navigateRoot('/')
// this.unregisterNotification()
}, 1000);
});
}
getCommonSettings(){
// getCommonConfig
this.pdtrigger.getCommonConfig().subscribe(res=>{
if(res['dataStatus']){
localStorage.setItem('commonConfig',JSON.stringify(res['records']))
}
})
}
getuserDetails()
{
this.userDetails=''
let userid = this.aws.getlocale();
this.user_id=userid
this.aws.getuserprofile(userid).subscribe(res=>{
this.userDetails = res;
if(this.userDetails.dataStatus == true)
{
this.notificationAccess=true
// console.log("Inside user details notification access value",this.notificationAccess)
this.userAccess = true;
this.userDetails = this.userDetails.records[0];
localStorage.setItem("pd_user_details",JSON.stringify(this.userDetails))
this.notification()
}
});
}
backButtonEvent() {
if (this.platform.is('android')) {
this.platform.backButton.subscribe(() => {
console.log("route>>>>",this.router,this.router.navigated)
console.log('this.router.url', this.router.url);
if ((this.router.url === '/authentication/login' || this.router.url === '/authentication/AuthPage' || this.router.url === '/pd/pd-list') && this.alertShown == false) {
this.alertShown=true
// navigator['app'].exitApp();
this.exitAlert().then(res=>{})
}
else if(this.router.url === '/pd/pd-questions/PdQuestionCategoryPage'){
this.navCtrl.navigateRoot('/pd')
}
else{
this.navCtrl.pop()
}
});
}
}
notification(){
// this.nav.setRoot(this.nav.getActive().component);
this.push.hasPermission().then((res: any) => {
if (res.isEnabled) {
console.log('We have permission to send push notifications');
} else {
console.log('We do not have permission to send push notifications');
}
});
const option:PushOptions={
android:{
// senderID:'893175418100'
senderID:'906855209078',
sound: true,
vibrate: true,
},
ios: {
alert: 'true',
badge: true,
sound: 'false'
},
windows: {},
browser: {
pushServiceURL: 'http://push.api.phonegap.com/v1/push'
}
}
const pushObject:PushObject=this.push.init(option);
if(this.notificationAccess){
pushObject.on('notification').subscribe((notification: any) =>{
console.log('Received a notification', notification)
if(notification.additionalData.foreground){
// this.event.publish('alert',notification);
this.toastProvider.setAlertwithButton(notification)
}
else{
// this.event.publish('notify',notification);
this.eventService.publishNotifyEvent(notification);
//this.nav.setRoot(PdListPage,{notify:'Via Notification'});
// this.rootPage=PdListPage
this.navCtrl.navigateRoot('/pd')
}
});
}
else{
console.log("Sorry you dont have notification access");
}
pushObject.on('registration').subscribe((registration: any) => {
console.log('Device registered', registration)
let data:any={"fk_user_id":this.user_id,"token":registration.registrationId,"client":"MOB"}
console.log("update notification data api",data);
this.pdtrigger.updateNotificationToken(data).subscribe(res=>{
if(res['dataStatus']){
// console.log("Token Sended Successfully",res)
}
},err=>{
console.log("Error",err);
})
});
pushObject.on('error').subscribe(error => console.error('Error with Push plugin', error));
}
async exitAlert(){
//this.presentConfirm();
let alert=await this.alertCtrl.create({
header:'Confirm Exit',
message:'Do You Want Exit ?',
buttons:[
{
text:'Cancel',
role:'cancel',
handler:()=>{
// console.log("Cancel clicked");
this.alertShown=false
alert.dismiss()
}
},
{
text:'Yes',
role:'yes',
handler:()=>{
// console.log("Exit");
navigator['app'].exitApp()
}
}
]
});
await alert.present();
this.alertShown=true
}
checkAppVersion(){
if(this.curr_environmnet.environment_name == 'production'){
this.pdtrigger.checkAppVersion().subscribe(result=>{
if(result['dataStatus']){
console.log("app versions",this.app_version,result);
console.log(result['records'][0].version.toString())
if(this.app_version != result['records'][0].version.toString()){
return new Promise((resolve,reject)=>{
this.toast.setAlertwithOKButton("Update Available","A new version of App is available Please download it..!").then(data=>{
if(data == false){
navigator['app'].exitApp()
reject()
return true;
}
else{
this.marketOpener.open('com.sineedge.pdgvendor');
navigator['app'].exitApp()
}
})
})
}
}
})
}
}
}

89
src/app/app.module.ts Executable file
View File

@ -0,0 +1,89 @@
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouteReuseStrategy } from '@angular/router';
import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
import { StatusBar } from '@ionic-native/status-bar/ngx';
import { AppComponent } from './app.component';
import { AppRoutingModule } from './app-routing.module';
import { TestPipe } from './pipes/test.pipe';
import { PdComponent } from './pages/pd/pd-component/pd.component';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
import { ReqTokenInterceptor } from './services/_guard/req-token.interceptor';
import { Geolocation } from '@ionic-native/geolocation/ngx';
import { AwsServiceProvider } from './services/aws-service/aws-service';
import { ToastProvider } from './services/common-provider/toast';
import { ConstantsProvider } from './services/constants/constants';
import { CognitoServiceProvider } from './services/aws-service/cognito.service';
import { PdtriggerProvider } from './services/pdtrigger/pdtrigger';
import { SQLite } from '@ionic-native/sqlite/ngx';
import { AndroidPermissions } from '@ionic-native/android-permissions/ngx';
import {BackgroundGeolocation} from '@ionic-native/background-geolocation/ngx';
import { QuestionCategoryProvider } from './services/question-category/question-category';
import { CameraProvider } from './services/common-provider/camera';
import { PdPipe } from './pipes/pd/pd';
import { LocationAccuracy } from '@ionic-native/location-accuracy/ngx';
import { LoadingProvider } from './services/common-provider/loading';
import { DatabaseProvider } from './services/database/database';
import { StorageProvider } from './services/storage/storage';
import { Market } from '@ionic-native/market/ngx';
import { FingerprintAIO } from '@ionic-native/fingerprint-aio/ngx';
import {Camera} from '@ionic-native/camera/ngx'
import { IonicStorageModule } from '@ionic/storage';
import { CacheModule } from 'ionic-cache';
import { FormsModule } from '@angular/forms';
import { CommonModule } from '@angular/common';
import { AuthenticationComponent } from './pages/authentication/authentication.component';
import { Push } from '@ionic-native/push/ngx';
import { AppVersion } from '@ionic-native/app-version/ngx';
import { LaunchNavigator } from '@ionic-native/launch-navigator/ngx';
import { GpsService } from './services/common-provider/gps.service';
import { DocumentScanner } from '@ionic-native/document-scanner/ngx';
import { ImageNameModule } from './pages/pd/pd.module';
import { File } from '@ionic-native/file/ngx';
import { Diagnostic } from '@ionic-native/diagnostic/ngx';
import { HideHeaderDirective } from './shared/directives/hide-header.directive';
@NgModule({
declarations: [AppComponent, TestPipe,PdComponent,AuthenticationComponent,],
entryComponents: [],
imports: [
BrowserModule,
FormsModule,
CommonModule,
IonicModule.forRoot(),
AppRoutingModule,
BrowserAnimationsModule,
HttpClientModule,
IonicStorageModule.forRoot(),
CacheModule.forRoot(),
ImageNameModule
],
providers: [
StatusBar,
SplashScreen,ReqTokenInterceptor,Geolocation,AwsServiceProvider,ToastProvider,
ConstantsProvider,CognitoServiceProvider,SplashScreen,PdtriggerProvider,FingerprintAIO,SQLite,AndroidPermissions,BackgroundGeolocation,
Camera,
PdPipe,LocationAccuracy,
LoadingProvider,Geolocation,LaunchNavigator,
DatabaseProvider,
StorageProvider,
DocumentScanner,
Diagnostic,
Market,
Push,AppVersion,GpsService,
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy },
{
provide:HTTP_INTERCEPTORS,
useClass: ReqTokenInterceptor,
multi: true
},
File
],
bootstrap: [AppComponent]
})
export class AppModule {}

23
src/app/home/home.module.ts Executable file
View File

@ -0,0 +1,23 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { IonicModule } from '@ionic/angular';
import { RouterModule } from '@angular/router';
import { HomePage } from './home.page';
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
RouterModule.forChild([
{
path: '',
component: HomePage
}
])
],
declarations: [HomePage]
})
export class HomePageModule {}

48
src/app/home/home.page.html Executable file
View File

@ -0,0 +1,48 @@
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-menu-button></ion-menu-button>
</ion-buttons>
<ion-title>
Home
</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-card class="welcome-card">
<img src="/assets/shapes.svg" alt=""/>
<ion-card-header>
<ion-card-subtitle>Get Started</ion-card-subtitle>
<ion-card-title>Welcome to Ionic</ion-card-title>
</ion-card-header>
<ion-card-content>
<p>
Now that your app has been created, you'll want to start building out features
and components. Check out some of the resources below for next steps.
</p>
</ion-card-content>
</ion-card>
<ion-list lines="none">
<ion-list-header>
<ion-label>Resources</ion-label>
</ion-list-header>
<ion-item href="https://ionicframework.com/docs/">
<ion-icon slot="start" color="medium" name="book"></ion-icon>
<ion-label>Ionic Documentation</ion-label>
</ion-item>
<ion-item href="https://ionicframework.com/docs/building/scaffolding">
<ion-icon slot="start" color="medium" name="build"></ion-icon>
<ion-label>Scaffold Out Your App</ion-label>
</ion-item>
<ion-item href="https://ionicframework.com/docs/layout/structure">
<ion-icon slot="start" color="medium" name="grid"></ion-icon>
<ion-label>Change Your App Layout</ion-label>
</ion-item>
<ion-item href="https://ionicframework.com/docs/theming/basics">
<ion-icon slot="start" color="medium" name="color-fill"></ion-icon>
<ion-label>Theme Your App</ion-label>
</ion-item>
</ion-list>
</ion-content>

4
src/app/home/home.page.scss Executable file
View File

@ -0,0 +1,4 @@
.welcome-card img {
max-height: 35vh;
overflow: hidden;
}

24
src/app/home/home.page.spec.ts Executable file
View File

@ -0,0 +1,24 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { IonicModule } from '@ionic/angular';
import { HomePage } from './home.page';
describe('HomePage', () => {
let component: HomePage;
let fixture: ComponentFixture<HomePage>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [HomePage],
imports: [IonicModule.forRoot()]
}).compileComponents();
fixture = TestBed.createComponent(HomePage);
component = fixture.componentInstance;
fixture.detectChanges();
}));
it('should create', () => {
expect(component).toBeTruthy();
});
});

12
src/app/home/home.page.ts Executable file
View File

@ -0,0 +1,12 @@
import { Component } from '@angular/core';
@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss'],
})
export class HomePage {
constructor() {}
}

Some files were not shown because too many files have changed in this diff Show More