@wavemaker/app-rn-runtime 11.4.0-next.1417012 → 11.4.0-next.1417014

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 (223) 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/icon/icon.component.js +1 -1
  22. app-rn-runtime/components/basic/icon/icon.component.js.map +1 -1
  23. app-rn-runtime/components/basic/label/label.component.js +1 -1
  24. app-rn-runtime/components/basic/label/label.component.js.map +1 -1
  25. app-rn-runtime/components/basic/message/message.component.js +1 -1
  26. app-rn-runtime/components/basic/message/message.component.js.map +1 -1
  27. app-rn-runtime/components/basic/picture/picture.component.js +37 -26
  28. app-rn-runtime/components/basic/picture/picture.component.js.map +1 -1
  29. app-rn-runtime/components/basic/progress-bar/progress-bar.component.js +3 -2
  30. app-rn-runtime/components/basic/progress-bar/progress-bar.component.js.map +1 -1
  31. app-rn-runtime/components/basic/progress-circle/progress-circle.component.js +1 -1
  32. app-rn-runtime/components/basic/progress-circle/progress-circle.component.js.map +1 -1
  33. app-rn-runtime/components/basic/search/search.component.js +4 -1
  34. app-rn-runtime/components/basic/search/search.component.js.map +1 -1
  35. app-rn-runtime/components/basic/spinner/spinner.component.js +1 -1
  36. app-rn-runtime/components/basic/spinner/spinner.component.js.map +1 -1
  37. app-rn-runtime/components/basic/video/video.component.js +56 -0
  38. app-rn-runtime/components/basic/video/video.component.js.map +1 -0
  39. app-rn-runtime/components/basic/video/video.props.js +22 -0
  40. app-rn-runtime/components/basic/video/video.props.js.map +1 -0
  41. app-rn-runtime/components/basic/video/video.styles.js +11 -0
  42. app-rn-runtime/components/basic/video/video.styles.js.map +1 -0
  43. app-rn-runtime/components/container/accordion/accordion.component.js +1 -1
  44. app-rn-runtime/components/container/accordion/accordion.component.js.map +1 -1
  45. app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js +1 -1
  46. app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js.map +1 -1
  47. app-rn-runtime/components/container/container.component.js +1 -1
  48. app-rn-runtime/components/container/container.component.js.map +1 -1
  49. app-rn-runtime/components/container/layoutgrid/gridcolumn/gridcolumn.component.js +1 -1
  50. app-rn-runtime/components/container/layoutgrid/gridcolumn/gridcolumn.component.js.map +1 -1
  51. app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.component.js +1 -1
  52. app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.component.js.map +1 -1
  53. app-rn-runtime/components/container/layoutgrid/layoutgrid.component.js +1 -1
  54. app-rn-runtime/components/container/layoutgrid/layoutgrid.component.js.map +1 -1
  55. app-rn-runtime/components/container/linearlayout/linearlayout.component.js +1 -1
  56. app-rn-runtime/components/container/linearlayout/linearlayout.component.js.map +1 -1
  57. app-rn-runtime/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +1 -1
  58. app-rn-runtime/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
  59. app-rn-runtime/components/container/panel/panel-content/panel-content.component.js +1 -1
  60. app-rn-runtime/components/container/panel/panel-content/panel-content.component.js.map +1 -1
  61. app-rn-runtime/components/container/panel/panel-footer/panel-footer.component.js +1 -1
  62. app-rn-runtime/components/container/panel/panel-footer/panel-footer.component.js.map +1 -1
  63. app-rn-runtime/components/container/panel/panel.component.js +1 -1
  64. app-rn-runtime/components/container/panel/panel.component.js.map +1 -1
  65. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +12 -4
  66. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  67. app-rn-runtime/components/container/tabs/tabheader/tabheader.styles.js +2 -1
  68. app-rn-runtime/components/container/tabs/tabheader/tabheader.styles.js.map +1 -1
  69. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js +5 -2
  70. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
  71. app-rn-runtime/components/container/tabs/tabs.component.js +80 -64
  72. app-rn-runtime/components/container/tabs/tabs.component.js.map +1 -1
  73. app-rn-runtime/components/container/tabs/tabs.props.js +1 -0
  74. app-rn-runtime/components/container/tabs/tabs.props.js.map +1 -1
  75. app-rn-runtime/components/container/tabs/tabs.styles.js +1 -1
  76. app-rn-runtime/components/container/tabs/tabs.styles.js.map +1 -1
  77. app-rn-runtime/components/container/tile/tile.component.js +1 -1
  78. app-rn-runtime/components/container/tile/tile.component.js.map +1 -1
  79. app-rn-runtime/components/container/wizard/wizard.component.js +1 -1
  80. app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
  81. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js +1 -1
  82. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
  83. app-rn-runtime/components/data/card/card-content/card-content.component.js +1 -1
  84. app-rn-runtime/components/data/card/card-content/card-content.component.js.map +1 -1
  85. app-rn-runtime/components/data/card/card-footer/card-footer.component.js +1 -1
  86. app-rn-runtime/components/data/card/card-footer/card-footer.component.js.map +1 -1
  87. app-rn-runtime/components/data/card/card.component.js +1 -1
  88. app-rn-runtime/components/data/card/card.component.js.map +1 -1
  89. app-rn-runtime/components/data/form/form-action/form-action.component.js +0 -6
  90. app-rn-runtime/components/data/form/form-action/form-action.component.js.map +1 -1
  91. app-rn-runtime/components/data/form/form-body/form-body.component.js +1 -1
  92. app-rn-runtime/components/data/form/form-body/form-body.component.js.map +1 -1
  93. app-rn-runtime/components/data/form/form-field/form-field.component.js +1 -1
  94. app-rn-runtime/components/data/form/form-field/form-field.component.js.map +1 -1
  95. app-rn-runtime/components/data/form/form-footer/form-footer.component.js +1 -1
  96. app-rn-runtime/components/data/form/form-footer/form-footer.component.js.map +1 -1
  97. app-rn-runtime/components/data/form/form.component.js +2 -31
  98. app-rn-runtime/components/data/form/form.component.js.map +1 -1
  99. app-rn-runtime/components/data/list/list-template/list-template.component.js +1 -1
  100. app-rn-runtime/components/data/list/list-template/list-template.component.js.map +1 -1
  101. app-rn-runtime/components/data/list/list.component.js +17 -8
  102. app-rn-runtime/components/data/list/list.component.js.map +1 -1
  103. app-rn-runtime/components/device/barcodescanner/barcodescanner.component.js +3 -2
  104. app-rn-runtime/components/device/barcodescanner/barcodescanner.component.js.map +1 -1
  105. app-rn-runtime/components/device/camera/camera.component.js +9 -4
  106. app-rn-runtime/components/device/camera/camera.component.js.map +1 -1
  107. app-rn-runtime/components/device/camera/camera.props.js +0 -1
  108. app-rn-runtime/components/device/camera/camera.props.js.map +1 -1
  109. app-rn-runtime/components/dialogs/dialog/dialog.component.js +1 -1
  110. app-rn-runtime/components/dialogs/dialog/dialog.component.js.map +1 -1
  111. app-rn-runtime/components/dialogs/dialogactions/dialogactions.component.js +1 -1
  112. app-rn-runtime/components/dialogs/dialogactions/dialogactions.component.js.map +1 -1
  113. app-rn-runtime/components/dialogs/dialogcontent/dialogcontent.component.js +1 -1
  114. app-rn-runtime/components/dialogs/dialogcontent/dialogcontent.component.js.map +1 -1
  115. app-rn-runtime/components/input/baseinput/baseinput.component.js +7 -0
  116. app-rn-runtime/components/input/baseinput/baseinput.component.js.map +1 -1
  117. app-rn-runtime/components/input/calendar/calendar.component.js +1 -1
  118. app-rn-runtime/components/input/calendar/calendar.component.js.map +1 -1
  119. app-rn-runtime/components/input/checkbox/checkbox.component.js +1 -16
  120. app-rn-runtime/components/input/checkbox/checkbox.component.js.map +1 -1
  121. app-rn-runtime/components/input/checkboxset/checkboxset.component.js +0 -38
  122. app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
  123. app-rn-runtime/components/input/composite/composite.component.js +1 -1
  124. app-rn-runtime/components/input/composite/composite.component.js.map +1 -1
  125. app-rn-runtime/components/input/epoch/base-datetime.component.js +1 -1
  126. app-rn-runtime/components/input/epoch/base-datetime.component.js.map +1 -1
  127. app-rn-runtime/components/input/fileupload/fileupload.component.js +1 -1
  128. app-rn-runtime/components/input/fileupload/fileupload.component.js.map +1 -1
  129. app-rn-runtime/components/input/number/number.component.js +0 -9
  130. app-rn-runtime/components/input/number/number.component.js.map +1 -1
  131. app-rn-runtime/components/input/radioset/radioset.component.js +0 -40
  132. app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
  133. app-rn-runtime/components/input/rating/rating.component.js +1 -1
  134. app-rn-runtime/components/input/rating/rating.component.js.map +1 -1
  135. app-rn-runtime/components/input/slider/slider.component.js +1 -1
  136. app-rn-runtime/components/input/slider/slider.component.js.map +1 -1
  137. app-rn-runtime/components/input/switch/switch.component.js +19 -22
  138. app-rn-runtime/components/input/switch/switch.component.js.map +1 -1
  139. app-rn-runtime/components/input/switch/switch.styles.js +7 -7
  140. app-rn-runtime/components/input/switch/switch.styles.js.map +1 -1
  141. app-rn-runtime/components/input/text/text.component.js +1 -10
  142. app-rn-runtime/components/input/text/text.component.js.map +1 -1
  143. app-rn-runtime/components/input/textarea/textarea.component.js +0 -10
  144. app-rn-runtime/components/input/textarea/textarea.component.js.map +1 -1
  145. app-rn-runtime/components/input/toggle/toggle.component.js +1 -1
  146. app-rn-runtime/components/input/toggle/toggle.component.js.map +1 -1
  147. app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js +1 -1
  148. app-rn-runtime/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
  149. app-rn-runtime/components/navigation/basenav/basenav.props.js +1 -0
  150. app-rn-runtime/components/navigation/basenav/basenav.props.js.map +1 -1
  151. app-rn-runtime/components/navigation/menu/menu.component.js +2 -1
  152. app-rn-runtime/components/navigation/menu/menu.component.js.map +1 -1
  153. app-rn-runtime/components/navigation/navbar/navbar.component.js +2 -0
  154. app-rn-runtime/components/navigation/navbar/navbar.component.js.map +1 -1
  155. app-rn-runtime/components/navigation/navitem/navitem.component.js +4 -3
  156. app-rn-runtime/components/navigation/navitem/navitem.component.js.map +1 -1
  157. app-rn-runtime/components/navigation/navitem/navitem.props.js +1 -0
  158. app-rn-runtime/components/navigation/navitem/navitem.props.js.map +1 -1
  159. app-rn-runtime/components/navigation/popover/popover.component.js +1 -1
  160. app-rn-runtime/components/navigation/popover/popover.component.js.map +1 -1
  161. app-rn-runtime/components/page/content/content.component.js +1 -1
  162. app-rn-runtime/components/page/content/content.component.js.map +1 -1
  163. app-rn-runtime/components/page/left-panel/left-panel.component.js +1 -1
  164. app-rn-runtime/components/page/left-panel/left-panel.component.js.map +1 -1
  165. app-rn-runtime/components/page/page-content/page-content.component.js +2 -2
  166. app-rn-runtime/components/page/page-content/page-content.component.js.map +1 -1
  167. app-rn-runtime/components/page/page.component.js +1 -1
  168. app-rn-runtime/components/page/page.component.js.map +1 -1
  169. app-rn-runtime/components/page/partial/partial.component.js +1 -1
  170. app-rn-runtime/components/page/partial/partial.component.js.map +1 -1
  171. app-rn-runtime/components/page/partial-container/partial-container.component.js +1 -1
  172. app-rn-runtime/components/page/partial-container/partial-container.component.js.map +1 -1
  173. app-rn-runtime/components/page/partial-container/partial-container.styles.js +2 -1
  174. app-rn-runtime/components/page/partial-container/partial-container.styles.js.map +1 -1
  175. app-rn-runtime/components/page/tabbar/tabbar.component.js +2 -1
  176. app-rn-runtime/components/page/tabbar/tabbar.component.js.map +1 -1
  177. app-rn-runtime/components/prefab/prefab-container.component.js +1 -1
  178. app-rn-runtime/components/prefab/prefab-container.component.js.map +1 -1
  179. app-rn-runtime/core/asset.provider.js +5 -0
  180. app-rn-runtime/core/asset.provider.js.map +1 -0
  181. app-rn-runtime/core/base.component.js +113 -41
  182. app-rn-runtime/core/base.component.js.map +1 -1
  183. app-rn-runtime/core/imageSizeEstimator.js +1 -0
  184. app-rn-runtime/core/imageSizeEstimator.js.map +1 -1
  185. app-rn-runtime/core/injector.js +15 -1
  186. app-rn-runtime/core/injector.js.map +1 -1
  187. app-rn-runtime/core/tappable.component.js +9 -2
  188. app-rn-runtime/core/tappable.component.js.map +1 -1
  189. app-rn-runtime/core/utils.js +6 -0
  190. app-rn-runtime/core/utils.js.map +1 -1
  191. app-rn-runtime/gestures/swipe.animation.js +105 -0
  192. app-rn-runtime/gestures/swipe.animation.js.map +1 -0
  193. app-rn-runtime/package.json +5 -5
  194. app-rn-runtime/runtime/App.js +20 -15
  195. app-rn-runtime/runtime/App.js.map +1 -1
  196. app-rn-runtime/runtime/App.navigator.js +2 -12
  197. app-rn-runtime/runtime/App.navigator.js.map +1 -1
  198. app-rn-runtime/runtime/base-fragment.component.js +6 -4
  199. app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
  200. app-rn-runtime/runtime/navigator/drawer.navigator.js +4 -0
  201. app-rn-runtime/runtime/navigator/drawer.navigator.js.map +1 -1
  202. app-rn-runtime/runtime/navigator/stack.navigator.js +5 -1
  203. app-rn-runtime/runtime/navigator/stack.navigator.js.map +1 -1
  204. app-rn-runtime/runtime/services/device/camera-service.js +28 -6
  205. app-rn-runtime/runtime/services/device/camera-service.js.map +1 -1
  206. app-rn-runtime/runtime/services/device/scan-service.js +15 -14
  207. app-rn-runtime/runtime/services/device/scan-service.js.map +1 -1
  208. app-rn-runtime/styles/background.component.js +259 -0
  209. app-rn-runtime/styles/background.component.js.map +1 -0
  210. app-rn-runtime/styles/style-prop.validator.js +11 -6
  211. app-rn-runtime/styles/style-prop.validator.js.map +1 -1
  212. app-rn-runtime/styles/style-props.js +93 -0
  213. app-rn-runtime/styles/style-props.js.map +1 -0
  214. app-rn-runtime/styles/theme.js +5 -36
  215. app-rn-runtime/styles/theme.js.map +1 -1
  216. app-rn-runtime/variables/device/camera/capture-image.operation.js.map +1 -1
  217. app-rn-runtime/variables/device/camera/capture-video.operation.js.map +1 -1
  218. app-rn-runtime/variables/device/file/upload-file.operation.js +43 -21
  219. app-rn-runtime/variables/device/file/upload-file.operation.js.map +1 -1
  220. app-rn-runtime/variables/http.service.js +3 -12
  221. app-rn-runtime/variables/http.service.js.map +1 -1
  222. app-rn-runtime/variables/service-variable.js +19 -8
  223. app-rn-runtime/variables/service-variable.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","Tappable","WmLabelProps","DEFAULT_CLASS","isNil","toString","Animatedview","createSkeleton","WmLabelState","WmLabel","constructor","props","getAsterisk","styles","asterisk","getMultilineSkeleton","width","height","borderRadius","marginBottom","theme","skeleton","renderSkeleton","skeletonWidth","skeletonwidth","root","skeletonHeight","skeletonheight","text","fontSize","multilineskeleton","renderWidget","caption","animation","color","isValid","wrap","undefined","required"],"sources":["label.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\n\nimport WmLabelProps from './label.props';\nimport { DEFAULT_CLASS, WmLabelStyles } from './label.styles';\nimport { isNil, toString } from 'lodash-es';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport WmSkeleton, { createSkeleton } from '../skeleton/skeleton.component';\nimport { totalMonths } from 'react-native-paper-dates/lib/typescript/Date/dateUtils';\n\nexport class WmLabelState extends BaseComponentState<WmLabelProps> {\n\n}\n\nexport default class WmLabel extends BaseComponent<WmLabelProps, WmLabelState, WmLabelStyles> {\n\n constructor(props: WmLabelProps) {\n super(props, DEFAULT_CLASS, new WmLabelProps());\n }\n\n private getAsterisk () {\n return <Text style={this.styles.asterisk}>*</Text>;\n }\n\n private getMultilineSkeleton(width: any, height: any) {\n const styles = {\n borderRadius:4,\n marginBottom: 10,\n height: height\n };\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...styles,\n width: width,\n height: height\n });\n }\n\n public renderSkeleton(props: WmLabelProps){\n const skeletonWidth = this.props.skeletonwidth || this.styles.root?.width;\n const skeletonHeight = this.props.skeletonheight || this.styles.root?.height || this.styles.text.fontSize;\n if(this.props.multilineskeleton) {\n return (<View style={{\n width: skeletonWidth\n }}>\n {this.getMultilineSkeleton('100%', skeletonHeight)}\n {this.getMultilineSkeleton('70%', skeletonHeight)}\n {this.getMultilineSkeleton('40%', skeletonHeight)}\n </View>)\n }\n else{\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: skeletonWidth,\n height: skeletonHeight\n }); \n }\n }\n\n renderWidget(props: WmLabelProps) {\n return !isNil(props.caption)? (\n <Animatedview entryanimation={props.animation} style={this.styles.root}>\n <Tappable target={this}>\n <Text\n style={[this.styles.text, \n {color: props.isValid === false ? 'red' : this.styles.text.color}]}\n numberOfLines={props.wrap ? undefined : 1}>\n {toString(props.caption)}\n {props.required && this.getAsterisk()}\n </Text>\n </Tappable>\n </Animatedview>\n ): null;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","Tappable","WmLabelProps","DEFAULT_CLASS","isNil","toString","Animatedview","createSkeleton","WmLabelState","WmLabel","constructor","props","getAsterisk","styles","asterisk","getMultilineSkeleton","width","height","borderRadius","marginBottom","theme","skeleton","renderSkeleton","skeletonWidth","skeletonwidth","root","skeletonHeight","skeletonheight","text","fontSize","multilineskeleton","renderWidget","caption","animation","_background","color","isValid","wrap","undefined","required"],"sources":["label.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\n\nimport WmLabelProps from './label.props';\nimport { DEFAULT_CLASS, WmLabelStyles } from './label.styles';\nimport { isNil, toString } from 'lodash-es';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport WmSkeleton, { createSkeleton } from '../skeleton/skeleton.component';\nimport { totalMonths } from 'react-native-paper-dates/lib/typescript/Date/dateUtils';\n\nexport class WmLabelState extends BaseComponentState<WmLabelProps> {\n\n}\n\nexport default class WmLabel extends BaseComponent<WmLabelProps, WmLabelState, WmLabelStyles> {\n\n constructor(props: WmLabelProps) {\n super(props, DEFAULT_CLASS, new WmLabelProps());\n }\n\n private getAsterisk () {\n return <Text style={this.styles.asterisk}>*</Text>;\n }\n\n private getMultilineSkeleton(width: any, height: any) {\n const styles = {\n borderRadius:4,\n marginBottom: 10,\n height: height\n };\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...styles,\n width: width,\n height: height\n });\n }\n\n public renderSkeleton(props: WmLabelProps){\n const skeletonWidth = this.props.skeletonwidth || this.styles.root?.width;\n const skeletonHeight = this.props.skeletonheight || this.styles.root?.height || this.styles.text.fontSize;\n if(this.props.multilineskeleton) {\n return (<View style={{\n width: skeletonWidth\n }}>\n {this.getMultilineSkeleton('100%', skeletonHeight)}\n {this.getMultilineSkeleton('70%', skeletonHeight)}\n {this.getMultilineSkeleton('40%', skeletonHeight)}\n </View>)\n }\n else{\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: skeletonWidth,\n height: skeletonHeight\n }); \n }\n }\n\n renderWidget(props: WmLabelProps) {\n return !isNil(props.caption)? (\n <Animatedview entryanimation={props.animation} style={this.styles.root}>\n {this._background}\n <Tappable target={this}>\n <Text\n style={[this.styles.text, \n {color: props.isValid === false ? 'red' : this.styles.text.color}]}\n numberOfLines={props.wrap ? undefined : 1}>\n {toString(props.caption)}\n {props.required && this.getAsterisk()}\n </Text>\n </Tappable>\n </Animatedview>\n ): null;\n }\n}\n"],"mappings":"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"}
@@ -54,7 +54,7 @@ export default class WmMessage extends BaseComponent {
54
54
  return /*#__PURE__*/React.createElement(Animatedview, {
55
55
  entryanimation: props.animation,
56
56
  style: styles.root
57
- }, /*#__PURE__*/React.createElement(WmIcon, {
57
+ }, this._background, /*#__PURE__*/React.createElement(WmIcon, {
58
58
  iconclass: props.type && MESSAGE_ICONS[props.type],
59
59
  styles: styles.icon
60
60
  }), /*#__PURE__*/React.createElement(View, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","BaseComponent","BaseComponentState","WmMessageProps","DEFAULT_CLASS","WmIcon","WmButton","Animatedview","WmMessageState","MESSAGE_ICONS","DEFAULT_TITLE","WmMessage","constructor","props","updateState","show","invokeEventCallback","showMessage","hideMessage","renderWidget","styles","theme","mergeStyle","getStyle","type","variant","animation","root","icon","message","title","text","caption","hideclose","closeBtn","close"],"sources":["message.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmMessageProps from './message.props';\nimport { DEFAULT_CLASS, WmMessageStyles } from './message.styles';\nimport WmIcon from '../icon/icon.component';\nimport WmButton from '../button/button.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\n\nexport class WmMessageState extends BaseComponentState<WmMessageProps> {}\n\nconst MESSAGE_ICONS = {\n 'success': 'wm-sl-l sl-check',\n 'warning': 'wm-sl-l sl-alarm-bell',\n 'error': 'fa fa-times-circle',\n 'info': 'wi wi-info',\n 'loading': 'fa fa-spinner fa-spin'\n};\n\nconst DEFAULT_TITLE = {\n 'success': 'Success',\n 'warning': 'Warning',\n 'error': 'Error',\n 'info': 'Info',\n 'loading': 'Processing'\n} as any;\n\nexport default class WmMessage extends BaseComponent<WmMessageProps, WmMessageState, WmMessageStyles> {\n\n constructor(props: WmMessageProps) {\n super(props, DEFAULT_CLASS, new WmMessageProps());\n }\n\n showMessage() {\n this.updateState({\n props: {\n show: true\n }\n } as WmMessageState);\n }\n\n hideMessage() {\n this.updateState({\n props: {\n show: false\n }\n } as WmMessageState);\n }\n\n close = () => {\n this.updateState({props: {\n show : false\n }}, () => this.invokeEventCallback('onClose', [null, this]));\n }\n\n renderWidget(props: WmMessageProps) {\n const styles = this.theme.mergeStyle(this.theme.getStyle(`${props.type}-${props.variant}-message`), this.styles);\n return (<Animatedview entryanimation={props.animation} style={styles.root}>\n <WmIcon\n iconclass={props.type && MESSAGE_ICONS[props.type]}\n styles={styles.icon}></WmIcon>\n <View style={styles.message}>\n <Text style={styles.title}>{props.title || DEFAULT_TITLE[props.type || '']}</Text>\n <Text style={styles.text}>{props.caption}</Text>\n </View>\n {props.hideclose ? null : (\n <WmButton\n iconclass=\"wi wi-close\"\n styles={styles.closeBtn}\n onTap={this.close}></WmButton>\n )}\n </Animatedview>);\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,cAAc,MAAM,iBAAiB;AAC5C,SAASC,aAAa,QAAyB,kBAAkB;AACjE,OAAOC,MAAM,MAAM,wBAAwB;AAC3C,OAAOC,QAAQ,MAAM,4BAA4B;AACjD,SAASC,YAAY,QAAQ,mEAAmE;AAEhG,OAAO,MAAMC,cAAc,SAASN,kBAAkB,CAAiB;AAEvE,MAAMO,aAAa,GAAG;EACpB,SAAS,EAAE,kBAAkB;EAC7B,SAAS,EAAE,uBAAuB;EAClC,OAAO,EAAE,oBAAoB;EAC7B,MAAM,EAAE,YAAY;EACpB,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,aAAa,GAAG;EACpB,SAAS,EAAE,SAAS;EACpB,SAAS,EAAE,SAAS;EACpB,OAAO,EAAE,OAAO;EAChB,MAAM,EAAE,MAAM;EACd,SAAS,EAAE;AACb,CAAQ;AAER,eAAe,MAAMC,SAAS,SAASV,aAAa,CAAkD;EAEpGW,WAAW,CAACC,KAAqB,EAAE;IACjC,KAAK,CAACA,KAAK,EAAET,aAAa,EAAE,IAAID,cAAc,EAAE,CAAC;IAAC,+BAmB5C,MAAM;MACZ,IAAI,CAACW,WAAW,CAAC;QAACD,KAAK,EAAE;UACvBE,IAAI,EAAG;QACT;MAAC,CAAC,EAAE,MAAM,IAAI,CAACC,mBAAmB,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;EAtBD;EAEAC,WAAW,GAAG;IACZ,IAAI,CAACH,WAAW,CAAC;MACfD,KAAK,EAAE;QACLE,IAAI,EAAE;MACR;IACF,CAAC,CAAmB;EACtB;EAEAG,WAAW,GAAG;IACZ,IAAI,CAACJ,WAAW,CAAC;MACfD,KAAK,EAAE;QACLE,IAAI,EAAE;MACR;IACF,CAAC,CAAmB;EACtB;EAQAI,YAAY,CAACN,KAAqB,EAAE;IAClC,MAAMO,MAAM,GAAG,IAAI,CAACC,KAAK,CAACC,UAAU,CAAC,IAAI,CAACD,KAAK,CAACE,QAAQ,CAAE,GAAEV,KAAK,CAACW,IAAK,IAAGX,KAAK,CAACY,OAAQ,UAAS,CAAC,EAAE,IAAI,CAACL,MAAM,CAAC;IAChH,oBAAQ,oBAAC,YAAY;MAAC,cAAc,EAAEP,KAAK,CAACa,SAAU;MAAC,KAAK,EAAEN,MAAM,CAACO;IAAK,gBACxE,oBAAC,MAAM;MACL,SAAS,EAAEd,KAAK,CAACW,IAAI,IAAIf,aAAa,CAACI,KAAK,CAACW,IAAI,CAAE;MACnD,MAAM,EAAEJ,MAAM,CAACQ;IAAK,EAAU,eAChC,oBAAC,IAAI;MAAC,KAAK,EAAER,MAAM,CAACS;IAAQ,gBAC1B,oBAAC,IAAI;MAAC,KAAK,EAAET,MAAM,CAACU;IAAM,GAAEjB,KAAK,CAACiB,KAAK,IAAIpB,aAAa,CAACG,KAAK,CAACW,IAAI,IAAI,EAAE,CAAC,CAAQ,eAClF,oBAAC,IAAI;MAAC,KAAK,EAAEJ,MAAM,CAACW;IAAK,GAAElB,KAAK,CAACmB,OAAO,CAAQ,CAC3C,EACNnB,KAAK,CAACoB,SAAS,GAAG,IAAI,gBACrB,oBAAC,QAAQ;MACP,SAAS,EAAC,aAAa;MACvB,MAAM,EAAEb,MAAM,CAACc,QAAS;MACxB,KAAK,EAAE,IAAI,CAACC;IAAM,EACrB,CACY;EACjB;AACF"}
1
+ {"version":3,"names":["React","View","Text","BaseComponent","BaseComponentState","WmMessageProps","DEFAULT_CLASS","WmIcon","WmButton","Animatedview","WmMessageState","MESSAGE_ICONS","DEFAULT_TITLE","WmMessage","constructor","props","updateState","show","invokeEventCallback","showMessage","hideMessage","renderWidget","styles","theme","mergeStyle","getStyle","type","variant","animation","root","_background","icon","message","title","text","caption","hideclose","closeBtn","close"],"sources":["message.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmMessageProps from './message.props';\nimport { DEFAULT_CLASS, WmMessageStyles } from './message.styles';\nimport WmIcon from '../icon/icon.component';\nimport WmButton from '../button/button.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\n\nexport class WmMessageState extends BaseComponentState<WmMessageProps> {}\n\nconst MESSAGE_ICONS = {\n 'success': 'wm-sl-l sl-check',\n 'warning': 'wm-sl-l sl-alarm-bell',\n 'error': 'fa fa-times-circle',\n 'info': 'wi wi-info',\n 'loading': 'fa fa-spinner fa-spin'\n};\n\nconst DEFAULT_TITLE = {\n 'success': 'Success',\n 'warning': 'Warning',\n 'error': 'Error',\n 'info': 'Info',\n 'loading': 'Processing'\n} as any;\n\nexport default class WmMessage extends BaseComponent<WmMessageProps, WmMessageState, WmMessageStyles> {\n\n constructor(props: WmMessageProps) {\n super(props, DEFAULT_CLASS, new WmMessageProps());\n }\n\n showMessage() {\n this.updateState({\n props: {\n show: true\n }\n } as WmMessageState);\n }\n\n hideMessage() {\n this.updateState({\n props: {\n show: false\n }\n } as WmMessageState);\n }\n\n close = () => {\n this.updateState({props: {\n show : false\n }}, () => this.invokeEventCallback('onClose', [null, this]));\n }\n\n renderWidget(props: WmMessageProps) {\n const styles = this.theme.mergeStyle(this.theme.getStyle(`${props.type}-${props.variant}-message`), this.styles);\n return (<Animatedview entryanimation={props.animation} style={styles.root}>\n {this._background}\n <WmIcon\n iconclass={props.type && MESSAGE_ICONS[props.type]}\n styles={styles.icon}></WmIcon>\n <View style={styles.message}>\n <Text style={styles.title}>{props.title || DEFAULT_TITLE[props.type || '']}</Text>\n <Text style={styles.text}>{props.caption}</Text>\n </View>\n {props.hideclose ? null : (\n <WmButton\n iconclass=\"wi wi-close\"\n styles={styles.closeBtn}\n onTap={this.close}></WmButton>\n )}\n </Animatedview>);\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,cAAc,MAAM,iBAAiB;AAC5C,SAASC,aAAa,QAAyB,kBAAkB;AACjE,OAAOC,MAAM,MAAM,wBAAwB;AAC3C,OAAOC,QAAQ,MAAM,4BAA4B;AACjD,SAASC,YAAY,QAAQ,mEAAmE;AAEhG,OAAO,MAAMC,cAAc,SAASN,kBAAkB,CAAiB;AAEvE,MAAMO,aAAa,GAAG;EACpB,SAAS,EAAE,kBAAkB;EAC7B,SAAS,EAAE,uBAAuB;EAClC,OAAO,EAAE,oBAAoB;EAC7B,MAAM,EAAE,YAAY;EACpB,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,aAAa,GAAG;EACpB,SAAS,EAAE,SAAS;EACpB,SAAS,EAAE,SAAS;EACpB,OAAO,EAAE,OAAO;EAChB,MAAM,EAAE,MAAM;EACd,SAAS,EAAE;AACb,CAAQ;AAER,eAAe,MAAMC,SAAS,SAASV,aAAa,CAAkD;EAEpGW,WAAW,CAACC,KAAqB,EAAE;IACjC,KAAK,CAACA,KAAK,EAAET,aAAa,EAAE,IAAID,cAAc,EAAE,CAAC;IAAC,+BAmB5C,MAAM;MACZ,IAAI,CAACW,WAAW,CAAC;QAACD,KAAK,EAAE;UACvBE,IAAI,EAAG;QACT;MAAC,CAAC,EAAE,MAAM,IAAI,CAACC,mBAAmB,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;EAtBD;EAEAC,WAAW,GAAG;IACZ,IAAI,CAACH,WAAW,CAAC;MACfD,KAAK,EAAE;QACLE,IAAI,EAAE;MACR;IACF,CAAC,CAAmB;EACtB;EAEAG,WAAW,GAAG;IACZ,IAAI,CAACJ,WAAW,CAAC;MACfD,KAAK,EAAE;QACLE,IAAI,EAAE;MACR;IACF,CAAC,CAAmB;EACtB;EAQAI,YAAY,CAACN,KAAqB,EAAE;IAClC,MAAMO,MAAM,GAAG,IAAI,CAACC,KAAK,CAACC,UAAU,CAAC,IAAI,CAACD,KAAK,CAACE,QAAQ,CAAE,GAAEV,KAAK,CAACW,IAAK,IAAGX,KAAK,CAACY,OAAQ,UAAS,CAAC,EAAE,IAAI,CAACL,MAAM,CAAC;IAChH,oBAAQ,oBAAC,YAAY;MAAC,cAAc,EAAEP,KAAK,CAACa,SAAU;MAAC,KAAK,EAAEN,MAAM,CAACO;IAAK,GACvE,IAAI,CAACC,WAAW,eACjB,oBAAC,MAAM;MACL,SAAS,EAAEf,KAAK,CAACW,IAAI,IAAIf,aAAa,CAACI,KAAK,CAACW,IAAI,CAAE;MACnD,MAAM,EAAEJ,MAAM,CAACS;IAAK,EAAU,eAChC,oBAAC,IAAI;MAAC,KAAK,EAAET,MAAM,CAACU;IAAQ,gBAC1B,oBAAC,IAAI;MAAC,KAAK,EAAEV,MAAM,CAACW;IAAM,GAAElB,KAAK,CAACkB,KAAK,IAAIrB,aAAa,CAACG,KAAK,CAACW,IAAI,IAAI,EAAE,CAAC,CAAQ,eAClF,oBAAC,IAAI;MAAC,KAAK,EAAEJ,MAAM,CAACY;IAAK,GAAEnB,KAAK,CAACoB,OAAO,CAAQ,CAC3C,EACNpB,KAAK,CAACqB,SAAS,GAAG,IAAI,gBACrB,oBAAC,QAAQ;MACP,SAAS,EAAC,aAAa;MACvB,MAAM,EAAEd,MAAM,CAACe,QAAS;MACxB,KAAK,EAAE,IAAI,CAACC;IAAM,EACrB,CACY;EACjB;AACF"}
@@ -25,6 +25,8 @@ export class WmPictureState extends BaseComponentState {
25
25
  export default class WmPicture extends BaseComponent {
26
26
  constructor(props) {
27
27
  super(props, DEFAULT_CLASS, new WmPictureProps());
28
+ _defineProperty(this, "_pictureSource", null);
29
+ _defineProperty(this, "_picturePlaceHolder", null);
28
30
  _defineProperty(this, "onViewLayoutChange", e => {
29
31
  let imageWidth = e.nativeEvent.layout.width;
30
32
  let imageHeight = e.nativeEvent.layout.height;
@@ -45,34 +47,41 @@ export default class WmPicture extends BaseComponent {
45
47
  });
46
48
  });
47
49
  }
50
+ loadImage(image) {
51
+ if (!image || !this.loadAsset) {
52
+ return null;
53
+ }
54
+ const imageSrc = this.loadAsset(image);
55
+ if (imageSrc && typeof imageSrc === 'object' && typeof imageSrc.default === 'function') {
56
+ return null;
57
+ }
58
+ if (isNumber(imageSrc)) {
59
+ const {
60
+ width,
61
+ height
62
+ } = Image.resolveAssetSource(imageSrc);
63
+ this.updateState({
64
+ naturalImageWidth: width,
65
+ naturalImageHeight: height
66
+ });
67
+ } else if (imageSrc !== null) {
68
+ const cancel = ImageSizeEstimator.getSize(imageSrc, (width, height) => {
69
+ this.updateState({
70
+ naturalImageWidth: width,
71
+ naturalImageHeight: height
72
+ });
73
+ this.cleanup.splice(this.cleanup.indexOf(cancel), 1);
74
+ });
75
+ this.cleanup.push(cancel);
76
+ }
77
+ return imageSrc;
78
+ }
48
79
  onPropertyChange(name, $new, $old) {
49
- let imageSrc;
50
80
  switch (name) {
51
81
  case 'picturesource':
82
+ this._pictureSource = null;
52
83
  case 'pictureplaceholder':
53
- imageSrc = this.state.props.picturesource || $new;
54
- if (imageSrc && typeof imageSrc === 'object' && typeof imageSrc.default === 'function') {
55
- return;
56
- }
57
- if (isNumber(imageSrc)) {
58
- const {
59
- width,
60
- height
61
- } = Image.resolveAssetSource(imageSrc);
62
- this.updateState({
63
- naturalImageWidth: width,
64
- naturalImageHeight: height
65
- });
66
- } else if (imageSrc !== null) {
67
- const cancel = ImageSizeEstimator.getSize(imageSrc, (width, height) => {
68
- this.updateState({
69
- naturalImageWidth: width,
70
- naturalImageHeight: height
71
- });
72
- this.cleanup.splice(this.cleanup.indexOf(cancel), 1);
73
- });
74
- this.cleanup.push(cancel);
75
- }
84
+ this._picturePlaceHolder = null;
76
85
  break;
77
86
  }
78
87
  }
@@ -144,7 +153,9 @@ export default class WmPicture extends BaseComponent {
144
153
  const imageWidth = this.state.imageWidth;
145
154
  const imageHeight = this.state.imageHeight;
146
155
  const shapeStyles = this.createShape(props.shape, imageWidth);
147
- const imgSrc = props.picturesource || props.pictureplaceholder;
156
+ this._pictureSource = this._pictureSource || this.loadImage(props.picturesource);
157
+ this._picturePlaceHolder = this._picturePlaceHolder || this.loadImage(props.pictureplaceholder);
158
+ const imgSrc = this._pictureSource || this._picturePlaceHolder;
148
159
  let elementToshow;
149
160
  if (imgSrc) {
150
161
  elementToshow = this.getElementToShow(props, imgSrc, shapeStyles);
@@ -154,7 +165,7 @@ export default class WmPicture extends BaseComponent {
154
165
  width: imageWidth,
155
166
  height: imageHeight
156
167
  }, this.styles.root, shapeStyles.root, shapeStyles.picture]
157
- }, /*#__PURE__*/React.createElement(View, {
168
+ }, this._background, /*#__PURE__*/React.createElement(View, {
158
169
  style: [{
159
170
  overflow: 'hidden',
160
171
  width: '100%',
@@ -1 +1 @@
1
- {"version":3,"names":["React","Image","View","SvgUri","isNumber","isString","Tappable","BaseComponent","BaseComponentState","ImageSizeEstimator","isWebPreviewMode","WmPictureProps","DEFAULT_CLASS","Animatedview","createSkeleton","WmPictureState","WmPicture","constructor","props","e","imageWidth","nativeEvent","layout","width","imageHeight","height","styles","root","includes","state","naturalImageHeight","naturalImageWidth","updateState","onPropertyChange","name","$new","$old","imageSrc","picturesource","default","resolveAssetSource","cancel","getSize","cleanup","splice","indexOf","push","createShape","shape","picture","borderRadius","theme","getStyle","getElementToShow","imgSrc","shapeStyles","elementToshow","source","imgStyle","resizemode","createElement","isSvg","startsWith","uri","renderSkeleton","skeletonWidth","skeletonwidth","skeletonHeight","skeletonheight","skeleton","renderWidget","pictureplaceholder","overflow","onViewLayoutChange","animation"],"sources":["picture.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Image, LayoutChangeEvent, View } from 'react-native';\nimport { SvgUri } from 'react-native-svg';\nimport { isNumber, isString } from 'lodash-es';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport ImageSizeEstimator from '@wavemaker/app-rn-runtime/core/imageSizeEstimator';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\n\nimport WmPictureProps from './picture.props';\nimport { DEFAULT_CLASS, WmPictureStyles } from './picture.styles';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport WmSkeleton, { createSkeleton } from '../skeleton/skeleton.component';\n\nexport class WmPictureState extends BaseComponentState<WmPictureProps> {\n naturalImageWidth: number = 0;\n naturalImageHeight: number = 0;\n imageWidth: number = 0;\n imageHeight: number = 0;\n}\n\nexport default class WmPicture extends BaseComponent<WmPictureProps, WmPictureState, WmPictureStyles> {\n\n constructor(props: WmPictureProps) {\n super(props, DEFAULT_CLASS, new WmPictureProps());\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n let imageSrc;\n switch(name) {\n case 'picturesource':\n case 'pictureplaceholder':\n imageSrc = this.state.props.picturesource || $new;\n if (imageSrc && typeof imageSrc === 'object' && typeof imageSrc.default === 'function') {\n return;\n }\n if (isNumber(imageSrc)) {\n const {width, height} = Image.resolveAssetSource(imageSrc);\n this.updateState({\n naturalImageWidth: width,\n naturalImageHeight: height\n } as WmPictureState);\n } else if (imageSrc !== null) {\n const cancel = ImageSizeEstimator.getSize(imageSrc, (width: number, height: number) => {\n this.updateState({\n naturalImageWidth: width,\n naturalImageHeight: height\n } as WmPictureState);\n this.cleanup.splice(this.cleanup.indexOf(cancel), 1);\n });\n this.cleanup.push(cancel);\n }\n break;\n }\n }\n\n onViewLayoutChange = (e: LayoutChangeEvent) => {\n let imageWidth = e.nativeEvent.layout.width;\n let imageHeight = e.nativeEvent.layout.height;\n if (!imageWidth && !imageHeight) {\n return;\n }\n if (!this.styles.root.height\n || (typeof this.styles.root.height === 'string'\n && !this.styles.root.height.includes('%'))) {\n imageHeight = 0;\n }\n if (imageWidth && !imageHeight) {\n imageHeight = imageWidth * this.state.naturalImageHeight / this.state.naturalImageWidth;\n } else if (imageHeight && !imageWidth) {\n imageWidth = imageHeight * this.state.naturalImageWidth / this.state.naturalImageHeight;\n }\n this.updateState({\n imageWidth: imageWidth,\n imageHeight: imageHeight\n } as WmPictureState);\n };\n\n createShape(shape: string | undefined, imageWidth?: number | string): WmPictureStyles {\n if (shape) {\n switch(shape) {\n case 'circle':\n return {\n picture: {\n borderRadius: isNumber(imageWidth) ? imageWidth / 2 : 4\n }\n } as WmPictureStyles;\n case 'rounded' :\n return (this.theme.getStyle('rounded-image') as WmPictureStyles);\n case 'thumbnail' :\n return (this.theme.getStyle('thumbnail-image') as WmPictureStyles);\n }\n }\n return {} as WmPictureStyles;\n }\n\n getElementToShow(props: WmPictureProps, imgSrc: any, shapeStyles: WmPictureStyles) {\n let elementToshow, source;\n if (imgSrc && typeof imgSrc === 'object' && typeof imgSrc?.default === 'function') {\n let imgStyle : any = {};\n if (props.resizemode === 'contain') {\n imgStyle['width'] = '100%';\n imgStyle['height'] = '100%';\n }\n elementToshow = React.createElement(imgSrc?.default, imgStyle);\n } else if (!isWebPreviewMode() && props.isSvg) {\n // svg from uri\n elementToshow = <SvgUri width={this.styles.root.width} height={this.styles.root.height} uri={imgSrc}/>;\n } else if (isString(imgSrc) && (imgSrc.startsWith('http') || imgSrc.startsWith('file:'))) {\n source = {\n uri: imgSrc\n };\n } else {\n source = imgSrc;\n }\n if (this.state.naturalImageWidth) {\n elementToshow = <Image style={[this.styles.picture, shapeStyles.picture]} resizeMode={props.resizemode} source={source}/>;\n }\n return elementToshow;\n }\n \n public renderSkeleton(props: WmPictureProps){\n const imageWidth = this.state.imageWidth;\n const imageHeight = this.state.imageHeight;\n const shapeStyles = this.createShape(this.props.shape, imageWidth);\n const skeletonWidth = this.props.skeletonwidth || this.styles.root?.width || shapeStyles.root?.width || shapeStyles.picture?.width || imageWidth; \n const skeletonHeight = this.props.skeletonheight || this.styles.root?.height || shapeStyles.root?.height || shapeStyles.picture?.height || imageHeight;\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n borderRadius: this.props.shape == 'circle' && this.styles.root?.width ? 25 : shapeStyles.picture?.borderRadius || shapeStyles.root?.borderRadius || this.styles.root?.borderRadius || 4,\n width: skeletonWidth,\n height: skeletonHeight\n });\n }\n\n renderWidget(props: WmPictureProps) {\n const imageWidth = this.state.imageWidth;\n const imageHeight = this.state.imageHeight;\n const shapeStyles = this.createShape(props.shape, imageWidth);\n const imgSrc: any = props.picturesource || props.pictureplaceholder;\n let elementToshow;\n if (imgSrc) {\n elementToshow = this.getElementToShow(props, imgSrc, shapeStyles);\n }\n return imgSrc && (this.state.naturalImageWidth || props.isSvg) ? (\n <View style={[{\n width: imageWidth,\n height: imageHeight\n }, this.styles.root, shapeStyles.root, shapeStyles.picture]}>\n <View style={[{overflow: 'hidden', width: '100%',\n height: '100%'}]} onLayout={this.onViewLayoutChange}>\n <Tappable target={this} styles={{width: imageWidth ? null : '100%', height: imageHeight ? null : '100%'}}>\n <Animatedview entryanimation={props.animation} style={[{\n height: imageHeight,\n width: imageWidth,\n borderRadius: shapeStyles.picture?.borderRadius\n }]}>\n {this.state.imageWidth ? elementToshow : null}\n </Animatedview>\n </Tappable>\n </View>\n </View>\n ): null;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Image","View","SvgUri","isNumber","isString","Tappable","BaseComponent","BaseComponentState","ImageSizeEstimator","isWebPreviewMode","WmPictureProps","DEFAULT_CLASS","Animatedview","createSkeleton","WmPictureState","WmPicture","constructor","props","e","imageWidth","nativeEvent","layout","width","imageHeight","height","styles","root","includes","state","naturalImageHeight","naturalImageWidth","updateState","loadImage","image","loadAsset","imageSrc","default","resolveAssetSource","cancel","getSize","cleanup","splice","indexOf","push","onPropertyChange","name","$new","$old","_pictureSource","_picturePlaceHolder","createShape","shape","picture","borderRadius","theme","getStyle","getElementToShow","imgSrc","shapeStyles","elementToshow","source","imgStyle","resizemode","createElement","isSvg","startsWith","uri","renderSkeleton","skeletonWidth","skeletonwidth","skeletonHeight","skeletonheight","skeleton","renderWidget","picturesource","pictureplaceholder","_background","overflow","onViewLayoutChange","animation"],"sources":["picture.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Image, LayoutChangeEvent, View } from 'react-native';\nimport { SvgUri } from 'react-native-svg';\nimport { isNumber, isString } from 'lodash-es';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport ImageSizeEstimator from '@wavemaker/app-rn-runtime/core/imageSizeEstimator';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\n\nimport WmPictureProps from './picture.props';\nimport { DEFAULT_CLASS, WmPictureStyles } from './picture.styles';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport WmSkeleton, { createSkeleton } from '../skeleton/skeleton.component';\n\nexport class WmPictureState extends BaseComponentState<WmPictureProps> {\n naturalImageWidth: number = 0;\n naturalImageHeight: number = 0;\n imageWidth: number = 0;\n imageHeight: number = 0;\n}\n\nexport default class WmPicture extends BaseComponent<WmPictureProps, WmPictureState, WmPictureStyles> {\n\n private _pictureSource = null as any;\n private _picturePlaceHolder = null as any;\n\n constructor(props: WmPictureProps) {\n super(props, DEFAULT_CLASS, new WmPictureProps());\n }\n\n loadImage(image: string | undefined) {\n if (!image || !this.loadAsset) {\n return null;\n }\n const imageSrc = this.loadAsset(image) as any;\n if (imageSrc && typeof imageSrc === 'object' && typeof imageSrc.default === 'function') {\n return null;\n }\n if (isNumber(imageSrc)) {\n const {width, height} = Image.resolveAssetSource(imageSrc);\n this.updateState({\n naturalImageWidth: width,\n naturalImageHeight: height\n } as WmPictureState);\n } else if (imageSrc !== null) {\n const cancel = ImageSizeEstimator.getSize(imageSrc, (width: number, height: number) => {\n this.updateState({\n naturalImageWidth: width,\n naturalImageHeight: height\n } as WmPictureState);\n this.cleanup.splice(this.cleanup.indexOf(cancel), 1);\n });\n this.cleanup.push(cancel);\n }\n return imageSrc;\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch(name) {\n case 'picturesource':\n this._pictureSource = null;\n case 'pictureplaceholder':\n this._picturePlaceHolder = null;\n break;\n }\n }\n\n onViewLayoutChange = (e: LayoutChangeEvent) => {\n let imageWidth = e.nativeEvent.layout.width;\n let imageHeight = e.nativeEvent.layout.height;\n if (!imageWidth && !imageHeight) {\n return;\n }\n if (!this.styles.root.height\n || (typeof this.styles.root.height === 'string'\n && !this.styles.root.height.includes('%'))) {\n imageHeight = 0;\n }\n if (imageWidth && !imageHeight) {\n imageHeight = imageWidth * this.state.naturalImageHeight / this.state.naturalImageWidth;\n } else if (imageHeight && !imageWidth) {\n imageWidth = imageHeight * this.state.naturalImageWidth / this.state.naturalImageHeight;\n }\n this.updateState({\n imageWidth: imageWidth,\n imageHeight: imageHeight\n } as WmPictureState);\n };\n\n createShape(shape: string | undefined, imageWidth?: number | string): WmPictureStyles {\n if (shape) {\n switch(shape) {\n case 'circle':\n return {\n picture: {\n borderRadius: isNumber(imageWidth) ? imageWidth / 2 : 4\n }\n } as WmPictureStyles;\n case 'rounded' :\n return (this.theme.getStyle('rounded-image') as WmPictureStyles);\n case 'thumbnail' :\n return (this.theme.getStyle('thumbnail-image') as WmPictureStyles);\n }\n }\n return {} as WmPictureStyles;\n }\n\n getElementToShow(props: WmPictureProps, imgSrc: any, shapeStyles: WmPictureStyles) {\n let elementToshow, source;\n if (imgSrc && typeof imgSrc === 'object' && typeof imgSrc?.default === 'function') {\n let imgStyle : any = {};\n if (props.resizemode === 'contain') {\n imgStyle['width'] = '100%';\n imgStyle['height'] = '100%';\n }\n elementToshow = React.createElement(imgSrc?.default, imgStyle);\n } else if (!isWebPreviewMode() && props.isSvg) {\n // svg from uri\n elementToshow = <SvgUri width={this.styles.root.width} height={this.styles.root.height} uri={imgSrc}/>;\n } else if (isString(imgSrc) && (imgSrc.startsWith('http') || imgSrc.startsWith('file:'))) {\n source = {\n uri: imgSrc\n };\n } else {\n source = imgSrc;\n }\n if (this.state.naturalImageWidth) {\n elementToshow = <Image style={[this.styles.picture, shapeStyles.picture]} resizeMode={props.resizemode} source={source}/>;\n }\n return elementToshow;\n }\n \n public renderSkeleton(props: WmPictureProps){\n const imageWidth = this.state.imageWidth;\n const imageHeight = this.state.imageHeight;\n const shapeStyles = this.createShape(this.props.shape, imageWidth);\n const skeletonWidth = this.props.skeletonwidth || this.styles.root?.width || shapeStyles.root?.width || shapeStyles.picture?.width || imageWidth; \n const skeletonHeight = this.props.skeletonheight || this.styles.root?.height || shapeStyles.root?.height || shapeStyles.picture?.height || imageHeight;\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n borderRadius: this.props.shape == 'circle' && this.styles.root?.width ? 25 : shapeStyles.picture?.borderRadius || shapeStyles.root?.borderRadius || this.styles.root?.borderRadius || 4,\n width: skeletonWidth,\n height: skeletonHeight\n });\n }\n\n renderWidget(props: WmPictureProps) {\n const imageWidth = this.state.imageWidth;\n const imageHeight = this.state.imageHeight;\n const shapeStyles = this.createShape(props.shape, imageWidth);\n this._pictureSource = this._pictureSource || this.loadImage(props.picturesource);\n this._picturePlaceHolder = this._picturePlaceHolder || this.loadImage(props.pictureplaceholder);\n const imgSrc: any = this._pictureSource || this._picturePlaceHolder;\n let elementToshow;\n if (imgSrc) {\n elementToshow = this.getElementToShow(props, imgSrc, shapeStyles);\n }\n return imgSrc && (this.state.naturalImageWidth || props.isSvg) ? (\n <View style={[{\n width: imageWidth,\n height: imageHeight\n }, this.styles.root, shapeStyles.root, shapeStyles.picture]}>\n {this._background}\n <View style={[{overflow: 'hidden', width: '100%',\n height: '100%'}]} onLayout={this.onViewLayoutChange}>\n <Tappable target={this} styles={{width: imageWidth ? null : '100%', height: imageHeight ? null : '100%'}}>\n <Animatedview entryanimation={props.animation} style={[{\n height: imageHeight,\n width: imageWidth,\n borderRadius: shapeStyles.picture?.borderRadius\n }]}>\n {this.state.imageWidth ? elementToshow : null}\n </Animatedview>\n </Tappable>\n </View>\n </View>\n ): null;\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,KAAK,EAAqBC,IAAI,QAAQ,cAAc;AAC7D,SAASC,MAAM,QAAQ,kBAAkB;AACzC,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,WAAW;AAC9C,SAASC,QAAQ,QAAQ,mDAAmD;AAC5E,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AACjG,OAAOC,kBAAkB,MAAM,mDAAmD;AAClF,SAASC,gBAAgB,QAAQ,sCAAsC;AAEvE,OAAOC,cAAc,MAAM,iBAAiB;AAC5C,SAASC,aAAa,QAAyB,kBAAkB;AACjE,SAASC,YAAY,QAAQ,mEAAmE;AAChG,SAAqBC,cAAc,QAAQ,gCAAgC;AAE3E,OAAO,MAAMC,cAAc,SAASP,kBAAkB,CAAiB;EAAA;IAAA;IAAA,2CACzC,CAAC;IAAA,4CACA,CAAC;IAAA,oCACT,CAAC;IAAA,qCACA,CAAC;EAAA;AACzB;AAEA,eAAe,MAAMQ,SAAS,SAAST,aAAa,CAAkD;EAKpGU,WAAW,CAACC,KAAqB,EAAE;IACjC,KAAK,CAACA,KAAK,EAAEN,aAAa,EAAE,IAAID,cAAc,EAAE,CAAC;IAAC,wCAJ3B,IAAI;IAAA,6CACC,IAAI;IAAA,4CA2CZQ,CAAoB,IAAK;MAC7C,IAAIC,UAAU,GAAGD,CAAC,CAACE,WAAW,CAACC,MAAM,CAACC,KAAK;MAC3C,IAAIC,WAAW,GAAGL,CAAC,CAACE,WAAW,CAACC,MAAM,CAACG,MAAM;MAC7C,IAAI,CAACL,UAAU,IAAI,CAACI,WAAW,EAAE;QAC/B;MACF;MACA,IAAI,CAAC,IAAI,CAACE,MAAM,CAACC,IAAI,CAACF,MAAM,IACpB,OAAO,IAAI,CAACC,MAAM,CAACC,IAAI,CAACF,MAAM,KAAK,QAAQ,IAC1C,CAAC,IAAI,CAACC,MAAM,CAACC,IAAI,CAACF,MAAM,CAACG,QAAQ,CAAC,GAAG,CAAE,EAAE;QAC9CJ,WAAW,GAAG,CAAC;MACnB;MACA,IAAIJ,UAAU,IAAI,CAACI,WAAW,EAAE;QAC9BA,WAAW,GAAGJ,UAAU,GAAG,IAAI,CAACS,KAAK,CAACC,kBAAkB,GAAG,IAAI,CAACD,KAAK,CAACE,iBAAiB;MACzF,CAAC,MAAM,IAAIP,WAAW,IAAI,CAACJ,UAAU,EAAE;QACrCA,UAAU,GAAGI,WAAW,GAAG,IAAI,CAACK,KAAK,CAACE,iBAAiB,GAAG,IAAI,CAACF,KAAK,CAACC,kBAAkB;MACzF;MACA,IAAI,CAACE,WAAW,CAAC;QACfZ,UAAU,EAAEA,UAAU;QACtBI,WAAW,EAAEA;MACf,CAAC,CAAmB;IACtB,CAAC;EA3DD;EAEAS,SAAS,CAACC,KAAyB,EAAE;IACnC,IAAI,CAACA,KAAK,IAAI,CAAC,IAAI,CAACC,SAAS,EAAE;MAC7B,OAAO,IAAI;IACb;IACA,MAAMC,QAAQ,GAAG,IAAI,CAACD,SAAS,CAACD,KAAK,CAAQ;IAC7C,IAAIE,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ,IAAI,OAAOA,QAAQ,CAACC,OAAO,KAAK,UAAU,EAAE;MACtF,OAAO,IAAI;IACb;IACA,IAAIjC,QAAQ,CAACgC,QAAQ,CAAC,EAAE;MACtB,MAAM;QAACb,KAAK;QAAEE;MAAM,CAAC,GAAGxB,KAAK,CAACqC,kBAAkB,CAACF,QAAQ,CAAC;MAC1D,IAAI,CAACJ,WAAW,CAAC;QACfD,iBAAiB,EAAER,KAAK;QACxBO,kBAAkB,EAAEL;MACtB,CAAC,CAAmB;IACtB,CAAC,MAAM,IAAIW,QAAQ,KAAK,IAAI,EAAE;MAC5B,MAAMG,MAAM,GAAG9B,kBAAkB,CAAC+B,OAAO,CAACJ,QAAQ,EAAE,CAACb,KAAa,EAAEE,MAAc,KAAK;QACrF,IAAI,CAACO,WAAW,CAAC;UACfD,iBAAiB,EAAER,KAAK;UACxBO,kBAAkB,EAAEL;QACtB,CAAC,CAAmB;QACpB,IAAI,CAACgB,OAAO,CAACC,MAAM,CAAC,IAAI,CAACD,OAAO,CAACE,OAAO,CAACJ,MAAM,CAAC,EAAE,CAAC,CAAC;MACtD,CAAC,CAAC;MACF,IAAI,CAACE,OAAO,CAACG,IAAI,CAACL,MAAM,CAAC;IAC3B;IACA,OAAOH,QAAQ;EACjB;EAEAS,gBAAgB,CAACC,IAAY,EAAEC,IAAS,EAAEC,IAAS,EAAE;IACnD,QAAOF,IAAI;MACT,KAAK,eAAe;QAClB,IAAI,CAACG,cAAc,GAAG,IAAI;MAC5B,KAAK,oBAAoB;QACvB,IAAI,CAACC,mBAAmB,GAAG,IAAI;QAC/B;IAAM;EAEZ;EAwBAC,WAAW,CAACC,KAAyB,EAAEhC,UAA4B,EAAmB;IACpF,IAAIgC,KAAK,EAAE;MACT,QAAOA,KAAK;QACV,KAAK,QAAQ;UACX,OAAO;YACLC,OAAO,EAAE;cACPC,YAAY,EAAElD,QAAQ,CAACgB,UAAU,CAAC,GAAGA,UAAU,GAAG,CAAC,GAAG;YACxD;UACF,CAAC;QACH,KAAK,SAAS;UACZ,OAAQ,IAAI,CAACmC,KAAK,CAACC,QAAQ,CAAC,eAAe,CAAC;QAC9C,KAAK,WAAW;UACd,OAAQ,IAAI,CAACD,KAAK,CAACC,QAAQ,CAAC,iBAAiB,CAAC;MAAqB;IAEzE;IACA,OAAO,CAAC,CAAC;EACX;EAEAC,gBAAgB,CAACvC,KAAqB,EAAEwC,MAAW,EAAEC,WAA4B,EAAE;IACjF,IAAIC,aAAa,EAAEC,MAAM;IACzB,IAAIH,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAI,QAAOA,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAErB,OAAO,MAAK,UAAU,EAAE;MACjF,IAAIyB,QAAc,GAAG,CAAC,CAAC;MACvB,IAAI5C,KAAK,CAAC6C,UAAU,KAAK,SAAS,EAAE;QAClCD,QAAQ,CAAC,OAAO,CAAC,GAAG,MAAM;QAC1BA,QAAQ,CAAC,QAAQ,CAAC,GAAG,MAAM;MAC7B;MACAF,aAAa,gBAAG5D,KAAK,CAACgE,aAAa,CAACN,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAErB,OAAO,EAAEyB,QAAQ,CAAC;IAChE,CAAC,MAAM,IAAI,CAACpD,gBAAgB,EAAE,IAAIQ,KAAK,CAAC+C,KAAK,EAAE;MAC7C;MACAL,aAAa,gBAAG,oBAAC,MAAM;QAAC,KAAK,EAAE,IAAI,CAAClC,MAAM,CAACC,IAAI,CAACJ,KAAM;QAAC,MAAM,EAAE,IAAI,CAACG,MAAM,CAACC,IAAI,CAACF,MAAO;QAAC,GAAG,EAAEiC;MAAO,EAAE;IACxG,CAAC,MAAM,IAAIrD,QAAQ,CAACqD,MAAM,CAAC,KAAKA,MAAM,CAACQ,UAAU,CAAC,MAAM,CAAC,IAAIR,MAAM,CAACQ,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE;MACxFL,MAAM,GAAG;QACPM,GAAG,EAAET;MACP,CAAC;IACH,CAAC,MAAM;MACLG,MAAM,GAAGH,MAAM;IACjB;IACA,IAAI,IAAI,CAAC7B,KAAK,CAACE,iBAAiB,EAAE;MAChC6B,aAAa,gBAAG,oBAAC,KAAK;QAAC,KAAK,EAAE,CAAC,IAAI,CAAClC,MAAM,CAAC2B,OAAO,EAAEM,WAAW,CAACN,OAAO,CAAE;QAAC,UAAU,EAAEnC,KAAK,CAAC6C,UAAW;QAAC,MAAM,EAAEF;MAAO,EAAE;IAC3H;IACA,OAAOD,aAAa;EACtB;EAEOQ,cAAc,CAAClD,KAAqB,EAAC;IAAA;IAC1C,MAAME,UAAU,GAAG,IAAI,CAACS,KAAK,CAACT,UAAU;IACxC,MAAMI,WAAW,GAAG,IAAI,CAACK,KAAK,CAACL,WAAW;IAC1C,MAAMmC,WAAW,GAAG,IAAI,CAACR,WAAW,CAAC,IAAI,CAACjC,KAAK,CAACkC,KAAK,EAAEhC,UAAU,CAAC;IAClE,MAAMiD,aAAa,GAAG,IAAI,CAACnD,KAAK,CAACoD,aAAa,0BAAI,IAAI,CAAC5C,MAAM,CAACC,IAAI,sDAAhB,kBAAkBJ,KAAK,2BAAIoC,WAAW,CAAChC,IAAI,sDAAhB,kBAAkBJ,KAAK,8BAAIoC,WAAW,CAACN,OAAO,yDAAnB,qBAAqB9B,KAAK,KAAIH,UAAU;IAChJ,MAAMmD,cAAc,GAAG,IAAI,CAACrD,KAAK,CAACsD,cAAc,2BAAI,IAAI,CAAC9C,MAAM,CAACC,IAAI,uDAAhB,mBAAkBF,MAAM,4BAAIkC,WAAW,CAAChC,IAAI,uDAAhB,mBAAkBF,MAAM,+BAAIkC,WAAW,CAACN,OAAO,0DAAnB,sBAAqB5B,MAAM,KAAID,WAAW;IACtJ,OAAOV,cAAc,CAAC,IAAI,CAACyC,KAAK,EAAE,IAAI,CAAC7B,MAAM,CAAC+C,QAAQ,EAAE;MACtD,GAAG,IAAI,CAAC/C,MAAM,CAACC,IAAI;MACnB2B,YAAY,EAAG,IAAI,CAACpC,KAAK,CAACkC,KAAK,IAAI,QAAQ,0BAAI,IAAI,CAAC1B,MAAM,CAACC,IAAI,+CAAhB,mBAAkBJ,KAAK,GAAG,EAAE,GAAG,0BAAAoC,WAAW,CAACN,OAAO,0DAAnB,sBAAqBC,YAAY,4BAAIK,WAAW,CAAChC,IAAI,uDAAhB,mBAAkB2B,YAAY,4BAAI,IAAI,CAAC5B,MAAM,CAACC,IAAI,uDAAhB,mBAAkB2B,YAAY,KAAI,CAAC;MACxL/B,KAAK,EAAE8C,aAAa;MACpB5C,MAAM,EAAE8C;IACV,CAAC,CAAC;EACJ;EAEAG,YAAY,CAACxD,KAAqB,EAAE;IAAA;IAClC,MAAME,UAAU,GAAG,IAAI,CAACS,KAAK,CAACT,UAAU;IACxC,MAAMI,WAAW,GAAG,IAAI,CAACK,KAAK,CAACL,WAAW;IAC1C,MAAMmC,WAAW,GAAG,IAAI,CAACR,WAAW,CAACjC,KAAK,CAACkC,KAAK,EAAEhC,UAAU,CAAC;IAC7D,IAAI,CAAC6B,cAAc,GAAI,IAAI,CAACA,cAAc,IAAI,IAAI,CAAChB,SAAS,CAACf,KAAK,CAACyD,aAAa,CAAC;IACjF,IAAI,CAACzB,mBAAmB,GAAG,IAAI,CAACA,mBAAmB,IAAI,IAAI,CAACjB,SAAS,CAACf,KAAK,CAAC0D,kBAAkB,CAAC;IAC/F,MAAMlB,MAAW,GAAG,IAAI,CAACT,cAAc,IAAI,IAAI,CAACC,mBAAmB;IACnE,IAAIU,aAAa;IACjB,IAAIF,MAAM,EAAE;MACVE,aAAa,GAAG,IAAI,CAACH,gBAAgB,CAACvC,KAAK,EAAEwC,MAAM,EAAEC,WAAW,CAAC;IACnE;IACA,OAAOD,MAAM,KAAK,IAAI,CAAC7B,KAAK,CAACE,iBAAiB,IAAIb,KAAK,CAAC+C,KAAK,CAAC,gBAC5D,oBAAC,IAAI;MAAC,KAAK,EAAE,CAAC;QACZ1C,KAAK,EAAEH,UAAU;QACjBK,MAAM,EAAED;MACV,CAAC,EAAE,IAAI,CAACE,MAAM,CAACC,IAAI,EAAEgC,WAAW,CAAChC,IAAI,EAAEgC,WAAW,CAACN,OAAO;IAAE,GACzD,IAAI,CAACwB,WAAW,eACnB,oBAAC,IAAI;MAAC,KAAK,EAAE,CAAC;QAACC,QAAQ,EAAE,QAAQ;QAAEvD,KAAK,EAAE,MAAM;QAC9CE,MAAM,EAAE;MAAM,CAAC,CAAE;MAAC,QAAQ,EAAE,IAAI,CAACsD;IAAmB,gBACpD,oBAAC,QAAQ;MAAC,MAAM,EAAE,IAAK;MAAC,MAAM,EAAE;QAACxD,KAAK,EAAEH,UAAU,GAAG,IAAI,GAAG,MAAM;QAAEK,MAAM,EAAED,WAAW,GAAG,IAAI,GAAG;MAAM;IAAE,gBACvG,oBAAC,YAAY;MAAC,cAAc,EAAEN,KAAK,CAAC8D,SAAU;MAAC,KAAK,EAAE,CAAC;QACjDvD,MAAM,EAAED,WAAW;QACnBD,KAAK,EAAEH,UAAU;QACjBkC,YAAY,2BAAEK,WAAW,CAACN,OAAO,0DAAnB,sBAAqBC;MACrC,CAAC;IAAE,GACF,IAAI,CAACzB,KAAK,CAACT,UAAU,GAAGwC,aAAa,GAAG,IAAI,CAChC,CACN,CACN,CACF,GACN,IAAI;EACT;AACF"}
@@ -11,11 +11,12 @@ export default class WmProgressBar extends BaseComponent {
11
11
  super(props, DEFAULT_CLASS, new WmProgressBarProps());
12
12
  }
13
13
  renderWidget(props) {
14
- const value = (props.datavalue - props.minvalue) / (props.maxvalue - props.minvalue);
14
+ let value = (props.datavalue - props.minvalue) / (props.maxvalue - props.minvalue);
15
+ value = Math.round(isNaN(value) ? 0 : value);
15
16
  const styles = this.theme.mergeStyle(this.theme.getStyle(`app-${props.type}-progress-bar`), this.styles);
16
17
  return /*#__PURE__*/React.createElement(View, {
17
18
  style: styles.root
18
- }, /*#__PURE__*/React.createElement(Tappable, {
19
+ }, this._background, /*#__PURE__*/React.createElement(Tappable, {
19
20
  target: this,
20
21
  styles: {
21
22
  root: {
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","ProgressBar","Tappable","BaseComponent","BaseComponentState","WmProgressBarProps","DEFAULT_CLASS","WmProgressBarState","WmProgressBar","constructor","props","renderWidget","value","datavalue","minvalue","maxvalue","styles","theme","mergeStyle","getStyle","type","root","width","height","progressValue","color","progressBar"],"sources":["progress-bar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { ProgressBar } from 'react-native-paper';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmProgressBarProps from './progress-bar.props';\nimport { DEFAULT_CLASS, WmProgressBarStyles } from './progress-bar.styles';\n\nexport class WmProgressBarState extends BaseComponentState<WmProgressBarProps> {}\n\nexport default class WmProgressBar extends BaseComponent<WmProgressBarProps, WmProgressBarState, WmProgressBarStyles> {\n\n constructor(props: WmProgressBarProps) {\n super(props, DEFAULT_CLASS, new WmProgressBarProps());\n }\n\n renderWidget(props: WmProgressBarProps) {\n const value = (props.datavalue - props.minvalue) / (props.maxvalue - props.minvalue);\n const styles = this.theme.mergeStyle(this.theme.getStyle(`app-${props.type}-progress-bar`), this.styles);\n return (\n <View style={styles.root}>\n <Tappable target={this} styles={{root:{width: '100%', height: '100%'}}}>\n <ProgressBar\n progress={value}\n color={styles.progressValue.color}\n style={[styles.progressBar, {height: styles.root.height || styles.progressBar.height}]}></ProgressBar>\n </Tappable>\n </View>); \n }\n\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,WAAW,QAAQ,oBAAoB;AAChD,SAASC,QAAQ,QAAQ,mDAAmD;AAC5E,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,kBAAkB,MAAM,sBAAsB;AACrD,SAASC,aAAa,QAA6B,uBAAuB;AAE1E,OAAO,MAAMC,kBAAkB,SAASH,kBAAkB,CAAqB;AAE/E,eAAe,MAAMI,aAAa,SAASL,aAAa,CAA8D;EAEpHM,WAAW,CAACC,KAAyB,EAAE;IACrC,KAAK,CAACA,KAAK,EAAEJ,aAAa,EAAE,IAAID,kBAAkB,EAAE,CAAC;EACvD;EAEAM,YAAY,CAACD,KAAyB,EAAE;IACtC,MAAME,KAAK,GAAG,CAACF,KAAK,CAACG,SAAS,GAAGH,KAAK,CAACI,QAAQ,KAAKJ,KAAK,CAACK,QAAQ,GAAGL,KAAK,CAACI,QAAQ,CAAC;IACpF,MAAME,MAAM,GAAG,IAAI,CAACC,KAAK,CAACC,UAAU,CAAC,IAAI,CAACD,KAAK,CAACE,QAAQ,CAAE,OAAMT,KAAK,CAACU,IAAK,eAAc,CAAC,EAAE,IAAI,CAACJ,MAAM,CAAC;IACxG,oBACA,oBAAC,IAAI;MAAC,KAAK,EAAEA,MAAM,CAACK;IAAK,gBACvB,oBAAC,QAAQ;MAAC,MAAM,EAAE,IAAK;MAAC,MAAM,EAAE;QAACA,IAAI,EAAC;UAACC,KAAK,EAAE,MAAM;UAAEC,MAAM,EAAE;QAAM;MAAC;IAAE,gBACrE,oBAAC,WAAW;MACV,QAAQ,EAAEX,KAAM;MAChB,KAAK,EAAEI,MAAM,CAACQ,aAAa,CAACC,KAAM;MAClC,KAAK,EAAE,CAACT,MAAM,CAACU,WAAW,EAAE;QAACH,MAAM,EAAEP,MAAM,CAACK,IAAI,CAACE,MAAM,IAAIP,MAAM,CAACU,WAAW,CAACH;MAAM,CAAC;IAAE,EAAe,CAC/F,CACN;EACT;AAEF"}
1
+ {"version":3,"names":["React","View","ProgressBar","Tappable","BaseComponent","BaseComponentState","WmProgressBarProps","DEFAULT_CLASS","WmProgressBarState","WmProgressBar","constructor","props","renderWidget","value","datavalue","minvalue","maxvalue","Math","round","isNaN","styles","theme","mergeStyle","getStyle","type","root","_background","width","height","progressValue","color","progressBar"],"sources":["progress-bar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { ProgressBar } from 'react-native-paper';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmProgressBarProps from './progress-bar.props';\nimport { DEFAULT_CLASS, WmProgressBarStyles } from './progress-bar.styles';\n\nexport class WmProgressBarState extends BaseComponentState<WmProgressBarProps> {}\n\nexport default class WmProgressBar extends BaseComponent<WmProgressBarProps, WmProgressBarState, WmProgressBarStyles> {\n\n constructor(props: WmProgressBarProps) {\n super(props, DEFAULT_CLASS, new WmProgressBarProps());\n }\n\n renderWidget(props: WmProgressBarProps) {\n let value = (props.datavalue - props.minvalue) / (props.maxvalue - props.minvalue);\n value = Math.round(isNaN(value) ? 0 : value);\n const styles = this.theme.mergeStyle(this.theme.getStyle(`app-${props.type}-progress-bar`), this.styles);\n return (\n <View style={styles.root}>\n {this._background}\n <Tappable target={this} styles={{root:{width: '100%', height: '100%'}}}>\n <ProgressBar\n progress={value}\n color={styles.progressValue.color}\n style={[styles.progressBar, {height: styles.root.height || styles.progressBar.height}]}></ProgressBar>\n </Tappable>\n </View>); \n }\n\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,WAAW,QAAQ,oBAAoB;AAChD,SAASC,QAAQ,QAAQ,mDAAmD;AAC5E,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,kBAAkB,MAAM,sBAAsB;AACrD,SAASC,aAAa,QAA6B,uBAAuB;AAE1E,OAAO,MAAMC,kBAAkB,SAASH,kBAAkB,CAAqB;AAE/E,eAAe,MAAMI,aAAa,SAASL,aAAa,CAA8D;EAEpHM,WAAW,CAACC,KAAyB,EAAE;IACrC,KAAK,CAACA,KAAK,EAAEJ,aAAa,EAAE,IAAID,kBAAkB,EAAE,CAAC;EACvD;EAEAM,YAAY,CAACD,KAAyB,EAAE;IACtC,IAAIE,KAAK,GAAG,CAACF,KAAK,CAACG,SAAS,GAAGH,KAAK,CAACI,QAAQ,KAAKJ,KAAK,CAACK,QAAQ,GAAGL,KAAK,CAACI,QAAQ,CAAC;IAClFF,KAAK,GAAGI,IAAI,CAACC,KAAK,CAACC,KAAK,CAACN,KAAK,CAAC,GAAG,CAAC,GAAGA,KAAK,CAAC;IAC5C,MAAMO,MAAM,GAAG,IAAI,CAACC,KAAK,CAACC,UAAU,CAAC,IAAI,CAACD,KAAK,CAACE,QAAQ,CAAE,OAAMZ,KAAK,CAACa,IAAK,eAAc,CAAC,EAAE,IAAI,CAACJ,MAAM,CAAC;IACxG,oBACA,oBAAC,IAAI;MAAC,KAAK,EAAEA,MAAM,CAACK;IAAK,GACtB,IAAI,CAACC,WAAW,eACjB,oBAAC,QAAQ;MAAC,MAAM,EAAE,IAAK;MAAC,MAAM,EAAE;QAACD,IAAI,EAAC;UAACE,KAAK,EAAE,MAAM;UAAEC,MAAM,EAAE;QAAM;MAAC;IAAE,gBACrE,oBAAC,WAAW;MACV,QAAQ,EAAEf,KAAM;MAChB,KAAK,EAAEO,MAAM,CAACS,aAAa,CAACC,KAAM;MAClC,KAAK,EAAE,CAACV,MAAM,CAACW,WAAW,EAAE;QAACH,MAAM,EAAER,MAAM,CAACK,IAAI,CAACG,MAAM,IAAIR,MAAM,CAACW,WAAW,CAACH;MAAM,CAAC;IAAE,EAAe,CAC/F,CACN;EACT;AAEF"}
@@ -44,7 +44,7 @@ export default class WmProgressCircle extends BaseComponent {
44
44
  return /*#__PURE__*/React.createElement(View, {
45
45
  style: styles.root,
46
46
  onLayout: this.onLayout.bind(this)
47
- }, /*#__PURE__*/React.createElement(Tappable, {
47
+ }, this._background, /*#__PURE__*/React.createElement(Tappable, {
48
48
  target: this,
49
49
  styles: {
50
50
  root: {
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","isNumber","AnimatedCircularProgress","Tappable","BaseComponent","BaseComponentState","WmProgressCircleProps","DEFAULT_CLASS","WmProgressCircleState","WmProgressCircle","constructor","props","onLayout","e","width","nativeEvent","layout","height","radius","state","Math","min","updateState","renderWidget","value","datavalue","minvalue","maxvalue","styles","theme","mergeStyle","getStyle","type","showText","captionplacement","root","bind","progressValue","backgroundColor","buttStyle","progressCircle","fill","alignItems","text","title","subtitle","subTitle"],"sources":["progress-circle.component.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, View, Text } from 'react-native';\nimport { isNumber } from 'lodash';\nimport { AnimatedCircularProgress } from 'react-native-circular-progress';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmProgressCircleProps from './progress-circle.props';\nimport { DEFAULT_CLASS, WmProgressCircleStyles } from './progress-circle.styles';\n\n\nexport class WmProgressCircleState extends BaseComponentState<WmProgressCircleProps> {\n radius = 10;\n}\n\nexport default class WmProgressCircle extends BaseComponent<WmProgressCircleProps, WmProgressCircleState, WmProgressCircleStyles> {\n\n constructor(props: WmProgressCircleProps) {\n super(props, DEFAULT_CLASS, new WmProgressCircleProps(), new WmProgressCircleState());\n }\n\n onLayout(e: LayoutChangeEvent) {\n const width = e.nativeEvent.layout.width;\n const height = e.nativeEvent.layout.height;\n let radius = this.state.radius;\n if (!width) {\n radius = height;\n } else if (!height) {\n radius = width;\n } else {\n radius = Math.min(width, height);\n }\n this.updateState({\n radius: radius\n } as WmProgressCircleState);\n }\n\n renderWidget(props: WmProgressCircleProps) {\n let value = 0;\n if (isNumber(props.datavalue) && isNumber(props.minvalue) && isNumber(props.maxvalue)) {\n value = (+props.datavalue - (+props.minvalue)) / (+props.maxvalue - (+props.minvalue)) * 100;\n }\n const styles = this.theme.mergeStyle(this.theme.getStyle(`app-${props.type}-progress-circle`), this.styles);\n const showText = props.captionplacement !== 'hidden';\n return (\n <View style={styles.root} onLayout={this.onLayout.bind(this)}>\n <Tappable target={this} styles={{root:{width: '100%', height: '100%'}}}>\n <AnimatedCircularProgress\n fill={value}\n width={styles.progressValue.height}\n backgroundWidth={styles.progressValue.height}\n rotation={0}\n tintColor={styles.progressValue.backgroundColor}\n lineCap={styles.progressValue.buttStyle || \"butt\"}\n backgroundColor={styles.progressCircle.backgroundColor}\n size={this.state.radius}>\n {(fill) => (<View style={{alignItems: 'center'}}>\n <Text style={styles.text}>{ showText ? props.title || value : '' }</Text>\n {showText && props.subtitle ? (<Text style={styles.subTitle}>{ props.subtitle }</Text>) : null}\n </View>)} \n </AnimatedCircularProgress>\n </Tappable>\n </View>); \n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","View","Text","isNumber","AnimatedCircularProgress","Tappable","BaseComponent","BaseComponentState","WmProgressCircleProps","DEFAULT_CLASS","WmProgressCircleState","WmProgressCircle","constructor","props","onLayout","e","width","nativeEvent","layout","height","radius","state","Math","min","updateState","renderWidget","value","datavalue","minvalue","maxvalue","styles","theme","mergeStyle","getStyle","type","showText","captionplacement","root","bind","_background","progressValue","backgroundColor","buttStyle","progressCircle","fill","alignItems","text","title","subtitle","subTitle"],"sources":["progress-circle.component.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, View, Text } from 'react-native';\nimport { isNumber } from 'lodash';\nimport { AnimatedCircularProgress } from 'react-native-circular-progress';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmProgressCircleProps from './progress-circle.props';\nimport { DEFAULT_CLASS, WmProgressCircleStyles } from './progress-circle.styles';\n\n\nexport class WmProgressCircleState extends BaseComponentState<WmProgressCircleProps> {\n radius = 10;\n}\n\nexport default class WmProgressCircle extends BaseComponent<WmProgressCircleProps, WmProgressCircleState, WmProgressCircleStyles> {\n\n constructor(props: WmProgressCircleProps) {\n super(props, DEFAULT_CLASS, new WmProgressCircleProps(), new WmProgressCircleState());\n }\n\n onLayout(e: LayoutChangeEvent) {\n const width = e.nativeEvent.layout.width;\n const height = e.nativeEvent.layout.height;\n let radius = this.state.radius;\n if (!width) {\n radius = height;\n } else if (!height) {\n radius = width;\n } else {\n radius = Math.min(width, height);\n }\n this.updateState({\n radius: radius\n } as WmProgressCircleState);\n }\n\n renderWidget(props: WmProgressCircleProps) {\n let value = 0;\n if (isNumber(props.datavalue) && isNumber(props.minvalue) && isNumber(props.maxvalue)) {\n value = (+props.datavalue - (+props.minvalue)) / (+props.maxvalue - (+props.minvalue)) * 100;\n }\n const styles = this.theme.mergeStyle(this.theme.getStyle(`app-${props.type}-progress-circle`), this.styles);\n const showText = props.captionplacement !== 'hidden';\n return (\n <View style={styles.root} onLayout={this.onLayout.bind(this)}>\n {this._background}\n <Tappable target={this} styles={{root:{width: '100%', height: '100%'}}}>\n <AnimatedCircularProgress\n fill={value}\n width={styles.progressValue.height}\n backgroundWidth={styles.progressValue.height}\n rotation={0}\n tintColor={styles.progressValue.backgroundColor}\n lineCap={styles.progressValue.buttStyle || \"butt\"}\n backgroundColor={styles.progressCircle.backgroundColor}\n size={this.state.radius}>\n {(fill) => (<View style={{alignItems: 'center'}}>\n <Text style={styles.text}>{ showText ? props.title || value : '' }</Text>\n {showText && props.subtitle ? (<Text style={styles.subTitle}>{ props.subtitle }</Text>) : null}\n </View>)} \n </AnimatedCircularProgress>\n </Tappable>\n </View>); \n }\n}\n"],"mappings":"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"}
@@ -15,6 +15,7 @@ import WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/pictur
15
15
  import { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';
16
16
  import WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';
17
17
  import { get, isArray, isEmpty, isObject } from "lodash-es";
18
+ import { AssetProvider } from '@wavemaker/app-rn-runtime/core/asset.provider';
18
19
  export class WmSearchState extends BaseDatasetState {
19
20
  constructor() {
20
21
  super(...arguments);
@@ -395,12 +396,14 @@ export default class WmSearch extends BaseDatasetComponent {
395
396
  maxHeight: 200
396
397
  },
397
398
  contentContainerStyle: this.styles.dropDownContent
399
+ }, /*#__PURE__*/React.createElement(AssetProvider, {
400
+ value: this.loadAsset
398
401
  }, result && result.map((item, index) => /*#__PURE__*/React.createElement(View, {
399
402
  key: item.key
400
403
  }, !props.limit || props.limit && index + 1 <= props.limit ? this.renderSearchItem(item, index) : null, index === result.length - 1 ? /*#__PURE__*/React.createElement(WmAnchor, {
401
404
  caption: props.datacompletemsg,
402
405
  styles: this.styles.dataCompleteItem
403
- }) : null))), this.styles, modalService));
406
+ }) : null)))), this.styles, modalService));
404
407
  return null;
405
408
  }) : null);
406
409
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","Keyboard","Platform","ScrollView","Text","TextInput","View","find","isNull","WmSearchProps","DEFAULT_CLASS","ModalConsumer","DataProvider","BaseDatasetComponent","BaseDatasetState","WmAnchor","WmPicture","Tappable","WmButton","get","isArray","isEmpty","isObject","WmSearchState","top","left","WmSearch","constructor","props","Promise","resolve","position","view","measure","x","y","width","height","px","py","updateState","computePosition","then","isOpened","dataProvider","datavalue","query","clearSearch","invokeEventCallback","hide","dataItems","state","map","item","selected","type","updateFilteredData","queryText","filterOptions","entries","filteredData","minchars","length","searchkey","updateRequired","undefined","init","invokeVariable","response","dataSet","setDataItems","filter","result","dataObject","data","isFocused","showPopover","focus","widgetRef","onChange","value","isDefaultQuery","prevQuery","searchon","validate","invokeEvent","proxy","invokeChange","e","OS","cursor","target","selectionStart","onFocus","disabled","onBlur","setTimeout","triggerValidation","prepareModalOptions","content","styles","modalService","o","modalOptions","modalContentSTyles","searchInputWidth","modalContent","borderWidth","modalStyle","modal","contentStyle","isModal","onClose","dismiss","setState","hideModal","searchIconPress","onItemSelect","displayexp","displayfield","datafield","updateDatavalue","prevDatavalue","queryModel","renderSearchBar","opts","valueExpr","root","ref","searchInputWrapper","text","isValid","invalid","focusedText","selectionEnd","placeholderText","color","placeholder","autofocus","readonly","bind","nativeEvent","layout","showclear","clearButton","showSearchIcon","searchButton","reset","renderSearchItem","index","imageStyles","imagewidth","searchItem","name","imgSrc","searchItemText","updateDefaultQueryModel","selectedItem","onDataItemsUpdate","componentDidMount","onPropertyChange","$new","$old","dataset","renderWidget","showModal","maxHeight","dropDownContent","key","limit","datacompletemsg","dataCompleteItem"],"sources":["search.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Keyboard, Platform, ScrollView, Text, TextInput, View } from 'react-native';\nimport { find, isNull } from 'lodash';\n\nimport WmSearchProps from './search.props';\nimport { DEFAULT_CLASS, WmSearchStyles } from './search.styles';\nimport { ModalConsumer, ModalOptions, ModalService} from \"@wavemaker/app-rn-runtime/core/modal.service\";\nimport { DataProvider } from '@wavemaker/app-rn-runtime/components/basic/search/local-data-provider';\n\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport { get, isArray, isEmpty, isObject } from \"lodash-es\";\n\nexport class WmSearchState extends BaseDatasetState<WmSearchProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n position = {\n top: 0,\n left: 0\n } as DropdownPosition;\n data: any = [];\n}\n\nexport interface DropdownPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmSearch extends BaseDatasetComponent<WmSearchProps, WmSearchState, WmSearchStyles> {\n view: View = null as any;\n private prevDatavalue: any;\n private queryModel: any;\n private searchInputWidth: any;\n private isDefaultQuery: boolean = true;\n private dataProvider: DataProvider;\n public widgetRef: TextInput | null = null;\n private cursor: any = 0;\n private isFocused: boolean = false;\n private updateRequired: any;\n\n constructor(props: WmSearchProps) {\n super(props, DEFAULT_CLASS, new WmSearchProps(), new WmSearchState());\n this.dataProvider = new DataProvider();\n if (this.props.datavalue) {\n this.updateState({\n props: {\n query: this.props.datavalue\n }\n } as WmSearchState);\n }\n }\n\n computePosition = () => {\n return new Promise<void>((resolve) => {\n const position = {} as DropdownPosition;\n this.view.measure((x = 0, y = 0, width = 0, height = 0, px = 0, py = 0) => {\n position.left = px;\n position.top = py + height;\n this.updateState({ position: position } as WmSearchState, resolve);\n });\n });\n }\n\n clearSearch() {\n this.invokeEventCallback('onClear', [null, this]);\n this.hide();\n this.updateState({\n props: {\n query: ''\n },\n dataItems: this.state.dataItems ? this.state.dataItems.map((item: any) => {\n item.selected = false;\n return item;\n }) : []\n } as WmSearchState, () => {\n if (this.state.props.type === 'autocomplete') {\n this.updateFilteredData('');\n }\n });\n }\n\n updateFilteredData(queryText: string = '') {\n const props = this.state.props;\n const filterOptions = {\n query: queryText,\n props: props,\n entries: this.state.dataItems\n };\n let filteredData: Array<any> = [];\n if (props.minchars && queryText.length < props.minchars) {\n filteredData = [];\n } else if (props.type === 'search' && !queryText) {\n filteredData = [];\n } else {\n if (this.props.searchkey && this.updateRequired === undefined) {\n this.updateRequired = this.dataProvider.init(this);\n }\n // for service variables invoke the variable with params.\n if (this.props.searchkey && this.updateRequired && this.state.props.query !== queryText) {\n this.dataProvider.invokeVariable(this, queryText).then((response: any) => {\n if (response) {\n response = response.dataSet;\n if (isEmpty(response)) {\n filteredData = [];\n } else {\n if (isObject(response) && !isArray(response)) {\n response = [response];\n }\n this.setDataItems(response);\n }\n }\n }, () => {});\n return;\n }\n filteredData = this.dataProvider?.filter(filterOptions);\n }\n this.updateState({\n props: { result: filteredData?.map( (item: any) => item.dataObject), query: queryText },\n data: filteredData,\n } as WmSearchState);\n if (!this.state.isOpened && this.isFocused) {\n this.showPopover && this.showPopover();\n }\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n onChange(value: any) {\n this.isDefaultQuery = false;\n const prevQuery = this.state.props.query;\n if (this.state.props.searchon === 'onsearchiconclick') {\n this.updateState({\n props: {result: [], query: value},\n data: []\n } as WmSearchState);\n } else {\n this.updateFilteredData(value);\n }\n if (value === '') {\n this.validate(value);\n this.updateState({\n props: {\n datavalue: '',\n },\n } as WmSearchState);\n return;\n }\n if (this.props.invokeEvent) {\n this.props.invokeEvent('onChange', [undefined, this.proxy, value, prevQuery]);\n }\n this.invokeEventCallback('onChange', [ undefined, this.proxy, value, prevQuery ]);\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.updateState({ props: { query: e.target.value } } as WmSearchState);\n }\n }\n\n onFocus() {\n this.isFocused = true;\n if (!this.state.props.disabled && this.state.props.type === 'autocomplete') {\n this.cursor = this.state.props.query?.length || 0;\n this.updateFilteredData(this.state.props.query || '');\n }\n this.invokeEventCallback('onFocus', [null, this]);\n }\n\n onBlur() {\n this.isFocused = false;\n this.validate(this.state.props.datavalue);\n if (!this.state.props.datavalue) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n })\n }\n this.invokeEventCallback('onBlur', [null, this]);\n }\n\n public showPopover = () => {\n this.computePosition().then(() => {\n this.updateState({ isOpened: true } as WmSearchState);\n });\n };\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmSearchStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n const modalContentSTyles = {\n width: this.searchInputWidth - 2 * (styles.modalContent.borderWidth || 0),\n left: (this.state.position.left || 0) + 2 * (styles.modalContent.borderWidth || 0) };\n o.modalStyle = {...styles.modal};\n o.contentStyle = {...styles.modalContent, ...this.state.position, ...modalContentSTyles};\n o.content = content;\n o.isModal = true;\n o.onClose = () => {\n this.hide = () => {};\n Keyboard.dismiss();\n if (this.state.isOpened) {\n this.setState({isOpened: false, modalOptions: {} as ModalOptions} as WmSearchState);\n }\n };\n this.hide = () => {\n modalService.hideModal(this.state.modalOptions);\n if (this.state.isOpened) {\n this.setState({ isOpened: false, modalOptions: {} as ModalOptions } as WmSearchState);\n }\n }\n return o;\n }\n\n searchIconPress() {\n this.isFocused = false;\n if (this.state.props.searchon === 'onsearchiconclick') {\n this.updateFilteredData(this.state.props.query);\n } else {\n this.onItemSelect(this.state.data[0]);\n }\n }\n\n onItemSelect(item: any) {\n this.isFocused = false;\n this.updateState({ props: {\n query: item.displayexp || item.displayfield\n }\n } as WmSearchState);\n this.validate(item.datafield);\n this.updateDatavalue(item.datafield);\n this.prevDatavalue = item.datafield;\n this.queryModel = item;\n if (get(this.props, 'formfield')) {\n // @ts-ignore\n this.props.invokeEvent('onSelect', [null, this, item.datafield]);\n // @ts-ignore\n this.props.invokeEvent('onSubmit', [null, this]);\n } else {\n this.invokeEventCallback('onSelect', [null, this, item.datafield]);\n this.invokeEventCallback('onSubmit', [null, this]);\n }\n this.hide();\n }\n\n renderSearchBar() {\n const props = this.state.props;\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.props.query || '';\n return(\n /*\n * onLayout function is required.\n * https://github.com/naoufal/react-native-accordion/pull/19/files\n */\n <View style={this.styles.root} ref={ref => {this.view = ref as View}} onLayout={() => {}}>\n <View style={this.styles.searchInputWrapper}>\n <TextInput style={[this.styles.text, this.state.isValid ? {} : this.styles.invalid, this.state.isOpened && this.state.dataItems?.length > 0? this.styles.focusedText : null]}\n ref={ref => {this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }}}\n placeholderTextColor={this.styles.placeholderText.color as any}\n placeholder={props.placeholder || 'Search'}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n onChangeText={this.onChange.bind(this)}\n onChange={this.invokeChange.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onLayout={e => {this.searchInputWidth = e.nativeEvent.layout.width}}\n onBlur={this.onBlur.bind(this)}\n {...opts}>\n </TextInput>\n {props.showclear && this.state.props.query ? <WmButton onTap={this.clearSearch.bind(this)}\n styles={this.styles.clearButton} iconclass={'wi wi-clear'}></WmButton> : null}\n </View>\n {props.showSearchIcon && props.type === 'search' ? <WmButton styles={this.styles.searchButton}\n iconclass={'wm-sl-l sl-search'} onTap={this.searchIconPress.bind(this)}></WmButton> : null}\n </View>\n );\n }\n\n reset() {\n if (this.state.props.query) {\n this.updateState({\n props: {\n query: ''\n }\n } as WmSearchState);\n }\n }\n\n renderSearchItem(item: any, index: number) {\n const props = this.state.props;\n const imageStyles = { root: {height:props.imagewidth, width:props.imagewidth}}\n return (\n <Tappable onTap={this.onItemSelect.bind(this, item)}>\n <View style={this.styles.searchItem}>\n <WmPicture styles={imageStyles} name={props.name + '_image'} picturesource={item.imgSrc}></WmPicture>\n <Text style={this.styles.searchItemText}>{item.displayexp || item.displayfield}</Text>\n </View>\n </Tappable>\n );\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultQuery) {\n const selectedItem = find(this.state.dataItems, (item) => item.selected);\n this.updateState({ props: {\n query: selectedItem ? (selectedItem.displayexp || selectedItem.displayfield) : ''\n }\n } as WmSearchState);\n }\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.isFocused && this.state.dataItems.length && this.updateFilteredData(this.state.props.query);\n this.updateDefaultQueryModel();\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'dataset':\n if (!isEmpty($new) && isObject($new) && !isArray($new)) {\n $new = [$new];\n this.updateState({\n props: {\n dataset: $new\n }\n } as WmSearchState);\n }\n break;\n }\n super.onPropertyChange(name, $new, $old);\n }\n\n renderWidget(props: WmSearchProps) {\n const result = this.state.data;\n return (\n <View>\n {this.renderSearchBar()}\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions((\n <ScrollView style={{width: '100%', maxHeight: 200}} contentContainerStyle={this.styles.dropDownContent}>\n {result && result.map((item: any, index: any) => (\n <View key={item.key}>\n {\n (!props.limit) || (props.limit && index+1 <= props.limit) ?\n this.renderSearchItem(item, index)\n : null\n }\n {\n index === result.length - 1 ?\n <WmAnchor caption={props.datacompletemsg} styles={this.styles.dataCompleteItem}></WmAnchor> : null\n }\n </View>\n ))}\n </ScrollView>\n ), this.styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>\n\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Keyboard","Platform","ScrollView","Text","TextInput","View","find","isNull","WmSearchProps","DEFAULT_CLASS","ModalConsumer","DataProvider","BaseDatasetComponent","BaseDatasetState","WmAnchor","WmPicture","Tappable","WmButton","get","isArray","isEmpty","isObject","AssetProvider","WmSearchState","top","left","WmSearch","constructor","props","Promise","resolve","position","view","measure","x","y","width","height","px","py","updateState","computePosition","then","isOpened","dataProvider","datavalue","query","clearSearch","invokeEventCallback","hide","dataItems","state","map","item","selected","type","updateFilteredData","queryText","filterOptions","entries","filteredData","minchars","length","searchkey","updateRequired","undefined","init","invokeVariable","response","dataSet","setDataItems","filter","result","dataObject","data","isFocused","showPopover","focus","widgetRef","onChange","value","isDefaultQuery","prevQuery","searchon","validate","invokeEvent","proxy","invokeChange","e","OS","cursor","target","selectionStart","onFocus","disabled","onBlur","setTimeout","triggerValidation","prepareModalOptions","content","styles","modalService","o","modalOptions","modalContentSTyles","searchInputWidth","modalContent","borderWidth","modalStyle","modal","contentStyle","isModal","onClose","dismiss","setState","hideModal","searchIconPress","onItemSelect","displayexp","displayfield","datafield","updateDatavalue","prevDatavalue","queryModel","renderSearchBar","opts","valueExpr","root","ref","searchInputWrapper","text","isValid","invalid","focusedText","selectionEnd","placeholderText","color","placeholder","autofocus","readonly","bind","nativeEvent","layout","showclear","clearButton","showSearchIcon","searchButton","reset","renderSearchItem","index","imageStyles","imagewidth","searchItem","name","imgSrc","searchItemText","updateDefaultQueryModel","selectedItem","onDataItemsUpdate","componentDidMount","onPropertyChange","$new","$old","dataset","renderWidget","showModal","maxHeight","dropDownContent","loadAsset","key","limit","datacompletemsg","dataCompleteItem"],"sources":["search.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Keyboard, Platform, ScrollView, Text, TextInput, View } from 'react-native';\nimport { find, isNull } from 'lodash';\n\nimport WmSearchProps from './search.props';\nimport { DEFAULT_CLASS, WmSearchStyles } from './search.styles';\nimport { ModalConsumer, ModalOptions, ModalService} from \"@wavemaker/app-rn-runtime/core/modal.service\";\nimport { DataProvider } from '@wavemaker/app-rn-runtime/components/basic/search/local-data-provider';\n\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport { get, isArray, isEmpty, isObject } from \"lodash-es\";\nimport { AssetProvider } from '@wavemaker/app-rn-runtime/core/asset.provider';\n\nexport class WmSearchState extends BaseDatasetState<WmSearchProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n position = {\n top: 0,\n left: 0\n } as DropdownPosition;\n data: any = [];\n}\n\nexport interface DropdownPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmSearch extends BaseDatasetComponent<WmSearchProps, WmSearchState, WmSearchStyles> {\n view: View = null as any;\n private prevDatavalue: any;\n private queryModel: any;\n private searchInputWidth: any;\n private isDefaultQuery: boolean = true;\n private dataProvider: DataProvider;\n public widgetRef: TextInput | null = null;\n private cursor: any = 0;\n private isFocused: boolean = false;\n private updateRequired: any;\n\n constructor(props: WmSearchProps) {\n super(props, DEFAULT_CLASS, new WmSearchProps(), new WmSearchState());\n this.dataProvider = new DataProvider();\n if (this.props.datavalue) {\n this.updateState({\n props: {\n query: this.props.datavalue\n }\n } as WmSearchState);\n }\n }\n\n computePosition = () => {\n return new Promise<void>((resolve) => {\n const position = {} as DropdownPosition;\n this.view.measure((x = 0, y = 0, width = 0, height = 0, px = 0, py = 0) => {\n position.left = px;\n position.top = py + height;\n this.updateState({ position: position } as WmSearchState, resolve);\n });\n });\n }\n\n clearSearch() {\n this.invokeEventCallback('onClear', [null, this]);\n this.hide();\n this.updateState({\n props: {\n query: ''\n },\n dataItems: this.state.dataItems ? this.state.dataItems.map((item: any) => {\n item.selected = false;\n return item;\n }) : []\n } as WmSearchState, () => {\n if (this.state.props.type === 'autocomplete') {\n this.updateFilteredData('');\n }\n });\n }\n\n updateFilteredData(queryText: string = '') {\n const props = this.state.props;\n const filterOptions = {\n query: queryText,\n props: props,\n entries: this.state.dataItems\n };\n let filteredData: Array<any> = [];\n if (props.minchars && queryText.length < props.minchars) {\n filteredData = [];\n } else if (props.type === 'search' && !queryText) {\n filteredData = [];\n } else {\n if (this.props.searchkey && this.updateRequired === undefined) {\n this.updateRequired = this.dataProvider.init(this);\n }\n // for service variables invoke the variable with params.\n if (this.props.searchkey && this.updateRequired && this.state.props.query !== queryText) {\n this.dataProvider.invokeVariable(this, queryText).then((response: any) => {\n if (response) {\n response = response.dataSet;\n if (isEmpty(response)) {\n filteredData = [];\n } else {\n if (isObject(response) && !isArray(response)) {\n response = [response];\n }\n this.setDataItems(response);\n }\n }\n }, () => {});\n return;\n }\n filteredData = this.dataProvider?.filter(filterOptions);\n }\n this.updateState({\n props: { result: filteredData?.map( (item: any) => item.dataObject), query: queryText },\n data: filteredData,\n } as WmSearchState);\n if (!this.state.isOpened && this.isFocused) {\n this.showPopover && this.showPopover();\n }\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n onChange(value: any) {\n this.isDefaultQuery = false;\n const prevQuery = this.state.props.query;\n if (this.state.props.searchon === 'onsearchiconclick') {\n this.updateState({\n props: {result: [], query: value},\n data: []\n } as WmSearchState);\n } else {\n this.updateFilteredData(value);\n }\n if (value === '') {\n this.validate(value);\n this.updateState({\n props: {\n datavalue: '',\n },\n } as WmSearchState);\n return;\n }\n if (this.props.invokeEvent) {\n this.props.invokeEvent('onChange', [undefined, this.proxy, value, prevQuery]);\n }\n this.invokeEventCallback('onChange', [ undefined, this.proxy, value, prevQuery ]);\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.updateState({ props: { query: e.target.value } } as WmSearchState);\n }\n }\n\n onFocus() {\n this.isFocused = true;\n if (!this.state.props.disabled && this.state.props.type === 'autocomplete') {\n this.cursor = this.state.props.query?.length || 0;\n this.updateFilteredData(this.state.props.query || '');\n }\n this.invokeEventCallback('onFocus', [null, this]);\n }\n\n onBlur() {\n this.isFocused = false;\n this.validate(this.state.props.datavalue);\n if (!this.state.props.datavalue) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n })\n }\n this.invokeEventCallback('onBlur', [null, this]);\n }\n\n public showPopover = () => {\n this.computePosition().then(() => {\n this.updateState({ isOpened: true } as WmSearchState);\n });\n };\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmSearchStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n const modalContentSTyles = {\n width: this.searchInputWidth - 2 * (styles.modalContent.borderWidth || 0),\n left: (this.state.position.left || 0) + 2 * (styles.modalContent.borderWidth || 0) };\n o.modalStyle = {...styles.modal};\n o.contentStyle = {...styles.modalContent, ...this.state.position, ...modalContentSTyles};\n o.content = content;\n o.isModal = true;\n o.onClose = () => {\n this.hide = () => {};\n Keyboard.dismiss();\n if (this.state.isOpened) {\n this.setState({isOpened: false, modalOptions: {} as ModalOptions} as WmSearchState);\n }\n };\n this.hide = () => {\n modalService.hideModal(this.state.modalOptions);\n if (this.state.isOpened) {\n this.setState({ isOpened: false, modalOptions: {} as ModalOptions } as WmSearchState);\n }\n }\n return o;\n }\n\n searchIconPress() {\n this.isFocused = false;\n if (this.state.props.searchon === 'onsearchiconclick') {\n this.updateFilteredData(this.state.props.query);\n } else {\n this.onItemSelect(this.state.data[0]);\n }\n }\n\n onItemSelect(item: any) {\n this.isFocused = false;\n this.updateState({ props: {\n query: item.displayexp || item.displayfield\n }\n } as WmSearchState);\n this.validate(item.datafield);\n this.updateDatavalue(item.datafield);\n this.prevDatavalue = item.datafield;\n this.queryModel = item;\n if (get(this.props, 'formfield')) {\n // @ts-ignore\n this.props.invokeEvent('onSelect', [null, this, item.datafield]);\n // @ts-ignore\n this.props.invokeEvent('onSubmit', [null, this]);\n } else {\n this.invokeEventCallback('onSelect', [null, this, item.datafield]);\n this.invokeEventCallback('onSubmit', [null, this]);\n }\n this.hide();\n }\n\n renderSearchBar() {\n const props = this.state.props;\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.props.query || '';\n return(\n /*\n * onLayout function is required.\n * https://github.com/naoufal/react-native-accordion/pull/19/files\n */\n <View style={this.styles.root} ref={ref => {this.view = ref as View}} onLayout={() => {}}>\n <View style={this.styles.searchInputWrapper}>\n <TextInput style={[this.styles.text, this.state.isValid ? {} : this.styles.invalid, this.state.isOpened && this.state.dataItems?.length > 0? this.styles.focusedText : null]}\n ref={ref => {this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }}}\n placeholderTextColor={this.styles.placeholderText.color as any}\n placeholder={props.placeholder || 'Search'}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n onChangeText={this.onChange.bind(this)}\n onChange={this.invokeChange.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onLayout={e => {this.searchInputWidth = e.nativeEvent.layout.width}}\n onBlur={this.onBlur.bind(this)}\n {...opts}>\n </TextInput>\n {props.showclear && this.state.props.query ? <WmButton onTap={this.clearSearch.bind(this)}\n styles={this.styles.clearButton} iconclass={'wi wi-clear'}></WmButton> : null}\n </View>\n {props.showSearchIcon && props.type === 'search' ? <WmButton styles={this.styles.searchButton}\n iconclass={'wm-sl-l sl-search'} onTap={this.searchIconPress.bind(this)}></WmButton> : null}\n </View>\n );\n }\n\n reset() {\n if (this.state.props.query) {\n this.updateState({\n props: {\n query: ''\n }\n } as WmSearchState);\n }\n }\n\n renderSearchItem(item: any, index: number) {\n const props = this.state.props;\n const imageStyles = { root: {height:props.imagewidth, width:props.imagewidth}}\n return (\n <Tappable onTap={this.onItemSelect.bind(this, item)}>\n <View style={this.styles.searchItem}>\n <WmPicture styles={imageStyles} name={props.name + '_image'} picturesource={item.imgSrc}></WmPicture>\n <Text style={this.styles.searchItemText}>{item.displayexp || item.displayfield}</Text>\n </View>\n </Tappable>\n );\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultQuery) {\n const selectedItem = find(this.state.dataItems, (item) => item.selected);\n this.updateState({ props: {\n query: selectedItem ? (selectedItem.displayexp || selectedItem.displayfield) : ''\n }\n } as WmSearchState);\n }\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.isFocused && this.state.dataItems.length && this.updateFilteredData(this.state.props.query);\n this.updateDefaultQueryModel();\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'dataset':\n if (!isEmpty($new) && isObject($new) && !isArray($new)) {\n $new = [$new];\n this.updateState({\n props: {\n dataset: $new\n }\n } as WmSearchState);\n }\n break;\n }\n super.onPropertyChange(name, $new, $old);\n }\n\n renderWidget(props: WmSearchProps) {\n const result = this.state.data;\n return (\n <View>\n {this.renderSearchBar()}\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions((\n <ScrollView style={{width: '100%', maxHeight: 200}} contentContainerStyle={this.styles.dropDownContent}>\n <AssetProvider value={this.loadAsset}>\n {result && result.map((item: any, index: any) => (\n <View key={item.key}>\n {\n (!props.limit) || (props.limit && index+1 <= props.limit) ?\n this.renderSearchItem(item, index)\n : null\n }\n {\n index === result.length - 1 ?\n <WmAnchor caption={props.datacompletemsg} styles={this.styles.dataCompleteItem}></WmAnchor> : null\n }\n </View>\n ))}\n </AssetProvider>\n </ScrollView>\n ), this.styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>\n\n );\n }\n}\n"],"mappings":"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"}
@@ -77,7 +77,7 @@ export default class WmSpinner extends BaseComponent {
77
77
  renderWidget(props) {
78
78
  return /*#__PURE__*/React.createElement(View, {
79
79
  style: this.styles.root
80
- }, props.lottie ? this.prepareLottie(props) : props.image ? this.prepareImage(props) : this.prepareIcon(props), props.caption ? /*#__PURE__*/React.createElement(Text, {
80
+ }, this._background, props.lottie ? this.prepareLottie(props) : props.image ? this.prepareImage(props) : this.prepareIcon(props), props.caption ? /*#__PURE__*/React.createElement(Text, {
81
81
  style: this.styles.text
82
82
  }, props.caption) : null);
83
83
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","Platform","BaseComponent","BaseComponentState","WmSpinnerProps","DEFAULT_CLASS","WmIcon","WmPicture","LottieView","ThemeVariables","Color","WmSpinnerState","WmSpinner","constructor","props","obj","colors","Object","keys","forEach","key","value","ind","Math","floor","random","length","toLowerCase","includes","shape","recursiveSearch","prepareIcon","styles","icon","iconclass","iconsize","prepareImage","image","hexToRgb","hex","result","exec","parseInt","addClasstoLottie","lottiePath","primaryColor","INSTANCE","darken","toString","json","loader","prepareLottie","Lottie","OS","require","lottie","renderWidget","root","caption","text"],"sources":["spinner.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, Platform } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmSpinnerProps from './spinner.props';\nimport { DEFAULT_CLASS, WmSpinnerStyles } from './spinner.styles';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\nimport LottieView from 'lottie-react-native';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport Color from \"color\";\n\nexport class WmSpinnerState extends BaseComponentState<WmSpinnerProps> {\n\n}\n\nexport default class WmSpinner extends BaseComponent<WmSpinnerProps, WmSpinnerState, WmSpinnerStyles> {\n\n constructor(props: WmSpinnerProps) {\n super(props, DEFAULT_CLASS, new WmSpinnerProps());\n }\n\n private prepareIcon(props: any) {\n return (<WmIcon\n styles={this.styles.icon}\n iconclass={props.iconclass + ' fa-spin'} iconsize={props.iconsize}></WmIcon>);\n }\n\n private prepareImage(props: any) {\n return (<WmPicture\n styles={this.styles.image}\n picturesource={props.image}></WmPicture>);\n }\n\n private recursiveSearch = (obj: any, colors: any) => {\n Object.keys(obj).forEach(key => {\n let value = obj[key];\n let ind = Math.floor(Math.random() * (0 - colors.length ) + colors.length);\n if (key == \"nm\" && (value.toLowerCase().includes('fill ') || value.toLowerCase().includes('stroke '))) {\n if (obj[\"c\"][\"k\"].length == 4 || (obj[\"c\"][\"k\"].length ==3 && typeof obj[\"c\"][\"k\"][0] == 'number')) {\n obj[\"c\"][\"k\"] = colors[ind];\n }\n else {\n if (obj[\"c\"][\"k\"]){\n for (let shape in obj[\"c\"][\"k\"]) {\n if(obj[\"c\"][\"k\"][shape] && obj[\"c\"][\"k\"][shape][\"s\"]){\n obj[\"c\"][\"k\"][shape][\"s\"] = colors[ind];\n }\n }\n }\n }\n } else if (typeof value === 'object') {\n this.recursiveSearch(value, colors);\n }\n });\n return obj;\n };\n\n private hexToRgb(hex: any) {\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? [parseInt(result[1], 16) / 255, parseInt(result[2], 16) / 255, parseInt(result[3], 16) / 255, 1] : null;\n }\n\n private addClasstoLottie(lottiePath: any) {\n let primaryColor = ThemeVariables.INSTANCE.primaryColor;\n let colors = [this.hexToRgb(primaryColor), \n this.hexToRgb(Color(primaryColor).darken(0.2).hex().toString()), \n this.hexToRgb(Color(primaryColor).darken(0.4).hex().toString()), \n this.hexToRgb(Color(primaryColor).darken(0.6).hex().toString()), \n this.hexToRgb(Color(primaryColor).darken(0.8).hex().toString())];\n return this.recursiveSearch(lottiePath.json, lottiePath.loader == 'circleSpinner' ? [colors[0]] : colors);\n }\n\n private prepareLottie(props: any) {\n const Lottie = Platform.OS == 'web' ? require('react-lottie-player') : null;\n return (\n Platform.OS == 'web' ? <Lottie animationData={this.addClasstoLottie(props.lottie)} loop={true} play={true} style={this.styles.lottie} /> : <LottieView\n source={this.addClasstoLottie(props.lottie)}\n autoPlay={true}\n loop={true}\n style={this.styles.lottie}\n />\n )\n }\n\n renderWidget(props: WmSpinnerProps) {\n return (\n <View style={this.styles.root}>\n {props.lottie ? this.prepareLottie(props) : props.image ? this.prepareImage(props) : this.prepareIcon(props)}\n {props.caption ? <Text style={this.styles.text}>{props.caption}</Text> : null}\n </View>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Text","View","Platform","BaseComponent","BaseComponentState","WmSpinnerProps","DEFAULT_CLASS","WmIcon","WmPicture","LottieView","ThemeVariables","Color","WmSpinnerState","WmSpinner","constructor","props","obj","colors","Object","keys","forEach","key","value","ind","Math","floor","random","length","toLowerCase","includes","shape","recursiveSearch","prepareIcon","styles","icon","iconclass","iconsize","prepareImage","image","hexToRgb","hex","result","exec","parseInt","addClasstoLottie","lottiePath","primaryColor","INSTANCE","darken","toString","json","loader","prepareLottie","Lottie","OS","require","lottie","renderWidget","root","_background","caption","text"],"sources":["spinner.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, Platform } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmSpinnerProps from './spinner.props';\nimport { DEFAULT_CLASS, WmSpinnerStyles } from './spinner.styles';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\nimport LottieView from 'lottie-react-native';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport Color from \"color\";\n\nexport class WmSpinnerState extends BaseComponentState<WmSpinnerProps> {\n\n}\n\nexport default class WmSpinner extends BaseComponent<WmSpinnerProps, WmSpinnerState, WmSpinnerStyles> {\n\n constructor(props: WmSpinnerProps) {\n super(props, DEFAULT_CLASS, new WmSpinnerProps());\n }\n\n private prepareIcon(props: any) {\n return (<WmIcon\n styles={this.styles.icon}\n iconclass={props.iconclass + ' fa-spin'} iconsize={props.iconsize}></WmIcon>);\n }\n\n private prepareImage(props: any) {\n return (<WmPicture\n styles={this.styles.image}\n picturesource={props.image}></WmPicture>);\n }\n\n private recursiveSearch = (obj: any, colors: any) => {\n Object.keys(obj).forEach(key => {\n let value = obj[key];\n let ind = Math.floor(Math.random() * (0 - colors.length ) + colors.length);\n if (key == \"nm\" && (value.toLowerCase().includes('fill ') || value.toLowerCase().includes('stroke '))) {\n if (obj[\"c\"][\"k\"].length == 4 || (obj[\"c\"][\"k\"].length ==3 && typeof obj[\"c\"][\"k\"][0] == 'number')) {\n obj[\"c\"][\"k\"] = colors[ind];\n }\n else {\n if (obj[\"c\"][\"k\"]){\n for (let shape in obj[\"c\"][\"k\"]) {\n if(obj[\"c\"][\"k\"][shape] && obj[\"c\"][\"k\"][shape][\"s\"]){\n obj[\"c\"][\"k\"][shape][\"s\"] = colors[ind];\n }\n }\n }\n }\n } else if (typeof value === 'object') {\n this.recursiveSearch(value, colors);\n }\n });\n return obj;\n };\n\n private hexToRgb(hex: any) {\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? [parseInt(result[1], 16) / 255, parseInt(result[2], 16) / 255, parseInt(result[3], 16) / 255, 1] : null;\n }\n\n private addClasstoLottie(lottiePath: any) {\n let primaryColor = ThemeVariables.INSTANCE.primaryColor;\n let colors = [this.hexToRgb(primaryColor), \n this.hexToRgb(Color(primaryColor).darken(0.2).hex().toString()), \n this.hexToRgb(Color(primaryColor).darken(0.4).hex().toString()), \n this.hexToRgb(Color(primaryColor).darken(0.6).hex().toString()), \n this.hexToRgb(Color(primaryColor).darken(0.8).hex().toString())];\n return this.recursiveSearch(lottiePath.json, lottiePath.loader == 'circleSpinner' ? [colors[0]] : colors);\n }\n\n private prepareLottie(props: any) {\n const Lottie = Platform.OS == 'web' ? require('react-lottie-player') : null;\n return (\n Platform.OS == 'web' ? <Lottie animationData={this.addClasstoLottie(props.lottie)} loop={true} play={true} style={this.styles.lottie} /> : <LottieView\n source={this.addClasstoLottie(props.lottie)}\n autoPlay={true}\n loop={true}\n style={this.styles.lottie}\n />\n )\n }\n\n renderWidget(props: WmSpinnerProps) {\n return (\n <View style={this.styles.root}>\n {this._background}\n {props.lottie ? this.prepareLottie(props) : props.image ? this.prepareImage(props) : this.prepareIcon(props)}\n {props.caption ? <Text style={this.styles.text}>{props.caption}</Text> : null}\n </View>\n );\n }\n}\n"],"mappings":"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"}