@wavemaker/app-rn-runtime 11.12.0-rc.219 → 11.12.0-rc.6240
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/basic/audio/audio.component.js +47 -52
- package/components/basic/audio/audio.component.js.map +1 -1
- package/components/basic/video/video.component.js +64 -89
- package/components/basic/video/video.component.js.map +1 -1
- package/components/device/barcodescanner/barcodescanner.component.js +18 -26
- package/components/device/barcodescanner/barcodescanner.component.js.map +1 -1
- package/components/device/camera/camera.component.js +19 -28
- package/components/device/camera/camera.component.js.map +1 -1
- package/components/input/fileupload/fileupload.component.js +13 -17
- package/components/input/fileupload/fileupload.component.js.map +1 -1
- package/components/page/page-content/page-content.component.js +18 -2
- package/components/page/page-content/page-content.component.js.map +1 -1
- package/components/page/tabbar/tabbar.component.js +4 -3
- package/components/page/tabbar/tabbar.component.js.map +1 -1
- package/core/base.component.js +2 -1
- package/core/base.component.js.map +1 -1
- package/core/device/calendar-service.js +1 -7
- package/core/device/calendar-service.js.map +1 -1
- package/core/device/camera-service.js +0 -6
- package/core/device/camera-service.js.map +1 -1
- package/core/device/contacts-service.js +1 -7
- package/core/device/contacts-service.js.map +1 -1
- package/core/device/location-service.js +1 -7
- package/core/device/location-service.js.map +1 -1
- package/core/device/scan-service.js +0 -6
- package/core/device/scan-service.js.map +1 -1
- package/core/utils.js +6 -0
- package/core/utils.js.map +1 -1
- package/npm-shrinkwrap.json +52 -48
- package/package-lock.json +52 -48
- package/package.json +2 -2
- package/runtime/services/device/calendar-service.js +5 -9
- package/runtime/services/device/calendar-service.js.map +1 -1
- package/runtime/services/device/camera-service.js +22 -39
- package/runtime/services/device/camera-service.js.map +1 -1
- package/runtime/services/device/contacts-service.js +5 -6
- package/runtime/services/device/contacts-service.js.map +1 -1
- package/runtime/services/device/location-service.js +4 -4
- package/runtime/services/device/location-service.js.map +1 -1
- package/runtime/services/device/permissions.js +39 -34
- package/runtime/services/device/permissions.js.map +1 -1
- package/runtime/services/device/scan-service.js +3 -4
- package/runtime/services/device/scan-service.js.map +1 -1
- package/variables/device/calendar/create-event.operation.js +1 -12
- package/variables/device/calendar/create-event.operation.js.map +1 -1
- package/variables/device/calendar/delete-event.operation.js +1 -12
- package/variables/device/calendar/delete-event.operation.js.map +1 -1
- package/variables/device/calendar/get-events.operation.js +1 -12
- package/variables/device/calendar/get-events.operation.js.map +1 -1
- package/variables/device/camera/capture-image.operation.js +1 -8
- package/variables/device/camera/capture-image.operation.js.map +1 -1
- package/variables/device/camera/capture-video.operation.js +1 -7
- package/variables/device/camera/capture-video.operation.js.map +1 -1
- package/variables/device/contacts/get-contacts.operation.js +1 -12
- package/variables/device/contacts/get-contacts.operation.js.map +1 -1
- package/variables/device/device/current-geo-position.operation.js +1 -12
- package/variables/device/device/current-geo-position.operation.js.map +1 -1
- package/variables/device/file/upload-file.operation.js +3 -17
- package/variables/device/file/upload-file.operation.js.map +1 -1
- package/variables/device/scan/scan.operation.js +1 -12
- package/variables/device/scan/scan.operation.js.map +1 -1
- package/core/device/av-service.js +0 -8
- package/core/device/av-service.js.map +0 -1
- package/core/device/fileupload-service.js +0 -8
- package/core/device/fileupload-service.js.map +0 -1
- package/runtime/services/device/permission-service.js +0 -5
- package/runtime/services/device/permission-service.js.map +0 -1
package/package-lock.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "@wavemaker/app-rn-runtime",
|
3
|
-
"version": "11.12.0-rc.
|
3
|
+
"version": "11.12.0-rc.6240",
|
4
4
|
"lockfileVersion": 3,
|
5
5
|
"requires": true,
|
6
6
|
"packages": {
|
7
7
|
"": {
|
8
8
|
"name": "@wavemaker/app-rn-runtime",
|
9
|
-
"version": "11.12.0-rc.
|
9
|
+
"version": "11.12.0-rc.6240",
|
10
10
|
"license": "MIT",
|
11
11
|
"dependencies": {
|
12
12
|
"@expo/vector-icons": "14.0.2",
|
@@ -20,7 +20,7 @@
|
|
20
20
|
"@react-navigation/drawer": "6.6.3",
|
21
21
|
"@react-navigation/native": "6.1.7",
|
22
22
|
"@react-navigation/stack": "6.3.29",
|
23
|
-
"@wavemaker/variables": "11.12.0-rc.
|
23
|
+
"@wavemaker/variables": "11.12.0-rc.6240",
|
24
24
|
"axios": "1.6.8",
|
25
25
|
"color": "4.2.3",
|
26
26
|
"cross-env": "7.0.3",
|
@@ -3838,8 +3838,8 @@
|
|
3838
3838
|
}
|
3839
3839
|
},
|
3840
3840
|
"node_modules/@isaacs/cliui/node_modules/ansi-regex": {
|
3841
|
-
"version": "6.
|
3842
|
-
"integrity": "sha512-
|
3841
|
+
"version": "6.2.0",
|
3842
|
+
"integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==",
|
3843
3843
|
"license": "MIT",
|
3844
3844
|
"engines": {
|
3845
3845
|
"node": ">=12"
|
@@ -6073,8 +6073,8 @@
|
|
6073
6073
|
}
|
6074
6074
|
},
|
6075
6075
|
"node_modules/@types/enzyme/node_modules/@types/react": {
|
6076
|
-
"version": "16.14.
|
6077
|
-
"integrity": "sha512-
|
6076
|
+
"version": "16.14.66",
|
6077
|
+
"integrity": "sha512-KPilYP4+25N2ki7vrB4adSR2ucAj95xJcGfKC09bsxcHT+QtB//K7i1FenPnbkLA0Xt9pRi1/RXC1wxFvL9Wtw==",
|
6078
6078
|
"dev": true,
|
6079
6079
|
"license": "MIT",
|
6080
6080
|
"dependencies": {
|
@@ -6218,8 +6218,8 @@
|
|
6218
6218
|
}
|
6219
6219
|
},
|
6220
6220
|
"node_modules/@types/node-forge": {
|
6221
|
-
"version": "1.3.
|
6222
|
-
"integrity": "sha512-
|
6221
|
+
"version": "1.3.14",
|
6222
|
+
"integrity": "sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==",
|
6223
6223
|
"license": "MIT",
|
6224
6224
|
"dependencies": {
|
6225
6225
|
"@types/node": "*"
|
@@ -6504,8 +6504,8 @@
|
|
6504
6504
|
}
|
6505
6505
|
},
|
6506
6506
|
"node_modules/@wavemaker/variables": {
|
6507
|
-
"version": "11.12.0-rc.
|
6508
|
-
"integrity": "sha512-
|
6507
|
+
"version": "11.12.0-rc.6240",
|
6508
|
+
"integrity": "sha512-jG4h91onM+4hNpCogcEMa9EUhya7lU2ISAeECUZC2TOo0zN8OlUhMfYOkttK6hUKydr0L36h1UEkQ7AMV/LnGw==",
|
6509
6509
|
"license": "ISC",
|
6510
6510
|
"dependencies": {
|
6511
6511
|
"@metrichor/jmespath": "^0.3.1",
|
@@ -6677,8 +6677,8 @@
|
|
6677
6677
|
}
|
6678
6678
|
},
|
6679
6679
|
"node_modules/@xmldom/xmldom": {
|
6680
|
-
"version": "0.8.
|
6681
|
-
"integrity": "sha512-
|
6680
|
+
"version": "0.8.11",
|
6681
|
+
"integrity": "sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==",
|
6682
6682
|
"license": "MIT",
|
6683
6683
|
"engines": {
|
6684
6684
|
"node": ">=10.0.0"
|
@@ -8539,8 +8539,8 @@
|
|
8539
8539
|
}
|
8540
8540
|
},
|
8541
8541
|
"node_modules/browserslist": {
|
8542
|
-
"version": "4.25.
|
8543
|
-
"integrity": "sha512-
|
8542
|
+
"version": "4.25.3",
|
8543
|
+
"integrity": "sha512-cDGv1kkDI4/0e5yON9yM5G/0A5u8sf5TnmdX5C9qHzI9PPu++sQ9zjm1k9NiOrf3riY4OkK0zSGqfvJyJsgCBQ==",
|
8544
8544
|
"funding": [
|
8545
8545
|
{
|
8546
8546
|
"type": "opencollective",
|
@@ -8557,8 +8557,8 @@
|
|
8557
8557
|
],
|
8558
8558
|
"license": "MIT",
|
8559
8559
|
"dependencies": {
|
8560
|
-
"caniuse-lite": "^1.0.
|
8561
|
-
"electron-to-chromium": "^1.5.
|
8560
|
+
"caniuse-lite": "^1.0.30001735",
|
8561
|
+
"electron-to-chromium": "^1.5.204",
|
8562
8562
|
"node-releases": "^2.0.19",
|
8563
8563
|
"update-browserslist-db": "^1.1.3"
|
8564
8564
|
},
|
@@ -8768,8 +8768,8 @@
|
|
8768
8768
|
}
|
8769
8769
|
},
|
8770
8770
|
"node_modules/caniuse-lite": {
|
8771
|
-
"version": "1.0.
|
8772
|
-
"integrity": "sha512-
|
8771
|
+
"version": "1.0.30001737",
|
8772
|
+
"integrity": "sha512-BiloLiXtQNrY5UyF0+1nSJLXUENuhka2pzy2Fx5pGxqavdrxSCW4U6Pn/PoG3Efspi2frRbHpBV2XsrPE6EDlw==",
|
8773
8773
|
"funding": [
|
8774
8774
|
{
|
8775
8775
|
"type": "opencollective",
|
@@ -8787,8 +8787,8 @@
|
|
8787
8787
|
"license": "CC-BY-4.0"
|
8788
8788
|
},
|
8789
8789
|
"node_modules/chalk": {
|
8790
|
-
"version": "5.
|
8791
|
-
"integrity": "sha512-
|
8790
|
+
"version": "5.6.0",
|
8791
|
+
"integrity": "sha512-46QrSQFyVSEyYAgQ22hQ+zDa60YHA4fBstHmtSApj1Y5vKtG27fWowW03jCk5KcbXEWPZUIR894aARCA/G1kfQ==",
|
8792
8792
|
"dev": true,
|
8793
8793
|
"license": "MIT",
|
8794
8794
|
"engines": {
|
@@ -9748,11 +9748,11 @@
|
|
9748
9748
|
"license": "MIT"
|
9749
9749
|
},
|
9750
9750
|
"node_modules/core-js-compat": {
|
9751
|
-
"version": "3.45.
|
9752
|
-
"integrity": "sha512-
|
9751
|
+
"version": "3.45.1",
|
9752
|
+
"integrity": "sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==",
|
9753
9753
|
"license": "MIT",
|
9754
9754
|
"dependencies": {
|
9755
|
-
"browserslist": "^4.25.
|
9755
|
+
"browserslist": "^4.25.3"
|
9756
9756
|
},
|
9757
9757
|
"funding": {
|
9758
9758
|
"type": "opencollective",
|
@@ -9760,8 +9760,8 @@
|
|
9760
9760
|
}
|
9761
9761
|
},
|
9762
9762
|
"node_modules/core-js-pure": {
|
9763
|
-
"version": "3.45.
|
9764
|
-
"integrity": "sha512-
|
9763
|
+
"version": "3.45.1",
|
9764
|
+
"integrity": "sha512-OHnWFKgTUshEU8MK+lOs1H8kC8GkTi9Z1tvNkxrCcw9wl3MJIO7q2ld77wjWn4/xuGrVu2X+nME1iIIPBSdyEQ==",
|
9765
9765
|
"hasInstallScript": true,
|
9766
9766
|
"license": "MIT",
|
9767
9767
|
"funding": {
|
@@ -10715,8 +10715,8 @@
|
|
10715
10715
|
"license": "MIT"
|
10716
10716
|
},
|
10717
10717
|
"node_modules/electron-to-chromium": {
|
10718
|
-
"version": "1.5.
|
10719
|
-
"integrity": "sha512-
|
10718
|
+
"version": "1.5.211",
|
10719
|
+
"integrity": "sha512-IGBvimJkotaLzFnwIVgW9/UD/AOJ2tByUmeOrtqBfACSbAw5b1G0XpvdaieKyc7ULmbwXVx+4e4Be8pOPBrYkw==",
|
10720
10720
|
"license": "ISC"
|
10721
10721
|
},
|
10722
10722
|
"node_modules/emittery": {
|
@@ -12371,8 +12371,8 @@
|
|
12371
12371
|
"license": "MIT"
|
12372
12372
|
},
|
12373
12373
|
"node_modules/fast-uri": {
|
12374
|
-
"version": "3.0
|
12375
|
-
"integrity": "sha512-
|
12374
|
+
"version": "3.1.0",
|
12375
|
+
"integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==",
|
12376
12376
|
"dev": true,
|
12377
12377
|
"funding": [
|
12378
12378
|
{
|
@@ -12453,8 +12453,8 @@
|
|
12453
12453
|
"license": "MIT"
|
12454
12454
|
},
|
12455
12455
|
"node_modules/fbjs/node_modules/ua-parser-js": {
|
12456
|
-
"version": "1.0.
|
12457
|
-
"integrity": "sha512-
|
12456
|
+
"version": "1.0.41",
|
12457
|
+
"integrity": "sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug==",
|
12458
12458
|
"funding": [
|
12459
12459
|
{
|
12460
12460
|
"type": "opencollective",
|
@@ -12716,8 +12716,8 @@
|
|
12716
12716
|
"license": "MIT"
|
12717
12717
|
},
|
12718
12718
|
"node_modules/flow-parser": {
|
12719
|
-
"version": "0.
|
12720
|
-
"integrity": "sha512-
|
12719
|
+
"version": "0.280.0",
|
12720
|
+
"integrity": "sha512-BblDQXb41t9gwFHJNR8EhLdS/9fqK/mCBZLRHiUccA2V1VoYIKuutglO/TAuJfUU3tolQlvMaW1S/KbRDR0rNQ==",
|
12721
12721
|
"license": "MIT",
|
12722
12722
|
"engines": {
|
12723
12723
|
"node": ">=0.4.0"
|
@@ -14910,8 +14910,8 @@
|
|
14910
14910
|
}
|
14911
14911
|
},
|
14912
14912
|
"node_modules/istanbul-reports": {
|
14913
|
-
"version": "3.
|
14914
|
-
"integrity": "sha512-
|
14913
|
+
"version": "3.2.0",
|
14914
|
+
"integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==",
|
14915
14915
|
"dev": true,
|
14916
14916
|
"license": "BSD-3-Clause",
|
14917
14917
|
"dependencies": {
|
@@ -16430,8 +16430,8 @@
|
|
16430
16430
|
}
|
16431
16431
|
},
|
16432
16432
|
"node_modules/jest-watch-typeahead/node_modules/ansi-regex": {
|
16433
|
-
"version": "6.
|
16434
|
-
"integrity": "sha512-
|
16433
|
+
"version": "6.2.0",
|
16434
|
+
"integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==",
|
16435
16435
|
"dev": true,
|
16436
16436
|
"license": "MIT",
|
16437
16437
|
"engines": {
|
@@ -22798,8 +22798,8 @@
|
|
22798
22798
|
"license": "MIT"
|
22799
22799
|
},
|
22800
22800
|
"node_modules/string-width/node_modules/ansi-regex": {
|
22801
|
-
"version": "6.
|
22802
|
-
"integrity": "sha512-
|
22801
|
+
"version": "6.2.0",
|
22802
|
+
"integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==",
|
22803
22803
|
"license": "MIT",
|
22804
22804
|
"engines": {
|
22805
22805
|
"node": ">=12"
|
@@ -23094,13 +23094,17 @@
|
|
23094
23094
|
"license": "0BSD"
|
23095
23095
|
},
|
23096
23096
|
"node_modules/tapable": {
|
23097
|
-
"version": "2.2.
|
23098
|
-
"integrity": "sha512-
|
23097
|
+
"version": "2.2.3",
|
23098
|
+
"integrity": "sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==",
|
23099
23099
|
"dev": true,
|
23100
23100
|
"license": "MIT",
|
23101
23101
|
"peer": true,
|
23102
23102
|
"engines": {
|
23103
23103
|
"node": ">=6"
|
23104
|
+
},
|
23105
|
+
"funding": {
|
23106
|
+
"type": "opencollective",
|
23107
|
+
"url": "https://opencollective.com/webpack"
|
23104
23108
|
}
|
23105
23109
|
},
|
23106
23110
|
"node_modules/tar": {
|
@@ -23710,8 +23714,8 @@
|
|
23710
23714
|
}
|
23711
23715
|
},
|
23712
23716
|
"node_modules/ua-parser-js": {
|
23713
|
-
"version": "0.7.
|
23714
|
-
"integrity": "sha512-
|
23717
|
+
"version": "0.7.41",
|
23718
|
+
"integrity": "sha512-O3oYyCMPYgNNHuO7Jjk3uacJWZF8loBgwrfd/5LE/HyZ3lUIOdniQ7DNXJcIgZbwioZxk0fLfI4EVnetdiX5jg==",
|
23715
23719
|
"dev": true,
|
23716
23720
|
"funding": [
|
23717
23721
|
{
|
@@ -23776,8 +23780,8 @@
|
|
23776
23780
|
}
|
23777
23781
|
},
|
23778
23782
|
"node_modules/undici": {
|
23779
|
-
"version": "7.
|
23780
|
-
"integrity": "sha512-
|
23783
|
+
"version": "7.15.0",
|
23784
|
+
"integrity": "sha512-7oZJCPvvMvTd0OlqWsIxTuItTpJBpU1tcbVl24FMn3xt3+VSunwUasmfPJRE57oNO1KsZ4PgA1xTdAX4hq8NyQ==",
|
23781
23785
|
"dev": true,
|
23782
23786
|
"license": "MIT",
|
23783
23787
|
"engines": {
|
@@ -24719,8 +24723,8 @@
|
|
24719
24723
|
}
|
24720
24724
|
},
|
24721
24725
|
"node_modules/webpack": {
|
24722
|
-
"version": "5.101.
|
24723
|
-
"integrity": "sha512-
|
24726
|
+
"version": "5.101.3",
|
24727
|
+
"integrity": "sha512-7b0dTKR3Ed//AD/6kkx/o7duS8H3f1a4w3BYpIriX4BzIhjkn4teo05cptsxvLesHFKK5KObnadmCHBwGc+51A==",
|
24724
24728
|
"dev": true,
|
24725
24729
|
"license": "MIT",
|
24726
24730
|
"peer": true,
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@wavemaker/app-rn-runtime",
|
3
|
-
"version": "11.12.0-rc.
|
3
|
+
"version": "11.12.0-rc.6240",
|
4
4
|
"description": "''",
|
5
5
|
"main": "index",
|
6
6
|
"module": "index",
|
@@ -49,7 +49,7 @@
|
|
49
49
|
"@react-navigation/drawer": "6.6.3",
|
50
50
|
"@react-navigation/native": "6.1.7",
|
51
51
|
"@react-navigation/stack": "6.3.29",
|
52
|
-
"@wavemaker/variables": "11.12.0-rc.
|
52
|
+
"@wavemaker/variables": "11.12.0-rc.6240",
|
53
53
|
"axios": "1.6.8",
|
54
54
|
"color": "4.2.3",
|
55
55
|
"cross-env": "7.0.3",
|
@@ -1,3 +1,5 @@
|
|
1
|
+
import * as Calendar from 'expo-calendar';
|
2
|
+
import permissionManager from '@wavemaker/app-rn-runtime/runtime/services/device/permissions';
|
1
3
|
import { getDateObj } from '@wavemaker/app-rn-runtime/variables/device/calendar/create-event.operation';
|
2
4
|
const DEFAULT_TIME = new Date().getTime();
|
3
5
|
const DELTA_VALUE_DATE = 3 * 30 * 24 * 60 * 60 * 1000;
|
@@ -7,9 +9,7 @@ export class CalendarService {
|
|
7
9
|
constructor() {}
|
8
10
|
getEvents(params) {
|
9
11
|
return new Promise((resolve, reject) => {
|
10
|
-
|
11
|
-
(params === null || params === void 0 || (_params$permissionSer = params.permissionService) === null || _params$permissionSer === void 0 ? void 0 : _params$permissionSer.requestPermissions) && params.permissionService.requestPermissions('calendar').then(() => {
|
12
|
-
const Calendar = params === null || params === void 0 ? void 0 : params.calendarPluginService;
|
12
|
+
permissionManager.requestPermissions('calendar').then(() => {
|
13
13
|
return Calendar.getCalendarsAsync().then(result => {
|
14
14
|
let calendarIds = [];
|
15
15
|
result.forEach(c => calendarIds.push(c.id));
|
@@ -43,9 +43,7 @@ export class CalendarService {
|
|
43
43
|
endDate: getDateObj(params.eventEnd) || DEFAULT_END_DATE
|
44
44
|
};
|
45
45
|
return new Promise((resolve, reject) => {
|
46
|
-
|
47
|
-
(params === null || params === void 0 || (_params$permissionSer2 = params.permissionService) === null || _params$permissionSer2 === void 0 ? void 0 : _params$permissionSer2.requestPermissions) && params.permissionService.requestPermissions('calendar').then(() => {
|
48
|
-
const Calendar = params === null || params === void 0 ? void 0 : params.calendarPluginService;
|
46
|
+
permissionManager.requestPermissions('calendar').then(() => {
|
49
47
|
return Calendar.getCalendarsAsync().then(result => {
|
50
48
|
let calendarIds = [];
|
51
49
|
result.forEach(c => {
|
@@ -66,9 +64,7 @@ export class CalendarService {
|
|
66
64
|
}
|
67
65
|
deleteEvent(params) {
|
68
66
|
return new Promise((resolve, reject) => {
|
69
|
-
|
70
|
-
(params === null || params === void 0 || (_params$permissionSer3 = params.permissionService) === null || _params$permissionSer3 === void 0 ? void 0 : _params$permissionSer3.requestPermissions) && params.permissionService.requestPermissions('calendar').then(() => {
|
71
|
-
const Calendar = params === null || params === void 0 ? void 0 : params.calendarPluginService;
|
67
|
+
permissionManager.requestPermissions('calendar').then(() => {
|
72
68
|
return Calendar.getCalendarsAsync().then(result => {
|
73
69
|
let calendarIds = [];
|
74
70
|
result.forEach(c => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["getDateObj","DEFAULT_TIME","Date","getTime","DELTA_VALUE_DATE","DEFAULT_START_DATE","DEFAULT_END_DATE","CalendarService","constructor","getEvents","params","Promise","resolve","reject","
|
1
|
+
{"version":3,"names":["Calendar","permissionManager","getDateObj","DEFAULT_TIME","Date","getTime","DELTA_VALUE_DATE","DEFAULT_START_DATE","DEFAULT_END_DATE","CalendarService","constructor","getEvents","params","Promise","resolve","reject","requestPermissions","then","getCalendarsAsync","result","calendarIds","forEach","c","push","id","getEventsAsync","eventStart","eventEnd","res","filteredResult","eventTitle","eventLocation","eventNotes","filter","event","title","location","notes","events","e","message","startDate","endDate","createEvent","eventMetadata","allowsModifications","createEventAsync","dataValue","deleteEvent","all","map","deleteEventAsync"],"sources":["calendar-service.ts"],"sourcesContent":["import * as Calendar from 'expo-calendar';\nimport permissionManager from '@wavemaker/app-rn-runtime/runtime/services/device/permissions';\nimport { CalendarInput } from '@wavemaker/app-rn-runtime/core/device/calendar-service';\nimport { CalendarEvent } from '@wavemaker/app-rn-runtime/variables/device/calendar/get-events.operation';\nimport {\n CreateEventOutput,\n getDateObj\n} from '@wavemaker/app-rn-runtime/variables/device/calendar/create-event.operation';\nimport { DeleteEventOutput } from '@wavemaker/app-rn-runtime/variables/device/calendar/delete-event.operation';\n\nconst DEFAULT_TIME = new Date().getTime();\nconst DELTA_VALUE_DATE = 3 * 30 * 24 * 60 * 60 * 1000;\nconst DEFAULT_START_DATE = new Date(DEFAULT_TIME - DELTA_VALUE_DATE);\nconst DEFAULT_END_DATE = new Date(DEFAULT_TIME + DELTA_VALUE_DATE);\n\nexport class CalendarService {\n\n constructor() {}\n\n public getEvents(params: CalendarInput): Promise<Array<CalendarEvent>> {\n return new Promise((resolve, reject) => {\n permissionManager.requestPermissions('calendar').then(() => {\n return Calendar.getCalendarsAsync().then(result => {\n let calendarIds: Array<string> = [];\n result.forEach(c => calendarIds.push(c.id));\n Calendar.getEventsAsync(calendarIds, params.eventStart || DEFAULT_START_DATE, params.eventEnd || DEFAULT_END_DATE)\n .then(res => {\n let filteredResult = res;\n if (params.eventTitle || params.eventLocation || params.eventNotes) {\n filteredResult = res.filter(event => event.title === params.eventTitle || event.location === params.eventLocation || event.notes === params.eventNotes);\n }\n let events: Array<CalendarEvent> = [];\n filteredResult.forEach(e => {\n events.push({\n title: e.title,\n message: e.notes,\n location: e.location,\n startDate: e.startDate,\n endDate: e.endDate\n })\n });\n return resolve(events);\n })\n })\n }, reject);\n });\n }\n\n\n public createEvent(params: CalendarInput): Promise<CreateEventOutput> {\n const eventMetadata = {\n title: params.eventTitle,\n location: params.eventLocation,\n notes: params.eventNotes,\n startDate: getDateObj(params.eventStart) || DEFAULT_START_DATE,\n endDate: getDateObj(params.eventEnd) || DEFAULT_END_DATE\n };\n\n return new Promise((resolve, reject) => {\n permissionManager.requestPermissions('calendar').then(() => {\n return Calendar.getCalendarsAsync().then(result => {\n let calendarIds: Array<string> = [];\n result.forEach(c => {\n if (c.allowsModifications) {\n calendarIds.push(c.id);\n }\n });\n // createEventAsync has calendarId as required parameter. Need to expose ownerAccount as filter field in studio. Right now passing calendar index as zero.\n return Calendar.createEventAsync(calendarIds[0], eventMetadata).then(res => {\n const event = {\n dataValue: res\n };\n return resolve(event);\n })\n }, reject);\n });\n });\n }\n\n\n public deleteEvent(params: CalendarInput): Promise<DeleteEventOutput> {\n\n return new Promise((resolve, reject) => {\n permissionManager.requestPermissions('calendar').then(() => {\n return Calendar.getCalendarsAsync().then(result => {\n let calendarIds: Array<string> = [];\n result.forEach(c => {\n if (c.allowsModifications) {\n calendarIds.push(c.id);\n }\n });\n Calendar.getEventsAsync(calendarIds, params.eventStart || DEFAULT_START_DATE, params.eventEnd || DEFAULT_END_DATE)\n .then((res) => {\n const filteredResult = res.filter(event => event.title === params.eventTitle || event.location === params.eventLocation\n || event.notes === params.eventNotes);\n Promise.all(\n filteredResult.map((event) => { Calendar.deleteEventAsync(event.id)}))\n .then(res => {\n const event = {\n dataValue: true\n }\n return resolve(event);\n })\n })\n }, reject);\n });\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -5,7 +5,10 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
5
5
|
import React from "react";
|
6
6
|
import { ImageBackground, Platform, TouchableOpacity, View } from "react-native";
|
7
7
|
import { Ionicons } from "@expo/vector-icons";
|
8
|
-
import {
|
8
|
+
import { ResizeMode, Video } from "expo-av";
|
9
|
+
import { CameraView } from "expo-camera";
|
10
|
+
import * as FileSystem from "expo-file-system";
|
11
|
+
import permissionManager from '@wavemaker/app-rn-runtime/runtime/services/device/permissions';
|
9
12
|
import appDisplayManagerService from "@wavemaker/app-rn-runtime/runtime/services/app-display-manager.service";
|
10
13
|
const styles = {
|
11
14
|
preview: {
|
@@ -67,27 +70,14 @@ const styles = {
|
|
67
70
|
backgroundColor: 'red'
|
68
71
|
}
|
69
72
|
};
|
70
|
-
let ICamera = null;
|
71
|
-
var ResizeMode = /*#__PURE__*/function (ResizeMode) {
|
72
|
-
ResizeMode["CONTAIN"] = "contain";
|
73
|
-
ResizeMode["COVER"] = "cover";
|
74
|
-
ResizeMode["STRETCH"] = "stretch";
|
75
|
-
return ResizeMode;
|
76
|
-
}(ResizeMode || {});
|
77
|
-
var CameraType = /*#__PURE__*/function (CameraType) {
|
78
|
-
CameraType["front"] = "front";
|
79
|
-
CameraType["back"] = "back";
|
80
|
-
return CameraType;
|
81
|
-
}(CameraType || {});
|
82
73
|
export class CameraService {
|
83
74
|
constructor(displayManager) {
|
84
75
|
this.displayManager = displayManager;
|
85
|
-
_defineProperty(this, "type",
|
76
|
+
_defineProperty(this, "type", "back");
|
86
77
|
}
|
87
78
|
captureVideo(options) {
|
88
79
|
return new Promise((resolve, reject) => {
|
89
|
-
|
90
|
-
(options === null || options === void 0 || (_options$permissionSe = options.permissionService) === null || _options$permissionSe === void 0 ? void 0 : _options$permissionSe.requestPermissions) && options.permissionService.requestPermissions('video').then(() => {
|
80
|
+
permissionManager.requestPermissions('video').then(() => {
|
91
81
|
const destroy = this.displayManager.show({
|
92
82
|
content: /*#__PURE__*/React.createElement(Camera, {
|
93
83
|
testID: "camera_view",
|
@@ -113,8 +103,7 @@ export class CameraService {
|
|
113
103
|
}
|
114
104
|
captureImage(params) {
|
115
105
|
return new Promise((resolve, reject) => {
|
116
|
-
|
117
|
-
(params === null || params === void 0 || (_params$permissionSer = params.permissionService) === null || _params$permissionSer === void 0 ? void 0 : _params$permissionSer.requestPermissions) && params.permissionService.requestPermissions('image').then(() => {
|
106
|
+
permissionManager.requestPermissions('image').then(() => {
|
118
107
|
const destroy = this.displayManager.show({
|
119
108
|
content: /*#__PURE__*/React.createElement(Camera, {
|
120
109
|
testID: "camera_view",
|
@@ -151,7 +140,7 @@ class CameraViewState {
|
|
151
140
|
constructor() {
|
152
141
|
_defineProperty(this, "recording", false);
|
153
142
|
_defineProperty(this, "showActionBtns", false);
|
154
|
-
_defineProperty(this, "cameraType",
|
143
|
+
_defineProperty(this, "cameraType", 'back');
|
155
144
|
_defineProperty(this, "isCaptured", false);
|
156
145
|
_defineProperty(this, "closeView", false);
|
157
146
|
_defineProperty(this, "cameraContent", {});
|
@@ -160,13 +149,12 @@ class CameraViewState {
|
|
160
149
|
export class Camera extends React.Component {
|
161
150
|
constructor(props) {
|
162
151
|
super(props);
|
163
|
-
_defineProperty(this, "cameraService", null);
|
164
152
|
_defineProperty(this, "camera", {});
|
165
153
|
// start recording
|
166
154
|
_defineProperty(this, "startRecord", async () => {
|
167
155
|
this.camera.recordAsync().then(response => {
|
168
156
|
response.content = async () => {
|
169
|
-
return await
|
157
|
+
return await FileSystem.readAsStringAsync(response.uri, {
|
170
158
|
encoding: 'base64'
|
171
159
|
});
|
172
160
|
};
|
@@ -230,7 +218,7 @@ export class Camera extends React.Component {
|
|
230
218
|
skipProcessing: true,
|
231
219
|
onPictureSaved: response => {
|
232
220
|
response.content = async () => {
|
233
|
-
return await
|
221
|
+
return await FileSystem.readAsStringAsync(response.uri, {
|
234
222
|
encoding: 'base64'
|
235
223
|
});
|
236
224
|
};
|
@@ -316,7 +304,6 @@ export class Camera extends React.Component {
|
|
316
304
|
}))));
|
317
305
|
}
|
318
306
|
getPreviewTemplate(actions) {
|
319
|
-
const Video = this.cameraService.Video;
|
320
307
|
return this.props.captureType === 'image' ? /*#__PURE__*/React.createElement(ImageBackground, {
|
321
308
|
source: {
|
322
309
|
uri: this.state.cameraContent.uri
|
@@ -343,22 +330,18 @@ export class Camera extends React.Component {
|
|
343
330
|
return null;
|
344
331
|
}
|
345
332
|
const actions = this.getActionsTemplate();
|
346
|
-
return /*#__PURE__*/React.createElement(
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
},
|
359
|
-
onCameraReady: () => {}
|
360
|
-
}), actions);
|
361
|
-
});
|
333
|
+
return /*#__PURE__*/React.createElement(View, {
|
334
|
+
style: styles.preview
|
335
|
+
}, this.state.isCaptured ? this.getPreviewTemplate(actions) : /*#__PURE__*/React.createElement(CameraView, {
|
336
|
+
facing: this.state.cameraType,
|
337
|
+
ref: ref => {
|
338
|
+
this.camera = ref;
|
339
|
+
},
|
340
|
+
style: {
|
341
|
+
flex: 1
|
342
|
+
},
|
343
|
+
onCameraReady: () => {}
|
344
|
+
}), actions);
|
362
345
|
}
|
363
346
|
}
|
364
347
|
const cameraService = new CameraService(appDisplayManagerService);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","ImageBackground","Platform","TouchableOpacity","View","Ionicons","CameraPluginConsumer","appDisplayManagerService","styles","preview","top","left","right","flexGrow","backgroundColor","actionBtn","flex","padding","paddingHorizontal","alignSelf","margin","actionBar","flexDirection","justifyContent","position","bottom","leftWrapper","alignItems","midWrapper","rightWrapper","circle","display","outerCircle","borderWidth","height","width","borderRadius","borderColor","innerCircle","ICamera","ResizeMode","CameraType","CameraService","constructor","displayManager","_defineProperty","back","captureVideo","options","Promise","resolve","reject","_options$permissionSe","permissionService","requestPermissions","then","destroy","show","content","createElement","Camera","testID","type","captureType","onSuccess","o","call","videoPath","uri","onCancel","captureImage","params","_params$permissionSer","catch","base64","imagePath","CameraViewProps","CameraViewState","Component","props","camera","recordAsync","response","cameraService","fsReadAsString","encoding","setState","cameraContent","isCaptured","state","showActionBtns","recording","stopRecording","toggleCapture","takePicture","startRecord","stopRecord","getTestProps","suffix","id","OS","accessibilityLabel","accessible","quality","skipProcessing","onPictureSaved","takePictureAsync","getActionsTemplate","style","_extends","onPress","closeView","name","size","color","bind","cameraType","getPreviewTemplate","actions","Video","source","resizeMode","CONTAIN","shouldPlay","useNativeControls","isLooping","render","CameraView","facing","ref","onCameraReady"],"sources":["camera-service.tsx"],"sourcesContent":["import React from \"react\";\nimport { ImageBackground, Platform, TouchableOpacity, View, ViewStyle } from \"react-native\";\nimport { Ionicons } from \"@expo/vector-icons\";\n\nimport { DisplayManager } from \"@wavemaker/app-rn-runtime/core/display.manager\";\nimport { CaptureVideoOutput } from \"@wavemaker/app-rn-runtime/variables/device/camera/capture-video.operation\";\nimport { CaptureImageOutput } from \"@wavemaker/app-rn-runtime/variables/device/camera/capture-image.operation\";\nimport { CameraPluginService as ICameraPluginService, CameraInput, CameraPluginConsumer } from \"@wavemaker/app-rn-runtime/core/device/camera-service\";\nimport { Input } from \"@wavemaker/app-rn-runtime/variables/device/operation.provider\";\nimport appDisplayManagerService from \"@wavemaker/app-rn-runtime/runtime/services/app-display-manager.service\";\nconst styles = {\n preview: {\n top: 0,\n left: 0,\n right: 0,\n flexGrow: 1,\n backgroundColor: 'black'\n },\n actionBtn: {\n flex: 0,\n padding: 15,\n paddingHorizontal: 20,\n alignSelf: 'center',\n margin: 20,\n } as ViewStyle,\n actionBar: {\n flex: 0,\n flexDirection: 'row',\n justifyContent: 'center',\n backgroundColor: 'rgba(0,0,0,0.6)',\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n padding: 20\n } as ViewStyle,\n leftWrapper: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'flex-start',\n } as ViewStyle,\n midWrapper: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n } as ViewStyle,\n rightWrapper: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'flex-end',\n } as ViewStyle,\n circle: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n } as ViewStyle,\n outerCircle: {\n borderWidth: 3,\n height: 50,\n width: 50,\n borderRadius: 25,\n borderColor: 'white'\n },\n innerCircle: {\n borderRadius:2,\n height: 20,\n width:20,\n backgroundColor: 'red'\n }\n};\n\nexport interface CameraVideoInput extends Input {\n permissionService: any;\n}\n\nlet ICamera: ICameraPluginService = null as any;\nenum ResizeMode {\n CONTAIN = 'contain',\n COVER = 'cover',\n STRETCH = 'stretch',\n}\nenum CameraType {\n front = 'front',\n back = 'back',\n}\n\nexport class CameraService {\n private type: CameraType = CameraType.back;\n\n constructor(private displayManager: DisplayManager) {\n }\n\n public captureVideo(options?: CameraVideoInput): Promise<CaptureVideoOutput> {\n return new Promise((resolve, reject) => {\n options?.permissionService?.requestPermissions && options.permissionService.requestPermissions('video').then(() => {\n const destroy = this.displayManager.show({\n content: (<Camera testID={\"camera_view\"} type={this.type} captureType={'video'} onSuccess={(o) => {\n destroy.call(this.displayManager);\n /*o.content().catch(() => {}).then(base64 => {\n resolve({videoPath: o.uri, content: base64 || ''});\n });*/\n resolve({videoPath: o.uri, content: ''});\n }}\n onCancel={() => {\n destroy.call(this.displayManager);\n }}\n ></Camera>)\n });\n }, reject);\n });\n }\n\n public captureImage(params: CameraInput): Promise<CaptureImageOutput> {\n return new Promise((resolve, reject) => {\n params?.permissionService?.requestPermissions && params.permissionService.requestPermissions('image').then(() => {\n const destroy = this.displayManager.show({\n content: (<Camera testID={\"camera_view\"} type={this.type} captureType={'image'} onSuccess={(o) => {\n destroy.call(this.displayManager);\n o.content().catch(() => {}).then(base64 => {\n resolve({imagePath: o.uri, content: base64 || ''});\n });\n }} onCancel={() => {destroy.call(this.displayManager);}}\n ></Camera>)\n });\n }, reject);\n });\n }\n}\n\ninterface CameraOutput {\n uri: string;\n content: () => Promise<string>;\n}\n\nclass CameraViewProps {\n testID: string = 'camera_view';\n type: 'front' | 'back' = 'back' as CameraType;\n captureType: 'image' | 'video' = 'image';\n onSuccess: (o: CameraOutput) => any = () => {};\n onCancel: () => any = () => {};\n}\n\nclass CameraViewState {\n recording: boolean = false;\n showActionBtns: boolean = false;\n cameraType: CameraType = CameraType.back;\n isCaptured: boolean = false;\n closeView: boolean = false;\n cameraContent: CameraOutput = {} as CameraOutput;\n}\n\nexport class Camera extends React.Component<CameraViewProps, CameraViewState> {\n private cameraService: ICameraPluginService = null as any;\n private camera: any = {};\n\n constructor(props: CameraViewProps) {\n super(props);\n this.state = new CameraViewState();\n }\n\n toggleCapture() {\n if (this.props.captureType === 'image') {\n this.takePicture();\n } else {\n if (!this.state.recording) {\n this.startRecord();\n } else {\n this.stopRecord();\n this.setState({showActionBtns: true} as CameraViewState);\n }\n }\n }\n\n getTestProps(suffix: string) {\n const id = this.props.testID + (suffix ? '_' + suffix : '');\n if (Platform.OS === 'android' || Platform.OS === 'web') {\n return {\n accessibilityLabel: id,\n testID: id\n };\n }\n return {\n accessible: false,\n testID: id\n };\n }\n\n async takePicture() {\n const options = {\n quality: 0.5,\n base64: false,\n skipProcessing: true,\n onPictureSaved: (response: any) => {\n response.content = async () => {\n return await this.cameraService.fsReadAsString(response.uri, { encoding: 'base64' });\n };\n this.setState({ \n cameraContent: response,\n isCaptured: true,\n showActionBtns: true } as CameraViewState);\n }\n }\n await this.camera.takePictureAsync(options);\n\n if (this.state.showActionBtns) {\n this.setState({showActionBtns: false} as CameraViewState);\n }\n this.setState({showActionBtns: true} as CameraViewState);\n }\n\n // start recording\n startRecord = async () => {\n this.camera.recordAsync().then((response: any) => {\n response.content = async () => {\n return await this.cameraService.fsReadAsString(response.uri, { encoding: 'base64' });\n };\n this.setState({ cameraContent: response, isCaptured: true } as CameraViewState);\n });\n if (this.state.showActionBtns) {\n this.setState({showActionBtns: false} as CameraViewState);\n }\n\n this.setState({recording: true} as CameraViewState);\n };\n\n // stop recording\n stopRecord = async () => {\n this.camera.stopRecording();\n this.setState({recording: false} as CameraViewState);\n this.setState({showActionBtns: true} as CameraViewState);\n };\n\n getActionsTemplate() {\n return <View style={styles.actionBar}>\n <View style={styles.leftWrapper}>\n <TouchableOpacity\n {...this.getTestProps('close')}\n onPress={() => {\n this.setState({ cameraContent: {uri: ''}, isCaptured: false, closeView: true } as CameraViewState);\n this.props.onCancel();\n }}>\n <Ionicons name='close-circle' size={32} color='white' />\n </TouchableOpacity>\n </View>\n <View style={styles.midWrapper}>\n {!this.state.isCaptured ? <TouchableOpacity style={[styles.circle, styles.outerCircle, this.props.captureType === 'video' && !this.state.recording ? { backgroundColor: \"red\" } : {},\n this.props.captureType === 'image' ? { backgroundColor: \"white\" } : {}]}\n onPress={this.toggleCapture.bind(this)}\n {...this.getTestProps('capture')}>\n <View style={[styles.circle as ViewStyle, this.props.captureType === 'image' ? {} : styles.innerCircle, this.props.captureType === 'image' ? { backgroundColor: \"white\" } : {}]}></View>\n </TouchableOpacity> : null}\n </View>\n <View style={styles.rightWrapper}>\n {this.state.showActionBtns ? (<TouchableOpacity\n onPress={() => {\n this.setState({ isCaptured: false, closeView: true } as CameraViewState);\n this.props.onSuccess(this.state.cameraContent);\n this.setState({ cameraContent: {uri: ''} } as CameraViewState);\n }}\n {...this.getTestProps('ok')}>\n <Ionicons name='checkmark-circle' size={32} color='white'/>\n </TouchableOpacity>) : (<TouchableOpacity\n {...this.getTestProps('toggle')}\n onPress={() => {\n this.setState({cameraType: this.state.cameraType === 'back' ? 'front' : 'back'} as CameraViewState);\n }}>\n <Ionicons name='camera-reverse' size={32} color='white' />\n </TouchableOpacity>)}\n </View>\n </View>\n }\n\n getPreviewTemplate(actions: any) {\n const Video = this.cameraService.Video;\n return this.props.captureType === 'image' ?\n <ImageBackground source={{uri : this.state.cameraContent.uri}} resizeMode={ResizeMode.CONTAIN} style={{flex: 1}} />\n : <Video\n style={{ flex: 1 }}\n source={{\n uri: this.state.cameraContent.uri,\n }}\n shouldPlay={true}\n useNativeControls\n isLooping\n resizeMode={ResizeMode.CONTAIN}\n ></Video>\n }\n\n render() {\n if (this.state.closeView) {\n return null;\n }\n const actions = this.getActionsTemplate();\n return (\n <CameraPluginConsumer>\n {(cameraService: any) => {\n this.cameraService = cameraService;\n const CameraView = this.cameraService.CameraView;\n return <View style={styles.preview}>\n {this.state.isCaptured ? (\n this.getPreviewTemplate(actions)\n ) : (\n <CameraView facing={this.state.cameraType} ref={(ref: any) => { this.camera = ref; }}\n style={{flex: 1}}\n onCameraReady={() => {}}>\n\n </CameraView>)}\n {actions}\n </View>\n }}\n </CameraPluginConsumer>)\n }\n}\nconst cameraService = new CameraService(appDisplayManagerService);\nexport default cameraService;"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","ImageBackground","Platform","TouchableOpacity","View","Ionicons","ResizeMode","Video","CameraView","FileSystem","permissionManager","appDisplayManagerService","styles","preview","top","left","right","flexGrow","backgroundColor","actionBtn","flex","padding","paddingHorizontal","alignSelf","margin","actionBar","flexDirection","justifyContent","position","bottom","leftWrapper","alignItems","midWrapper","rightWrapper","circle","display","outerCircle","borderWidth","height","width","borderRadius","borderColor","innerCircle","CameraService","constructor","displayManager","_defineProperty","captureVideo","options","Promise","resolve","reject","requestPermissions","then","destroy","show","content","createElement","Camera","testID","type","captureType","onSuccess","o","call","videoPath","uri","onCancel","captureImage","params","catch","base64","imagePath","CameraViewProps","CameraViewState","Component","props","camera","recordAsync","response","readAsStringAsync","encoding","setState","cameraContent","isCaptured","state","showActionBtns","recording","stopRecording","toggleCapture","takePicture","startRecord","stopRecord","getTestProps","suffix","id","OS","accessibilityLabel","accessible","quality","skipProcessing","onPictureSaved","takePictureAsync","getActionsTemplate","style","_extends","onPress","closeView","name","size","color","bind","cameraType","getPreviewTemplate","actions","source","resizeMode","CONTAIN","shouldPlay","useNativeControls","isLooping","render","facing","ref","onCameraReady","cameraService"],"sources":["camera-service.tsx"],"sourcesContent":["import React from \"react\";\nimport { ImageBackground, Platform, TouchableOpacity, View, ViewStyle } from \"react-native\";\nimport { Ionicons } from \"@expo/vector-icons\";\nimport { ResizeMode, Video } from \"expo-av\";\nimport { CameraView, CameraType } from \"expo-camera\";\nimport * as FileSystem from \"expo-file-system\";\nimport * as Application from 'expo-application';\n\nimport { DisplayManager } from \"@wavemaker/app-rn-runtime/core/display.manager\";\nimport { CaptureVideoOutput } from \"@wavemaker/app-rn-runtime/variables/device/camera/capture-video.operation\";\nimport { CaptureImageOutput } from \"@wavemaker/app-rn-runtime/variables/device/camera/capture-image.operation\";\nimport permissionManager from '@wavemaker/app-rn-runtime/runtime/services/device/permissions';\nimport { CameraInput } from \"@wavemaker/app-rn-runtime/core/device/camera-service\";\nimport { Input } from \"@wavemaker/app-rn-runtime/variables/device/operation.provider\";\nimport appDisplayManagerService from \"@wavemaker/app-rn-runtime/runtime/services/app-display-manager.service\";\nconst styles = {\n preview: {\n top: 0,\n left: 0,\n right: 0,\n flexGrow: 1,\n backgroundColor: 'black'\n },\n actionBtn: {\n flex: 0,\n padding: 15,\n paddingHorizontal: 20,\n alignSelf: 'center',\n margin: 20,\n } as ViewStyle,\n actionBar: {\n flex: 0,\n flexDirection: 'row',\n justifyContent: 'center',\n backgroundColor: 'rgba(0,0,0,0.6)',\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n padding: 20\n } as ViewStyle,\n leftWrapper: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'flex-start',\n } as ViewStyle,\n midWrapper: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n } as ViewStyle,\n rightWrapper: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'flex-end',\n } as ViewStyle,\n circle: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n } as ViewStyle,\n outerCircle: {\n borderWidth: 3,\n height: 50,\n width: 50,\n borderRadius: 25,\n borderColor: 'white'\n },\n innerCircle: {\n borderRadius:2,\n height: 20,\n width:20,\n backgroundColor: 'red'\n }\n};\n\nexport interface CameraVideoInput extends Input {}\n\nexport class CameraService {\n private type: CameraType = \"back\";\n\n constructor(private displayManager: DisplayManager) {\n }\n\n public captureVideo(options?: CameraVideoInput): Promise<CaptureVideoOutput> {\n return new Promise((resolve, reject) => {\n permissionManager.requestPermissions('video').then(() => {\n const destroy = this.displayManager.show({\n content: (<Camera testID={\"camera_view\"} type={this.type} captureType={'video'} onSuccess={(o) => {\n destroy.call(this.displayManager);\n /*o.content().catch(() => {}).then(base64 => {\n resolve({videoPath: o.uri, content: base64 || ''});\n });*/\n resolve({videoPath: o.uri, content: ''});\n }}\n onCancel={() => {\n destroy.call(this.displayManager);\n }}\n ></Camera>)\n });\n }, reject);\n });\n }\n\n public captureImage(params: CameraInput): Promise<CaptureImageOutput> {\n return new Promise((resolve, reject) => {\n permissionManager.requestPermissions('image').then(() => {\n const destroy = this.displayManager.show({\n content: (<Camera testID={\"camera_view\"} type={this.type} captureType={'image'} onSuccess={(o) => {\n destroy.call(this.displayManager);\n o.content().catch(() => {}).then(base64 => {\n resolve({imagePath: o.uri, content: base64 || ''});\n });\n }} onCancel={() => {destroy.call(this.displayManager);}}\n ></Camera>)\n });\n }, reject);\n });\n }\n}\n\ninterface CameraOutput {\n uri: string;\n content: () => Promise<string>;\n}\n\nclass CameraViewProps {\n testID: string = 'camera_view';\n type: 'front' | 'back' = 'back' as CameraType;\n captureType: 'image' | 'video' = 'image';\n onSuccess: (o: CameraOutput) => any = () => {};\n onCancel: () => any = () => {};\n}\n\nclass CameraViewState {\n recording: boolean = false;\n showActionBtns: boolean = false;\n cameraType: CameraType = 'back';\n isCaptured: boolean = false;\n closeView: boolean = false;\n cameraContent: CameraOutput = {} as CameraOutput;\n}\n\nexport class Camera extends React.Component<CameraViewProps, CameraViewState> {\n private camera: any = {};\n\n constructor(props: CameraViewProps) {\n super(props);\n this.state = new CameraViewState();\n }\n\n toggleCapture() {\n if (this.props.captureType === 'image') {\n this.takePicture();\n } else {\n if (!this.state.recording) {\n this.startRecord();\n } else {\n this.stopRecord();\n this.setState({showActionBtns: true} as CameraViewState);\n }\n }\n }\n\n getTestProps(suffix: string) {\n const id = this.props.testID + (suffix ? '_' + suffix : '');\n if (Platform.OS === 'android' || Platform.OS === 'web') {\n return {\n accessibilityLabel: id,\n testID: id\n };\n }\n return {\n accessible: false,\n testID: id\n };\n }\n\n async takePicture() {\n const options = {\n quality: 0.5,\n base64: false,\n skipProcessing: true,\n onPictureSaved: (response: any) => {\n response.content = async () => {\n return await FileSystem.readAsStringAsync(response.uri, { encoding: 'base64' });\n };\n this.setState({ \n cameraContent: response,\n isCaptured: true,\n showActionBtns: true } as CameraViewState);\n }\n }\n await this.camera.takePictureAsync(options);\n\n if (this.state.showActionBtns) {\n this.setState({showActionBtns: false} as CameraViewState);\n }\n this.setState({showActionBtns: true} as CameraViewState);\n }\n\n // start recording\n startRecord = async () => {\n this.camera.recordAsync().then((response: any) => {\n response.content = async () => {\n return await FileSystem.readAsStringAsync(response.uri, { encoding: 'base64' });\n };\n this.setState({ cameraContent: response, isCaptured: true } as CameraViewState);\n });\n if (this.state.showActionBtns) {\n this.setState({showActionBtns: false} as CameraViewState);\n }\n\n this.setState({recording: true} as CameraViewState);\n };\n\n // stop recording\n stopRecord = async () => {\n this.camera.stopRecording();\n this.setState({recording: false} as CameraViewState);\n this.setState({showActionBtns: true} as CameraViewState);\n };\n\n getActionsTemplate() {\n return <View style={styles.actionBar}>\n <View style={styles.leftWrapper}>\n <TouchableOpacity\n {...this.getTestProps('close')}\n onPress={() => {\n this.setState({ cameraContent: {uri: ''}, isCaptured: false, closeView: true } as CameraViewState);\n this.props.onCancel();\n }}>\n <Ionicons name='close-circle' size={32} color='white' />\n </TouchableOpacity>\n </View>\n <View style={styles.midWrapper}>\n {!this.state.isCaptured ? <TouchableOpacity style={[styles.circle, styles.outerCircle, this.props.captureType === 'video' && !this.state.recording ? { backgroundColor: \"red\" } : {},\n this.props.captureType === 'image' ? { backgroundColor: \"white\" } : {}]}\n onPress={this.toggleCapture.bind(this)}\n {...this.getTestProps('capture')}>\n <View style={[styles.circle as ViewStyle, this.props.captureType === 'image' ? {} : styles.innerCircle, this.props.captureType === 'image' ? { backgroundColor: \"white\" } : {}]}></View>\n </TouchableOpacity> : null}\n </View>\n <View style={styles.rightWrapper}>\n {this.state.showActionBtns ? (<TouchableOpacity\n onPress={() => {\n this.setState({ isCaptured: false, closeView: true } as CameraViewState);\n this.props.onSuccess(this.state.cameraContent);\n this.setState({ cameraContent: {uri: ''} } as CameraViewState);\n }}\n {...this.getTestProps('ok')}>\n <Ionicons name='checkmark-circle' size={32} color='white'/>\n </TouchableOpacity>) : (<TouchableOpacity\n {...this.getTestProps('toggle')}\n onPress={() => {\n this.setState({cameraType: this.state.cameraType === 'back' ? 'front' : 'back'} as CameraViewState);\n }}>\n <Ionicons name='camera-reverse' size={32} color='white' />\n </TouchableOpacity>)}\n </View>\n </View>\n }\n\n getPreviewTemplate(actions: any) {\n return this.props.captureType === 'image' ?\n <ImageBackground source={{uri : this.state.cameraContent.uri}} resizeMode={ResizeMode.CONTAIN} style={{flex: 1}} />\n : <Video\n style={{ flex: 1 }}\n source={{\n uri: this.state.cameraContent.uri,\n }}\n shouldPlay={true}\n useNativeControls\n isLooping\n resizeMode={ResizeMode.CONTAIN}\n ></Video>\n }\n\n render() {\n if (this.state.closeView) {\n return null;\n }\n const actions = this.getActionsTemplate();\n return (\n <View style={styles.preview}>\n {this.state.isCaptured ? (\n this.getPreviewTemplate(actions)\n ) : (\n <CameraView facing={this.state.cameraType} ref={(ref) => { this.camera = ref; }}\n style={{flex: 1}}\n onCameraReady={() => {}}>\n\n </CameraView>)}\n {actions}\n </View>)\n }\n}\nconst cameraService = new CameraService(appDisplayManagerService);\nexport default cameraService;"],"mappings":"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","ignoreList":[]}
|