@wavemaker/app-rn-runtime 11.4.0-next.141708 → 11.4.0-next.24560

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 (242) hide show
  1. app-rn-runtime/actions/notification-action.js +5 -4
  2. app-rn-runtime/actions/notification-action.js.map +1 -1
  3. app-rn-runtime/components/advanced/carousel/carousel-content/carousel-content.component.js +1 -1
  4. app-rn-runtime/components/advanced/carousel/carousel-content/carousel-content.component.js.map +1 -1
  5. app-rn-runtime/components/advanced/carousel/carousel-template/carousel-template.component.js +1 -1
  6. app-rn-runtime/components/advanced/carousel/carousel-template/carousel-template.component.js.map +1 -1
  7. app-rn-runtime/components/advanced/carousel/carousel.component.js +1 -1
  8. app-rn-runtime/components/advanced/carousel/carousel.component.js.map +1 -1
  9. app-rn-runtime/components/advanced/login/login.component.js +1 -1
  10. app-rn-runtime/components/advanced/login/login.component.js.map +1 -1
  11. app-rn-runtime/components/advanced/network-info-toaster/network-info-toaster.component.js +5 -5
  12. app-rn-runtime/components/advanced/network-info-toaster/network-info-toaster.component.js.map +1 -1
  13. app-rn-runtime/components/advanced/webview/webview.component.js +1 -1
  14. app-rn-runtime/components/advanced/webview/webview.component.js.map +1 -1
  15. app-rn-runtime/components/basic/anchor/anchor.component.js +1 -1
  16. app-rn-runtime/components/basic/anchor/anchor.component.js.map +1 -1
  17. app-rn-runtime/components/basic/button/button.component.js +1 -1
  18. app-rn-runtime/components/basic/button/button.component.js.map +1 -1
  19. app-rn-runtime/components/basic/buttongroup/buttongroup.component.js +1 -1
  20. app-rn-runtime/components/basic/buttongroup/buttongroup.component.js.map +1 -1
  21. app-rn-runtime/components/basic/custom/custom.component.js +25 -0
  22. app-rn-runtime/components/basic/custom/custom.component.js.map +1 -0
  23. app-rn-runtime/components/basic/custom/custom.props.js +16 -0
  24. app-rn-runtime/components/basic/custom/custom.props.js.map +1 -0
  25. app-rn-runtime/components/basic/custom/custom.styles.js +18 -0
  26. app-rn-runtime/components/basic/custom/custom.styles.js.map +1 -0
  27. app-rn-runtime/components/basic/icon/icon.component.js +1 -1
  28. app-rn-runtime/components/basic/icon/icon.component.js.map +1 -1
  29. app-rn-runtime/components/basic/label/label.component.js +1 -1
  30. app-rn-runtime/components/basic/label/label.component.js.map +1 -1
  31. app-rn-runtime/components/basic/lottie/lottie.component.js +137 -0
  32. app-rn-runtime/components/basic/lottie/lottie.component.js.map +1 -0
  33. app-rn-runtime/components/basic/lottie/lottie.props.js +14 -0
  34. app-rn-runtime/components/basic/lottie/lottie.props.js.map +1 -0
  35. app-rn-runtime/components/basic/lottie/lottie.styles.js +11 -0
  36. app-rn-runtime/components/basic/lottie/lottie.styles.js.map +1 -0
  37. app-rn-runtime/components/basic/message/message.component.js +1 -1
  38. app-rn-runtime/components/basic/message/message.component.js.map +1 -1
  39. app-rn-runtime/components/basic/picture/picture.component.js +37 -26
  40. app-rn-runtime/components/basic/picture/picture.component.js.map +1 -1
  41. app-rn-runtime/components/basic/progress-bar/progress-bar.component.js +3 -2
  42. app-rn-runtime/components/basic/progress-bar/progress-bar.component.js.map +1 -1
  43. app-rn-runtime/components/basic/progress-circle/progress-circle.component.js +1 -1
  44. app-rn-runtime/components/basic/progress-circle/progress-circle.component.js.map +1 -1
  45. app-rn-runtime/components/basic/search/search.component.js +4 -1
  46. app-rn-runtime/components/basic/search/search.component.js.map +1 -1
  47. app-rn-runtime/components/basic/spinner/spinner.component.js +10 -10
  48. app-rn-runtime/components/basic/spinner/spinner.component.js.map +1 -1
  49. app-rn-runtime/components/basic/video/video.component.js +56 -0
  50. app-rn-runtime/components/basic/video/video.component.js.map +1 -0
  51. app-rn-runtime/components/basic/video/video.props.js +22 -0
  52. app-rn-runtime/components/basic/video/video.props.js.map +1 -0
  53. app-rn-runtime/components/basic/video/video.styles.js +11 -0
  54. app-rn-runtime/components/basic/video/video.styles.js.map +1 -0
  55. app-rn-runtime/components/container/accordion/accordion.component.js +1 -1
  56. app-rn-runtime/components/container/accordion/accordion.component.js.map +1 -1
  57. app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js +1 -1
  58. app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js.map +1 -1
  59. app-rn-runtime/components/container/container.component.js +1 -1
  60. app-rn-runtime/components/container/container.component.js.map +1 -1
  61. app-rn-runtime/components/container/layoutgrid/gridcolumn/gridcolumn.component.js +1 -1
  62. app-rn-runtime/components/container/layoutgrid/gridcolumn/gridcolumn.component.js.map +1 -1
  63. app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.component.js +1 -1
  64. app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.component.js.map +1 -1
  65. app-rn-runtime/components/container/layoutgrid/layoutgrid.component.js +1 -1
  66. app-rn-runtime/components/container/layoutgrid/layoutgrid.component.js.map +1 -1
  67. app-rn-runtime/components/container/linearlayout/linearlayout.component.js +1 -1
  68. app-rn-runtime/components/container/linearlayout/linearlayout.component.js.map +1 -1
  69. app-rn-runtime/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +1 -1
  70. app-rn-runtime/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
  71. app-rn-runtime/components/container/panel/panel-content/panel-content.component.js +1 -1
  72. app-rn-runtime/components/container/panel/panel-content/panel-content.component.js.map +1 -1
  73. app-rn-runtime/components/container/panel/panel-footer/panel-footer.component.js +1 -1
  74. app-rn-runtime/components/container/panel/panel-footer/panel-footer.component.js.map +1 -1
  75. app-rn-runtime/components/container/panel/panel.component.js +1 -1
  76. app-rn-runtime/components/container/panel/panel.component.js.map +1 -1
  77. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +12 -4
  78. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  79. app-rn-runtime/components/container/tabs/tabheader/tabheader.styles.js +2 -1
  80. app-rn-runtime/components/container/tabs/tabheader/tabheader.styles.js.map +1 -1
  81. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js +5 -2
  82. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
  83. app-rn-runtime/components/container/tabs/tabs.component.js +80 -64
  84. app-rn-runtime/components/container/tabs/tabs.component.js.map +1 -1
  85. app-rn-runtime/components/container/tabs/tabs.props.js +1 -0
  86. app-rn-runtime/components/container/tabs/tabs.props.js.map +1 -1
  87. app-rn-runtime/components/container/tabs/tabs.styles.js +1 -1
  88. app-rn-runtime/components/container/tabs/tabs.styles.js.map +1 -1
  89. app-rn-runtime/components/container/tile/tile.component.js +1 -1
  90. app-rn-runtime/components/container/tile/tile.component.js.map +1 -1
  91. app-rn-runtime/components/container/wizard/wizard.component.js +1 -1
  92. app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
  93. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js +1 -1
  94. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
  95. app-rn-runtime/components/data/card/card-content/card-content.component.js +1 -1
  96. app-rn-runtime/components/data/card/card-content/card-content.component.js.map +1 -1
  97. app-rn-runtime/components/data/card/card-footer/card-footer.component.js +1 -1
  98. app-rn-runtime/components/data/card/card-footer/card-footer.component.js.map +1 -1
  99. app-rn-runtime/components/data/card/card.component.js +1 -1
  100. app-rn-runtime/components/data/card/card.component.js.map +1 -1
  101. app-rn-runtime/components/data/form/form-action/form-action.component.js +0 -6
  102. app-rn-runtime/components/data/form/form-action/form-action.component.js.map +1 -1
  103. app-rn-runtime/components/data/form/form-body/form-body.component.js +1 -1
  104. app-rn-runtime/components/data/form/form-body/form-body.component.js.map +1 -1
  105. app-rn-runtime/components/data/form/form-field/form-field.component.js +1 -1
  106. app-rn-runtime/components/data/form/form-field/form-field.component.js.map +1 -1
  107. app-rn-runtime/components/data/form/form-footer/form-footer.component.js +1 -1
  108. app-rn-runtime/components/data/form/form-footer/form-footer.component.js.map +1 -1
  109. app-rn-runtime/components/data/form/form.component.js +2 -31
  110. app-rn-runtime/components/data/form/form.component.js.map +1 -1
  111. app-rn-runtime/components/data/list/list-template/list-template.component.js +1 -1
  112. app-rn-runtime/components/data/list/list-template/list-template.component.js.map +1 -1
  113. app-rn-runtime/components/data/list/list.component.js +17 -8
  114. app-rn-runtime/components/data/list/list.component.js.map +1 -1
  115. app-rn-runtime/components/device/barcodescanner/barcodescanner.component.js +3 -2
  116. app-rn-runtime/components/device/barcodescanner/barcodescanner.component.js.map +1 -1
  117. app-rn-runtime/components/device/camera/camera.component.js +9 -4
  118. app-rn-runtime/components/device/camera/camera.component.js.map +1 -1
  119. app-rn-runtime/components/device/camera/camera.props.js +0 -1
  120. app-rn-runtime/components/device/camera/camera.props.js.map +1 -1
  121. app-rn-runtime/components/dialogs/dialog/dialog.component.js +1 -1
  122. app-rn-runtime/components/dialogs/dialog/dialog.component.js.map +1 -1
  123. app-rn-runtime/components/dialogs/dialogactions/dialogactions.component.js +1 -1
  124. app-rn-runtime/components/dialogs/dialogactions/dialogactions.component.js.map +1 -1
  125. app-rn-runtime/components/dialogs/dialogcontent/dialogcontent.component.js +1 -1
  126. app-rn-runtime/components/dialogs/dialogcontent/dialogcontent.component.js.map +1 -1
  127. app-rn-runtime/components/input/baseinput/baseinput.component.js +7 -0
  128. app-rn-runtime/components/input/baseinput/baseinput.component.js.map +1 -1
  129. app-rn-runtime/components/input/calendar/calendar.component.js +1 -1
  130. app-rn-runtime/components/input/calendar/calendar.component.js.map +1 -1
  131. app-rn-runtime/components/input/checkbox/checkbox.component.js +1 -16
  132. app-rn-runtime/components/input/checkbox/checkbox.component.js.map +1 -1
  133. app-rn-runtime/components/input/checkboxset/checkboxset.component.js +0 -38
  134. app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
  135. app-rn-runtime/components/input/composite/composite.component.js +1 -1
  136. app-rn-runtime/components/input/composite/composite.component.js.map +1 -1
  137. app-rn-runtime/components/input/epoch/base-datetime.component.js +1 -1
  138. app-rn-runtime/components/input/epoch/base-datetime.component.js.map +1 -1
  139. app-rn-runtime/components/input/fileupload/fileupload.component.js +1 -1
  140. app-rn-runtime/components/input/fileupload/fileupload.component.js.map +1 -1
  141. app-rn-runtime/components/input/number/number.component.js +0 -9
  142. app-rn-runtime/components/input/number/number.component.js.map +1 -1
  143. app-rn-runtime/components/input/radioset/radioset.component.js +0 -40
  144. app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
  145. app-rn-runtime/components/input/rating/rating.component.js +1 -1
  146. app-rn-runtime/components/input/rating/rating.component.js.map +1 -1
  147. app-rn-runtime/components/input/slider/slider.component.js +1 -1
  148. app-rn-runtime/components/input/slider/slider.component.js.map +1 -1
  149. app-rn-runtime/components/input/switch/switch.component.js +19 -22
  150. app-rn-runtime/components/input/switch/switch.component.js.map +1 -1
  151. app-rn-runtime/components/input/switch/switch.styles.js +7 -7
  152. app-rn-runtime/components/input/switch/switch.styles.js.map +1 -1
  153. app-rn-runtime/components/input/text/text.component.js +1 -10
  154. app-rn-runtime/components/input/text/text.component.js.map +1 -1
  155. app-rn-runtime/components/input/textarea/textarea.component.js +0 -10
  156. app-rn-runtime/components/input/textarea/textarea.component.js.map +1 -1
  157. app-rn-runtime/components/input/toggle/toggle.component.js +1 -1
  158. app-rn-runtime/components/input/toggle/toggle.component.js.map +1 -1
  159. app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js +1 -1
  160. app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
  161. app-rn-runtime/components/navigation/basenav/basenav.props.js +1 -0
  162. app-rn-runtime/components/navigation/basenav/basenav.props.js.map +1 -1
  163. app-rn-runtime/components/navigation/menu/menu.component.js +2 -1
  164. app-rn-runtime/components/navigation/menu/menu.component.js.map +1 -1
  165. app-rn-runtime/components/navigation/navbar/navbar.component.js +2 -0
  166. app-rn-runtime/components/navigation/navbar/navbar.component.js.map +1 -1
  167. app-rn-runtime/components/navigation/navitem/navitem.component.js +4 -3
  168. app-rn-runtime/components/navigation/navitem/navitem.component.js.map +1 -1
  169. app-rn-runtime/components/navigation/navitem/navitem.props.js +1 -0
  170. app-rn-runtime/components/navigation/navitem/navitem.props.js.map +1 -1
  171. app-rn-runtime/components/navigation/popover/popover.component.js +1 -1
  172. app-rn-runtime/components/navigation/popover/popover.component.js.map +1 -1
  173. app-rn-runtime/components/page/content/content.component.js +1 -1
  174. app-rn-runtime/components/page/content/content.component.js.map +1 -1
  175. app-rn-runtime/components/page/left-panel/left-panel.component.js +1 -1
  176. app-rn-runtime/components/page/left-panel/left-panel.component.js.map +1 -1
  177. app-rn-runtime/components/page/page-content/page-content.component.js +2 -2
  178. app-rn-runtime/components/page/page-content/page-content.component.js.map +1 -1
  179. app-rn-runtime/components/page/page.component.js +1 -1
  180. app-rn-runtime/components/page/page.component.js.map +1 -1
  181. app-rn-runtime/components/page/partial/partial.component.js +1 -1
  182. app-rn-runtime/components/page/partial/partial.component.js.map +1 -1
  183. app-rn-runtime/components/page/partial-container/partial-container.component.js +1 -1
  184. app-rn-runtime/components/page/partial-container/partial-container.component.js.map +1 -1
  185. app-rn-runtime/components/page/partial-container/partial-container.styles.js +2 -1
  186. app-rn-runtime/components/page/partial-container/partial-container.styles.js.map +1 -1
  187. app-rn-runtime/components/page/tabbar/tabbar.component.js +2 -1
  188. app-rn-runtime/components/page/tabbar/tabbar.component.js.map +1 -1
  189. app-rn-runtime/components/prefab/prefab-container.component.js +1 -1
  190. app-rn-runtime/components/prefab/prefab-container.component.js.map +1 -1
  191. app-rn-runtime/core/asset.provider.js +5 -0
  192. app-rn-runtime/core/asset.provider.js.map +1 -0
  193. app-rn-runtime/core/base.component.js +113 -41
  194. app-rn-runtime/core/base.component.js.map +1 -1
  195. app-rn-runtime/core/imageSizeEstimator.js +1 -0
  196. app-rn-runtime/core/imageSizeEstimator.js.map +1 -1
  197. app-rn-runtime/core/injector.js +15 -1
  198. app-rn-runtime/core/injector.js.map +1 -1
  199. app-rn-runtime/core/tappable.component.js +9 -2
  200. app-rn-runtime/core/tappable.component.js.map +1 -1
  201. app-rn-runtime/core/utils.js +6 -0
  202. app-rn-runtime/core/utils.js.map +1 -1
  203. app-rn-runtime/gestures/swipe.animation.js +105 -0
  204. app-rn-runtime/gestures/swipe.animation.js.map +1 -0
  205. app-rn-runtime/package.json +33 -32
  206. app-rn-runtime/runtime/App.js +24 -16
  207. app-rn-runtime/runtime/App.js.map +1 -1
  208. app-rn-runtime/runtime/App.navigator.js +2 -12
  209. app-rn-runtime/runtime/App.navigator.js.map +1 -1
  210. app-rn-runtime/runtime/base-fragment.component.js +6 -4
  211. app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
  212. app-rn-runtime/runtime/navigator/drawer.navigator.js +4 -0
  213. app-rn-runtime/runtime/navigator/drawer.navigator.js.map +1 -1
  214. app-rn-runtime/runtime/navigator/stack.navigator.js +5 -1
  215. app-rn-runtime/runtime/navigator/stack.navigator.js.map +1 -1
  216. app-rn-runtime/runtime/services/app-security.service.js.map +1 -1
  217. app-rn-runtime/runtime/services/app-spinner.service.js +5 -1
  218. app-rn-runtime/runtime/services/app-spinner.service.js.map +1 -1
  219. app-rn-runtime/runtime/services/app-toast.service.js +1 -1
  220. app-rn-runtime/runtime/services/app-toast.service.js.map +1 -1
  221. app-rn-runtime/runtime/services/device/camera-service.js +28 -6
  222. app-rn-runtime/runtime/services/device/camera-service.js.map +1 -1
  223. app-rn-runtime/runtime/services/device/scan-service.js +15 -14
  224. app-rn-runtime/runtime/services/device/scan-service.js.map +1 -1
  225. app-rn-runtime/styles/background.component.js +259 -0
  226. app-rn-runtime/styles/background.component.js.map +1 -0
  227. app-rn-runtime/styles/style-prop.validator.js +38 -8
  228. app-rn-runtime/styles/style-prop.validator.js.map +1 -1
  229. app-rn-runtime/styles/style-props.js +93 -0
  230. app-rn-runtime/styles/style-props.js.map +1 -0
  231. app-rn-runtime/styles/theme.js +6 -37
  232. app-rn-runtime/styles/theme.js.map +1 -1
  233. app-rn-runtime/variables/device/camera/capture-image.operation.js.map +1 -1
  234. app-rn-runtime/variables/device/camera/capture-video.operation.js.map +1 -1
  235. app-rn-runtime/variables/device/file/upload-file.operation.js +43 -21
  236. app-rn-runtime/variables/device/file/upload-file.operation.js.map +1 -1
  237. app-rn-runtime/variables/http.service.js +12 -14
  238. app-rn-runtime/variables/http.service.js.map +1 -1
  239. app-rn-runtime/variables/live-variable.js +96 -0
  240. app-rn-runtime/variables/live-variable.js.map +1 -0
  241. app-rn-runtime/variables/service-variable.js +19 -8
  242. app-rn-runtime/variables/service-variable.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["cloneDeep","forEach","flatten","isArray","isEmpty","isObject","isString","get","reverse","React","ImageBackground","deepCopy","isWebPreviewMode","EventNotifier","ViewPort","EVENTS","ViewPortEvents","MediaQueryList","ThemeVariables","getStyleReference","isValidStyleProp","DEFAULT_CLASS","window","matchMedia","query","DEVICE_BREAK_POINTS","ThemeEvent","Theme","constructor","parent","name","traceEnabled","subscribe","event","fn","eventNotifer","notify","children","t","clearCache","cache","registerStyle","styleGenerators","push","INSTANCE","addStyle","bind","checkStyleProperties","value","Object","keys","map","k","console","log","extend","style","BASE","styles","getStyle","addTrace","styleName","mergedChildstyle","childStyle","parentStyle","v","__trace","prefix","result","collect","mergeStyle","flattenStyles","s","cs","filter","length","indexOf","split","c","mediaQuery","clonedStyle","matches","$new","newTheme","reset","destroy","i","splice","themeVariables","CHANGE","SIZE_CHANGE","attachBackground","background","_background","backgroundStyle","width","height","imgSrc","uri","source","startsWith","resizeMode","imageStyle","ThemeContext","createContext","ThemeProvider","Provider","ThemeConsumer","Consumer","addColStyles","device","minWidth","root","MIN_EXTRA_SMALL_DEVICE","MIN_SMALL_DEVICE","MIN_MEDIUM_DEVICE","MIN_LARGE_DEVICE","display","addDisplayStyles","maxWidth","MAX_LARGE_DEVICE","MAX_EXTRA_SMALL_DEVICE","MAX_SMALL_DEVICE","MAX_MEDIUM_DEVICE","addElevationClasses","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","zIndex","transform","scale","backgroundColor","dangerColor","infoColor","primaryColor","successColor","warningColor","borderColor"],"sources":["theme.tsx"],"sourcesContent":["import { cloneDeep, forEach, flatten, isArray, isEmpty, isObject, isString, isFunction, get, reverse } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { TextStyle, ViewStyle, ImageStyle, ImageBackground } from 'react-native';\nimport { deepCopy, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport EventNotifier from '@wavemaker/app-rn-runtime/core/event-notifier';\nimport ViewPort, {EVENTS as ViewPortEvents} from '@wavemaker/app-rn-runtime/core/viewport';\nimport MediaQueryList from './MediaQueryList';\nimport ThemeVariables from './theme.variables';\nimport { getStyleReference, isValidStyleProp } from './style-prop.validator';\nexport const DEFAULT_CLASS = 'DEFAULT_CLASS';\n\ndeclare const matchMedia: any, window: any;\n\nif (typeof window !== \"undefined\") {\n // @ts-ignore: does not properly extend MediaQueryList\n window.matchMedia = (query: string) => new MediaQueryList(query);\n}\n\nexport const DEVICE_BREAK_POINTS = {\n 'MIN_EXTRA_SMALL_DEVICE' : '0px',\n 'MAX_EXTRA_SMALL_DEVICE' : '767px',\n 'MIN_SMALL_DEVICE' : '768px',\n 'MAX_SMALL_DEVICE' : '991px',\n 'MIN_MEDIUM_DEVICE' : '992px',\n 'MAX_MEDIUM_DEVICE' : '1199px',\n 'MIN_LARGE_DEVICE' : '1200px',\n 'MAX_LARGE_DEVICE' : '1000000px',\n};\n\nexport type styleGeneratorFn<T extends NamedStyles<any>> = (\n themeVariables: ThemeVariables,\n addStyle: (name: string, extend: string, style: T) => void) => void\n\nexport enum ThemeEvent {\n CHANGE ='change'\n};\n\nexport class Theme {\n public static BASE = new Theme(null as any, 'default');\n\n static {\n ViewPort.subscribe(ViewPortEvents.SIZE_CHANGE, () => {\n Theme.BASE.reset();\n });\n }\n\n\n private eventNotifer = new EventNotifier();\n\n private children: Theme[] = [];\n\n private styles: any = {};\n\n private cache: any = {};\n\n private traceEnabled = false;\n\n private styleGenerators: styleGeneratorFn<any>[] = [];\n\n private constructor(private parent:Theme, public readonly name: string) {\n if (parent) {\n this.traceEnabled = parent.traceEnabled;\n } else {\n this.traceEnabled = isWebPreviewMode();\n }\n }\n\n public subscribe(event: ThemeEvent, fn: Function) {\n return this.eventNotifer.subscribe(event, fn);\n }\n\n public notify(event: ThemeEvent): void {\n this.eventNotifer.notify(event, []);\n this.children.forEach(t => t.notify(event));\n }\n\n clearCache() {\n this.cache = {};\n this.children.forEach((t) => t.clearCache());\n }\n\n registerStyle<T extends NamedStyles<any>>(fn: styleGeneratorFn<T>) {\n this.styleGenerators.push(fn);\n fn(ThemeVariables.INSTANCE, this.addStyle.bind(this));\n }\n\n checkStyleProperties(name: string, value : any) {\n if (isObject(value)) {\n Object.keys(value).map((k) => this.checkStyleProperties(k, (value as any)[k]));\n } else if(!isValidStyleProp(name, value)) {\n console.log(\n `%cInvalid Style property: '${value}' is not a valid value to '${name}' in ${this.name}.`,\n 'background-color: #FF0000;font-weight: bold; color: #fff'\n );\n console.log(`Refer: ${getStyleReference(name)}`);\n }\n }\n\n private addStyle<T extends NamedStyles<any>>(name: string, extend: string, style: T) {\n if (this !== Theme.BASE && isWebPreviewMode()) {\n this.checkStyleProperties(name, style);\n }\n this.styles[name] = deepCopy(this.getStyle(extend), this.styles[name], style);\n }\n\n private addTrace(styleName: string, mergedChildstyle: any, childStyle: any, parentStyle?: any) {\n if (!this.traceEnabled) {\n return;\n }\n let addTrace = !isEmpty(childStyle);\n forEach(mergedChildstyle, (v: any, k: string) => {\n if (v && !isString(v) && !isArray(v) && isObject(v)) {\n addTrace = false;\n this.addTrace(styleName + '.' + k, v, childStyle && childStyle[k], parentStyle && parentStyle[k])\n }\n });\n if (addTrace) {\n mergedChildstyle['__trace'] = [\n {\n name: styleName,\n value: childStyle\n },\n ...(parentStyle?.__trace|| [])\n ];\n } else {\n mergedChildstyle['__trace'] = [...(parentStyle?.__trace|| [])];\n }\n }\n\n private flatten(style: any, prefix = \"\", result = {} as any) {\n let collect = !isEmpty(style);\n forEach(style, (v: any, k: string) => {\n if (v && !isString(v) && !isArray(v) && isObject(v)) {\n collect = false;\n this.flatten(v, (prefix ? prefix + '.' : '') + k, result)\n }\n });\n if (collect) {\n result[prefix] = style;\n }\n return result;\n }\n\n mergeStyle(...styles: any) {\n const style = deepCopy(...styles);\n if (this.traceEnabled) {\n const flattenStyles = this.flatten(style);\n Object.keys(flattenStyles).forEach(k => {\n const s = flattenStyles[k];\n s['__trace'] = flatten(reverse(styles.map((v: any) => {\n const cs = get(v, k);\n if (cs && cs.__trace) {\n return [...cs.__trace];\n }\n return [];\n }).filter((t: any) => t.length > 0)));\n });\n }\n return style;\n }\n\n getStyle(name: string) {\n let style = this.cache[name];\n if (style) {\n return style;\n }\n if (!name) {\n return {};\n }\n if (name.indexOf(' ') > 0) {\n style = this.mergeStyle(...(name.split(' ').map(c => this.getStyle(c))));\n } else {\n const parentStyle = this.parent && this.parent.getStyle(name);\n const mediaQuery = (this.styles[name] || {})['@media'];\n let clonedStyle = {};\n if (!mediaQuery || matchMedia(mediaQuery).matches) {\n clonedStyle = cloneDeep(this.styles[name]);\n }\n style = deepCopy(parentStyle, clonedStyle);\n this.addTrace(`@${this.name}:${name}`, style, clonedStyle, parentStyle);\n }\n this.cache[name] = style;\n return style;\n }\n\n $new(name = \"\", styles = {} as NamedStyles<any>) {\n const newTheme = new Theme(this, name);\n newTheme.reset(styles);\n this.children.push(newTheme);\n return newTheme;\n }\n\n destroy() {\n const i = this.parent.children.indexOf(this);\n if (i >= 0) {\n this.parent.children.splice(i, 1);\n }\n }\n\n reset(styles?: NamedStyles<any>) {\n this.styles = {};\n this.clearCache();\n if (styles) {\n this.registerStyle((themeVariables, addStyle) => {\n Object.keys(styles).forEach(k => {\n addStyle(k, '', styles[k] as any);\n });\n });\n } else {\n this.styleGenerators.forEach(fn => \n fn(ThemeVariables.INSTANCE, this.addStyle.bind(this)));\n }\n this.notify(ThemeEvent.CHANGE);\n }\n}\nexport default Theme.BASE;\nexport type NamedStyles<T> = { [P in keyof T]: ViewStyle | TextStyle | ImageStyle | NamedStyles<T>};\nexport type BackgroundImageStyle = {\n backgroundImage: string,\n backgroundPosition: string,\n backgroundRepeat: string,\n backgroundSize: string | number\n};\nexport const attachBackground = (c: ReactNode, style: ViewStyle) => {\n const background = (style as any)._background;\n if (background) {\n const backgroundStyle = {\n width: style.width || '100%',\n height: style.height || '100%'\n } as any;\n Object.keys(background).forEach(k => {\n if (k !== 'imageStyle') {\n backgroundStyle[k] = background[k];\n }\n });\n const imgSrc = background.uri;\n let source;\n if (isString(imgSrc) && (imgSrc.startsWith('http') || imgSrc.startsWith('file:'))) {\n source = {\n uri: imgSrc\n };\n } else {\n source = imgSrc;\n }\n return (\n <ImageBackground\n source={source}\n resizeMode={background.resizeMode || 'repeat'}\n imageStyle={background.imageStyle}\n style={backgroundStyle}>\n {c}\n </ImageBackground>);\n }\n return c;\n};\nexport type AllStyle = (ViewStyle & TextStyle & ImageStyle);\n\nconst ThemeContext = React.createContext<Theme>(null as any);\n\nexport const ThemeProvider = ThemeContext.Provider;\nexport const ThemeConsumer = ThemeContext.Consumer;\n/**\n * Common styles\n */\n Theme.BASE.registerStyle((themeVariables, addStyle) => {\n const addColStyles = (device: string, minWidth: string) => {\n for(let i = 1; i <= 12; i++) {\n addStyle(`col-${device}-${i}`, '', {\n \"@media\": `(min-width: ${minWidth})`,\n root: {\n width: (100 * i / 12) + '%'\n }\n } as any)\n }\n };\n addColStyles('xs', DEVICE_BREAK_POINTS.MIN_EXTRA_SMALL_DEVICE);\n addColStyles('sm', DEVICE_BREAK_POINTS.MIN_SMALL_DEVICE);\n addColStyles('md', DEVICE_BREAK_POINTS.MIN_MEDIUM_DEVICE);\n addColStyles('lg', DEVICE_BREAK_POINTS.MIN_LARGE_DEVICE);\n\n addStyle('d-none', '', {\n root: {\n display: 'none'\n }\n } as any);\n addStyle('d-flex', '', {\n root: {\n display: 'flex'\n }\n } as any);\n\n const addDisplayStyles = (device: string, minWidth: string, maxWidth: string) => {\n addStyle(`d-${device}-none`, '', {\n \"@media\": `(min-width: ${minWidth}) and (max-width: ${maxWidth})`,\n root: {\n display: 'none'\n }\n } as any);\n addStyle(`d-${device}-flex`, '', {\n \"@media\": `(min-width: ${minWidth}) and (max-width: ${maxWidth})`,\n root: {\n display: 'flex'\n }\n } as any);\n };\n addDisplayStyles('all', \n DEVICE_BREAK_POINTS.MIN_EXTRA_SMALL_DEVICE,\n DEVICE_BREAK_POINTS.MAX_LARGE_DEVICE);\n addDisplayStyles('xs', \n DEVICE_BREAK_POINTS.MIN_EXTRA_SMALL_DEVICE,\n DEVICE_BREAK_POINTS.MAX_EXTRA_SMALL_DEVICE);\n addDisplayStyles('sm', \n DEVICE_BREAK_POINTS.MIN_SMALL_DEVICE,\n DEVICE_BREAK_POINTS.MAX_SMALL_DEVICE);\n addDisplayStyles('md', \n DEVICE_BREAK_POINTS.MIN_MEDIUM_DEVICE,\n DEVICE_BREAK_POINTS.MAX_MEDIUM_DEVICE);\n addDisplayStyles('lg', \n DEVICE_BREAK_POINTS.MIN_LARGE_DEVICE,\n DEVICE_BREAK_POINTS.MAX_LARGE_DEVICE);\n\n const addElevationClasses = () => {\n for(let i = 1; i <= 10; i++) {\n addStyle(`elevate${i}`, '', {\n root : {\n shadowColor: \"#000000\",\n shadowOffset: {\n width: i,\n height: i,\n },\n shadowOpacity: 0.27,\n shadowRadius: i,\n elevation: i,\n zIndex: 1\n }\n });\n }\n };\n addElevationClasses();\n addStyle('hidden', '', {\n root: {\n width: 0,\n height: 0,\n transform: [{ scale: 0 }]\n }\n });\n addStyle('bg-danger', '', { root: { backgroundColor: themeVariables.dangerColor }});\n addStyle('bg-info', '', { root: { backgroundColor: themeVariables.infoColor }});\n addStyle('bg-primary', '', { root: { backgroundColor: themeVariables.primaryColor }});\n addStyle('bg-success', '', { root: { backgroundColor: themeVariables.successColor }});\n addStyle('bg-warning', '', { root: { backgroundColor: themeVariables.warningColor }});\n\n addStyle('border-danger', '', { root: { borderColor: themeVariables.dangerColor }});\n addStyle('border-info', '', { root: { borderColor: themeVariables.infoColor }});\n addStyle('border-primary', '', { root: { borderColor: themeVariables.primaryColor }});\n addStyle('border-success', '', { root: { borderColor: themeVariables.successColor }});\n addStyle('border-warning', '', { root: { borderColor: themeVariables.warningColor }});\n});\n\n"],"mappings":"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"}
1
+ {"version":3,"names":["cloneDeep","forEach","flatten","isArray","isEmpty","isObject","isString","get","reverse","React","deepCopy","isWebPreviewMode","EventNotifier","ViewPort","EVENTS","ViewPortEvents","MediaQueryList","ThemeVariables","getErrorMessage","getStyleReference","isValidStyleProp","DEFAULT_CLASS","window","matchMedia","query","DEVICE_BREAK_POINTS","ThemeEvent","Theme","constructor","parent","name","traceEnabled","subscribe","event","fn","eventNotifer","notify","children","t","clearCache","cache","registerStyle","styleGenerators","push","INSTANCE","addStyle","bind","checkStyleProperties","value","Object","keys","map","k","console","log","extend","style","styles","getStyle","addTrace","styleName","mergedChildstyle","childStyle","parentStyle","v","__trace","prefix","result","collect","mergeStyle","flattenStyles","s","cs","filter","length","indexOf","split","c","mediaQuery","clonedStyle","matches","BASE","$new","newTheme","reset","destroy","i","splice","themeVariables","CHANGE","SIZE_CHANGE","ThemeContext","createContext","ThemeProvider","Provider","ThemeConsumer","Consumer","addColStyles","device","minWidth","root","width","MIN_EXTRA_SMALL_DEVICE","MIN_SMALL_DEVICE","MIN_MEDIUM_DEVICE","MIN_LARGE_DEVICE","display","addDisplayStyles","maxWidth","MAX_LARGE_DEVICE","MAX_EXTRA_SMALL_DEVICE","MAX_SMALL_DEVICE","MAX_MEDIUM_DEVICE","addElevationClasses","shadowColor","shadowOffset","height","shadowOpacity","shadowRadius","elevation","zIndex","transform","scale","backgroundColor","dangerColor","infoColor","primaryColor","successColor","warningColor","borderColor"],"sources":["theme.tsx"],"sourcesContent":["import { cloneDeep, forEach, flatten, isArray, isEmpty, isObject, isString, isFunction, get, reverse } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { TextStyle, ViewStyle, ImageStyle, ImageBackground } from 'react-native';\nimport { deepCopy, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport EventNotifier from '@wavemaker/app-rn-runtime/core/event-notifier';\nimport ViewPort, {EVENTS as ViewPortEvents} from '@wavemaker/app-rn-runtime/core/viewport';\nimport MediaQueryList from './MediaQueryList';\nimport ThemeVariables from './theme.variables';\nimport { getErrorMessage, getStyleReference, isValidStyleProp } from './style-prop.validator';\nexport const DEFAULT_CLASS = 'DEFAULT_CLASS';\n\ndeclare const matchMedia: any, window: any;\n\nif (typeof window !== \"undefined\") {\n // @ts-ignore: does not properly extend MediaQueryList\n window.matchMedia = (query: string) => new MediaQueryList(query);\n}\n\nexport const DEVICE_BREAK_POINTS = {\n 'MIN_EXTRA_SMALL_DEVICE' : '0px',\n 'MAX_EXTRA_SMALL_DEVICE' : '767px',\n 'MIN_SMALL_DEVICE' : '768px',\n 'MAX_SMALL_DEVICE' : '991px',\n 'MIN_MEDIUM_DEVICE' : '992px',\n 'MAX_MEDIUM_DEVICE' : '1199px',\n 'MIN_LARGE_DEVICE' : '1200px',\n 'MAX_LARGE_DEVICE' : '1000000px',\n};\n\nexport type styleGeneratorFn<T extends NamedStyles<any>> = (\n themeVariables: ThemeVariables,\n addStyle: (name: string, extend: string, style: T) => void) => void\n\nexport enum ThemeEvent {\n CHANGE ='change'\n};\n\nexport class Theme {\n public static BASE = new Theme(null as any, 'default');\n\n static {\n ViewPort.subscribe(ViewPortEvents.SIZE_CHANGE, () => {\n Theme.BASE.reset();\n });\n }\n\n\n private eventNotifer = new EventNotifier();\n\n private children: Theme[] = [];\n\n private styles: any = {};\n\n private cache: any = {};\n\n private traceEnabled = false;\n\n private styleGenerators: styleGeneratorFn<any>[] = [];\n\n private constructor(private parent:Theme, public readonly name: string) {\n if (parent) {\n this.traceEnabled = parent.traceEnabled;\n } else {\n this.traceEnabled = isWebPreviewMode();\n }\n }\n\n public subscribe(event: ThemeEvent, fn: Function) {\n return this.eventNotifer.subscribe(event, fn);\n }\n\n public notify(event: ThemeEvent): void {\n this.eventNotifer.notify(event, []);\n this.children.forEach(t => t.notify(event));\n }\n\n clearCache() {\n this.cache = {};\n this.children.forEach((t) => t.clearCache());\n }\n\n registerStyle<T extends NamedStyles<any>>(fn: styleGeneratorFn<T>) {\n this.styleGenerators.push(fn);\n fn(ThemeVariables.INSTANCE, this.addStyle.bind(this));\n }\n\n checkStyleProperties(name: string, value : any) {\n if (isObject(value)) {\n Object.keys(value).map((k) => this.checkStyleProperties(k, (value as any)[k]));\n } else if(name && !isValidStyleProp(name, value)) {\n console.log(\n `%cInvalid Style property in ${this.name}: ${getErrorMessage(name, value)}`,\n 'background-color: #FF0000;font-weight: bold; color: #fff'\n );\n console.log(`Refer: ${getStyleReference(name)}`);\n }\n }\n\n private addStyle<T extends NamedStyles<any>>(name: string, extend: string, style: T) {\n this.styles[name] = deepCopy(this.getStyle(extend), this.styles[name], style);\n }\n\n private addTrace(styleName: string, mergedChildstyle: any, childStyle: any, parentStyle?: any) {\n if (!this.traceEnabled) {\n return;\n }\n let addTrace = !isEmpty(childStyle);\n forEach(mergedChildstyle, (v: any, k: string) => {\n if (v && !isString(v) && !isArray(v) && isObject(v)) {\n addTrace = false;\n this.addTrace(styleName + '.' + k, v, childStyle && childStyle[k], parentStyle && parentStyle[k])\n }\n });\n if (addTrace) {\n mergedChildstyle['__trace'] = [\n {\n name: styleName,\n value: childStyle\n },\n ...(parentStyle?.__trace|| [])\n ];\n } else {\n mergedChildstyle['__trace'] = [...(parentStyle?.__trace|| [])];\n }\n }\n\n private flatten(style: any, prefix = \"\", result = {} as any) {\n let collect = !isEmpty(style);\n forEach(style, (v: any, k: string) => {\n if (v && !isString(v) && !isArray(v) && isObject(v)) {\n collect = false;\n this.flatten(v, (prefix ? prefix + '.' : '') + k, result)\n }\n });\n if (collect) {\n result[prefix] = style;\n }\n return result;\n }\n\n mergeStyle(...styles: any) {\n const style = deepCopy(...styles);\n if (this.traceEnabled) {\n const flattenStyles = this.flatten(style);\n Object.keys(flattenStyles).forEach(k => {\n const s = flattenStyles[k];\n s['__trace'] = flatten(reverse(styles.map((v: any) => {\n const cs = get(v, k);\n if (cs && cs.__trace) {\n return [...cs.__trace];\n }\n return [];\n }).filter((t: any) => t.length > 0)));\n });\n }\n return style;\n }\n\n getStyle(name: string) {\n let style = this.cache[name];\n if (style) {\n return style;\n }\n if (!name) {\n return {};\n }\n if (name.indexOf(' ') > 0) {\n style = this.mergeStyle(...(name.split(' ').map(c => this.getStyle(c))));\n } else {\n const parentStyle = this.parent && this.parent.getStyle(name);\n const mediaQuery = (this.styles[name] || {})['@media'];\n let clonedStyle = {};\n if (!mediaQuery || matchMedia(mediaQuery).matches) {\n clonedStyle = cloneDeep(this.styles[name]);\n }\n if (this !== Theme.BASE && isWebPreviewMode()) {\n this.checkStyleProperties('', clonedStyle);\n }\n style = deepCopy(parentStyle, clonedStyle);\n this.addTrace(`@${this.name}:${name}`, style, clonedStyle, parentStyle);\n }\n this.cache[name] = style;\n return style;\n }\n\n $new(name = \"\", styles = {} as NamedStyles<any>) {\n const newTheme = new Theme(this, name);\n newTheme.reset(styles);\n this.children.push(newTheme);\n return newTheme;\n }\n\n destroy() {\n const i = this.parent.children.indexOf(this);\n if (i >= 0) {\n this.parent.children.splice(i, 1);\n }\n }\n\n reset(styles?: NamedStyles<any>) {\n this.styles = {};\n this.clearCache();\n if (styles) {\n this.registerStyle((themeVariables, addStyle) => {\n Object.keys(styles).forEach(k => {\n addStyle(k, '', styles[k] as any);\n });\n });\n } else {\n this.styleGenerators.forEach(fn => \n fn(ThemeVariables.INSTANCE, this.addStyle.bind(this)));\n }\n this.notify(ThemeEvent.CHANGE);\n }\n}\nexport default Theme.BASE;\nexport type NamedStyles<T> = { [P in keyof T]: ViewStyle | TextStyle | ImageStyle | NamedStyles<T>};\nexport type BackgroundImageStyle = {\n backgroundImage: string,\n backgroundPosition: string,\n backgroundRepeat: string,\n backgroundSize: string | number\n};\n\nexport type AllStyle = (ViewStyle & TextStyle & ImageStyle);\n\nconst ThemeContext = React.createContext<Theme>(null as any);\n\nexport const ThemeProvider = ThemeContext.Provider;\nexport const ThemeConsumer = ThemeContext.Consumer;\n/**\n * Common styles\n */\n Theme.BASE.registerStyle((themeVariables, addStyle) => {\n const addColStyles = (device: string, minWidth: string) => {\n for(let i = 1; i <= 12; i++) {\n addStyle(`col-${device}-${i}`, '', {\n \"@media\": `(min-width: ${minWidth})`,\n root: {\n width: (100 * i / 12) + '%'\n }\n } as any)\n }\n };\n addColStyles('xs', DEVICE_BREAK_POINTS.MIN_EXTRA_SMALL_DEVICE);\n addColStyles('sm', DEVICE_BREAK_POINTS.MIN_SMALL_DEVICE);\n addColStyles('md', DEVICE_BREAK_POINTS.MIN_MEDIUM_DEVICE);\n addColStyles('lg', DEVICE_BREAK_POINTS.MIN_LARGE_DEVICE);\n\n addStyle('d-none', '', {\n root: {\n display: 'none'\n }\n } as any);\n addStyle('d-flex', '', {\n root: {\n display: 'flex'\n }\n } as any);\n\n const addDisplayStyles = (device: string, minWidth: string, maxWidth: string) => {\n addStyle(`d-${device}-none`, '', {\n \"@media\": `(min-width: ${minWidth}) and (max-width: ${maxWidth})`,\n root: {\n display: 'none'\n }\n } as any);\n addStyle(`d-${device}-flex`, '', {\n \"@media\": `(min-width: ${minWidth}) and (max-width: ${maxWidth})`,\n root: {\n display: 'flex'\n }\n } as any);\n };\n addDisplayStyles('all', \n DEVICE_BREAK_POINTS.MIN_EXTRA_SMALL_DEVICE,\n DEVICE_BREAK_POINTS.MAX_LARGE_DEVICE);\n addDisplayStyles('xs', \n DEVICE_BREAK_POINTS.MIN_EXTRA_SMALL_DEVICE,\n DEVICE_BREAK_POINTS.MAX_EXTRA_SMALL_DEVICE);\n addDisplayStyles('sm', \n DEVICE_BREAK_POINTS.MIN_SMALL_DEVICE,\n DEVICE_BREAK_POINTS.MAX_SMALL_DEVICE);\n addDisplayStyles('md', \n DEVICE_BREAK_POINTS.MIN_MEDIUM_DEVICE,\n DEVICE_BREAK_POINTS.MAX_MEDIUM_DEVICE);\n addDisplayStyles('lg', \n DEVICE_BREAK_POINTS.MIN_LARGE_DEVICE,\n DEVICE_BREAK_POINTS.MAX_LARGE_DEVICE);\n\n const addElevationClasses = () => {\n for(let i = 1; i <= 10; i++) {\n addStyle(`elevate${i}`, '', {\n root : {\n shadowColor: \"#000000\",\n shadowOffset: {\n width: i,\n height: i,\n },\n shadowOpacity: 0.27,\n shadowRadius: i,\n elevation: i,\n zIndex: 1\n }\n });\n }\n };\n addElevationClasses();\n addStyle('hidden', '', {\n root: {\n width: 0,\n height: 0,\n transform: [{ scale: 0 }]\n }\n });\n addStyle('bg-danger', '', { root: { backgroundColor: themeVariables.dangerColor }});\n addStyle('bg-info', '', { root: { backgroundColor: themeVariables.infoColor }});\n addStyle('bg-primary', '', { root: { backgroundColor: themeVariables.primaryColor }});\n addStyle('bg-success', '', { root: { backgroundColor: themeVariables.successColor }});\n addStyle('bg-warning', '', { root: { backgroundColor: themeVariables.warningColor }});\n\n addStyle('border-danger', '', { root: { borderColor: themeVariables.dangerColor }});\n addStyle('border-info', '', { root: { borderColor: themeVariables.infoColor }});\n addStyle('border-primary', '', { root: { borderColor: themeVariables.primaryColor }});\n addStyle('border-success', '', { root: { borderColor: themeVariables.successColor }});\n addStyle('border-warning', '', { root: { borderColor: themeVariables.warningColor }});\n});\n\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["CaptureImageOperation","constructor","camera","invoke","params","captureImage"],"sources":["capture-image.operation.tsx"],"sourcesContent":["import {CameraInput, CameraService} from \"@wavemaker/app-rn-runtime/core/device/camera-service\";\nimport { Operation, Output } from '../operation.provider';\n\nexport interface CaptureImageOutput extends Output {\n imagePath: string\n}\n\nexport class CaptureImageOperation implements Operation {\n constructor(private camera: CameraService) {}\n\n public invoke(params: CameraInput): Promise<CaptureImageOutput> {\n return this.camera.captureImage(params);\n }\n}\n"],"mappings":"AAOA,OAAO,MAAMA,qBAAqB,CAAsB;EACtDC,WAAW,CAASC,MAAqB,EAAE;IAAA,KAAvBA,MAAqB,GAArBA,MAAqB;EAAG;EAErCC,MAAM,CAACC,MAAmB,EAA+B;IAC9D,OAAO,IAAI,CAACF,MAAM,CAACG,YAAY,CAACD,MAAM,CAAC;EACzC;AACF"}
1
+ {"version":3,"names":["CaptureImageOperation","constructor","camera","invoke","params","captureImage"],"sources":["capture-image.operation.tsx"],"sourcesContent":["import {CameraInput, CameraService} from \"@wavemaker/app-rn-runtime/core/device/camera-service\";\nimport { Operation, Output } from '../operation.provider';\n\nexport interface CaptureImageOutput extends Output {\n imagePath: string;\n content: string;\n}\n\nexport class CaptureImageOperation implements Operation {\n constructor(private camera: CameraService) {}\n\n public invoke(params: CameraInput): Promise<CaptureImageOutput> {\n return this.camera.captureImage(params);\n }\n}\n"],"mappings":"AAQA,OAAO,MAAMA,qBAAqB,CAAsB;EACtDC,WAAW,CAASC,MAAqB,EAAE;IAAA,KAAvBA,MAAqB,GAArBA,MAAqB;EAAG;EAErCC,MAAM,CAACC,MAAmB,EAA+B;IAC9D,OAAO,IAAI,CAACF,MAAM,CAACG,YAAY,CAACD,MAAM,CAAC;EACzC;AACF"}
@@ -1 +1 @@
1
- {"version":3,"names":["CaptureVideoOperation","constructor","camera","invoke","captureVideo"],"sources":["capture-video.operation.tsx"],"sourcesContent":["import { CameraService } from \"@wavemaker/app-rn-runtime/core/device/camera-service\";\nimport { Operation, Output } from '../operation.provider';\n\nexport interface CaptureVideoOutput extends Output {\n videoPath: string\n}\n\nexport class CaptureVideoOperation implements Operation {\n constructor(private camera: CameraService) {\n }\n\n public invoke(): Promise<CaptureVideoOutput> {\n return this.camera.captureVideo();\n }\n}\n"],"mappings":"AAOA,OAAO,MAAMA,qBAAqB,CAAsB;EACtDC,WAAW,CAASC,MAAqB,EAAE;IAAA,KAAvBA,MAAqB,GAArBA,MAAqB;EACzC;EAEOC,MAAM,GAAgC;IAC3C,OAAO,IAAI,CAACD,MAAM,CAACE,YAAY,EAAE;EACnC;AACF"}
1
+ {"version":3,"names":["CaptureVideoOperation","constructor","camera","invoke","captureVideo"],"sources":["capture-video.operation.tsx"],"sourcesContent":["import { CameraService } from \"@wavemaker/app-rn-runtime/core/device/camera-service\";\nimport { Operation, Output } from '../operation.provider';\n\nexport interface CaptureVideoOutput extends Output {\n videoPath: string;\n content: string;\n}\n\nexport class CaptureVideoOperation implements Operation {\n constructor(private camera: CameraService) {\n }\n\n public invoke(): Promise<CaptureVideoOutput> {\n return this.camera.captureVideo();\n }\n}\n"],"mappings":"AAQA,OAAO,MAAMA,qBAAqB,CAAsB;EACtDC,WAAW,CAASC,MAAqB,EAAE;IAAA,KAAvBA,MAAqB,GAArBA,MAAqB;EACzC;EAEOC,MAAM,GAAgC;IAC3C,OAAO,IAAI,CAACD,MAAM,CAACE,YAAY,EAAE;EACnC;AACF"}
@@ -1,34 +1,56 @@
1
1
  import axios from 'axios';
2
+ import { Platform } from 'react-native';
2
3
  import { endsWith } from 'lodash-es';
4
+ import * as DocumentPicker from 'expo-document-picker';
3
5
  import { FileExtensionTypesMap } from '@wavemaker/app-rn-runtime/core/file-extension-types';
6
+ const namedParameters = {
7
+ copyToCacheDirectory: false,
8
+ multiple: false,
9
+ type: '*/*'
10
+ };
4
11
  export class UploadFileOperation {
12
+ chooseFile() {
13
+ return DocumentPicker.getDocumentAsync(namedParameters).then(response => {
14
+ return Platform.OS === 'web' ? response.file : response.uri;
15
+ });
16
+ }
5
17
  invoke(params) {
6
18
  params.serverUrl = endsWith(params.serverUrl, '/') ? params.serverUrl : params.serverUrl + '/';
7
19
  let serverUrl = params.serverUrl + 'services/file/uploadFile';
8
20
  if (params.remoteFolder) {
9
21
  serverUrl = serverUrl + '?relativePath=' + params.remoteFolder;
10
22
  }
11
- const filePath = params.localFile;
12
- const fileName = filePath.split('/').pop() || '';
13
- const arr = fileName.split('.');
14
- const fileExtension = '.' + arr[arr.length - 1];
15
- let fileObj = {
16
- uri: filePath,
17
- type: FileExtensionTypesMap[fileExtension],
18
- name: fileName
19
- };
20
- let formData = new FormData();
21
- formData.append('files', fileObj);
22
- return axios({
23
- url: serverUrl,
24
- method: 'POST',
25
- headers: {
26
- 'Content-Type': 'multipart/form-data'
27
- },
28
- data: formData
29
- }).then(response => {
30
- return response.data[0];
31
- }, error => error);
23
+ return Promise.resolve().then(() => {
24
+ if (!params.localFile && params.browse) {
25
+ return this.chooseFile();
26
+ } else {
27
+ return params.localFile;
28
+ }
29
+ }).then(filePath => {
30
+ if (!filePath) {
31
+ return;
32
+ }
33
+ const fileName = filePath.split('/').pop() || '';
34
+ const arr = fileName.split('.');
35
+ const fileExtension = '.' + arr[arr.length - 1];
36
+ let fileObj = {
37
+ uri: filePath,
38
+ type: FileExtensionTypesMap[fileExtension],
39
+ name: fileName
40
+ };
41
+ let formData = new FormData();
42
+ formData.append('files', fileObj);
43
+ return axios({
44
+ url: serverUrl,
45
+ method: 'POST',
46
+ headers: {
47
+ 'Content-Type': 'multipart/form-data'
48
+ },
49
+ data: formData
50
+ }).then(response => {
51
+ return response.data[0];
52
+ }, error => error);
53
+ });
32
54
  }
33
55
  }
34
56
  //# sourceMappingURL=upload-file.operation.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["axios","endsWith","FileExtensionTypesMap","UploadFileOperation","invoke","params","serverUrl","remoteFolder","filePath","localFile","fileName","split","pop","arr","fileExtension","length","fileObj","uri","type","name","formData","FormData","append","url","method","headers","data","then","response","error"],"sources":["upload-file.operation.tsx"],"sourcesContent":["import axios from 'axios';\nimport { endsWith } from 'lodash-es';\n\nimport { Operation } from '@wavemaker/app-rn-runtime/variables/device/operation.provider';\nimport { FileExtensionTypesMap } from '@wavemaker/app-rn-runtime/core/file-extension-types';\n\nexport interface UploadFileInput {\n localFile: string;\n remoteFolder: string;\n serverUrl: string;\n}\n\nexport interface UploadFileOutput {\n fileName: string;\n path: string;\n length: number;\n success: boolean;\n inlinePath: string;\n errorMessage: string;\n}\n\nexport class UploadFileOperation implements Operation {\n\n public invoke(params: UploadFileInput): Promise<UploadFileOutput> {\n params.serverUrl = endsWith(params.serverUrl, '/') ? params.serverUrl : params.serverUrl + '/';\n let serverUrl = params.serverUrl + 'services/file/uploadFile';\n if (params.remoteFolder) {\n serverUrl = serverUrl + '?relativePath=' + params.remoteFolder\n }\n const filePath = params.localFile;\n const fileName: string | undefined = filePath.split('/').pop() || '';\n const arr: any = fileName.split('.');\n const fileExtension: string = '.' + arr[arr.length - 1];\n let fileObj = {\n uri: filePath,\n type: FileExtensionTypesMap[fileExtension],\n name: fileName,\n };\n\n let formData = new FormData();\n formData.append('files', fileObj);\n return axios({\n url: serverUrl,\n method: 'POST',\n headers: {\n 'Content-Type': 'multipart/form-data'\n },\n data: formData\n }).then(\n (response) => {\n return response.data[0];\n }, error => error);\n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,WAAW;AAGpC,SAASC,qBAAqB,QAAQ,qDAAqD;AAiB3F,OAAO,MAAMC,mBAAmB,CAAsB;EAE7CC,MAAM,CAACC,MAAuB,EAA6B;IAChEA,MAAM,CAACC,SAAS,GAAGL,QAAQ,CAACI,MAAM,CAACC,SAAS,EAAE,GAAG,CAAC,GAAGD,MAAM,CAACC,SAAS,GAAGD,MAAM,CAACC,SAAS,GAAG,GAAG;IAC9F,IAAIA,SAAS,GAAGD,MAAM,CAACC,SAAS,GAAG,0BAA0B;IAC7D,IAAID,MAAM,CAACE,YAAY,EAAE;MACvBD,SAAS,GAAGA,SAAS,GAAG,gBAAgB,GAAGD,MAAM,CAACE,YAAY;IAChE;IACA,MAAMC,QAAQ,GAAGH,MAAM,CAACI,SAAS;IACjC,MAAMC,QAA4B,GAAGF,QAAQ,CAACG,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,EAAE,IAAI,EAAE;IACpE,MAAMC,GAAQ,GAAGH,QAAQ,CAACC,KAAK,CAAC,GAAG,CAAC;IACpC,MAAMG,aAAqB,GAAG,GAAG,GAAGD,GAAG,CAACA,GAAG,CAACE,MAAM,GAAG,CAAC,CAAC;IACvD,IAAIC,OAAO,GAAG;MACZC,GAAG,EAAET,QAAQ;MACbU,IAAI,EAAEhB,qBAAqB,CAACY,aAAa,CAAC;MAC1CK,IAAI,EAAET;IACR,CAAC;IAED,IAAIU,QAAQ,GAAG,IAAIC,QAAQ,EAAE;IAC7BD,QAAQ,CAACE,MAAM,CAAC,OAAO,EAAEN,OAAO,CAAC;IACjC,OAAOhB,KAAK,CAAC;MACXuB,GAAG,EAAEjB,SAAS;MACdkB,MAAM,EAAE,MAAM;MACdC,OAAO,EAAE;QACP,cAAc,EAAE;MAClB,CAAC;MACDC,IAAI,EAAEN;IACR,CAAC,CAAC,CAACO,IAAI,CACJC,QAAQ,IAAK;MACd,OAAOA,QAAQ,CAACF,IAAI,CAAC,CAAC,CAAC;IACzB,CAAC,EAAEG,KAAK,IAAIA,KAAK,CAAC;EACpB;AACF"}
1
+ {"version":3,"names":["axios","Platform","endsWith","DocumentPicker","FileExtensionTypesMap","namedParameters","copyToCacheDirectory","multiple","type","UploadFileOperation","chooseFile","getDocumentAsync","then","response","OS","file","uri","invoke","params","serverUrl","remoteFolder","Promise","resolve","localFile","browse","filePath","fileName","split","pop","arr","fileExtension","length","fileObj","name","formData","FormData","append","url","method","headers","data","error"],"sources":["upload-file.operation.tsx"],"sourcesContent":["import axios from 'axios';\nimport { Platform } from 'react-native';\nimport { endsWith } from 'lodash-es';\nimport * as DocumentPicker from 'expo-document-picker';\n\nimport { Operation } from '@wavemaker/app-rn-runtime/variables/device/operation.provider';\nimport { FileExtensionTypesMap } from '@wavemaker/app-rn-runtime/core/file-extension-types';\n\nexport interface UploadFileInput {\n localFile: string;\n remoteFolder: string;\n serverUrl: string;\n browse: boolean;\n}\n\nexport interface UploadFileOutput {\n fileName: string;\n path: string;\n length: number;\n success: boolean;\n inlinePath: string;\n errorMessage: string;\n}\n\nconst namedParameters = {\n copyToCacheDirectory: false,\n multiple: false,\n type: '*/*'\n};\n\nexport class UploadFileOperation implements Operation {\n\n public chooseFile() {\n return DocumentPicker.getDocumentAsync(namedParameters).then((response: any) => {\n return Platform.OS === 'web' ? response.file : response.uri;\n });\n }\n\n public invoke(params: UploadFileInput): Promise<UploadFileOutput> {\n params.serverUrl = endsWith(params.serverUrl, '/') ? params.serverUrl : params.serverUrl + '/';\n let serverUrl = params.serverUrl + 'services/file/uploadFile';\n if (params.remoteFolder) {\n serverUrl = serverUrl + '?relativePath=' + params.remoteFolder\n }\n return Promise.resolve().then(() => {\n if (!params.localFile && params.browse) {\n return this.chooseFile();\n } else {\n return params.localFile;\n }\n }).then((filePath: string) => {\n if (!filePath) {\n return;\n }\n const fileName: string | undefined = filePath.split('/').pop() || '';\n const arr: any = fileName.split('.');\n const fileExtension: string = '.' + arr[arr.length - 1];\n let fileObj = {\n uri: filePath,\n type: FileExtensionTypesMap[fileExtension],\n name: fileName,\n };\n\n let formData = new FormData();\n formData.append('files', fileObj);\n return axios({\n url: serverUrl,\n method: 'POST',\n headers: {\n 'Content-Type': 'multipart/form-data'\n },\n data: formData\n }).then(\n (response) => {\n return response.data[0];\n }, error => error);\n });\n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,QAAQ,QAAQ,WAAW;AACpC,OAAO,KAAKC,cAAc,MAAM,sBAAsB;AAGtD,SAASC,qBAAqB,QAAQ,qDAAqD;AAkB3F,MAAMC,eAAe,GAAG;EACtBC,oBAAoB,EAAE,KAAK;EAC3BC,QAAQ,EAAE,KAAK;EACfC,IAAI,EAAE;AACR,CAAC;AAED,OAAO,MAAMC,mBAAmB,CAAsB;EAE7CC,UAAU,GAAG;IAClB,OAAOP,cAAc,CAACQ,gBAAgB,CAACN,eAAe,CAAC,CAACO,IAAI,CAAEC,QAAa,IAAK;MAC9E,OAAOZ,QAAQ,CAACa,EAAE,KAAK,KAAK,GAAGD,QAAQ,CAACE,IAAI,GAAGF,QAAQ,CAACG,GAAG;IAC7D,CAAC,CAAC;EACJ;EAEOC,MAAM,CAACC,MAAuB,EAA6B;IAChEA,MAAM,CAACC,SAAS,GAAGjB,QAAQ,CAACgB,MAAM,CAACC,SAAS,EAAE,GAAG,CAAC,GAAGD,MAAM,CAACC,SAAS,GAAGD,MAAM,CAACC,SAAS,GAAG,GAAG;IAC9F,IAAIA,SAAS,GAAGD,MAAM,CAACC,SAAS,GAAG,0BAA0B;IAC7D,IAAID,MAAM,CAACE,YAAY,EAAE;MACvBD,SAAS,GAAGA,SAAS,GAAG,gBAAgB,GAAGD,MAAM,CAACE,YAAY;IAChE;IACA,OAAOC,OAAO,CAACC,OAAO,EAAE,CAACV,IAAI,CAAC,MAAM;MAClC,IAAI,CAACM,MAAM,CAACK,SAAS,IAAIL,MAAM,CAACM,MAAM,EAAE;QACtC,OAAO,IAAI,CAACd,UAAU,EAAE;MAC1B,CAAC,MAAM;QACL,OAAOQ,MAAM,CAACK,SAAS;MACzB;IACF,CAAC,CAAC,CAACX,IAAI,CAAEa,QAAgB,IAAK;MAC5B,IAAI,CAACA,QAAQ,EAAE;QACb;MACF;MACA,MAAMC,QAA4B,GAAGD,QAAQ,CAACE,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,EAAE,IAAI,EAAE;MACpE,MAAMC,GAAQ,GAAGH,QAAQ,CAACC,KAAK,CAAC,GAAG,CAAC;MACpC,MAAMG,aAAqB,GAAG,GAAG,GAAGD,GAAG,CAACA,GAAG,CAACE,MAAM,GAAG,CAAC,CAAC;MACvD,IAAIC,OAAO,GAAG;QACZhB,GAAG,EAAES,QAAQ;QACbjB,IAAI,EAAEJ,qBAAqB,CAAC0B,aAAa,CAAC;QAC1CG,IAAI,EAAEP;MACR,CAAC;MAED,IAAIQ,QAAQ,GAAG,IAAIC,QAAQ,EAAE;MAC7BD,QAAQ,CAACE,MAAM,CAAC,OAAO,EAAEJ,OAAO,CAAC;MACjC,OAAOhC,KAAK,CAAC;QACXqC,GAAG,EAAElB,SAAS;QACdmB,MAAM,EAAE,MAAM;QACdC,OAAO,EAAE;UACP,cAAc,EAAE;QAClB,CAAC;QACDC,IAAI,EAAEN;MACR,CAAC,CAAC,CAACtB,IAAI,CACJC,QAAQ,IAAK;QACd,OAAOA,QAAQ,CAAC2B,IAAI,CAAC,CAAC,CAAC;MACzB,CAAC,EAAEC,KAAK,IAAIA,KAAK,CAAC;IACpB,CAAC,CAAC;EACJ;AACF"}
@@ -1,6 +1,5 @@
1
1
  import axios from 'axios';
2
2
  import { WS_CONSTANTS } from '@wavemaker/app-rn-runtime/variables/utils/variable.constants';
3
- import { get, isEmpty } from 'lodash';
4
3
  import { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';
5
4
  import injector from '@wavemaker/app-rn-runtime/core/injector';
6
5
  export class HttpService {
@@ -9,28 +8,27 @@ export class HttpService {
9
8
  const serviceInfo = variable.serviceInfo;
10
9
  let headers = options.headers,
11
10
  requestBody = options.data,
12
- isProxyCall = isWebPreviewMode() ? get(serviceInfo, 'proxySettings.web') : get(serviceInfo, 'proxySettings.mobile'),
13
- url = isProxyCall ? '.' + options.url : options.url;
11
+ url = options.url;
14
12
  variable.cancelTokenSource = axios.CancelToken.source();
15
- if (!isWebPreviewMode() && !(url.startsWith('http://') || url.startsWith("https://"))) {
16
- const queryParams = options.url.split('?');
17
- url = variable.config.baseUrl + serviceInfo.relativePath;
18
- if (!isEmpty(queryParams[1])) {
19
- url = url + '?' + queryParams[1];
20
- }
21
- }
22
13
  if (!isWebPreviewMode() && ((variable === null || variable === void 0 ? void 0 : (_variable$serviceInfo = variable.serviceInfo) === null || _variable$serviceInfo === void 0 ? void 0 : _variable$serviceInfo.consumes) || [])[0] === 'multipart/form-data') {
23
14
  headers['Content-Type'] = 'multipart/form-data';
24
15
  let formData = new FormData();
25
16
  (variable.serviceInfo.parameters || []).forEach(p => {
26
- const v = variable.dataBinding[p.name];
17
+ const v = variable.params[p.name];
27
18
  if (v) {
28
- formData.append(p.name, variable.dataBinding[p.name]);
19
+ formData.append(p.name, variable.params[p.name]);
29
20
  }
30
21
  });
31
22
  requestBody = formData;
32
23
  }
33
- const methodType = serviceInfo.methodType;
24
+ if (!isWebPreviewMode() && variable.category === 'wm.LiveVariable' && !(url.startsWith('http://') || url.startsWith("https://"))) {
25
+ options.url = options.url.replace('./', '/');
26
+ url = variable.config.baseUrl + options.url;
27
+ }
28
+ if (isWebPreviewMode() && variable.category === 'wm.LiveVariable') {
29
+ url = '.' + url;
30
+ }
31
+ const methodType = (serviceInfo === null || serviceInfo === void 0 ? void 0 : serviceInfo.methodType) || options.method.toLowerCase();
34
32
  const isNonDataMethod = WS_CONSTANTS.NON_DATA_AXIOS_METHODS.indexOf(methodType.toUpperCase()) > -1;
35
33
  const axiosConfig = {
36
34
  headers: headers,
@@ -42,7 +40,7 @@ export class HttpService {
42
40
  axios[methodType].apply(variable, isNonDataMethod ? [url, axiosConfig] : [url, requestBody || {}, axiosConfig]).then(result => {
43
41
  resolve(result);
44
42
  }, err => {
45
- reject(err);
43
+ reject(err.response);
46
44
  });
47
45
  });
48
46
  }
@@ -1 +1 @@
1
- {"version":3,"names":["axios","WS_CONSTANTS","get","isEmpty","isWebPreviewMode","injector","HttpService","send","options","variable","serviceInfo","headers","requestBody","data","isProxyCall","url","cancelTokenSource","CancelToken","source","startsWith","queryParams","split","config","baseUrl","relativePath","consumes","formData","FormData","parameters","forEach","p","v","dataBinding","name","append","methodType","isNonDataMethod","NON_DATA_AXIOS_METHODS","indexOf","toUpperCase","axiosConfig","cancelToken","token","withCredentials","Promise","resolve","reject","apply","then","result","err","sendCall","requestParams","response","getLocale","appConfig","appLocale","messages","cancel","uploadFile","event","error","httpService"],"sources":["http.service.ts"],"sourcesContent":["import axios from 'axios';\nimport { HttpClientService } from '@wavemaker/variables/src/types/http-client.service';\nimport { WS_CONSTANTS } from '@wavemaker/app-rn-runtime/variables/utils/variable.constants';\nimport { get, isEmpty } from 'lodash';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class HttpService implements HttpClientService {\n\n send(options: any, variable: any) {\n const serviceInfo = variable.serviceInfo;\n let headers: any = options.headers,\n requestBody: any = options.data,\n isProxyCall = isWebPreviewMode() ? get(serviceInfo, 'proxySettings.web') : get(serviceInfo, 'proxySettings.mobile'),\n url: string = isProxyCall ? '.' + options.url : options.url;\n variable.cancelTokenSource = axios.CancelToken.source();\n if (!isWebPreviewMode()\n && !(url.startsWith('http://') || url.startsWith(\"https://\"))) {\n const queryParams = options.url.split('?');\n url = variable.config.baseUrl + serviceInfo.relativePath;\n if (!isEmpty(queryParams[1])) {\n url = url + '?' + queryParams[1];\n }\n }\n if (!isWebPreviewMode() && (variable?.serviceInfo?.consumes||[])[0] === 'multipart/form-data') {\n headers['Content-Type'] = 'multipart/form-data';\n let formData = new FormData();\n (variable.serviceInfo.parameters||[]).forEach((p: any) => {\n const v = variable.dataBinding[p.name];\n if (v) {\n formData.append(p.name, variable.dataBinding[p.name]);\n }\n });\n requestBody = formData;\n }\n const methodType: string = serviceInfo.methodType;\n const isNonDataMethod: boolean = WS_CONSTANTS.NON_DATA_AXIOS_METHODS.indexOf(methodType.toUpperCase()) > -1;\n const axiosConfig = {\n headers: headers,\n cancelToken: variable.cancelTokenSource.token,\n withCredentials: true\n };\n return new Promise((resolve, reject) => {\n // @ts-ignore\n axios[methodType].apply(variable, ( isNonDataMethod ? [url, axiosConfig] : [url, requestBody || {}, axiosConfig]))\n .then((result: any) => {\n resolve(result);\n }, (err: any) => {\n reject(err);\n })\n })\n }\n\n sendCall(requestParams: any, variable: any) {\n return new Promise((resolve, reject) => {\n this.send(requestParams, variable).then((response: any) => {\n resolve(response);\n }, (err: any) => {\n reject(err);\n });\n });\n }\n\n getLocale() {\n const appConfig = injector.get<AppConfig>('APP_CONFIG');\n return appConfig.appLocale.messages;\n }\n\n cancel(variable: any) {\n variable.cancelTokenSource.cancel();\n }\n\n uploadFile(url: any, data: any, variable: any, options?: any) {\n const requestParams = {\n url: url,\n data: data\n }\n return new Promise((resolve, reject) => {\n return this.send(requestParams, variable).then((event: any) => {\n resolve(event.data);\n }, (error: any) => {\n reject(error);\n });\n });\n }\n}\n\nconst httpService = new HttpService();\n\nexport default httpService;\n"],"mappings":"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"}
1
+ {"version":3,"names":["axios","WS_CONSTANTS","isWebPreviewMode","injector","HttpService","send","options","variable","serviceInfo","headers","requestBody","data","url","cancelTokenSource","CancelToken","source","consumes","formData","FormData","parameters","forEach","p","v","params","name","append","category","startsWith","replace","config","baseUrl","methodType","method","toLowerCase","isNonDataMethod","NON_DATA_AXIOS_METHODS","indexOf","toUpperCase","axiosConfig","cancelToken","token","withCredentials","Promise","resolve","reject","apply","then","result","err","response","sendCall","requestParams","getLocale","appConfig","get","appLocale","messages","cancel","uploadFile","event","error","httpService"],"sources":["http.service.ts"],"sourcesContent":["import axios from 'axios';\nimport { HttpClientService } from '@wavemaker/variables/src/types/http-client.service';\nimport { WS_CONSTANTS } from '@wavemaker/app-rn-runtime/variables/utils/variable.constants';\nimport { get, isEmpty } from 'lodash';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class HttpService implements HttpClientService {\n\n send(options: any, variable: any) {\n const serviceInfo = variable.serviceInfo;\n let headers: any = options.headers,\n requestBody: any = options.data,\n url: string = options.url;\n variable.cancelTokenSource = axios.CancelToken.source();\n if (!isWebPreviewMode() && (variable?.serviceInfo?.consumes||[])[0] === 'multipart/form-data') {\n headers['Content-Type'] = 'multipart/form-data';\n let formData = new FormData();\n (variable.serviceInfo.parameters||[]).forEach((p: any) => {\n const v = variable.params[p.name];\n if (v) {\n formData.append(p.name, variable.params[p.name]);\n }\n });\n requestBody = formData;\n }\n if (!isWebPreviewMode()\n && variable.category === 'wm.LiveVariable'\n && !(url.startsWith('http://') || url.startsWith(\"https://\"))) {\n options.url = options.url.replace('./', '/');\n url = variable.config.baseUrl + options.url;\n }\n if (isWebPreviewMode() && variable.category === 'wm.LiveVariable') {\n url = '.' + url;\n }\n\n const methodType: string = serviceInfo?.methodType || options.method.toLowerCase();\n const isNonDataMethod: boolean = WS_CONSTANTS.NON_DATA_AXIOS_METHODS.indexOf(methodType.toUpperCase()) > -1;\n const axiosConfig = {\n headers: headers,\n cancelToken: variable.cancelTokenSource.token,\n withCredentials: true\n };\n return new Promise((resolve, reject) => {\n // @ts-ignore\n axios[methodType].apply(variable, ( isNonDataMethod ? [url, axiosConfig] : [url, requestBody || {}, axiosConfig]))\n .then((result: any) => {\n resolve(result);\n }, (err: any) => {\n reject(err.response);\n })\n })\n }\n\n sendCall(requestParams: any, variable: any) {\n return new Promise((resolve, reject) => {\n this.send(requestParams, variable).then((response: any) => {\n resolve(response);\n }, (err: any) => {\n reject(err);\n });\n });\n }\n\n getLocale() {\n const appConfig = injector.get<AppConfig>('APP_CONFIG');\n return appConfig.appLocale.messages;\n }\n\n cancel(variable: any) {\n variable.cancelTokenSource.cancel();\n }\n\n uploadFile(url: any, data: any, variable: any, options?: any) {\n const requestParams = {\n url: url,\n data: data\n }\n return new Promise((resolve, reject) => {\n return this.send(requestParams, variable).then((event: any) => {\n resolve(event.data);\n }, (error: any) => {\n reject(error);\n });\n });\n }\n}\n\nconst httpService = new HttpService();\n\nexport default httpService;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,YAAY,QAAQ,8DAA8D;AAG3F,SAASC,gBAAgB,QAAQ,sCAAsC;AACvE,OAAOC,QAAQ,MAAM,yCAAyC;AAE9D,OAAO,MAAMC,WAAW,CAA8B;EAEpDC,IAAI,CAACC,OAAY,EAAEC,QAAa,EAAE;IAAA;IAChC,MAAMC,WAAW,GAAGD,QAAQ,CAACC,WAAW;IACxC,IAAIC,OAAY,GAAGH,OAAO,CAACG,OAAO;MAChCC,WAAgB,GAAGJ,OAAO,CAACK,IAAI;MAC/BC,GAAW,GAAGN,OAAO,CAACM,GAAG;IACzBL,QAAQ,CAACM,iBAAiB,GAAGb,KAAK,CAACc,WAAW,CAACC,MAAM,EAAE;IACzD,IAAI,CAACb,gBAAgB,EAAE,IAAI,CAAC,CAAAK,QAAQ,aAARA,QAAQ,gDAARA,QAAQ,CAAEC,WAAW,0DAArB,sBAAuBQ,QAAQ,KAAE,EAAE,EAAE,CAAC,CAAC,KAAK,qBAAqB,EAAE;MAC7FP,OAAO,CAAC,cAAc,CAAC,GAAG,qBAAqB;MAC/C,IAAIQ,QAAQ,GAAG,IAAIC,QAAQ,EAAE;MAC7B,CAACX,QAAQ,CAACC,WAAW,CAACW,UAAU,IAAE,EAAE,EAAEC,OAAO,CAAEC,CAAM,IAAK;QACxD,MAAMC,CAAC,GAAGf,QAAQ,CAACgB,MAAM,CAACF,CAAC,CAACG,IAAI,CAAC;QACjC,IAAIF,CAAC,EAAE;UACLL,QAAQ,CAACQ,MAAM,CAACJ,CAAC,CAACG,IAAI,EAAEjB,QAAQ,CAACgB,MAAM,CAACF,CAAC,CAACG,IAAI,CAAC,CAAC;QAClD;MACF,CAAC,CAAC;MACFd,WAAW,GAAGO,QAAQ;IACxB;IACA,IAAI,CAACf,gBAAgB,EAAE,IAClBK,QAAQ,CAACmB,QAAQ,KAAK,iBAAiB,IACvC,EAAEd,GAAG,CAACe,UAAU,CAAC,SAAS,CAAC,IAAIf,GAAG,CAACe,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE;MAC/DrB,OAAO,CAACM,GAAG,GAAGN,OAAO,CAACM,GAAG,CAACgB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;MAC5ChB,GAAG,GAAGL,QAAQ,CAACsB,MAAM,CAACC,OAAO,GAAGxB,OAAO,CAACM,GAAG;IAC7C;IACA,IAAIV,gBAAgB,EAAE,IAAIK,QAAQ,CAACmB,QAAQ,KAAK,iBAAiB,EAAE;MACjEd,GAAG,GAAG,GAAG,GAAGA,GAAG;IACjB;IAEA,MAAMmB,UAAkB,GAAG,CAAAvB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEuB,UAAU,KAAIzB,OAAO,CAAC0B,MAAM,CAACC,WAAW,EAAE;IAClF,MAAMC,eAAwB,GAAGjC,YAAY,CAACkC,sBAAsB,CAACC,OAAO,CAACL,UAAU,CAACM,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;IAC3G,MAAMC,WAAW,GAAG;MAClB7B,OAAO,EAAEA,OAAO;MAChB8B,WAAW,EAAEhC,QAAQ,CAACM,iBAAiB,CAAC2B,KAAK;MAC7CC,eAAe,EAAE;IACnB,CAAC;IACD,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtC;MACA5C,KAAK,CAAC+B,UAAU,CAAC,CAACc,KAAK,CAACtC,QAAQ,EAAI2B,eAAe,GAAG,CAACtB,GAAG,EAAE0B,WAAW,CAAC,GAAG,CAAC1B,GAAG,EAAEF,WAAW,IAAI,CAAC,CAAC,EAAE4B,WAAW,CAAC,CAAE,CAC/GQ,IAAI,CAAEC,MAAW,IAAK;QACtBJ,OAAO,CAACI,MAAM,CAAC;MAChB,CAAC,EAAGC,GAAQ,IAAK;QACfJ,MAAM,CAACI,GAAG,CAACC,QAAQ,CAAC;MACtB,CAAC,CAAC;IACN,CAAC,CAAC;EACJ;EAEAC,QAAQ,CAACC,aAAkB,EAAE5C,QAAa,EAAE;IAC1C,OAAO,IAAImC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtC,IAAI,CAACvC,IAAI,CAAC8C,aAAa,EAAE5C,QAAQ,CAAC,CAACuC,IAAI,CAAEG,QAAa,IAAK;QACvDN,OAAO,CAACM,QAAQ,CAAC;MACrB,CAAC,EAAGD,GAAQ,IAAK;QACfJ,MAAM,CAACI,GAAG,CAAC;MACb,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEAI,SAAS,GAAG;IACV,MAAMC,SAAS,GAAGlD,QAAQ,CAACmD,GAAG,CAAY,YAAY,CAAC;IACvD,OAAOD,SAAS,CAACE,SAAS,CAACC,QAAQ;EACrC;EAEAC,MAAM,CAAClD,QAAa,EAAE;IACpBA,QAAQ,CAACM,iBAAiB,CAAC4C,MAAM,EAAE;EACrC;EAEAC,UAAU,CAAC9C,GAAQ,EAAED,IAAS,EAAEJ,QAAa,EAAED,OAAa,EAAE;IAC5D,MAAM6C,aAAa,GAAG;MACpBvC,GAAG,EAAEA,GAAG;MACRD,IAAI,EAAEA;IACR,CAAC;IACD,OAAO,IAAI+B,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtC,OAAO,IAAI,CAACvC,IAAI,CAAC8C,aAAa,EAAE5C,QAAQ,CAAC,CAACuC,IAAI,CAAEa,KAAU,IAAK;QAC7DhB,OAAO,CAACgB,KAAK,CAAChD,IAAI,CAAC;MACrB,CAAC,EAAGiD,KAAU,IAAK;QACjBhB,MAAM,CAACgB,KAAK,CAAC;MACf,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;AACF;AAEA,MAAMC,WAAW,GAAG,IAAIzD,WAAW,EAAE;AAErC,eAAeyD,WAAW"}
@@ -0,0 +1,96 @@
1
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
4
+ import { isEqual, isUndefined, isFunction, forEach, isEmpty } from 'lodash';
5
+ import { LiveVariable as _LiveVariable } from '@wavemaker/variables/src/model/variable/live-variable';
6
+ import httpService from '@wavemaker/app-rn-runtime/variables/http.service';
7
+ import injector from '@wavemaker/app-rn-runtime/core/injector';
8
+ var _LiveVariableEvents;
9
+ (function (_LiveVariableEvents) {
10
+ _LiveVariableEvents["BEFORE_INVOKE"] = "beforeInvoke";
11
+ })(_LiveVariableEvents || (_LiveVariableEvents = {}));
12
+ export class LiveVariable extends _LiveVariable {
13
+ constructor(config) {
14
+ const variableConfig = {
15
+ name: config.name,
16
+ dataSet: config.paramProvider(),
17
+ inputFields: config.paramProvider(),
18
+ filterExpressions: config.filterExpressions,
19
+ filterFields: config.paramProvider(),
20
+ isList: config.isList,
21
+ maxResults: config.maxResults,
22
+ _context: config._context,
23
+ operation: config.operation,
24
+ type: config.type,
25
+ autoUpdate: config.autoUpdate,
26
+ liveSource: config.liveSource,
27
+ orderBy: config.orderBy,
28
+ category: config.category,
29
+ properties: config.properties,
30
+ propertiesMap: config.propertiesMap,
31
+ tableName: config.tableName,
32
+ tableType: config.tableType,
33
+ relatedTables: config.relatedTables,
34
+ httpClientService: httpService,
35
+ onSuccess: (context, args) => {
36
+ return config.onSuccess && config.onSuccess(args.variable, args.data, args.options);
37
+ },
38
+ onError: (context, args) => {
39
+ return config.onError && config.onError(args.variable, args.data, args.options);
40
+ },
41
+ onCanUpdate: (context, args) => {
42
+ return config.onCanUpdate && config.onCanUpdate(args.variable, args.data, args.options);
43
+ },
44
+ onBeforeUpdate: (context, args) => {
45
+ return config.onBeforeUpdate && config.onBeforeUpdate(args.variable, args.data, args.options);
46
+ },
47
+ onResult: (context, args) => {
48
+ return config.onResult && config.onResult(args.variable, args.data, args.options);
49
+ },
50
+ onBeforeDatasetReady: (context, args) => {
51
+ return config.onBeforeDatasetReady && config.onBeforeDatasetReady(args.variable, args.data, args.options);
52
+ }
53
+ };
54
+ super(variableConfig);
55
+ this.config = config;
56
+ _defineProperty(this, "params", {});
57
+ _defineProperty(this, "filters", {});
58
+ _defineProperty(this, "appConfig", injector.get('APP_CONFIG'));
59
+ }
60
+ invokeOnParamChange() {
61
+ const last = this.params;
62
+ const latest = this.config.paramProvider();
63
+ if (this.config.operation === 'read') {
64
+ const lastFilter = this.filters;
65
+ const latestFilter = this.config.filterProvider && this.config.filterProvider();
66
+ if (!isEqual(lastFilter, latestFilter)) {
67
+ var _this$filterExpressio;
68
+ (_this$filterExpressio = this.filterExpressions) === null || _this$filterExpressio === void 0 ? void 0 : _this$filterExpressio.rules.forEach(r => {
69
+ r.value = latestFilter[r.target];
70
+ });
71
+ if (this.autoUpdate && !isEmpty(latestFilter) && isFunction(this.update)) {
72
+ this.filters = latestFilter;
73
+ this.invoke();
74
+ }
75
+ }
76
+ }
77
+ if (!isEqual(last, latest)) {
78
+ if (this.config.operation === 'read') {
79
+ forEach(latest, (val, key) => {
80
+ this.filterFields[key] = {
81
+ 'value': val
82
+ };
83
+ });
84
+ } else {
85
+ this.inputFields = latest;
86
+ }
87
+ /* if auto-update set for the variable with read operation only, get its data */
88
+ // @ts-ignore
89
+ if (this.autoUpdate && !isUndefined(latest) && isFunction(this[this.config.operation + 'Record'])) {
90
+ this.invoke();
91
+ }
92
+ }
93
+ return Promise.resolve(this);
94
+ }
95
+ }
96
+ //# sourceMappingURL=live-variable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isEqual","isUndefined","isFunction","forEach","isEmpty","LiveVariable","_LiveVariable","httpService","injector","_LiveVariableEvents","constructor","config","variableConfig","name","dataSet","paramProvider","inputFields","filterExpressions","filterFields","isList","maxResults","_context","operation","type","autoUpdate","liveSource","orderBy","category","properties","propertiesMap","tableName","tableType","relatedTables","httpClientService","onSuccess","context","args","variable","data","options","onError","onCanUpdate","onBeforeUpdate","onResult","onBeforeDatasetReady","get","invokeOnParamChange","last","params","latest","lastFilter","filters","latestFilter","filterProvider","rules","r","value","target","update","invoke","val","key","Promise","resolve"],"sources":["live-variable.ts"],"sourcesContent":["import { VariableConfig, VariableEvents } from './base-variable';\nimport { isEqual, isUndefined, isFunction, forEach, isEmpty } from 'lodash';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { LiveVariable as _LiveVariable } from '@wavemaker/variables/src/model/variable/live-variable';\nimport httpService from '@wavemaker/app-rn-runtime/variables/http.service';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport interface LiveVariableConfig extends VariableConfig {\n baseUrl: string;\n maxResults: number;\n _context: any;\n onCanUpdate: any;\n onBeforeUpdate: any;\n onResult: any;\n onBeforeDatasetReady: any;\n inFlightBehavior: string;\n type: string;\n autoUpdate: boolean;\n orderBy: string;\n category: string;\n liveSource: string;\n propertiesMap: any;\n properties: any;\n tableName: string;\n tableType: string;\n relatedTables: any;\n filterExpressions: any;\n filterProvider: any;\n}\n\nenum _LiveVariableEvents {\n BEFORE_INVOKE = 'beforeInvoke'\n}\nexport type LiveVariableEvents = _LiveVariableEvents | VariableEvents;\n\nexport class LiveVariable extends _LiveVariable {\n params: any = {};\n filters: any = {};\n public appConfig = injector.get<AppConfig>('APP_CONFIG');\n\n constructor(public config: LiveVariableConfig) {\n const variableConfig = {\n name: config.name,\n dataSet: config.paramProvider(),\n inputFields: config.paramProvider(),\n filterExpressions: config.filterExpressions,\n filterFields: config.paramProvider(),\n isList: config.isList,\n maxResults: config.maxResults,\n _context: config._context,\n operation: config.operation,\n type: config.type,\n autoUpdate: config.autoUpdate,\n liveSource: config.liveSource,\n orderBy: config.orderBy,\n category: config.category,\n properties: config.properties,\n propertiesMap: config.propertiesMap,\n tableName: config.tableName,\n tableType: config.tableType,\n relatedTables: config.relatedTables,\n httpClientService: httpService,\n onSuccess: (context: any, args: any) => {\n return config.onSuccess && config.onSuccess(args.variable, args.data, args.options);\n },\n onError: (context: any, args: any) => {\n return config.onError && config.onError(args.variable, args.data, args.options);\n },\n onCanUpdate: (context: any, args: any) => {\n return config.onCanUpdate && config.onCanUpdate(args.variable, args.data, args.options);\n },\n onBeforeUpdate: (context: any, args: any) => {\n return config.onBeforeUpdate && config.onBeforeUpdate(args.variable, args.data, args.options);\n },\n onResult: (context: any, args: any) => {\n return config.onResult && config.onResult(args.variable, args.data, args.options);\n },\n onBeforeDatasetReady: (context: any, args: any) => {\n return config.onBeforeDatasetReady && config.onBeforeDatasetReady(args.variable, args.data, args.options);\n }\n }\n super(variableConfig);\n }\n\n invokeOnParamChange() {\n const last = this.params;\n const latest = this.config.paramProvider();\n if (this.config.operation === 'read') {\n const lastFilter = this.filters;\n const latestFilter = this.config.filterProvider && this.config.filterProvider();\n if (!isEqual(lastFilter, latestFilter)) {\n this.filterExpressions?.rules.forEach((r: any) => {\n r.value = latestFilter[r.target];\n });\n if (this.autoUpdate && !isEmpty(latestFilter) && isFunction(this.update)) {\n this.filters = latestFilter;\n this.invoke();\n }\n }\n }\n if (!isEqual(last, latest)) {\n if (this.config.operation === 'read') {\n forEach(latest, (val: any, key: any) => {\n this.filterFields[key] = {\n 'value': val\n };\n });\n } else {\n this.inputFields = latest;\n }\n /* if auto-update set for the variable with read operation only, get its data */\n // @ts-ignore\n if (this.autoUpdate && !isUndefined(latest) && isFunction(this[this.config.operation + 'Record'])) {\n this.invoke();\n }\n }\n return Promise.resolve(this);\n }\n\n}\n"],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
2
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
3
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
4
+ import { VariableEvents } from './base-variable';
4
5
  import { isEqual } from 'lodash';
6
+ import { deepCopy } from '@wavemaker/app-rn-runtime/core/utils';
5
7
  import { ServiceVariable as _ServiceVariable } from '@wavemaker/variables/src/model/variable/service-variable';
6
8
  import httpService from '@wavemaker/app-rn-runtime/variables/http.service';
7
9
  import injector from '@wavemaker/app-rn-runtime/core/injector';
@@ -14,7 +16,7 @@ export class ServiceVariable extends _ServiceVariable {
14
16
  const variableConfig = {
15
17
  name: config.name,
16
18
  dataSet: config.paramProvider(),
17
- dataBinding: config.paramProvider(),
19
+ dataBinding: {},
18
20
  isList: config.isList,
19
21
  service: config.service,
20
22
  serviceType: config.serviceType,
@@ -34,7 +36,7 @@ export class ServiceVariable extends _ServiceVariable {
34
36
  return config.onCanUpdate && config.onCanUpdate(args.variable, args.data, args.options);
35
37
  },
36
38
  onBeforeUpdate: (context, args) => {
37
- return config.onBeforeUpdate && config.onBeforeUpdate(args.variable, args.data, args.options);
39
+ return config.onBeforeUpdate && config.onBeforeUpdate(args.variable, args.inputData, args.options);
38
40
  },
39
41
  onResult: (context, args) => {
40
42
  return config.onResult && config.onResult(args.variable, args.data, args.options);
@@ -48,12 +50,15 @@ export class ServiceVariable extends _ServiceVariable {
48
50
  _defineProperty(this, "cancelTokenSource", void 0);
49
51
  _defineProperty(this, "params", {});
50
52
  _defineProperty(this, "appConfig", injector.get('APP_CONFIG'));
53
+ this.subscribe(VariableEvents.AFTER_INVOKE, () => {
54
+ this.dataBinding = {};
55
+ });
51
56
  }
52
57
  invokeOnParamChange() {
53
58
  const last = this.params;
54
59
  const latest = this.config.paramProvider();
55
60
  if (!isEqual(last, latest)) {
56
- this.invoke();
61
+ this.invoke(latest);
57
62
  }
58
63
  return Promise.resolve(this);
59
64
  }
@@ -67,7 +72,13 @@ export class ServiceVariable extends _ServiceVariable {
67
72
  this.appConfig.refresh(false);
68
73
  }
69
74
  invoke(options, onSuccess, onError) {
70
- this.dataBinding = this.params = this.config.paramProvider();
75
+ this.params = this.config.paramProvider();
76
+ this.params = deepCopy({}, this.params, this.dataBinding);
77
+ if (options) {
78
+ this.params = deepCopy({}, this.params, options.inputFields ? options.inputFields : options);
79
+ }
80
+ options = options || {};
81
+ options.inputFields = this.params;
71
82
  // service definitions data depends on whether user logged in or not
72
83
  // Try to get the latest definition
73
84
  this.serviceInfo = this.config.getServiceInfo();
@@ -103,9 +114,9 @@ export class ServiceVariable extends _ServiceVariable {
103
114
  // }
104
115
  // }
105
116
 
106
- setInput(key, val, options) {
107
- // this.params = merge({}, this.config.paramProvider(), _setInput(this.params, key, val, options));
108
- // return this.params;
109
- }
117
+ // setInput(key: any, val?: any, options?: any) {
118
+ // this.params = merge({}, this.config.paramProvider(), _setInput(this.params, key, val, options));
119
+ // return this.params;
120
+ // }
110
121
  }
111
122
  //# sourceMappingURL=service-variable.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["isEqual","ServiceVariable","_ServiceVariable","httpService","injector","_ServiceVariableEvents","constructor","config","variableConfig","name","dataSet","paramProvider","dataBinding","isList","service","serviceType","maxResults","_context","operation","operationId","serviceInfo","getServiceInfo","httpClientService","onSuccess","context","args","variable","data","options","onError","onCanUpdate","onBeforeUpdate","onResult","onBeforeDatasetReady","get","invokeOnParamChange","last","params","latest","invoke","Promise","resolve","doNext","currentPage","reject","onDataUpdated","appConfig","refresh","console","error","setInput","key","val"],"sources":["service-variable.ts"],"sourcesContent":["import { VariableConfig, VariableEvents } from './base-variable';\nimport { isEqual } from 'lodash';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { $queue } from './utils/inflight-queue';\nimport { ServiceVariable as _ServiceVariable } from '@wavemaker/variables/src/model/variable/service-variable';\nimport httpService from '@wavemaker/app-rn-runtime/variables/http.service';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport interface ServiceVariableConfig extends VariableConfig {\n baseUrl: string;\n maxResults: number;\n _context: any;\n serviceType: string;\n onCanUpdate: any;\n onBeforeUpdate: any;\n onResult: any;\n onBeforeDatasetReady: any;\n inFlightBehavior: string;\n getServiceInfo: Function;\n}\n\nenum _ServiceVariableEvents {\n BEFORE_INVOKE = 'beforeInvoke'\n}\nexport type ServiceVariableEvents = _ServiceVariableEvents | VariableEvents;\n\nexport class ServiceVariable extends _ServiceVariable {\n private cancelTokenSource: any;\n params: any = {};\n public appConfig = injector.get<AppConfig>('APP_CONFIG');\n\n constructor(public config: ServiceVariableConfig) {\n const variableConfig = {\n name: config.name,\n dataSet: config.paramProvider(),\n dataBinding: config.paramProvider(),\n isList: config.isList,\n service: config.service,\n serviceType: config.serviceType,\n maxResults: config.maxResults,\n _context: config._context,\n operation: config.operation,\n operationId: config.operationId,\n serviceInfo: config.getServiceInfo(),\n httpClientService: httpService,\n onSuccess: (context: any, args: any) => {\n return config.onSuccess && config.onSuccess(args.variable, args.data, args.options);\n },\n onError: (context: any, args: any) => {\n return config.onError && config.onError(args.variable, args.data, args.options);\n },\n onCanUpdate: (context: any, args: any) => {\n return config.onCanUpdate && config.onCanUpdate(args.variable, args.data, args.options);\n },\n onBeforeUpdate: (context: any, args: any) => {\n return config.onBeforeUpdate && config.onBeforeUpdate(args.variable, args.data, args.options);\n },\n onResult: (context: any, args: any) => {\n return config.onResult && config.onResult(args.variable, args.data, args.options);\n },\n onBeforeDatasetReady: (context: any, args: any) => {\n return config.onBeforeDatasetReady && config.onBeforeDatasetReady(args.variable, args.data, args.options);\n }\n }\n super(variableConfig);\n }\n\n invokeOnParamChange() {\n const last = this.params;\n const latest = this.config.paramProvider();\n if (!isEqual(last, latest)) {\n this.invoke();\n }\n return Promise.resolve(this);\n }\n\n public doNext(currentPage: number) {\n // this.invoke({\n // page: currentPage\n // });\n return Promise.reject(this);\n }\n\n onDataUpdated() {\n this.appConfig.refresh(false);\n }\n\n invoke(options? : any, onSuccess?: Function, onError?: Function) {\n this.dataBinding = this.params = this.config.paramProvider();\n // service definitions data depends on whether user logged in or not\n // Try to get the latest definition\n this.serviceInfo = this.config.getServiceInfo();\n if (!this.serviceInfo) {\n console.error(`Service Info is missing for (${this.name}) variable.`)\n }\n return super.invoke(options, onSuccess, onError);\n }\n\n // cancel($file?: any) {\n // // CHecks if there is any pending requests in the queue\n // if ($queue.requestsQueue.has(this)) {\n // // If the request is a File upload request then modify the elements associated with file upload\n // // else unsubscribe from the observable on the variable.\n // if (false) {\n // // $file._uploadProgress.unsubscribe();\n // // $file.status = 'abort';\n // // this.totalFilesCount--;\n // // initiateCallback(VARIABLE_CONSTANTS.EVENT.ABORT, variable, $file);\n // // if (!this.isFileUploadInProgress(variable.dataBinding) && this.totalFilesCount === 0) {\n // // $queue.process(variable);\n // // // notify inflight variable\n // // this.notifyInflight(variable, false);\n // // }\n // } else {\n // if (true) {\n // this.cancelTokenSource.cancel();\n // $queue.process(this);\n // // notify inflight variable\n // //this.notifyInflight(variable, false);\n // }\n // }\n // }\n // }\n\n setInput(key: any, val?: any, options?: any) {\n // this.params = merge({}, this.config.paramProvider(), _setInput(this.params, key, val, options));\n // return this.params;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["VariableEvents","isEqual","deepCopy","ServiceVariable","_ServiceVariable","httpService","injector","_ServiceVariableEvents","constructor","config","variableConfig","name","dataSet","paramProvider","dataBinding","isList","service","serviceType","maxResults","_context","operation","operationId","serviceInfo","getServiceInfo","httpClientService","onSuccess","context","args","variable","data","options","onError","onCanUpdate","onBeforeUpdate","inputData","onResult","onBeforeDatasetReady","get","subscribe","AFTER_INVOKE","invokeOnParamChange","last","params","latest","invoke","Promise","resolve","doNext","currentPage","reject","onDataUpdated","appConfig","refresh","inputFields","console","error"],"sources":["service-variable.ts"],"sourcesContent":["import { VariableConfig, VariableEvents } from './base-variable';\nimport { isEqual, assignIn } from 'lodash';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { deepCopy } from '@wavemaker/app-rn-runtime/core/utils';\nimport { ServiceVariable as _ServiceVariable } from '@wavemaker/variables/src/model/variable/service-variable';\nimport httpService from '@wavemaker/app-rn-runtime/variables/http.service';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport interface ServiceVariableConfig extends VariableConfig {\n baseUrl: string;\n maxResults: number;\n _context: any;\n serviceType: string;\n onCanUpdate: any;\n onBeforeUpdate: any;\n onResult: any;\n onBeforeDatasetReady: any;\n inFlightBehavior: string;\n getServiceInfo: Function;\n}\n\nenum _ServiceVariableEvents {\n BEFORE_INVOKE = 'beforeInvoke'\n}\nexport type ServiceVariableEvents = _ServiceVariableEvents | VariableEvents;\n\nexport class ServiceVariable extends _ServiceVariable {\n private cancelTokenSource: any;\n params: any = {};\n public appConfig = injector.get<AppConfig>('APP_CONFIG');\n\n constructor(public config: ServiceVariableConfig) {\n const variableConfig = {\n name: config.name,\n dataSet: config.paramProvider(),\n dataBinding: {},\n isList: config.isList,\n service: config.service,\n serviceType: config.serviceType,\n maxResults: config.maxResults,\n _context: config._context,\n operation: config.operation,\n operationId: config.operationId,\n serviceInfo: config.getServiceInfo(),\n httpClientService: httpService,\n onSuccess: (context: any, args: any) => {\n return config.onSuccess && config.onSuccess(args.variable, args.data, args.options);\n },\n onError: (context: any, args: any) => {\n return config.onError && config.onError(args.variable, args.data, args.options);\n },\n onCanUpdate: (context: any, args: any) => {\n return config.onCanUpdate && config.onCanUpdate(args.variable, args.data, args.options);\n },\n onBeforeUpdate: (context: any, args: any) => {\n return config.onBeforeUpdate && config.onBeforeUpdate(args.variable, args.inputData, args.options);\n },\n onResult: (context: any, args: any) => {\n return config.onResult && config.onResult(args.variable, args.data, args.options);\n },\n onBeforeDatasetReady: (context: any, args: any) => {\n return config.onBeforeDatasetReady && config.onBeforeDatasetReady(args.variable, args.data, args.options);\n }\n }\n super(variableConfig);\n this.subscribe(VariableEvents.AFTER_INVOKE, () => {\n this.dataBinding = {};\n });\n }\n\n invokeOnParamChange() {\n const last = this.params;\n const latest = this.config.paramProvider();\n if (!isEqual(last, latest)) {\n this.invoke(latest);\n }\n return Promise.resolve(this);\n }\n\n public doNext(currentPage: number) {\n // this.invoke({\n // page: currentPage\n // });\n return Promise.reject(this);\n }\n\n onDataUpdated() {\n this.appConfig.refresh(false);\n }\n\n invoke(options? : any, onSuccess?: Function, onError?: Function) {\n this.params = this.config.paramProvider();\n this.params = deepCopy({} as any, this.params, this.dataBinding);\n if (options) {\n this.params = deepCopy({} as any, this.params, options.inputFields ? options.inputFields : options);\n }\n options = options || {};\n options.inputFields = this.params;\n // service definitions data depends on whether user logged in or not\n // Try to get the latest definition\n this.serviceInfo = this.config.getServiceInfo();\n if (!this.serviceInfo) {\n console.error(`Service Info is missing for (${this.name}) variable.`)\n }\n return super.invoke(options, onSuccess, onError);\n }\n\n // cancel($file?: any) {\n // // CHecks if there is any pending requests in the queue\n // if ($queue.requestsQueue.has(this)) {\n // // If the request is a File upload request then modify the elements associated with file upload\n // // else unsubscribe from the observable on the variable.\n // if (false) {\n // // $file._uploadProgress.unsubscribe();\n // // $file.status = 'abort';\n // // this.totalFilesCount--;\n // // initiateCallback(VARIABLE_CONSTANTS.EVENT.ABORT, variable, $file);\n // // if (!this.isFileUploadInProgress(variable.dataBinding) && this.totalFilesCount === 0) {\n // // $queue.process(variable);\n // // // notify inflight variable\n // // this.notifyInflight(variable, false);\n // // }\n // } else {\n // if (true) {\n // this.cancelTokenSource.cancel();\n // $queue.process(this);\n // // notify inflight variable\n // //this.notifyInflight(variable, false);\n // }\n // }\n // }\n // }\n\n // setInput(key: any, val?: any, options?: any) {\n // this.params = merge({}, this.config.paramProvider(), _setInput(this.params, key, val, options));\n // return this.params;\n // }\n}\n"],"mappings":";;;AAAA,SAAyBA,cAAc,QAAQ,iBAAiB;AAChE,SAASC,OAAO,QAAkB,QAAQ;AAE1C,SAASC,QAAQ,QAAQ,sCAAsC;AAC/D,SAASC,eAAe,IAAIC,gBAAgB,QAAQ,0DAA0D;AAC9G,OAAOC,WAAW,MAAM,kDAAkD;AAC1E,OAAOC,QAAQ,MAAM,yCAAyC;AAAC,IAe1DC,sBAAsB;AAAA,WAAtBA,sBAAsB;EAAtBA,sBAAsB;AAAA,GAAtBA,sBAAsB,KAAtBA,sBAAsB;AAK3B,OAAO,MAAMJ,eAAe,SAASC,gBAAgB,CAAC;EAKpDI,WAAW,CAAQC,MAA6B,EAAE;IAChD,MAAMC,cAAc,GAAG;MACrBC,IAAI,EAAEF,MAAM,CAACE,IAAI;MACjBC,OAAO,EAAEH,MAAM,CAACI,aAAa,EAAE;MAC/BC,WAAW,EAAE,CAAC,CAAC;MACfC,MAAM,EAAEN,MAAM,CAACM,MAAM;MACrBC,OAAO,EAAEP,MAAM,CAACO,OAAO;MACvBC,WAAW,EAAER,MAAM,CAACQ,WAAW;MAC/BC,UAAU,EAAET,MAAM,CAACS,UAAU;MAC7BC,QAAQ,EAAEV,MAAM,CAACU,QAAQ;MACzBC,SAAS,EAAEX,MAAM,CAACW,SAAS;MAC3BC,WAAW,EAAEZ,MAAM,CAACY,WAAW;MAC/BC,WAAW,EAAEb,MAAM,CAACc,cAAc,EAAE;MACpCC,iBAAiB,EAAEnB,WAAW;MAC9BoB,SAAS,EAAE,CAACC,OAAY,EAAEC,IAAS,KAAK;QACtC,OAAOlB,MAAM,CAACgB,SAAS,IAAIhB,MAAM,CAACgB,SAAS,CAACE,IAAI,CAACC,QAAQ,EAAED,IAAI,CAACE,IAAI,EAAEF,IAAI,CAACG,OAAO,CAAC;MACrF,CAAC;MACDC,OAAO,EAAE,CAACL,OAAY,EAAEC,IAAS,KAAK;QACpC,OAAOlB,MAAM,CAACsB,OAAO,IAAItB,MAAM,CAACsB,OAAO,CAACJ,IAAI,CAACC,QAAQ,EAAED,IAAI,CAACE,IAAI,EAAEF,IAAI,CAACG,OAAO,CAAC;MACjF,CAAC;MACDE,WAAW,EAAE,CAACN,OAAY,EAAEC,IAAS,KAAK;QACxC,OAAOlB,MAAM,CAACuB,WAAW,IAAIvB,MAAM,CAACuB,WAAW,CAACL,IAAI,CAACC,QAAQ,EAAED,IAAI,CAACE,IAAI,EAAEF,IAAI,CAACG,OAAO,CAAC;MACzF,CAAC;MACDG,cAAc,EAAE,CAACP,OAAY,EAAEC,IAAS,KAAK;QAC3C,OAAOlB,MAAM,CAACwB,cAAc,IAAIxB,MAAM,CAACwB,cAAc,CAACN,IAAI,CAACC,QAAQ,EAAED,IAAI,CAACO,SAAS,EAAEP,IAAI,CAACG,OAAO,CAAC;MACpG,CAAC;MACDK,QAAQ,EAAE,CAACT,OAAY,EAAEC,IAAS,KAAK;QACrC,OAAOlB,MAAM,CAAC0B,QAAQ,IAAI1B,MAAM,CAAC0B,QAAQ,CAACR,IAAI,CAACC,QAAQ,EAAED,IAAI,CAACE,IAAI,EAAEF,IAAI,CAACG,OAAO,CAAC;MACnF,CAAC;MACDM,oBAAoB,EAAE,CAACV,OAAY,EAAEC,IAAS,KAAK;QACjD,OAAOlB,MAAM,CAAC2B,oBAAoB,IAAI3B,MAAM,CAAC2B,oBAAoB,CAACT,IAAI,CAACC,QAAQ,EAAED,IAAI,CAACE,IAAI,EAAEF,IAAI,CAACG,OAAO,CAAC;MAC3G;IACF,CAAC;IACD,KAAK,CAACpB,cAAc,CAAC;IAAC,KAjCLD,MAA6B,GAA7BA,MAA6B;IAAA;IAAA,gCAHlC,CAAC,CAAC;IAAA,mCACGH,QAAQ,CAAC+B,GAAG,CAAY,YAAY,CAAC;IAoCtD,IAAI,CAACC,SAAS,CAACtC,cAAc,CAACuC,YAAY,EAAE,MAAM;MAC9C,IAAI,CAACzB,WAAW,GAAG,CAAC,CAAC;IACzB,CAAC,CAAC;EACJ;EAEA0B,mBAAmB,GAAG;IACpB,MAAMC,IAAI,GAAG,IAAI,CAACC,MAAM;IACxB,MAAMC,MAAM,GAAG,IAAI,CAAClC,MAAM,CAACI,aAAa,EAAE;IAC1C,IAAI,CAACZ,OAAO,CAACwC,IAAI,EAAEE,MAAM,CAAC,EAAE;MAC1B,IAAI,CAACC,MAAM,CAACD,MAAM,CAAC;IACrB;IACA,OAAOE,OAAO,CAACC,OAAO,CAAC,IAAI,CAAC;EAC9B;EAEOC,MAAM,CAACC,WAAmB,EAAE;IACjC;IACA;IACA;IACA,OAAOH,OAAO,CAACI,MAAM,CAAC,IAAI,CAAC;EAC7B;EAEAC,aAAa,GAAG;IACd,IAAI,CAACC,SAAS,CAACC,OAAO,CAAC,KAAK,CAAC;EAC/B;EAEAR,MAAM,CAACd,OAAc,EAAEL,SAAoB,EAAEM,OAAkB,EAAE;IAC/D,IAAI,CAACW,MAAM,GAAG,IAAI,CAACjC,MAAM,CAACI,aAAa,EAAE;IACzC,IAAI,CAAC6B,MAAM,GAAGxC,QAAQ,CAAC,CAAC,CAAC,EAAS,IAAI,CAACwC,MAAM,EAAE,IAAI,CAAC5B,WAAW,CAAC;IAChE,IAAIgB,OAAO,EAAE;MACX,IAAI,CAACY,MAAM,GAAGxC,QAAQ,CAAC,CAAC,CAAC,EAAS,IAAI,CAACwC,MAAM,EAAEZ,OAAO,CAACuB,WAAW,GAAGvB,OAAO,CAACuB,WAAW,GAAGvB,OAAO,CAAC;IACrG;IACAA,OAAO,GAAGA,OAAO,IAAI,CAAC,CAAC;IACvBA,OAAO,CAACuB,WAAW,GAAG,IAAI,CAACX,MAAM;IAC/B;IACF;IACA,IAAI,CAACpB,WAAW,GAAG,IAAI,CAACb,MAAM,CAACc,cAAc,EAAE;IAC/C,IAAI,CAAC,IAAI,CAACD,WAAW,EAAE;MACrBgC,OAAO,CAACC,KAAK,CAAE,gCAA+B,IAAI,CAAC5C,IAAK,aAAY,CAAC;IACvE;IACA,OAAO,KAAK,CAACiC,MAAM,CAACd,OAAO,EAAEL,SAAS,EAAEM,OAAO,CAAC;EAClD;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;AACF"}