@wavemaker/app-rn-runtime 11.12.0-next.28188 → 11.12.1-next.28204

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.
Files changed (71) hide show
  1. package/components/basic/audio/audio.component.js +47 -52
  2. package/components/basic/audio/audio.component.js.map +1 -1
  3. package/components/basic/video/video.component.js +62 -65
  4. package/components/basic/video/video.component.js.map +1 -1
  5. package/components/container/container.component.js +2 -5
  6. package/components/container/container.component.js.map +1 -1
  7. package/components/device/barcodescanner/barcodescanner.component.js +18 -26
  8. package/components/device/barcodescanner/barcodescanner.component.js.map +1 -1
  9. package/components/device/camera/camera.component.js +19 -28
  10. package/components/device/camera/camera.component.js.map +1 -1
  11. package/components/input/fileupload/fileupload.component.js +13 -17
  12. package/components/input/fileupload/fileupload.component.js.map +1 -1
  13. package/components/navigation/appnavbar/appnavbar.component.js +2 -5
  14. package/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
  15. package/components/page/left-panel/left-panel.component.js +2 -3
  16. package/components/page/left-panel/left-panel.component.js.map +1 -1
  17. package/components/page/page-content/page-content.component.js +18 -23
  18. package/components/page/page-content/page-content.component.js.map +1 -1
  19. package/components/page/tabbar/tabbar.component.js +2 -5
  20. package/components/page/tabbar/tabbar.component.js.map +1 -1
  21. package/core/device/calendar-service.js +1 -7
  22. package/core/device/calendar-service.js.map +1 -1
  23. package/core/device/camera-service.js +0 -6
  24. package/core/device/camera-service.js.map +1 -1
  25. package/core/device/contacts-service.js +1 -7
  26. package/core/device/contacts-service.js.map +1 -1
  27. package/core/device/location-service.js +1 -7
  28. package/core/device/location-service.js.map +1 -1
  29. package/core/device/scan-service.js +0 -6
  30. package/core/device/scan-service.js.map +1 -1
  31. package/core/utils.js +6 -0
  32. package/core/utils.js.map +1 -1
  33. package/npm-shrinkwrap.json +94 -94
  34. package/package-lock.json +94 -94
  35. package/package.json +2 -2
  36. package/runtime/services/device/calendar-service.js +5 -9
  37. package/runtime/services/device/calendar-service.js.map +1 -1
  38. package/runtime/services/device/camera-service.js +22 -39
  39. package/runtime/services/device/camera-service.js.map +1 -1
  40. package/runtime/services/device/contacts-service.js +5 -6
  41. package/runtime/services/device/contacts-service.js.map +1 -1
  42. package/runtime/services/device/location-service.js +4 -4
  43. package/runtime/services/device/location-service.js.map +1 -1
  44. package/runtime/services/device/permissions.js +39 -34
  45. package/runtime/services/device/permissions.js.map +1 -1
  46. package/runtime/services/device/scan-service.js +3 -4
  47. package/runtime/services/device/scan-service.js.map +1 -1
  48. package/variables/device/calendar/create-event.operation.js +1 -12
  49. package/variables/device/calendar/create-event.operation.js.map +1 -1
  50. package/variables/device/calendar/delete-event.operation.js +1 -12
  51. package/variables/device/calendar/delete-event.operation.js.map +1 -1
  52. package/variables/device/calendar/get-events.operation.js +1 -12
  53. package/variables/device/calendar/get-events.operation.js.map +1 -1
  54. package/variables/device/camera/capture-image.operation.js +1 -8
  55. package/variables/device/camera/capture-image.operation.js.map +1 -1
  56. package/variables/device/camera/capture-video.operation.js +1 -7
  57. package/variables/device/camera/capture-video.operation.js.map +1 -1
  58. package/variables/device/contacts/get-contacts.operation.js +1 -12
  59. package/variables/device/contacts/get-contacts.operation.js.map +1 -1
  60. package/variables/device/device/current-geo-position.operation.js +1 -12
  61. package/variables/device/device/current-geo-position.operation.js.map +1 -1
  62. package/variables/device/file/upload-file.operation.js +3 -17
  63. package/variables/device/file/upload-file.operation.js.map +1 -1
  64. package/variables/device/scan/scan.operation.js +1 -12
  65. package/variables/device/scan/scan.operation.js.map +1 -1
  66. package/core/device/av-service.js +0 -8
  67. package/core/device/av-service.js.map +0 -1
  68. package/core/device/fileupload-service.js +0 -8
  69. package/core/device/fileupload-service.js.map +0 -1
  70. package/runtime/services/device/permission-service.js +0 -5
  71. package/runtime/services/device/permission-service.js.map +0 -1
@@ -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 { CameraPluginConsumer } from "@wavemaker/app-rn-runtime/core/device/camera-service";
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", CameraType.back);
76
+ _defineProperty(this, "type", "back");
86
77
  }
87
78
  captureVideo(options) {
88
79
  return new Promise((resolve, reject) => {
89
- var _options$permissionSe;
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
- var _params$permissionSer;
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", CameraType.back);
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 this.cameraService.fsReadAsString(response.uri, {
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 this.cameraService.fsReadAsString(response.uri, {
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(CameraPluginConsumer, null, cameraService => {
347
- this.cameraService = cameraService;
348
- const CameraView = this.cameraService.CameraView;
349
- return /*#__PURE__*/React.createElement(View, {
350
- style: styles.preview
351
- }, this.state.isCaptured ? this.getPreviewTemplate(actions) : /*#__PURE__*/React.createElement(CameraView, {
352
- facing: this.state.cameraType,
353
- ref: ref => {
354
- this.camera = ref;
355
- },
356
- style: {
357
- flex: 1
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":[]}
@@ -1,13 +1,12 @@
1
+ import * as Contacts from 'expo-contacts';
2
+ import permissionManager from '@wavemaker/app-rn-runtime/runtime/services/device/permissions';
1
3
  export class ContactsService {
2
4
  constructor() {}
3
5
  getContacts(params) {
4
6
  return new Promise((resolve, reject) => {
5
- var _params$contactsPlugi, _params$permissionSer;
6
- const Fields = params === null || params === void 0 || (_params$contactsPlugi = params.contactsPluginService) === null || _params$contactsPlugi === void 0 ? void 0 : _params$contactsPlugi.Fields;
7
- (params === null || params === void 0 || (_params$permissionSer = params.permissionService) === null || _params$permissionSer === void 0 ? void 0 : _params$permissionSer.requestPermissions) && params.permissionService.requestPermissions('contacts').then(() => {
8
- var _params$contactsPlugi2;
9
- return (_params$contactsPlugi2 = params.contactsPluginService) === null || _params$contactsPlugi2 === void 0 ? void 0 : _params$contactsPlugi2.getContactsAsync({
10
- fields: [Fields.ID, Fields.Name, Fields.PhoneNumbers],
7
+ permissionManager.requestPermissions('contacts').then(() => {
8
+ return Contacts.getContactsAsync({
9
+ fields: [Contacts.Fields.ID, Contacts.Fields.Name, Contacts.Fields.PhoneNumbers],
11
10
  name: params.contactFilter
12
11
  }).then(value => {
13
12
  let contacts = [];
@@ -1 +1 @@
1
- {"version":3,"names":["ContactsService","constructor","getContacts","params","Promise","resolve","reject","_params$contactsPlugi","_params$permissionSer","Fields","contactsPluginService","permissionService","requestPermissions","then","_params$contactsPlugi2","getContactsAsync","fields","ID","Name","PhoneNumbers","name","contactFilter","value","contacts","data","forEach","c","_c$phoneNumbers","numbers","phoneNumbers","num","push","number","id","displayName"],"sources":["contacts-service.ts"],"sourcesContent":["import { ContactsInput } from '@wavemaker/app-rn-runtime/core/device/contacts-service';\nimport { ContactsOutput, PhoneNumber} from \"@wavemaker/app-rn-runtime/variables/device/contacts/get-contacts.operation\";\n\nexport class ContactsService {\n\n constructor() {}\n\n public getContacts(params: ContactsInput): Promise<Array<ContactsOutput>> {\n return new Promise((resolve, reject) => {\n const Fields = params?.contactsPluginService?.Fields;\n\n params?.permissionService?.requestPermissions && params.permissionService.requestPermissions('contacts').then(() => {\n return params.contactsPluginService?.getContactsAsync({\n fields: [Fields.ID, Fields.Name, Fields.PhoneNumbers],\n name: params.contactFilter\n }).then((value: any) => {\n let contacts: any = [];\n value.data.forEach((c: any) => {\n const numbers = [] as Array<any>;\n c.phoneNumbers?.forEach((num: any) => {\n numbers.push({\n value: num.number as string\n });\n });\n contacts.push({\n id: c.id,\n displayName: c.name,\n phoneNumbers: numbers\n });\n });\n return resolve(contacts);\n });\n }, () => resolve([]));\n });\n }\n}\n"],"mappings":"AAGA,OAAO,MAAMA,eAAe,CAAC;EAE3BC,WAAWA,CAAA,EAAG,CAAC;EAERC,WAAWA,CAACC,MAAqB,EAAkC;IACxE,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MAAA,IAAAC,qBAAA,EAAAC,qBAAA;MACtC,MAAMC,MAAM,GAAGN,MAAM,aAANA,MAAM,gBAAAI,qBAAA,GAANJ,MAAM,CAAEO,qBAAqB,cAAAH,qBAAA,uBAA7BA,qBAAA,CAA+BE,MAAM;MAEpD,CAAAN,MAAM,aAANA,MAAM,gBAAAK,qBAAA,GAANL,MAAM,CAAEQ,iBAAiB,cAAAH,qBAAA,uBAAzBA,qBAAA,CAA2BI,kBAAkB,KAAIT,MAAM,CAACQ,iBAAiB,CAACC,kBAAkB,CAAC,UAAU,CAAC,CAACC,IAAI,CAAC,MAAM;QAAA,IAAAC,sBAAA;QAClH,QAAAA,sBAAA,GAAOX,MAAM,CAACO,qBAAqB,cAAAI,sBAAA,uBAA5BA,sBAAA,CAA8BC,gBAAgB,CAAC;UACpDC,MAAM,EAAE,CAACP,MAAM,CAACQ,EAAE,EAAER,MAAM,CAACS,IAAI,EAAET,MAAM,CAACU,YAAY,CAAC;UACrDC,IAAI,EAAEjB,MAAM,CAACkB;QACf,CAAC,CAAC,CAACR,IAAI,CAAES,KAAU,IAAK;UACtB,IAAIC,QAAa,GAAG,EAAE;UACtBD,KAAK,CAACE,IAAI,CAACC,OAAO,CAAEC,CAAM,IAAK;YAAA,IAAAC,eAAA;YAC7B,MAAMC,OAAO,GAAG,EAAgB;YAChC,CAAAD,eAAA,GAAAD,CAAC,CAACG,YAAY,cAAAF,eAAA,eAAdA,eAAA,CAAgBF,OAAO,CAAEK,GAAQ,IAAK;cACpCF,OAAO,CAACG,IAAI,CAAC;gBACXT,KAAK,EAAEQ,GAAG,CAACE;cACb,CAAC,CAAC;YACJ,CAAC,CAAC;YACFT,QAAQ,CAACQ,IAAI,CAAC;cACZE,EAAE,EAAEP,CAAC,CAACO,EAAE;cACRC,WAAW,EAAER,CAAC,CAACN,IAAI;cACnBS,YAAY,EAAED;YAChB,CAAC,CAAC;UACJ,CAAC,CAAC;UACF,OAAOvB,OAAO,CAACkB,QAAQ,CAAC;QAC1B,CAAC,CAAC;MACJ,CAAC,EAAE,MAAMlB,OAAO,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC,CAAC;EACN;AACF","ignoreList":[]}
1
+ {"version":3,"names":["Contacts","permissionManager","ContactsService","constructor","getContacts","params","Promise","resolve","reject","requestPermissions","then","getContactsAsync","fields","Fields","ID","Name","PhoneNumbers","name","contactFilter","value","contacts","data","forEach","c","_c$phoneNumbers","numbers","phoneNumbers","num","push","number","id","displayName"],"sources":["contacts-service.ts"],"sourcesContent":["import * as Contacts from 'expo-contacts';\nimport permissionManager from '@wavemaker/app-rn-runtime/runtime/services/device/permissions';\nimport { ContactsInput } from '@wavemaker/app-rn-runtime/core/device/contacts-service';\nimport { ContactsOutput, PhoneNumber} from \"@wavemaker/app-rn-runtime/variables/device/contacts/get-contacts.operation\";\n\nexport class ContactsService {\n\n constructor() {}\n\n public getContacts(params: ContactsInput): Promise<Array<ContactsOutput>> {\n return new Promise((resolve, reject) => {\n permissionManager.requestPermissions('contacts').then(() => {\n return Contacts.getContactsAsync({\n fields: [Contacts.Fields.ID, Contacts.Fields.Name, Contacts.Fields.PhoneNumbers],\n name: params.contactFilter\n }).then((value: Contacts.ContactResponse) => {\n let contacts: any = [];\n value.data.forEach((c: Contacts.Contact) => {\n const numbers = [] as Array<PhoneNumber>;\n c.phoneNumbers?.forEach((num: Contacts.PhoneNumber) => {\n numbers.push({\n value: num.number as string\n });\n });\n contacts.push({\n id: c.id,\n displayName: c.name,\n phoneNumbers: numbers\n });\n });\n return resolve(contacts);\n });\n }, () => resolve([]));\n });\n }\n}\n"],"mappings":"AAAA,OAAO,KAAKA,QAAQ,MAAM,eAAe;AACzC,OAAOC,iBAAiB,MAAM,+DAA+D;AAI7F,OAAO,MAAMC,eAAe,CAAC;EAE3BC,WAAWA,CAAA,EAAG,CAAC;EAERC,WAAWA,CAACC,MAAqB,EAAkC;IACxE,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtCP,iBAAiB,CAACQ,kBAAkB,CAAC,UAAU,CAAC,CAACC,IAAI,CAAC,MAAM;QAC1D,OAAOV,QAAQ,CAACW,gBAAgB,CAAC;UAC/BC,MAAM,EAAE,CAACZ,QAAQ,CAACa,MAAM,CAACC,EAAE,EAAEd,QAAQ,CAACa,MAAM,CAACE,IAAI,EAAEf,QAAQ,CAACa,MAAM,CAACG,YAAY,CAAC;UAChFC,IAAI,EAAEZ,MAAM,CAACa;QACf,CAAC,CAAC,CAACR,IAAI,CAAES,KAA+B,IAAK;UAC3C,IAAIC,QAAa,GAAG,EAAE;UACtBD,KAAK,CAACE,IAAI,CAACC,OAAO,CAAEC,CAAmB,IAAK;YAAA,IAAAC,eAAA;YAC1C,MAAMC,OAAO,GAAG,EAAwB;YACxC,CAAAD,eAAA,GAAAD,CAAC,CAACG,YAAY,cAAAF,eAAA,eAAdA,eAAA,CAAgBF,OAAO,CAAEK,GAAyB,IAAK;cACrDF,OAAO,CAACG,IAAI,CAAC;gBACXT,KAAK,EAAEQ,GAAG,CAACE;cACb,CAAC,CAAC;YACJ,CAAC,CAAC;YACFT,QAAQ,CAACQ,IAAI,CAAC;cACZE,EAAE,EAAEP,CAAC,CAACO,EAAE;cACRC,WAAW,EAAER,CAAC,CAACN,IAAI;cACnBS,YAAY,EAAED;YAChB,CAAC,CAAC;UACJ,CAAC,CAAC;UACF,OAAOlB,OAAO,CAACa,QAAQ,CAAC;QAC1B,CAAC,CAAC;MACJ,CAAC,EAAE,MAAMb,OAAO,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC,CAAC;EACN;AACF","ignoreList":[]}
@@ -1,14 +1,14 @@
1
+ import * as Location from 'expo-location';
2
+ import permissionManager from "@wavemaker/app-rn-runtime/runtime/services/device/permissions";
1
3
  export class LocationService {
2
4
  constructor() {}
3
5
  getCurrentGeoPosition(params) {
4
6
  return new Promise((resolve, reject) => {
5
- var _params$permissionSer;
6
- params === null || params === void 0 || (_params$permissionSer = params.permissionService) === null || _params$permissionSer === void 0 || _params$permissionSer.requestPermissions('location').then(() => {
7
- var _params$locationPlugi;
7
+ permissionManager.requestPermissions('location').then(() => {
8
8
  const options = {
9
9
  accuracy: 4
10
10
  };
11
- resolve(params === null || params === void 0 || (_params$locationPlugi = params.locationPluginService) === null || _params$locationPlugi === void 0 ? void 0 : _params$locationPlugi.getCurrentPositionAsync(options));
11
+ resolve(Location.getCurrentPositionAsync(options));
12
12
  }, reject);
13
13
  });
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"names":["LocationService","constructor","getCurrentGeoPosition","params","Promise","resolve","reject","_params$permissionSer","permissionService","requestPermissions","then","_params$locationPlugi","options","accuracy","locationPluginService","getCurrentPositionAsync"],"sources":["location-service.ts"],"sourcesContent":["import {\n GeoPositionInput,\n GeoPositionOutput\n} from \"@wavemaker/app-rn-runtime/variables/device/device/current-geo-position.operation\";\n\n\nexport class LocationService {\n\n constructor() {}\n\n public getCurrentGeoPosition(params: GeoPositionInput): Promise<GeoPositionOutput> {\n return new Promise((resolve, reject) => {\n params?.permissionService?.requestPermissions('location').then(() => {\n const options = {\n accuracy: 4\n }\n resolve(params?.locationPluginService?.getCurrentPositionAsync(options));\n }, reject)\n });\n }\n}\n"],"mappings":"AAMA,OAAO,MAAMA,eAAe,CAAC;EAE3BC,WAAWA,CAAA,EAAG,CAAC;EAERC,qBAAqBA,CAACC,MAAwB,EAA8B;IACjF,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MAAA,IAAAC,qBAAA;MACtCJ,MAAM,aAANA,MAAM,gBAAAI,qBAAA,GAANJ,MAAM,CAAEK,iBAAiB,cAAAD,qBAAA,eAAzBA,qBAAA,CAA2BE,kBAAkB,CAAC,UAAU,CAAC,CAACC,IAAI,CAAC,MAAM;QAAA,IAAAC,qBAAA;QACnE,MAAMC,OAAO,GAAG;UACdC,QAAQ,EAAE;QACZ,CAAC;QACCR,OAAO,CAACF,MAAM,aAANA,MAAM,gBAAAQ,qBAAA,GAANR,MAAM,CAAEW,qBAAqB,cAAAH,qBAAA,uBAA7BA,qBAAA,CAA+BI,uBAAuB,CAACH,OAAO,CAAC,CAAC;MAC1E,CAAC,EAAEN,MAAM,CAAC;IACZ,CAAC,CAAC;EACN;AACF","ignoreList":[]}
1
+ {"version":3,"names":["Location","permissionManager","LocationService","constructor","getCurrentGeoPosition","params","Promise","resolve","reject","requestPermissions","then","options","accuracy","getCurrentPositionAsync"],"sources":["location-service.ts"],"sourcesContent":["import * as Location from 'expo-location';\nimport permissionManager from \"@wavemaker/app-rn-runtime/runtime/services/device/permissions\";\nimport {\n GeoPositionInput,\n GeoPositionOutput\n} from \"@wavemaker/app-rn-runtime/variables/device/device/current-geo-position.operation\";\n\n\nexport class LocationService {\n\n constructor() {}\n\n public getCurrentGeoPosition(params: GeoPositionInput): Promise<GeoPositionOutput> {\n return new Promise((resolve, reject) => {\n permissionManager.requestPermissions('location').then(() => {\n const options = {\n accuracy: 4\n }\n resolve(Location.getCurrentPositionAsync(options));\n }, reject)\n });\n }\n}\n"],"mappings":"AAAA,OAAO,KAAKA,QAAQ,MAAM,eAAe;AACzC,OAAOC,iBAAiB,MAAM,+DAA+D;AAO7F,OAAO,MAAMC,eAAe,CAAC;EAE3BC,WAAWA,CAAA,EAAG,CAAC;EAERC,qBAAqBA,CAACC,MAAwB,EAA8B;IACjF,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtCP,iBAAiB,CAACQ,kBAAkB,CAAC,UAAU,CAAC,CAACC,IAAI,CAAC,MAAM;QAC1D,MAAMC,OAAO,GAAG;UACdC,QAAQ,EAAE;QACZ,CAAC;QACCL,OAAO,CAACP,QAAQ,CAACa,uBAAuB,CAACF,OAAO,CAAC,CAAC;MACpD,CAAC,EAAEH,MAAM,CAAC;IACZ,CAAC,CAAC;EACN;AACF","ignoreList":[]}
@@ -1,3 +1,8 @@
1
+ import * as Location from 'expo-location';
2
+ import * as Contacts from 'expo-contacts';
3
+ import * as Calendar from 'expo-calendar';
4
+ import * as Camera from 'expo-camera';
5
+ import { Platform } from 'react-native';
1
6
  const rejectionMsgMap = new Map();
2
7
  rejectionMsgMap.set('camera', 'camera permission is required to capture image');
3
8
  rejectionMsgMap.set('video', 'camera and audio permissions are required to capture video');
@@ -6,40 +11,40 @@ rejectionMsgMap.set('contacts', 'enable contacts permission to access the contac
6
11
  rejectionMsgMap.set('calendar', 'enable calendar permission to access the calendar events');
7
12
  export default {
8
13
  requestPermissions: type => {
9
- // let query;
10
- // if (type === 'location') {
11
- // // requestPermissionsAsync is deprecated and requestForegroundPermissionsAsync is available only in sdk 41+
12
- // query = Location.requestForegroundPermissionsAsync();
13
- // } else if (type === 'video') {
14
- // query = Promise.all([Camera.Camera.requestCameraPermissionsAsync(), Camera.Camera.requestMicrophonePermissionsAsync()]);
15
- // } else if (type === 'image' || type === 'camera') {
16
- // query = Camera.Camera.requestCameraPermissionsAsync();
17
- // } else if (type === 'contacts') {
18
- // query = Contacts.requestPermissionsAsync();
19
- // } else if (type === 'calendar') {
20
- // if (Platform.OS === 'ios') {
21
- // query = Promise.all([Calendar.requestCalendarPermissionsAsync(), Calendar.requestRemindersPermissionsAsync()]);
22
- // } else {
23
- // query = Calendar.requestCalendarPermissionsAsync();
24
- // }
25
- // }
26
- // if (!query) {
27
- // return Promise.reject('no supported permission type.');
28
- // }
29
- // return (query as any).then((response: any) => {
30
- // if (Array.isArray(response)) {
31
- // const isRejected = response.find(o => o.status !== 'granted');
32
- // if (isRejected) {
33
- // return Promise.reject(rejectionMsgMap.get(type));
34
- // }
35
- // } else if (response && response.status !== 'granted') {
36
- // return Promise.reject(rejectionMsgMap.get(type));
37
- // }
38
- // return Promise.resolve();
39
- // }, (error: any) => {
40
- // console.log('permission is not enabled ', error);
41
- // return Promise.reject();
42
- // });
14
+ let query;
15
+ if (type === 'location') {
16
+ // requestPermissionsAsync is deprecated and requestForegroundPermissionsAsync is available only in sdk 41+
17
+ query = Location.requestForegroundPermissionsAsync();
18
+ } else if (type === 'video') {
19
+ query = Promise.all([Camera.Camera.requestCameraPermissionsAsync(), Camera.Camera.requestMicrophonePermissionsAsync()]);
20
+ } else if (type === 'image' || type === 'camera') {
21
+ query = Camera.Camera.requestCameraPermissionsAsync();
22
+ } else if (type === 'contacts') {
23
+ query = Contacts.requestPermissionsAsync();
24
+ } else if (type === 'calendar') {
25
+ if (Platform.OS === 'ios') {
26
+ query = Promise.all([Calendar.requestCalendarPermissionsAsync(), Calendar.requestRemindersPermissionsAsync()]);
27
+ } else {
28
+ query = Calendar.requestCalendarPermissionsAsync();
29
+ }
30
+ }
31
+ if (!query) {
32
+ return Promise.reject('no supported permission type.');
33
+ }
34
+ return query.then(response => {
35
+ if (Array.isArray(response)) {
36
+ const isRejected = response.find(o => o.status !== 'granted');
37
+ if (isRejected) {
38
+ return Promise.reject(rejectionMsgMap.get(type));
39
+ }
40
+ } else if (response && response.status !== 'granted') {
41
+ return Promise.reject(rejectionMsgMap.get(type));
42
+ }
43
+ return Promise.resolve();
44
+ }, error => {
45
+ console.log('permission is not enabled ', error);
46
+ return Promise.reject();
47
+ });
43
48
  }
44
49
  };
45
50
  //# sourceMappingURL=permissions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["rejectionMsgMap","Map","set","requestPermissions","type"],"sources":["permissions.ts"],"sourcesContent":["const rejectionMsgMap = new Map<string, string>();\n\nrejectionMsgMap.set('camera', 'camera permission is required to capture image');\nrejectionMsgMap.set('video', 'camera and audio permissions are required to capture video');\nrejectionMsgMap.set('location', 'enable geolocation permission to access the location');\nrejectionMsgMap.set('contacts', 'enable contacts permission to access the contacts');\nrejectionMsgMap.set('calendar', 'enable calendar permission to access the calendar events');\n\ninterface objectMap {\n [key: string]: Array<string>\n}\n\nexport default {\n requestPermissions: (type: string) => {\n // let query;\n // if (type === 'location') {\n // // requestPermissionsAsync is deprecated and requestForegroundPermissionsAsync is available only in sdk 41+\n // query = Location.requestForegroundPermissionsAsync();\n // } else if (type === 'video') {\n // query = Promise.all([Camera.Camera.requestCameraPermissionsAsync(), Camera.Camera.requestMicrophonePermissionsAsync()]);\n // } else if (type === 'image' || type === 'camera') {\n // query = Camera.Camera.requestCameraPermissionsAsync();\n // } else if (type === 'contacts') {\n // query = Contacts.requestPermissionsAsync();\n // } else if (type === 'calendar') {\n // if (Platform.OS === 'ios') {\n // query = Promise.all([Calendar.requestCalendarPermissionsAsync(), Calendar.requestRemindersPermissionsAsync()]);\n // } else {\n // query = Calendar.requestCalendarPermissionsAsync();\n // }\n // }\n // if (!query) {\n // return Promise.reject('no supported permission type.');\n // }\n // return (query as any).then((response: any) => {\n // if (Array.isArray(response)) {\n // const isRejected = response.find(o => o.status !== 'granted');\n // if (isRejected) {\n // return Promise.reject(rejectionMsgMap.get(type));\n // }\n // } else if (response && response.status !== 'granted') {\n // return Promise.reject(rejectionMsgMap.get(type));\n // }\n // return Promise.resolve();\n // }, (error: any) => {\n // console.log('permission is not enabled ', error);\n // return Promise.reject();\n // });\n }\n}"],"mappings":"AAAA,MAAMA,eAAe,GAAG,IAAIC,GAAG,CAAiB,CAAC;AAEjDD,eAAe,CAACE,GAAG,CAAC,QAAQ,EAAE,gDAAgD,CAAC;AAC/EF,eAAe,CAACE,GAAG,CAAC,OAAO,EAAE,4DAA4D,CAAC;AAC1FF,eAAe,CAACE,GAAG,CAAC,UAAU,EAAE,sDAAsD,CAAC;AACvFF,eAAe,CAACE,GAAG,CAAC,UAAU,EAAE,mDAAmD,CAAC;AACpFF,eAAe,CAACE,GAAG,CAAC,UAAU,EAAE,0DAA0D,CAAC;AAM3F,eAAe;EACbC,kBAAkB,EAAGC,IAAY,IAAK;IACpC;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;EAAA;AAEJ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Location","Contacts","Calendar","Camera","Platform","rejectionMsgMap","Map","set","requestPermissions","type","query","requestForegroundPermissionsAsync","Promise","all","requestCameraPermissionsAsync","requestMicrophonePermissionsAsync","requestPermissionsAsync","OS","requestCalendarPermissionsAsync","requestRemindersPermissionsAsync","reject","then","response","Array","isArray","isRejected","find","o","status","get","resolve","error","console","log"],"sources":["permissions.ts"],"sourcesContent":["import * as Location from 'expo-location';\nimport * as Contacts from 'expo-contacts';\nimport * as Calendar from 'expo-calendar';\nimport * as Camera from 'expo-camera';\nimport { Platform } from 'react-native';\n\nconst rejectionMsgMap = new Map<string, string>();\n\nrejectionMsgMap.set('camera', 'camera permission is required to capture image');\nrejectionMsgMap.set('video', 'camera and audio permissions are required to capture video');\nrejectionMsgMap.set('location', 'enable geolocation permission to access the location');\nrejectionMsgMap.set('contacts', 'enable contacts permission to access the contacts');\nrejectionMsgMap.set('calendar', 'enable calendar permission to access the calendar events');\n\ninterface objectMap {\n [key: string]: Array<string>\n}\n\nexport default {\n requestPermissions: (type: string) => {\n let query;\n if (type === 'location') {\n // requestPermissionsAsync is deprecated and requestForegroundPermissionsAsync is available only in sdk 41+\n query = Location.requestForegroundPermissionsAsync();\n } else if (type === 'video') {\n query = Promise.all([Camera.Camera.requestCameraPermissionsAsync(), Camera.Camera.requestMicrophonePermissionsAsync()]);\n } else if (type === 'image' || type === 'camera') {\n query = Camera.Camera.requestCameraPermissionsAsync();\n } else if (type === 'contacts') {\n query = Contacts.requestPermissionsAsync();\n } else if (type === 'calendar') {\n if (Platform.OS === 'ios') {\n query = Promise.all([Calendar.requestCalendarPermissionsAsync(), Calendar.requestRemindersPermissionsAsync()]);\n } else {\n query = Calendar.requestCalendarPermissionsAsync();\n }\n }\n if (!query) {\n return Promise.reject('no supported permission type.');\n }\n return (query as any).then((response: any) => {\n if (Array.isArray(response)) {\n const isRejected = response.find(o => o.status !== 'granted');\n if (isRejected) {\n return Promise.reject(rejectionMsgMap.get(type));\n }\n } else if (response && response.status !== 'granted') {\n return Promise.reject(rejectionMsgMap.get(type));\n }\n return Promise.resolve();\n }, (error: any) => {\n console.log('permission is not enabled ', error);\n return Promise.reject();\n });\n }\n}"],"mappings":"AAAA,OAAO,KAAKA,QAAQ,MAAM,eAAe;AACzC,OAAO,KAAKC,QAAQ,MAAM,eAAe;AACzC,OAAO,KAAKC,QAAQ,MAAM,eAAe;AACzC,OAAO,KAAKC,MAAM,MAAM,aAAa;AACrC,SAASC,QAAQ,QAAQ,cAAc;AAEvC,MAAMC,eAAe,GAAG,IAAIC,GAAG,CAAiB,CAAC;AAEjDD,eAAe,CAACE,GAAG,CAAC,QAAQ,EAAE,gDAAgD,CAAC;AAC/EF,eAAe,CAACE,GAAG,CAAC,OAAO,EAAE,4DAA4D,CAAC;AAC1FF,eAAe,CAACE,GAAG,CAAC,UAAU,EAAE,sDAAsD,CAAC;AACvFF,eAAe,CAACE,GAAG,CAAC,UAAU,EAAE,mDAAmD,CAAC;AACpFF,eAAe,CAACE,GAAG,CAAC,UAAU,EAAE,0DAA0D,CAAC;AAM3F,eAAe;EACbC,kBAAkB,EAAGC,IAAY,IAAK;IACpC,IAAIC,KAAK;IACT,IAAID,IAAI,KAAK,UAAU,EAAE;MACvB;MACAC,KAAK,GAAGV,QAAQ,CAACW,iCAAiC,CAAC,CAAC;IACtD,CAAC,MAAM,IAAIF,IAAI,KAAK,OAAO,EAAE;MAC3BC,KAAK,GAAGE,OAAO,CAACC,GAAG,CAAC,CAACV,MAAM,CAACA,MAAM,CAACW,6BAA6B,CAAC,CAAC,EAAEX,MAAM,CAACA,MAAM,CAACY,iCAAiC,CAAC,CAAC,CAAC,CAAC;IACzH,CAAC,MAAM,IAAIN,IAAI,KAAK,OAAO,IAAIA,IAAI,KAAK,QAAQ,EAAE;MAChDC,KAAK,GAAGP,MAAM,CAACA,MAAM,CAACW,6BAA6B,CAAC,CAAC;IACvD,CAAC,MAAM,IAAIL,IAAI,KAAK,UAAU,EAAE;MAC9BC,KAAK,GAAGT,QAAQ,CAACe,uBAAuB,CAAC,CAAC;IAC5C,CAAC,MAAM,IAAIP,IAAI,KAAK,UAAU,EAAE;MAC9B,IAAIL,QAAQ,CAACa,EAAE,KAAK,KAAK,EAAE;QACzBP,KAAK,GAAGE,OAAO,CAACC,GAAG,CAAC,CAACX,QAAQ,CAACgB,+BAA+B,CAAC,CAAC,EAAEhB,QAAQ,CAACiB,gCAAgC,CAAC,CAAC,CAAC,CAAC;MAChH,CAAC,MAAM;QACLT,KAAK,GAAGR,QAAQ,CAACgB,+BAA+B,CAAC,CAAC;MACpD;IACF;IACA,IAAI,CAACR,KAAK,EAAE;MACV,OAAOE,OAAO,CAACQ,MAAM,CAAC,+BAA+B,CAAC;IACxD;IACA,OAAQV,KAAK,CAASW,IAAI,CAAEC,QAAa,IAAK;MAC5C,IAAIC,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,EAAE;QAC3B,MAAMG,UAAU,GAAGH,QAAQ,CAACI,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACC,MAAM,KAAK,SAAS,CAAC;QAC7D,IAAIH,UAAU,EAAE;UACd,OAAOb,OAAO,CAACQ,MAAM,CAACf,eAAe,CAACwB,GAAG,CAACpB,IAAI,CAAC,CAAC;QAClD;MACF,CAAC,MAAM,IAAIa,QAAQ,IAAIA,QAAQ,CAACM,MAAM,KAAK,SAAS,EAAE;QACpD,OAAOhB,OAAO,CAACQ,MAAM,CAACf,eAAe,CAACwB,GAAG,CAACpB,IAAI,CAAC,CAAC;MAClD;MACA,OAAOG,OAAO,CAACkB,OAAO,CAAC,CAAC;IAC1B,CAAC,EAAGC,KAAU,IAAK;MACjBC,OAAO,CAACC,GAAG,CAAC,4BAA4B,EAAEF,KAAK,CAAC;MAChD,OAAOnB,OAAO,CAACQ,MAAM,CAAC,CAAC;IACzB,CAAC,CAAC;EACJ;AACF,CAAC","ignoreList":[]}
@@ -1,7 +1,9 @@
1
1
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ import { CameraView } from 'expo-camera';
2
3
  import { Ionicons } from '@expo/vector-icons';
3
4
  import { Platform, StyleSheet, TouchableOpacity, View } from 'react-native';
4
5
  import React from 'react';
6
+ import permissionManager from '@wavemaker/app-rn-runtime/runtime/services/device/permissions';
5
7
  import appDisplayManagerService from '@wavemaker/app-rn-runtime/runtime/services/app-display-manager.service';
6
8
  const barcodeFormatOptions = {
7
9
  'ALL': 'ALL',
@@ -101,13 +103,10 @@ export class ScanService {
101
103
  };
102
104
  }
103
105
  scanBarcode(params) {
104
- var _params$scanPluginSer;
105
106
  const format = (params === null || params === void 0 ? void 0 : params.barcodeFormat) || 'ALL';
106
107
  const barcodeFormat = Platform.OS === 'ios' ? undefined : barcodeFormatOptions[format];
107
- const CameraView = params === null || params === void 0 || (_params$scanPluginSer = params.scanPluginService) === null || _params$scanPluginSer === void 0 ? void 0 : _params$scanPluginSer.CameraView;
108
108
  return new Promise((resolve, reject) => {
109
- var _params$permissionSer;
110
- (params === null || params === void 0 || (_params$permissionSer = params.permissionService) === null || _params$permissionSer === void 0 ? void 0 : _params$permissionSer.requestPermissions) && params.permissionService.requestPermissions('camera').then(() => {
109
+ permissionManager.requestPermissions('camera').then(() => {
111
110
  const destroy = this.displayManager.show({
112
111
  content: /*#__PURE__*/React.createElement(CameraView, {
113
112
  barcodeScannerSettings: barcodeFormat ? {
@@ -1 +1 @@
1
- {"version":3,"names":["Ionicons","Platform","StyleSheet","TouchableOpacity","View","React","appDisplayManagerService","barcodeFormatOptions","opacity","styles","create","container","flex","flexDirection","closeWrapper","justifyContent","alignItems","paddingBottom","topWrapper","backgroundColor","centerWrapper","leftWrapper","focused","rightWrapper","bottomWrapper","BarCodeType","ScanService","constructor","displayManager","getTestProps","suffix","id","OS","accessibilityLabel","testID","accessible","scanBarcode","params","_params$scanPluginSer","format","barcodeFormat","undefined","CameraView","scanPluginService","Promise","resolve","reject","_params$permissionSer","permissionService","requestPermissions","then","destroy","show","content","createElement","barcodeScannerSettings","barcodeTypes","onBarcodeScanned","result","call","style","absoluteFillObject","_extends","onPress","name","size","color","response","type","values","Object","index","indexOf","keys","text","data","cancelled","scanService"],"sources":["scan-service.tsx"],"sourcesContent":["import { Ionicons } from '@expo/vector-icons';\nimport { Platform, StyleSheet, TouchableOpacity, View } from 'react-native';\nimport React from 'react';\nimport { ScanInput, ScanOutput } from '@wavemaker/app-rn-runtime/variables/device/scan/scan.operation';\nimport { DisplayManager } from '@wavemaker/app-rn-runtime/core/display.manager';\nimport appDisplayManagerService from '@wavemaker/app-rn-runtime/runtime/services/app-display-manager.service';\n\ninterface objectMap {\n [key: string]: string\n}\n\nconst barcodeFormatOptions: objectMap = {\n 'ALL': 'ALL',\n 'CODABAR': 'codabar',\n 'CODE_39': 'code39',\n 'CODE_93': 'code93',\n 'CODE_128': 'code128',\n 'DATA_MATRIX': 'datamatrix',\n 'EAN_8': 'ean8',\n 'EAN_13': 'ean13',\n 'ITF': 'itf14',\n 'PDF_417': 'pdf417',\n 'QR_CODE': 'qr',\n 'RSS14': 'rss14',\n 'RSS_EXPANDED': 'rssexpanded',\n 'UPC_E': 'upc_e',\n 'UPC_A': 'upc_a'\n};\nconst opacity = 'rgba(0, 0, 0, 0.6)';\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n flexDirection: 'column'\n },\n closeWrapper: {\n flex: 1,\n justifyContent: 'flex-end',\n alignItems: 'center',\n paddingBottom: 32\n },\n topWrapper: {\n flex: 2,\n backgroundColor: opacity\n },\n centerWrapper: {\n flex: 2,\n flexDirection: 'row'\n },\n leftWrapper: {\n flex: 2,\n backgroundColor: opacity\n },\n focused: {\n flex: 10\n },\n rightWrapper: {\n flex: 2,\n backgroundColor: opacity\n },\n bottomWrapper: {\n flex: 2,\n backgroundColor: opacity\n },\n});\n\nconst BarCodeType: any = [\n { 0: 'aztec' },\n { 1: 'ean13' },\n { 2: 'ean8' },\n { 3: 'qr' },\n { 4: 'pdf417' },\n { 5: 'upc_e' },\n { 6: 'datamatrix' },\n { 7: 'code39' },\n { 8: 'code93' },\n { 9: 'itf14' },\n { 10: 'codabar' },\n { 11: 'code128' },\n { 12: 'upc_a' }\n];\n\n\nexport class ScanService {\n\n constructor(private displayManager: DisplayManager) {}\n\n getTestProps(suffix: string) {\n const id = \"scan\" + (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 public scanBarcode(params: ScanInput): Promise<ScanOutput> {\n const format = params?.barcodeFormat || 'ALL';\n const barcodeFormat: string | undefined = Platform.OS === 'ios' ? undefined : barcodeFormatOptions[format];\n const CameraView = params?.scanPluginService?.CameraView;\n return new Promise((resolve, reject) => {\n params?.permissionService?.requestPermissions && params.permissionService.requestPermissions('camera').then(() => {\n const destroy = this.displayManager.show({\n content: (<CameraView\n barcodeScannerSettings={barcodeFormat ? {\n barcodeTypes: [BarCodeType[barcodeFormat]],\n }: undefined}\n onBarcodeScanned={(result: any) => {\n destroy.call(this.displayManager);\n resolve(result);\n }}\n style={StyleSheet.absoluteFillObject}\n >\n <View style={styles.topWrapper}>\n </View>\n <View style={styles.centerWrapper}>\n <View style={styles.leftWrapper}/>\n <View style={styles.focused}/>\n <View style={styles.rightWrapper}/>\n </View>\n <View style={styles.bottomWrapper}>\n \n <View style={styles.closeWrapper}>\n <TouchableOpacity\n {... this.getTestProps('close_button')}\n onPress={() => {\n destroy.call(this.displayManager);\n }}>\n <Ionicons name='close-circle' size={48} color='white' />\n </TouchableOpacity>\n </View>\n </View>\n </CameraView>)\n });\n }, reject)\n }).then((response: any) => {\n let format;\n if (response.type) {\n const values = Object.values(BarCodeType);\n const index = values.indexOf(response.type);\n format = index > -1 ? Object.keys(BarCodeType)[index] : '';\n }\n return Promise.resolve({\n text: response.data,\n format : format || response.type,\n cancelled : false\n });\n });\n }\n}\nconst scanService = new ScanService(appDisplayManagerService);\nexport default scanService;"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CameraView","Ionicons","Platform","StyleSheet","TouchableOpacity","View","React","permissionManager","appDisplayManagerService","barcodeFormatOptions","opacity","styles","create","container","flex","flexDirection","closeWrapper","justifyContent","alignItems","paddingBottom","topWrapper","backgroundColor","centerWrapper","leftWrapper","focused","rightWrapper","bottomWrapper","BarCodeType","ScanService","constructor","displayManager","getTestProps","suffix","id","OS","accessibilityLabel","testID","accessible","scanBarcode","params","format","barcodeFormat","undefined","Promise","resolve","reject","requestPermissions","then","destroy","show","content","createElement","barcodeScannerSettings","barcodeTypes","onBarcodeScanned","result","call","style","absoluteFillObject","_extends","onPress","name","size","color","response","type","values","Object","index","indexOf","keys","text","data","cancelled","scanService"],"sources":["scan-service.tsx"],"sourcesContent":["import { CameraView } from 'expo-camera';\nimport { Ionicons } from '@expo/vector-icons';\nimport * as Application from 'expo-application';\nimport { Platform, StyleSheet, TouchableOpacity, View } from 'react-native';\nimport React from 'react';\nimport { ScanInput, ScanOutput } from '@wavemaker/app-rn-runtime/variables/device/scan/scan.operation';\nimport { DisplayManager } from '@wavemaker/app-rn-runtime/core/display.manager';\nimport permissionManager from '@wavemaker/app-rn-runtime/runtime/services/device/permissions';\nimport appDisplayManagerService from '@wavemaker/app-rn-runtime/runtime/services/app-display-manager.service';\n\ninterface objectMap {\n [key: string]: string\n}\n\nconst barcodeFormatOptions: objectMap = {\n 'ALL': 'ALL',\n 'CODABAR': 'codabar',\n 'CODE_39': 'code39',\n 'CODE_93': 'code93',\n 'CODE_128': 'code128',\n 'DATA_MATRIX': 'datamatrix',\n 'EAN_8': 'ean8',\n 'EAN_13': 'ean13',\n 'ITF': 'itf14',\n 'PDF_417': 'pdf417',\n 'QR_CODE': 'qr',\n 'RSS14': 'rss14',\n 'RSS_EXPANDED': 'rssexpanded',\n 'UPC_E': 'upc_e',\n 'UPC_A': 'upc_a'\n};\nconst opacity = 'rgba(0, 0, 0, 0.6)';\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n flexDirection: 'column'\n },\n closeWrapper: {\n flex: 1,\n justifyContent: 'flex-end',\n alignItems: 'center',\n paddingBottom: 32\n },\n topWrapper: {\n flex: 2,\n backgroundColor: opacity\n },\n centerWrapper: {\n flex: 2,\n flexDirection: 'row'\n },\n leftWrapper: {\n flex: 2,\n backgroundColor: opacity\n },\n focused: {\n flex: 10\n },\n rightWrapper: {\n flex: 2,\n backgroundColor: opacity\n },\n bottomWrapper: {\n flex: 2,\n backgroundColor: opacity\n },\n});\n\nconst BarCodeType: any = [\n { 0: 'aztec' },\n { 1: 'ean13' },\n { 2: 'ean8' },\n { 3: 'qr' },\n { 4: 'pdf417' },\n { 5: 'upc_e' },\n { 6: 'datamatrix' },\n { 7: 'code39' },\n { 8: 'code93' },\n { 9: 'itf14' },\n { 10: 'codabar' },\n { 11: 'code128' },\n { 12: 'upc_a' }\n];\n\n\nexport class ScanService {\n\n constructor(private displayManager: DisplayManager) {}\n\n getTestProps(suffix: string) {\n const id = \"scan\" + (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 public scanBarcode(params: ScanInput): Promise<ScanOutput> {\n const format = params?.barcodeFormat || 'ALL';\n const barcodeFormat: string | undefined = Platform.OS === 'ios' ? undefined : barcodeFormatOptions[format];\n return new Promise((resolve, reject) => {\n permissionManager.requestPermissions('camera').then(() => {\n const destroy = this.displayManager.show({\n content: (<CameraView\n barcodeScannerSettings={barcodeFormat ? {\n barcodeTypes: [BarCodeType[barcodeFormat]],\n }: undefined}\n onBarcodeScanned={(result) => {\n destroy.call(this.displayManager);\n resolve(result);\n }}\n style={StyleSheet.absoluteFillObject}\n >\n <View style={styles.topWrapper}>\n </View>\n <View style={styles.centerWrapper}>\n <View style={styles.leftWrapper}/>\n <View style={styles.focused}/>\n <View style={styles.rightWrapper}/>\n </View>\n <View style={styles.bottomWrapper}>\n \n <View style={styles.closeWrapper}>\n <TouchableOpacity\n {... this.getTestProps('close_button')}\n onPress={() => {\n destroy.call(this.displayManager);\n }}>\n <Ionicons name='close-circle' size={48} color='white' />\n </TouchableOpacity>\n </View>\n </View>\n </CameraView>)\n });\n }, reject)\n }).then((response: any) => {\n let format;\n if (response.type) {\n const values = Object.values(BarCodeType);\n const index = values.indexOf(response.type);\n format = index > -1 ? Object.keys(BarCodeType)[index] : '';\n }\n return Promise.resolve({\n text: response.data,\n format : format || response.type,\n cancelled : false\n });\n });\n }\n}\nconst scanService = new ScanService(appDisplayManagerService);\nexport default scanService;"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,5 @@
1
- import React from 'react';
2
1
  import { isDate, isString } from 'lodash';
3
2
  import moment from 'moment';
4
- import { CalendarPluginConsumer } from "@wavemaker/app-rn-runtime/core/device/calendar-service";
5
- import { PermissionConsumer } from '@wavemaker/app-rn-runtime/runtime/services/device/permission-service';
6
3
  /**
7
4
  * method to get the date object from the input received
8
5
  */
@@ -44,15 +41,7 @@ export class CreateEventOperation {
44
41
  this.calendar = calendar;
45
42
  }
46
43
  invoke(params) {
47
- return /*#__PURE__*/React.createElement(PermissionConsumer, null, permissionService => {
48
- return /*#__PURE__*/React.createElement(CalendarPluginConsumer, null, calendarPluginService => {
49
- return this.calendar.createEvent({
50
- ...params,
51
- calendarPluginService,
52
- permissionService
53
- });
54
- });
55
- });
44
+ return this.calendar.createEvent(params);
56
45
  }
57
46
  }
58
47
  //# sourceMappingURL=create-event.operation.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","isDate","isString","moment","CalendarPluginConsumer","PermissionConsumer","getDateObj","value","isNaN","parseInt","isValid","undefined","dateObj","Date","format","valueOf","getDay","CreateEventOperation","constructor","calendar","invoke","params","createElement","permissionService","calendarPluginService","createEvent"],"sources":["create-event.operation.tsx"],"sourcesContent":["import React from 'react';\nimport { Operation, Output } from '../operation.provider';\nimport { isDate, isString } from 'lodash';\nimport moment from 'moment';\nimport { CalendarInput, CalendarPluginConsumer, CalendarPluginService, CalendarService } from \"@wavemaker/app-rn-runtime/core/device/calendar-service\";\nimport { PermissionConsumer, PermissionService } from '@wavemaker/app-rn-runtime/runtime/services/device/permission-service';\n\nexport interface CreateEventOutput extends Output {\n dataValue: string;\n}\n\n/**\n * method to get the date object from the input received\n */\nexport const getDateObj = (value: any): any => {\n\n /*if the value is a date object, no need to covert it*/\n if (isDate(value)) {\n return value;\n }\n\n /*if the value is a timestamp string, convert it to a number*/\n if (!isNaN(value)) {\n value = parseInt(value, 10);\n }\n\n if (!moment(value).isValid() || value === '' || value === null || value === undefined) {\n return undefined;\n }\n let dateObj = new Date(value);\n /**\n * if date value is string \"20-05-2019\" then new Date(value) return 20May2019 with current time in India,\n * whereas this will return 19May2019 with time lagging for few hours.\n * This is because it returns UTC time i.e. Coordinated Universal Time (UTC).\n * To create date in local time use moment\n */\n if (isString(value)) {\n /*\n * If selected locale is Arabic, moment(value).format() is giving date in Arabic language\n * (Ex: If date value is \"1990-11-23\" and moment(value).format() is \"١٩٩٠-١١-٢٣T٠٠:٠٠:٠٠+٠٥:٣٠\")\n * and new Date(moment(value).format()) is giving Invalid Date. So frst converting it to timestamp value.\n */\n dateObj = new Date(moment(moment(value).format()).valueOf());\n }\n\n if (isNaN(dateObj.getDay())) {\n return new Date();\n }\n return dateObj;\n};\n\nexport class CreateEventOperation implements Operation {\n constructor(private calendar: CalendarService) {}\n\n public invoke(params: CalendarInput): any {\n return (\n <PermissionConsumer>\n {(permissionService: PermissionService) => {\n return (\n <CalendarPluginConsumer>\n {(calendarPluginService: CalendarPluginService) => {\n return this.calendar.createEvent({ ...params, calendarPluginService, permissionService });\n }}\n </CalendarPluginConsumer>\n );\n }}\n </PermissionConsumer>\n );\n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,MAAM,EAAEC,QAAQ,QAAQ,QAAQ;AACzC,OAAOC,MAAM,MAAM,QAAQ;AAC3B,SAAwBC,sBAAsB,QAAgD,wDAAwD;AACtJ,SAASC,kBAAkB,QAA2B,sEAAsE;AAM5H;AACA;AACA;AACA,OAAO,MAAMC,UAAU,GAAIC,KAAU,IAAU;EAE7C;EACA,IAAIN,MAAM,CAACM,KAAK,CAAC,EAAE;IACjB,OAAOA,KAAK;EACd;;EAEA;EACA,IAAI,CAACC,KAAK,CAACD,KAAK,CAAC,EAAE;IACjBA,KAAK,GAAGE,QAAQ,CAACF,KAAK,EAAE,EAAE,CAAC;EAC7B;EAEA,IAAI,CAACJ,MAAM,CAACI,KAAK,CAAC,CAACG,OAAO,CAAC,CAAC,IAAIH,KAAK,KAAK,EAAE,IAAIA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKI,SAAS,EAAE;IACrF,OAAOA,SAAS;EAClB;EACA,IAAIC,OAAO,GAAG,IAAIC,IAAI,CAACN,KAAK,CAAC;EAC7B;AACF;AACA;AACA;AACA;AACA;EACE,IAAIL,QAAQ,CAACK,KAAK,CAAC,EAAE;IACnB;AACJ;AACA;AACA;AACA;IACIK,OAAO,GAAG,IAAIC,IAAI,CAACV,MAAM,CAACA,MAAM,CAACI,KAAK,CAAC,CAACO,MAAM,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC;EAC9D;EAEA,IAAIP,KAAK,CAACI,OAAO,CAACI,MAAM,CAAC,CAAC,CAAC,EAAE;IAC3B,OAAO,IAAIH,IAAI,CAAC,CAAC;EACnB;EACA,OAAOD,OAAO;AAChB,CAAC;AAED,OAAO,MAAMK,oBAAoB,CAAsB;EACrDC,WAAWA,CAASC,QAAyB,EAAE;IAAA,KAA3BA,QAAyB,GAAzBA,QAAyB;EAAG;EAEzCC,MAAMA,CAACC,MAAqB,EAAO;IACxC,oBACErB,KAAA,CAAAsB,aAAA,CAACjB,kBAAkB,QACfkB,iBAAoC,IAAK;MACzC,oBACEvB,KAAA,CAAAsB,aAAA,CAAClB,sBAAsB,QACnBoB,qBAA4C,IAAK;QACjD,OAAO,IAAI,CAACL,QAAQ,CAACM,WAAW,CAAC;UAAE,GAAGJ,MAAM;UAAEG,qBAAqB;UAAED;QAAkB,CAAC,CAAC;MAC3F,CACsB,CAAC;IAE7B,CACkB,CAAC;EAEzB;AACF","ignoreList":[]}
1
+ {"version":3,"names":["isDate","isString","moment","getDateObj","value","isNaN","parseInt","isValid","undefined","dateObj","Date","format","valueOf","getDay","CreateEventOperation","constructor","calendar","invoke","params","createEvent"],"sources":["create-event.operation.tsx"],"sourcesContent":["import { Operation, Output } from '../operation.provider';\nimport { isDate, isString } from 'lodash';\nimport moment from 'moment';\nimport { CalendarInput, CalendarService } from \"@wavemaker/app-rn-runtime/core/device/calendar-service\";\n\nexport interface CreateEventOutput extends Output {\n dataValue: string;\n}\n\n/**\n * method to get the date object from the input received\n */\nexport const getDateObj = (value: any): any => {\n\n /*if the value is a date object, no need to covert it*/\n if (isDate(value)) {\n return value;\n }\n\n /*if the value is a timestamp string, convert it to a number*/\n if (!isNaN(value)) {\n value = parseInt(value, 10);\n }\n\n if (!moment(value).isValid() || value === '' || value === null || value === undefined) {\n return undefined;\n }\n let dateObj = new Date(value);\n /**\n * if date value is string \"20-05-2019\" then new Date(value) return 20May2019 with current time in India,\n * whereas this will return 19May2019 with time lagging for few hours.\n * This is because it returns UTC time i.e. Coordinated Universal Time (UTC).\n * To create date in local time use moment\n */\n if (isString(value)) {\n /*\n * If selected locale is Arabic, moment(value).format() is giving date in Arabic language\n * (Ex: If date value is \"1990-11-23\" and moment(value).format() is \"١٩٩٠-١١-٢٣T٠٠:٠٠:٠٠+٠٥:٣٠\")\n * and new Date(moment(value).format()) is giving Invalid Date. So frst converting it to timestamp value.\n */\n dateObj = new Date(moment(moment(value).format()).valueOf());\n }\n\n if (isNaN(dateObj.getDay())) {\n return new Date();\n }\n return dateObj;\n};\n\nexport class CreateEventOperation implements Operation {\n constructor(private calendar: CalendarService) {}\n\n public invoke(params: CalendarInput): Promise<CreateEventOutput> {\n return this.calendar.createEvent(params);\n }\n}\n"],"mappings":"AACA,SAASA,MAAM,EAAEC,QAAQ,QAAQ,QAAQ;AACzC,OAAOC,MAAM,MAAM,QAAQ;AAO3B;AACA;AACA;AACA,OAAO,MAAMC,UAAU,GAAIC,KAAU,IAAU;EAE7C;EACA,IAAIJ,MAAM,CAACI,KAAK,CAAC,EAAE;IACjB,OAAOA,KAAK;EACd;;EAEA;EACA,IAAI,CAACC,KAAK,CAACD,KAAK,CAAC,EAAE;IACjBA,KAAK,GAAGE,QAAQ,CAACF,KAAK,EAAE,EAAE,CAAC;EAC7B;EAEA,IAAI,CAACF,MAAM,CAACE,KAAK,CAAC,CAACG,OAAO,CAAC,CAAC,IAAIH,KAAK,KAAK,EAAE,IAAIA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKI,SAAS,EAAE;IACrF,OAAOA,SAAS;EAClB;EACA,IAAIC,OAAO,GAAG,IAAIC,IAAI,CAACN,KAAK,CAAC;EAC7B;AACF;AACA;AACA;AACA;AACA;EACE,IAAIH,QAAQ,CAACG,KAAK,CAAC,EAAE;IACnB;AACJ;AACA;AACA;AACA;IACIK,OAAO,GAAG,IAAIC,IAAI,CAACR,MAAM,CAACA,MAAM,CAACE,KAAK,CAAC,CAACO,MAAM,CAAC,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC;EAC9D;EAEA,IAAIP,KAAK,CAACI,OAAO,CAACI,MAAM,CAAC,CAAC,CAAC,EAAE;IAC3B,OAAO,IAAIH,IAAI,CAAC,CAAC;EACnB;EACA,OAAOD,OAAO;AAChB,CAAC;AAED,OAAO,MAAMK,oBAAoB,CAAsB;EACrDC,WAAWA,CAASC,QAAyB,EAAE;IAAA,KAA3BA,QAAyB,GAAzBA,QAAyB;EAAG;EAEzCC,MAAMA,CAACC,MAAqB,EAA8B;IAC/D,OAAO,IAAI,CAACF,QAAQ,CAACG,WAAW,CAACD,MAAM,CAAC;EAC1C;AACF","ignoreList":[]}
@@ -1,20 +1,9 @@
1
- import React from 'react';
2
- import { CalendarPluginConsumer } from "@wavemaker/app-rn-runtime/core/device/calendar-service";
3
- import { PermissionConsumer } from '@wavemaker/app-rn-runtime/runtime/services/device/permission-service';
4
1
  export class DeleteEventOperation {
5
2
  constructor(calendar) {
6
3
  this.calendar = calendar;
7
4
  }
8
5
  invoke(params) {
9
- return /*#__PURE__*/React.createElement(PermissionConsumer, null, permissionService => {
10
- return /*#__PURE__*/React.createElement(CalendarPluginConsumer, null, calendarPluginService => {
11
- return this.calendar.deleteEvent({
12
- ...params,
13
- calendarPluginService,
14
- permissionService
15
- });
16
- });
17
- });
6
+ return this.calendar.deleteEvent(params);
18
7
  }
19
8
  }
20
9
  //# sourceMappingURL=delete-event.operation.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","CalendarPluginConsumer","PermissionConsumer","DeleteEventOperation","constructor","calendar","invoke","params","createElement","permissionService","calendarPluginService","deleteEvent"],"sources":["delete-event.operation.tsx"],"sourcesContent":["import React from 'react';\nimport { Operation, Output } from '../operation.provider';\nimport { CalendarInput, CalendarPluginConsumer, CalendarPluginService, CalendarService } from \"@wavemaker/app-rn-runtime/core/device/calendar-service\";\nimport { PermissionConsumer, PermissionService } from '@wavemaker/app-rn-runtime/runtime/services/device/permission-service';\n\nexport interface DeleteEventOutput extends Output {\n dataValue: boolean;\n}\n\nexport class DeleteEventOperation implements Operation {\n constructor(private calendar: CalendarService) {}\n\n public invoke(params: CalendarInput): any {\n return (\n <PermissionConsumer>\n {(permissionService: PermissionService) => {\n return (\n <CalendarPluginConsumer>\n {(calendarPluginService: CalendarPluginService) => {\n return this.calendar.deleteEvent({ ...params, calendarPluginService, permissionService });\n }}\n </CalendarPluginConsumer>\n );\n }}\n </PermissionConsumer>\n );\n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAAwBC,sBAAsB,QAAgD,wDAAwD;AACtJ,SAASC,kBAAkB,QAA2B,sEAAsE;AAM5H,OAAO,MAAMC,oBAAoB,CAAsB;EACrDC,WAAWA,CAASC,QAAyB,EAAE;IAAA,KAA3BA,QAAyB,GAAzBA,QAAyB;EAAG;EAEzCC,MAAMA,CAACC,MAAqB,EAAO;IACxC,oBACEP,KAAA,CAAAQ,aAAA,CAACN,kBAAkB,QACfO,iBAAoC,IAAK;MACzC,oBACET,KAAA,CAAAQ,aAAA,CAACP,sBAAsB,QACnBS,qBAA4C,IAAK;QACjD,OAAO,IAAI,CAACL,QAAQ,CAACM,WAAW,CAAC;UAAE,GAAGJ,MAAM;UAAEG,qBAAqB;UAAED;QAAkB,CAAC,CAAC;MAC3F,CACsB,CAAC;IAE7B,CACkB,CAAC;EAEzB;AACF","ignoreList":[]}
1
+ {"version":3,"names":["DeleteEventOperation","constructor","calendar","invoke","params","deleteEvent"],"sources":["delete-event.operation.tsx"],"sourcesContent":["import { Operation, Output } from '../operation.provider';\nimport { CalendarInput, CalendarService } from \"@wavemaker/app-rn-runtime/core/device/calendar-service\";\n\nexport interface DeleteEventOutput extends Output {\n dataValue: boolean;\n}\n\nexport class DeleteEventOperation implements Operation {\n constructor(private calendar: CalendarService) {}\n\n public invoke(params: CalendarInput): Promise<DeleteEventOutput> {\n return this.calendar.deleteEvent(params);\n }\n}\n"],"mappings":"AAOA,OAAO,MAAMA,oBAAoB,CAAsB;EACrDC,WAAWA,CAASC,QAAyB,EAAE;IAAA,KAA3BA,QAAyB,GAAzBA,QAAyB;EAAG;EAEzCC,MAAMA,CAACC,MAAqB,EAA8B;IAC/D,OAAO,IAAI,CAACF,QAAQ,CAACG,WAAW,CAACD,MAAM,CAAC;EAC1C;AACF","ignoreList":[]}