@wavemaker/app-rn-runtime 11.11.7-rc.6211 → 11.12.0-next.28188

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 (210) hide show
  1. package/components/advanced/carousel/carousel.component.js +4 -2
  2. package/components/advanced/carousel/carousel.component.js.map +1 -1
  3. package/components/basic/anchor/anchor.component.js +11 -5
  4. package/components/basic/anchor/anchor.component.js.map +1 -1
  5. package/components/basic/anchor/anchor.props.js +1 -0
  6. package/components/basic/anchor/anchor.props.js.map +1 -1
  7. package/components/basic/audio/audio.component.js +52 -47
  8. package/components/basic/audio/audio.component.js.map +1 -1
  9. package/components/basic/bottomsheet/bottomsheet.component.js +94 -48
  10. package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
  11. package/components/basic/bottomsheet/bottomsheet.props.js +1 -0
  12. package/components/basic/bottomsheet/bottomsheet.props.js.map +1 -1
  13. package/components/basic/button/button.component.js +2 -1
  14. package/components/basic/button/button.component.js.map +1 -1
  15. package/components/basic/button/button.props.js +1 -0
  16. package/components/basic/button/button.props.js.map +1 -1
  17. package/components/basic/label/label.component.js.map +1 -1
  18. package/components/basic/label/label.props.js +1 -0
  19. package/components/basic/label/label.props.js.map +1 -1
  20. package/components/basic/message/message.component.js +15 -7
  21. package/components/basic/message/message.component.js.map +1 -1
  22. package/components/basic/message/message.props.js +1 -0
  23. package/components/basic/message/message.props.js.map +1 -1
  24. package/components/basic/picture/picture.component.js +2 -2
  25. package/components/basic/picture/picture.component.js.map +1 -1
  26. package/components/basic/video/video.component.js +69 -42
  27. package/components/basic/video/video.component.js.map +1 -1
  28. package/components/chart/basechart.props.js +1 -0
  29. package/components/chart/basechart.props.js.map +1 -1
  30. package/components/container/container.component.js +107 -27
  31. package/components/container/container.component.js.map +1 -1
  32. package/components/container/container.props.js +3 -1
  33. package/components/container/container.props.js.map +1 -1
  34. package/components/container/container.styles.js +1 -3
  35. package/components/container/container.styles.js.map +1 -1
  36. package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js +6 -1
  37. package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js.map +1 -1
  38. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +2 -2
  39. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
  40. package/components/container/tabs/tabheader/tabheader.component.js +11 -2
  41. package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  42. package/components/container/tabs/tabheader/tabheader.props.js +1 -0
  43. package/components/container/tabs/tabheader/tabheader.props.js.map +1 -1
  44. package/components/container/tabs/tabpane/tabpane.props.js +3 -0
  45. package/components/container/tabs/tabpane/tabpane.props.js.map +1 -1
  46. package/components/container/tabs/tabs.component.js +11 -2
  47. package/components/container/tabs/tabs.component.js.map +1 -1
  48. package/components/container/wizard/wizard.component.js +1 -0
  49. package/components/container/wizard/wizard.component.js.map +1 -1
  50. package/components/data/list/list.component.js +23 -13
  51. package/components/data/list/list.component.js.map +1 -1
  52. package/components/device/barcodescanner/barcodescanner.component.js +33 -18
  53. package/components/device/barcodescanner/barcodescanner.component.js.map +1 -1
  54. package/components/device/barcodescanner/barcodescanner.props.js +2 -1
  55. package/components/device/barcodescanner/barcodescanner.props.js.map +1 -1
  56. package/components/device/camera/camera.component.js +35 -22
  57. package/components/device/camera/camera.component.js.map +1 -1
  58. package/components/device/camera/camera.props.js +2 -1
  59. package/components/device/camera/camera.props.js.map +1 -1
  60. package/components/input/basedataset/basedataset.props.js +1 -0
  61. package/components/input/basedataset/basedataset.props.js.map +1 -1
  62. package/components/input/calendar/calendar.component.js +12 -4
  63. package/components/input/calendar/calendar.component.js.map +1 -1
  64. package/components/input/calendar/views/month-view.js +9 -2
  65. package/components/input/calendar/views/month-view.js.map +1 -1
  66. package/components/input/checkbox/checkbox.component.js +5 -5
  67. package/components/input/checkbox/checkbox.component.js.map +1 -1
  68. package/components/input/checkboxset/checkboxset.component.js +15 -11
  69. package/components/input/checkboxset/checkboxset.component.js.map +1 -1
  70. package/components/input/chips/chips.component.js +25 -12
  71. package/components/input/chips/chips.component.js.map +1 -1
  72. package/components/input/currency/currency.component.js +5 -2
  73. package/components/input/currency/currency.component.js.map +1 -1
  74. package/components/input/epoch/base-datetime.component.js +9 -9
  75. package/components/input/epoch/base-datetime.component.js.map +1 -1
  76. package/components/input/epoch/datetime/datetime.props.js +1 -0
  77. package/components/input/epoch/datetime/datetime.props.js.map +1 -1
  78. package/components/input/epoch/wheelpicker/wheelpicker.component.js +8 -3
  79. package/components/input/epoch/wheelpicker/wheelpicker.component.js.map +1 -1
  80. package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js +8 -3
  81. package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js.map +1 -1
  82. package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js +8 -3
  83. package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js.map +1 -1
  84. package/components/input/fileupload/fileupload.component.js +23 -14
  85. package/components/input/fileupload/fileupload.component.js.map +1 -1
  86. package/components/input/fileupload/fileupload.props.js +2 -0
  87. package/components/input/fileupload/fileupload.props.js.map +1 -1
  88. package/components/input/radioset/radioset.component.js +15 -5
  89. package/components/input/radioset/radioset.component.js.map +1 -1
  90. package/components/input/rating/rating.component.js +11 -3
  91. package/components/input/rating/rating.component.js.map +1 -1
  92. package/components/input/rating/rating.props.js +4 -0
  93. package/components/input/rating/rating.props.js.map +1 -1
  94. package/components/input/select/select.component.js +7 -5
  95. package/components/input/select/select.component.js.map +1 -1
  96. package/components/input/slider/slider.component.js +2 -1
  97. package/components/input/slider/slider.component.js.map +1 -1
  98. package/components/input/switch/switch.component.js +11 -9
  99. package/components/input/switch/switch.component.js.map +1 -1
  100. package/components/input/toggle/toggle.component.js +8 -4
  101. package/components/input/toggle/toggle.component.js.map +1 -1
  102. package/components/input/toggle/toggle.props.js +1 -0
  103. package/components/input/toggle/toggle.props.js.map +1 -1
  104. package/components/navigation/appnavbar/appnavbar.component.js +19 -61
  105. package/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
  106. package/components/navigation/navitem/navitem.component.js +3 -1
  107. package/components/navigation/navitem/navitem.component.js.map +1 -1
  108. package/components/navigation/popover/popover.component.js +2 -1
  109. package/components/navigation/popover/popover.component.js.map +1 -1
  110. package/components/navigation/popover/popover.props.js +2 -1
  111. package/components/navigation/popover/popover.props.js.map +1 -1
  112. package/components/page/page-content/page-content.component.js +74 -20
  113. package/components/page/page-content/page-content.component.js.map +1 -1
  114. package/components/page/page-content/page-content.props.js +1 -0
  115. package/components/page/page-content/page-content.props.js.map +1 -1
  116. package/components/page/page.component.js +29 -44
  117. package/components/page/page.component.js.map +1 -1
  118. package/components/page/page.props.js +4 -2
  119. package/components/page/page.props.js.map +1 -1
  120. package/components/page/tabbar/tabbar.component.js +24 -13
  121. package/components/page/tabbar/tabbar.component.js.map +1 -1
  122. package/core/AppConfig.js.map +1 -1
  123. package/core/accessibility.js +51 -32
  124. package/core/accessibility.js.map +1 -1
  125. package/core/base.component.js.map +1 -1
  126. package/core/components/error-fallback/error-fallback.component.js +140 -0
  127. package/core/components/error-fallback/error-fallback.component.js.map +1 -0
  128. package/core/components/error-fallback/error-fallback.styles.js +224 -0
  129. package/core/components/error-fallback/error-fallback.styles.js.map +1 -0
  130. package/core/components/sticky-base.component.js +54 -0
  131. package/core/components/sticky-base.component.js.map +1 -0
  132. package/core/components/sticky-container.component.js +34 -0
  133. package/core/components/sticky-container.component.js.map +1 -0
  134. package/core/components/sticky-container.styles.js +98 -0
  135. package/core/components/sticky-container.styles.js.map +1 -0
  136. package/core/components/sticky-nav.component.js +28 -0
  137. package/core/components/sticky-nav.component.js.map +1 -0
  138. package/core/device/av-service.js +8 -0
  139. package/core/device/av-service.js.map +1 -0
  140. package/core/device/calendar-service.js +7 -1
  141. package/core/device/calendar-service.js.map +1 -1
  142. package/core/device/camera-service.js +6 -0
  143. package/core/device/camera-service.js.map +1 -1
  144. package/core/device/contacts-service.js +7 -1
  145. package/core/device/contacts-service.js.map +1 -1
  146. package/core/device/fileupload-service.js +8 -0
  147. package/core/device/fileupload-service.js.map +1 -0
  148. package/core/device/location-service.js +7 -1
  149. package/core/device/location-service.js.map +1 -1
  150. package/core/device/scan-service.js +6 -0
  151. package/core/device/scan-service.js.map +1 -1
  152. package/core/error-boundary.component.js +1 -1
  153. package/core/error-boundary.component.js.map +1 -1
  154. package/core/event-notifier.js +4 -3
  155. package/core/event-notifier.js.map +1 -1
  156. package/core/fixed-view.component.js +2 -1
  157. package/core/fixed-view.component.js.map +1 -1
  158. package/core/responsive.utils.js +8 -5
  159. package/core/responsive.utils.js.map +1 -1
  160. package/core/sticky-view.component.js +50 -0
  161. package/core/sticky-view.component.js.map +1 -0
  162. package/core/sticky-wrapper.js +129 -0
  163. package/core/sticky-wrapper.js.map +1 -0
  164. package/core/utils.js +0 -6
  165. package/core/utils.js.map +1 -1
  166. package/npm-shrinkwrap.json +48 -47
  167. package/package-lock.json +48 -47
  168. package/package.json +2 -2
  169. package/runtime/App.js +3 -5
  170. package/runtime/App.js.map +1 -1
  171. package/runtime/services/device/calendar-service.js +9 -5
  172. package/runtime/services/device/calendar-service.js.map +1 -1
  173. package/runtime/services/device/camera-service.js +39 -22
  174. package/runtime/services/device/camera-service.js.map +1 -1
  175. package/runtime/services/device/contacts-service.js +6 -5
  176. package/runtime/services/device/contacts-service.js.map +1 -1
  177. package/runtime/services/device/location-service.js +4 -4
  178. package/runtime/services/device/location-service.js.map +1 -1
  179. package/runtime/services/device/permission-service.js +5 -0
  180. package/runtime/services/device/permission-service.js.map +1 -0
  181. package/runtime/services/device/permissions.js +34 -39
  182. package/runtime/services/device/permissions.js.map +1 -1
  183. package/runtime/services/device/scan-service.js +4 -3
  184. package/runtime/services/device/scan-service.js.map +1 -1
  185. package/styles/theme.js +24 -18
  186. package/styles/theme.js.map +1 -1
  187. package/variables/device/calendar/create-event.operation.js +12 -1
  188. package/variables/device/calendar/create-event.operation.js.map +1 -1
  189. package/variables/device/calendar/delete-event.operation.js +12 -1
  190. package/variables/device/calendar/delete-event.operation.js.map +1 -1
  191. package/variables/device/calendar/get-events.operation.js +12 -1
  192. package/variables/device/calendar/get-events.operation.js.map +1 -1
  193. package/variables/device/camera/capture-image.operation.js +8 -1
  194. package/variables/device/camera/capture-image.operation.js.map +1 -1
  195. package/variables/device/camera/capture-video.operation.js +7 -1
  196. package/variables/device/camera/capture-video.operation.js.map +1 -1
  197. package/variables/device/contacts/get-contacts.operation.js +12 -1
  198. package/variables/device/contacts/get-contacts.operation.js.map +1 -1
  199. package/variables/device/device/current-geo-position.operation.js +12 -1
  200. package/variables/device/device/current-geo-position.operation.js.map +1 -1
  201. package/variables/device/file/upload-file.operation.js +17 -3
  202. package/variables/device/file/upload-file.operation.js.map +1 -1
  203. package/variables/device/scan/scan.operation.js +12 -1
  204. package/variables/device/scan/scan.operation.js.map +1 -1
  205. package/variables/http.service.js +6 -1
  206. package/variables/http.service.js.map +1 -1
  207. package/core/components/error-fallback.component.js +0 -264
  208. package/core/components/error-fallback.component.js.map +0 -1
  209. package/core/sticky-container.component.js +0 -175
  210. package/core/sticky-container.component.js.map +0 -1
@@ -1,5 +1,3 @@
1
- import * as Calendar from 'expo-calendar';
2
- import permissionManager from '@wavemaker/app-rn-runtime/runtime/services/device/permissions';
3
1
  import { getDateObj } from '@wavemaker/app-rn-runtime/variables/device/calendar/create-event.operation';
4
2
  const DEFAULT_TIME = new Date().getTime();
5
3
  const DELTA_VALUE_DATE = 3 * 30 * 24 * 60 * 60 * 1000;
@@ -9,7 +7,9 @@ export class CalendarService {
9
7
  constructor() {}
10
8
  getEvents(params) {
11
9
  return new Promise((resolve, reject) => {
12
- permissionManager.requestPermissions('calendar').then(() => {
10
+ var _params$permissionSer;
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;
13
13
  return Calendar.getCalendarsAsync().then(result => {
14
14
  let calendarIds = [];
15
15
  result.forEach(c => calendarIds.push(c.id));
@@ -43,7 +43,9 @@ export class CalendarService {
43
43
  endDate: getDateObj(params.eventEnd) || DEFAULT_END_DATE
44
44
  };
45
45
  return new Promise((resolve, reject) => {
46
- permissionManager.requestPermissions('calendar').then(() => {
46
+ var _params$permissionSer2;
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;
47
49
  return Calendar.getCalendarsAsync().then(result => {
48
50
  let calendarIds = [];
49
51
  result.forEach(c => {
@@ -64,7 +66,9 @@ export class CalendarService {
64
66
  }
65
67
  deleteEvent(params) {
66
68
  return new Promise((resolve, reject) => {
67
- permissionManager.requestPermissions('calendar').then(() => {
69
+ var _params$permissionSer3;
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;
68
72
  return Calendar.getCalendarsAsync().then(result => {
69
73
  let calendarIds = [];
70
74
  result.forEach(c => {
@@ -1 +1 @@
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":[]}
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","_params$permissionSer","permissionService","requestPermissions","then","Calendar","calendarPluginService","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","_params$permissionSer2","allowsModifications","createEventAsync","dataValue","deleteEvent","_params$permissionSer3","all","map","deleteEventAsync"],"sources":["calendar-service.ts"],"sourcesContent":["import { 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 params?.permissionService?.requestPermissions && params.permissionService.requestPermissions('calendar').then(() => {\n const Calendar = params?.calendarPluginService;\n return Calendar.getCalendarsAsync().then((result: any) => {\n let calendarIds: Array<string> = [];\n result.forEach((c: any) => calendarIds.push(c.id));\n Calendar.getEventsAsync(calendarIds, params.eventStart || DEFAULT_START_DATE, params.eventEnd || DEFAULT_END_DATE)\n .then((res: any) => {\n let filteredResult = res;\n if (params.eventTitle || params.eventLocation || params.eventNotes) {\n filteredResult = res.filter((event: any) => event.title === params.eventTitle || event.location === params.eventLocation || event.notes === params.eventNotes);\n }\n let events: Array<CalendarEvent> = [];\n filteredResult.forEach((e: any) => {\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 params?.permissionService?.requestPermissions && params.permissionService.requestPermissions('calendar').then(() => {\n const Calendar = params?.calendarPluginService;\n return Calendar.getCalendarsAsync().then((result: any) => {\n let calendarIds: Array<string> = [];\n result.forEach((c: any) => {\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: any) => {\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 params?.permissionService?.requestPermissions && params.permissionService.requestPermissions('calendar').then(() => {\n const Calendar = params?.calendarPluginService;\n return Calendar.getCalendarsAsync().then((result: any) => {\n let calendarIds: Array<string> = [];\n result.forEach((c: any) => {\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: any) => {\n const filteredResult = res.filter((event: any) => event.title === params.eventTitle || event.location === params.eventLocation\n || event.notes === params.eventNotes);\n Promise.all(\n filteredResult.map((event: any) => { 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,10 +5,7 @@ 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 { 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';
8
+ import { CameraPluginConsumer } from "@wavemaker/app-rn-runtime/core/device/camera-service";
12
9
  import appDisplayManagerService from "@wavemaker/app-rn-runtime/runtime/services/app-display-manager.service";
13
10
  const styles = {
14
11
  preview: {
@@ -70,14 +67,27 @@ const styles = {
70
67
  backgroundColor: 'red'
71
68
  }
72
69
  };
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 || {});
73
82
  export class CameraService {
74
83
  constructor(displayManager) {
75
84
  this.displayManager = displayManager;
76
- _defineProperty(this, "type", "back");
85
+ _defineProperty(this, "type", CameraType.back);
77
86
  }
78
87
  captureVideo(options) {
79
88
  return new Promise((resolve, reject) => {
80
- permissionManager.requestPermissions('video').then(() => {
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(() => {
81
91
  const destroy = this.displayManager.show({
82
92
  content: /*#__PURE__*/React.createElement(Camera, {
83
93
  testID: "camera_view",
@@ -103,7 +113,8 @@ export class CameraService {
103
113
  }
104
114
  captureImage(params) {
105
115
  return new Promise((resolve, reject) => {
106
- permissionManager.requestPermissions('image').then(() => {
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(() => {
107
118
  const destroy = this.displayManager.show({
108
119
  content: /*#__PURE__*/React.createElement(Camera, {
109
120
  testID: "camera_view",
@@ -140,7 +151,7 @@ class CameraViewState {
140
151
  constructor() {
141
152
  _defineProperty(this, "recording", false);
142
153
  _defineProperty(this, "showActionBtns", false);
143
- _defineProperty(this, "cameraType", 'back');
154
+ _defineProperty(this, "cameraType", CameraType.back);
144
155
  _defineProperty(this, "isCaptured", false);
145
156
  _defineProperty(this, "closeView", false);
146
157
  _defineProperty(this, "cameraContent", {});
@@ -149,12 +160,13 @@ class CameraViewState {
149
160
  export class Camera extends React.Component {
150
161
  constructor(props) {
151
162
  super(props);
163
+ _defineProperty(this, "cameraService", null);
152
164
  _defineProperty(this, "camera", {});
153
165
  // start recording
154
166
  _defineProperty(this, "startRecord", async () => {
155
167
  this.camera.recordAsync().then(response => {
156
168
  response.content = async () => {
157
- return await FileSystem.readAsStringAsync(response.uri, {
169
+ return await this.cameraService.fsReadAsString(response.uri, {
158
170
  encoding: 'base64'
159
171
  });
160
172
  };
@@ -218,7 +230,7 @@ export class Camera extends React.Component {
218
230
  skipProcessing: true,
219
231
  onPictureSaved: response => {
220
232
  response.content = async () => {
221
- return await FileSystem.readAsStringAsync(response.uri, {
233
+ return await this.cameraService.fsReadAsString(response.uri, {
222
234
  encoding: 'base64'
223
235
  });
224
236
  };
@@ -304,6 +316,7 @@ export class Camera extends React.Component {
304
316
  }))));
305
317
  }
306
318
  getPreviewTemplate(actions) {
319
+ const Video = this.cameraService.Video;
307
320
  return this.props.captureType === 'image' ? /*#__PURE__*/React.createElement(ImageBackground, {
308
321
  source: {
309
322
  uri: this.state.cameraContent.uri
@@ -330,18 +343,22 @@ export class Camera extends React.Component {
330
343
  return null;
331
344
  }
332
345
  const actions = this.getActionsTemplate();
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);
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
+ });
345
362
  }
346
363
  }
347
364
  const cameraService = new CameraService(appDisplayManagerService);
@@ -1 +1 @@
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
+ {"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,12 +1,13 @@
1
- import * as Contacts from 'expo-contacts';
2
- import permissionManager from '@wavemaker/app-rn-runtime/runtime/services/device/permissions';
3
1
  export class ContactsService {
4
2
  constructor() {}
5
3
  getContacts(params) {
6
4
  return new Promise((resolve, reject) => {
7
- permissionManager.requestPermissions('contacts').then(() => {
8
- return Contacts.getContactsAsync({
9
- fields: [Contacts.Fields.ID, Contacts.Fields.Name, Contacts.Fields.PhoneNumbers],
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],
10
11
  name: params.contactFilter
11
12
  }).then(value => {
12
13
  let contacts = [];
@@ -1 +1 @@
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
+ {"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,14 +1,14 @@
1
- import * as Location from 'expo-location';
2
- import permissionManager from "@wavemaker/app-rn-runtime/runtime/services/device/permissions";
3
1
  export class LocationService {
4
2
  constructor() {}
5
3
  getCurrentGeoPosition(params) {
6
4
  return new Promise((resolve, reject) => {
7
- permissionManager.requestPermissions('location').then(() => {
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;
8
8
  const options = {
9
9
  accuracy: 4
10
10
  };
11
- resolve(Location.getCurrentPositionAsync(options));
11
+ resolve(params === null || params === void 0 || (_params$locationPlugi = params.locationPluginService) === null || _params$locationPlugi === void 0 ? void 0 : _params$locationPlugi.getCurrentPositionAsync(options));
12
12
  }, reject);
13
13
  });
14
14
  }
@@ -1 +1 @@
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
+ {"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":[]}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ const PermissionContext = /*#__PURE__*/React.createContext(null);
3
+ export const PermissionProvider = PermissionContext.Provider;
4
+ export const PermissionConsumer = PermissionContext.Consumer;
5
+ //# sourceMappingURL=permission-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","PermissionContext","createContext","PermissionProvider","Provider","PermissionConsumer","Consumer"],"sources":["permission-service.ts"],"sourcesContent":["import React from 'react';\n\nexport interface PermissionService {\n requestPermissions: (type: string) => Promise<void>;\n}\n\nconst PermissionContext = React.createContext<PermissionService>(null as any);\n\nexport const PermissionProvider = PermissionContext.Provider;\nexport const PermissionConsumer = PermissionContext.Consumer;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAMzB,MAAMC,iBAAiB,gBAAGD,KAAK,CAACE,aAAa,CAAoB,IAAW,CAAC;AAE7E,OAAO,MAAMC,kBAAkB,GAAGF,iBAAiB,CAACG,QAAQ;AAC5D,OAAO,MAAMC,kBAAkB,GAAGJ,iBAAiB,CAACK,QAAQ","ignoreList":[]}
@@ -1,8 +1,3 @@
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';
6
1
  const rejectionMsgMap = new Map();
7
2
  rejectionMsgMap.set('camera', 'camera permission is required to capture image');
8
3
  rejectionMsgMap.set('video', 'camera and audio permissions are required to capture video');
@@ -11,40 +6,40 @@ rejectionMsgMap.set('contacts', 'enable contacts permission to access the contac
11
6
  rejectionMsgMap.set('calendar', 'enable calendar permission to access the calendar events');
12
7
  export default {
13
8
  requestPermissions: type => {
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
- });
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
+ // });
48
43
  }
49
44
  };
50
45
  //# sourceMappingURL=permissions.js.map
@@ -1 +1 @@
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
+ {"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,9 +1,7 @@
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';
3
2
  import { Ionicons } from '@expo/vector-icons';
4
3
  import { Platform, StyleSheet, TouchableOpacity, View } from 'react-native';
5
4
  import React from 'react';
6
- import permissionManager from '@wavemaker/app-rn-runtime/runtime/services/device/permissions';
7
5
  import appDisplayManagerService from '@wavemaker/app-rn-runtime/runtime/services/app-display-manager.service';
8
6
  const barcodeFormatOptions = {
9
7
  'ALL': 'ALL',
@@ -103,10 +101,13 @@ export class ScanService {
103
101
  };
104
102
  }
105
103
  scanBarcode(params) {
104
+ var _params$scanPluginSer;
106
105
  const format = (params === null || params === void 0 ? void 0 : params.barcodeFormat) || 'ALL';
107
106
  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
- permissionManager.requestPermissions('camera').then(() => {
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(() => {
110
111
  const destroy = this.displayManager.show({
111
112
  content: /*#__PURE__*/React.createElement(CameraView, {
112
113
  barcodeScannerSettings: barcodeFormat ? {