This commit is contained in:
Olu Amey
2020-12-14 09:57:18 -05:00
parent 497f458984
commit d2ffaa197e
10 changed files with 91 additions and 18 deletions
+2 -2
View File
@@ -6,8 +6,8 @@ android {
applicationId "com.mermsemr.providers" applicationId "com.mermsemr.providers"
minSdkVersion rootProject.ext.minSdkVersion minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1033 versionCode 1034
versionName "1.0.33" versionName "1.0.34"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
} }
buildTypes { buildTypes {
+1 -1
View File
@@ -12,7 +12,7 @@ dependencies {
} }
apply from: "../../node_modules/cordova-plugin-qrscanner/src/android/qrscanner.gradle"
if (hasProperty('postBuildExtras')) { if (hasProperty('postBuildExtras')) {
postBuildExtras() postBuildExtras()
+4
View File
@@ -19,5 +19,9 @@
<param name="onload" value="true"/> <param name="onload" value="true"/>
</feature> </feature>
<feature name="QRScanner">
<param name="android-package" value="com.bitpay.cordova.qrscanner.QRScanner"/>
</feature>
</widget> </widget>
+35
View File
@@ -2401,6 +2401,14 @@
"@types/cordova": "^0.0.34" "@types/cordova": "^0.0.34"
} }
}, },
"@ionic-native/qr-scanner": {
"version": "5.30.0",
"resolved": "https://registry.npmjs.org/@ionic-native/qr-scanner/-/qr-scanner-5.30.0.tgz",
"integrity": "sha512-NOyj1NAMrbwDwiVWZ2hD5b2RsEwyKwRtI3D6fZiuoecakaGGNC4qjk+LdGqXdps7Uf3UF6OLnptX2p+LUFSlbA==",
"requires": {
"@types/cordova": "^0.0.34"
}
},
"@ionic-native/splash-screen": { "@ionic-native/splash-screen": {
"version": "5.29.0", "version": "5.29.0",
"resolved": "https://registry.npmjs.org/@ionic-native/splash-screen/-/splash-screen-5.29.0.tgz", "resolved": "https://registry.npmjs.org/@ionic-native/splash-screen/-/splash-screen-5.29.0.tgz",
@@ -4636,6 +4644,15 @@
"resolved": "https://registry.npmjs.org/cordova-plugin-file/-/cordova-plugin-file-6.0.2.tgz", "resolved": "https://registry.npmjs.org/cordova-plugin-file/-/cordova-plugin-file-6.0.2.tgz",
"integrity": "sha512-m7cughw327CjONN/qjzsTpSesLaeybksQh420/gRuSXJX5Zt9NfgsSbqqKDon6jnQ9Mm7h7imgyO2uJ34XMBtA==" "integrity": "sha512-m7cughw327CjONN/qjzsTpSesLaeybksQh420/gRuSXJX5Zt9NfgsSbqqKDon6jnQ9Mm7h7imgyO2uJ34XMBtA=="
}, },
"cordova-plugin-qrscanner": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/cordova-plugin-qrscanner/-/cordova-plugin-qrscanner-3.0.1.tgz",
"integrity": "sha512-xrwOP3nD+VmRSiV0w7chZ5PLw2YwpI9vtLdeoGNYLLzmmjjYbyIof+x9vOEOgjtwrg9S61rukmOZhQAmkzaosA==",
"requires": {
"qrcode-reader": "^1.0.4",
"webrtc-adapter": "^3.1.4"
}
},
"core-js": { "core-js": {
"version": "3.6.5", "version": "3.6.5",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz",
@@ -11085,6 +11102,11 @@
"integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==",
"dev": true "dev": true
}, },
"qrcode-reader": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/qrcode-reader/-/qrcode-reader-1.0.4.tgz",
"integrity": "sha512-rRjALGNh9zVqvweg1j5OKIQKNsw3bLC+7qwlnead5K/9cb1cEIAGkwikt/09U0K+2IDWGD9CC6SP7tHAjUeqvQ=="
},
"qs": { "qs": {
"version": "6.7.0", "version": "6.7.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
@@ -11786,6 +11808,11 @@
} }
} }
}, },
"sdp": {
"version": "1.5.4",
"resolved": "https://registry.npmjs.org/sdp/-/sdp-1.5.4.tgz",
"integrity": "sha1-jgOPbdsUvXZa4fS1IW4SCUUR4NA="
},
"select-hose": { "select-hose": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
@@ -14731,6 +14758,14 @@
"webpack-sources": "^1.3.0" "webpack-sources": "^1.3.0"
} }
}, },
"webrtc-adapter": {
"version": "3.4.3",
"resolved": "https://registry.npmjs.org/webrtc-adapter/-/webrtc-adapter-3.4.3.tgz",
"integrity": "sha1-tjYGLu6abvFYrNDYUBtnhDS1bxY=",
"requires": {
"sdp": "^1.5.0"
}
},
"websocket-driver": { "websocket-driver": {
"version": "0.6.5", "version": "0.6.5",
"resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz",
+2
View File
@@ -26,6 +26,7 @@
"@ionic-native/core": "^5.0.0", "@ionic-native/core": "^5.0.0",
"@ionic-native/device": "^5.29.0", "@ionic-native/device": "^5.29.0",
"@ionic-native/http": "^5.29.0", "@ionic-native/http": "^5.29.0",
"@ionic-native/qr-scanner": "^5.30.0",
"@ionic-native/splash-screen": "^5.0.0", "@ionic-native/splash-screen": "^5.0.0",
"@ionic-native/status-bar": "^5.0.0", "@ionic-native/status-bar": "^5.0.0",
"@ionic/angular": "^5.4.4", "@ionic/angular": "^5.4.4",
@@ -33,6 +34,7 @@
"cordova-plugin-calendar": "^5.1.5", "cordova-plugin-calendar": "^5.1.5",
"cordova-plugin-device": "^2.0.3", "cordova-plugin-device": "^2.0.3",
"cordova-plugin-file": "^6.0.2", "cordova-plugin-file": "^6.0.2",
"cordova-plugin-qrscanner": "^3.0.1",
"ionic2-calendar": "^0.6.6", "ionic2-calendar": "^0.6.6",
"rxjs": "^6.5.5", "rxjs": "^6.5.5",
"tslib": "^2.0.0", "tslib": "^2.0.0",
+2
View File
@@ -15,6 +15,7 @@ import { HttpClientModule } from '@angular/common/http'
import { AppComponent } from './app.component'; import { AppComponent } from './app.component';
import { AppRoutingModule } from './app-routing.module'; import { AppRoutingModule } from './app-routing.module';
import { NgCalendarModule } from 'ionic2-calendar'; import { NgCalendarModule } from 'ionic2-calendar';
import { QRScanner, QRScannerStatus } from '@ionic-native/qr-scanner/ngx';
@NgModule({ @NgModule({
@@ -27,6 +28,7 @@ import { NgCalendarModule } from 'ionic2-calendar';
providers: [ providers: [
StatusBar, StatusBar,
SplashScreen, SplashScreen,
QRScanner,
Calendar, Calendar,
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy } { provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
], ],
+2 -2
View File
@@ -37,8 +37,8 @@
<img src="./../../assets/imgs/avatar{{type.gender}}.png"> <img src="./../../assets/imgs/avatar{{type.gender}}.png">
</ion-avatar> </ion-avatar>
<ion-label> <ion-label>
<h3 style="font-weight: bold;color: #8e54e9;">{{type.appt}} {{type.gender}} , {{type.age}} yrs</h3> <h3 style="font-weight: bold;color: #8e54e9;">{{type.appt}} </h3>
<h3>{{type.firstname}} {{type.lastname}}</h3> <h3>{{type.firstname}} {{type.lastname}} -{{type.gender}} {{type.age}} yrs</h3>
<h3>{{type.reason}}</h3> <h3>{{type.reason}}</h3>
</ion-label> </ion-label>
</ion-item> </ion-item>
@@ -2,14 +2,14 @@
<ion-toolbar> <ion-toolbar>
<ion-title>Add Practice</ion-title> <ion-title>Add Practice</ion-title>
<ion-buttons> <ion-buttons>
<ion-button color="danger" (click)="dismiss()">Close</ion-button> <ion-button color="danger" (click)="dismiss()">Close</ion-button>
</ion-buttons> </ion-buttons>
</ion-toolbar> </ion-toolbar>
</ion-header> </ion-header>
<ion-content> <ion-content>
<ion-card> <ion-card>
<img src="../../assets/imgs/merms-signup.jpg" /> <img src="../../assets/imgs/merms-addpractice.jpg" />
<ion-card-header> <ion-card-header>
@@ -26,10 +26,10 @@
</ion-item> </ion-item>
</ion-list> </ion-list>
or
Go to your account at https://provider.mermsemr.com and enable your app access with your needed permissions. <br>
<ion-button expand="full">Scan QR Code</ion-button>
</ion-card-content> </ion-card-content>
</ion-card> </ion-card>
<ion-button color="success" (click)="dismiss()">Close</ion-button>
</ion-content> </ion-content>
@@ -1,5 +1,6 @@
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { ModalController } from '@ionic/angular'; import { ModalController } from '@ionic/angular';
import { QRScanner, QRScannerStatus } from '@ionic-native/qr-scanner/ngx';
@Component({ @Component({
selector: 'app-add-practice', selector: 'app-add-practice',
@@ -8,7 +9,7 @@ import { ModalController } from '@ionic/angular';
}) })
export class AddPracticePage implements OnInit { export class AddPracticePage implements OnInit {
constructor(private modalCtrl:ModalController) { } constructor(private modalCtrl: ModalController, private qrScanner: QRScanner) { }
ngOnInit() { ngOnInit() {
} }
@@ -20,4 +21,33 @@ export class AddPracticePage implements OnInit {
'dismissed': true 'dismissed': true
}); });
} }
goScannerStart() {
// Optionally request the permission early
this.qrScanner.prepare()
.then((status: QRScannerStatus) => {
if (status.authorized) {
// camera permission was granted
// start scanning
let scanSub = this.qrScanner.scan().subscribe((text: string) => {
console.log('Scanned something', text);
this.qrScanner.hide(); // hide camera preview
scanSub.unsubscribe(); // stop scanning
});
} else if (status.denied) {
// camera permission was permanently denied
// you must use QRScanner.openSettings() method to guide the user to the settings page
// then they can grant the permission from there
} else {
// permission was denied, but not permanently. You can ask for permission again at a later time.
}
})
.catch((e: any) => console.log('Error is', e));
}
} }
Binary file not shown.

After

Width:  |  Height:  |  Size: 201 KiB