@wavemaker/app-rn-runtime 11.10.4-next.27838 → 11.10.4-next.27841

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 (183) hide show
  1. package/components/advanced/carousel/carousel.component.js +2 -1
  2. package/components/advanced/carousel/carousel.component.js.map +1 -1
  3. package/components/advanced/login/login.component.js +2 -1
  4. package/components/advanced/login/login.component.js.map +1 -1
  5. package/components/advanced/webview/webview.component.js +2 -1
  6. package/components/advanced/webview/webview.component.js.map +1 -1
  7. package/components/basic/anchor/anchor.component.js +2 -1
  8. package/components/basic/anchor/anchor.component.js.map +1 -1
  9. package/components/basic/animatedview.component.js +5 -2
  10. package/components/basic/animatedview.component.js.map +1 -1
  11. package/components/basic/audio/audio.component.js +2 -1
  12. package/components/basic/audio/audio.component.js.map +1 -1
  13. package/components/basic/button/button.component.js +1 -0
  14. package/components/basic/button/button.component.js.map +1 -1
  15. package/components/basic/buttongroup/buttongroup.component.js +2 -1
  16. package/components/basic/buttongroup/buttongroup.component.js.map +1 -1
  17. package/components/basic/custom/custom.component.js +2 -1
  18. package/components/basic/custom/custom.component.js.map +1 -1
  19. package/components/basic/icon/icon.component.js +2 -1
  20. package/components/basic/icon/icon.component.js.map +1 -1
  21. package/components/basic/label/label.component.js +2 -1
  22. package/components/basic/label/label.component.js.map +1 -1
  23. package/components/basic/lottie/lottie.component.js +2 -1
  24. package/components/basic/lottie/lottie.component.js.map +1 -1
  25. package/components/basic/message/message.component.js +2 -1
  26. package/components/basic/message/message.component.js.map +1 -1
  27. package/components/basic/modal/modal.component.js +4 -2
  28. package/components/basic/modal/modal.component.js.map +1 -1
  29. package/components/basic/picture/picture.component.js +93 -8
  30. package/components/basic/picture/picture.component.js.map +1 -1
  31. package/components/basic/picture/picture.props.js +1 -0
  32. package/components/basic/picture/picture.props.js.map +1 -1
  33. package/components/basic/progress-bar/progress-bar.component.js +2 -1
  34. package/components/basic/progress-bar/progress-bar.component.js.map +1 -1
  35. package/components/basic/progress-circle/progress-circle.component.js +1 -0
  36. package/components/basic/progress-circle/progress-circle.component.js.map +1 -1
  37. package/components/basic/search/search.component.js +3 -1
  38. package/components/basic/search/search.component.js.map +1 -1
  39. package/components/basic/spinner/spinner.component.js +2 -1
  40. package/components/basic/spinner/spinner.component.js.map +1 -1
  41. package/components/basic/tooltip/tooltip.component.js +2 -1
  42. package/components/basic/tooltip/tooltip.component.js.map +1 -1
  43. package/components/basic/video/video.component.js +36 -5
  44. package/components/basic/video/video.component.js.map +1 -1
  45. package/components/basic/video/video.props.js +1 -0
  46. package/components/basic/video/video.props.js.map +1 -1
  47. package/components/basic/video/video.styles.js +13 -0
  48. package/components/basic/video/video.styles.js.map +1 -1
  49. package/components/chart/area-chart/area-chart.component.js +1 -0
  50. package/components/chart/area-chart/area-chart.component.js.map +1 -1
  51. package/components/chart/basechart.component.js +1 -0
  52. package/components/chart/basechart.component.js.map +1 -1
  53. package/components/chart/pie-chart/pie-chart.component.js +1 -0
  54. package/components/chart/pie-chart/pie-chart.component.js.map +1 -1
  55. package/components/chart/stack-chart/stack-chart.component.js +1 -0
  56. package/components/chart/stack-chart/stack-chart.component.js.map +1 -1
  57. package/components/container/accordion/accordion.component.js +2 -1
  58. package/components/container/accordion/accordion.component.js.map +1 -1
  59. package/components/container/container.component.js +2 -1
  60. package/components/container/container.component.js.map +1 -1
  61. package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js +2 -1
  62. package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js.map +1 -1
  63. package/components/container/layoutgrid/gridrow/gridrow.component.js +2 -1
  64. package/components/container/layoutgrid/gridrow/gridrow.component.js.map +1 -1
  65. package/components/container/layoutgrid/layoutgrid.component.js +1 -0
  66. package/components/container/layoutgrid/layoutgrid.component.js.map +1 -1
  67. package/components/container/linearlayout/linearlayout.component.js +2 -1
  68. package/components/container/linearlayout/linearlayout.component.js.map +1 -1
  69. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +2 -1
  70. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
  71. package/components/container/panel/panel.component.js +2 -1
  72. package/components/container/panel/panel.component.js.map +1 -1
  73. package/components/container/tabs/tabheader/tabheader.component.js +3 -1
  74. package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  75. package/components/container/tabs/tabpane/tabpane.component.js +2 -1
  76. package/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
  77. package/components/container/tabs/tabs.component.js +2 -1
  78. package/components/container/tabs/tabs.component.js.map +1 -1
  79. package/components/container/tile/tile.component.js +2 -1
  80. package/components/container/tile/tile.component.js.map +1 -1
  81. package/components/container/wizard/wizard.component.js +2 -1
  82. package/components/container/wizard/wizard.component.js.map +1 -1
  83. package/components/container/wizard/wizardstep/wizardstep.component.js +2 -1
  84. package/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
  85. package/components/data/card/card-content/card-content.component.js +2 -1
  86. package/components/data/card/card-content/card-content.component.js.map +1 -1
  87. package/components/data/card/card-footer/card-footer.component.js +2 -1
  88. package/components/data/card/card-footer/card-footer.component.js.map +1 -1
  89. package/components/data/card/card.component.js +2 -1
  90. package/components/data/card/card.component.js.map +1 -1
  91. package/components/data/form/form-body/form-body.component.js +2 -1
  92. package/components/data/form/form-body/form-body.component.js.map +1 -1
  93. package/components/data/form/form-field/form-field.component.js +2 -1
  94. package/components/data/form/form-field/form-field.component.js.map +1 -1
  95. package/components/data/form/form-footer/form-footer.component.js +2 -1
  96. package/components/data/form/form-footer/form-footer.component.js.map +1 -1
  97. package/components/data/form/form.component.js +2 -1
  98. package/components/data/form/form.component.js.map +1 -1
  99. package/components/data/list/list-template/list-template.component.js +2 -1
  100. package/components/data/list/list-template/list-template.component.js.map +1 -1
  101. package/components/data/list/list.component.js +6 -2
  102. package/components/data/list/list.component.js.map +1 -1
  103. package/components/data/list/list.props.js +1 -0
  104. package/components/data/list/list.props.js.map +1 -1
  105. package/components/device/barcodescanner/barcodescanner.component.js +2 -1
  106. package/components/device/barcodescanner/barcodescanner.component.js.map +1 -1
  107. package/components/device/camera/camera.component.js +2 -1
  108. package/components/device/camera/camera.component.js.map +1 -1
  109. package/components/dialogs/dialog/dialog.component.js +2 -1
  110. package/components/dialogs/dialog/dialog.component.js.map +1 -1
  111. package/components/dialogs/dialogactions/dialogactions.component.js +2 -1
  112. package/components/dialogs/dialogactions/dialogactions.component.js.map +1 -1
  113. package/components/dialogs/dialogcontent/dialogcontent.component.js +1 -0
  114. package/components/dialogs/dialogcontent/dialogcontent.component.js.map +1 -1
  115. package/components/input/calendar/calendar.component.js +2 -1
  116. package/components/input/calendar/calendar.component.js.map +1 -1
  117. package/components/input/checkbox/checkbox.component.js +2 -1
  118. package/components/input/checkbox/checkbox.component.js.map +1 -1
  119. package/components/input/checkboxset/checkboxset.component.js +2 -1
  120. package/components/input/checkboxset/checkboxset.component.js.map +1 -1
  121. package/components/input/chips/chips.component.js +2 -1
  122. package/components/input/chips/chips.component.js.map +1 -1
  123. package/components/input/composite/composite.component.js +2 -1
  124. package/components/input/composite/composite.component.js.map +1 -1
  125. package/components/input/currency/currency.component.js +2 -1
  126. package/components/input/currency/currency.component.js.map +1 -1
  127. package/components/input/epoch/base-datetime.component.js +3 -2
  128. package/components/input/epoch/base-datetime.component.js.map +1 -1
  129. package/components/input/epoch/wheel-date-picker.component.js +91 -84
  130. package/components/input/epoch/wheel-date-picker.component.js.map +1 -1
  131. package/components/input/epoch/wheelpicker/wheelpicker.component.js +2 -1
  132. package/components/input/epoch/wheelpicker/wheelpicker.component.js.map +1 -1
  133. package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js +2 -1
  134. package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js.map +1 -1
  135. package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js +2 -1
  136. package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js.map +1 -1
  137. package/components/input/fileupload/fileupload.component.js +2 -1
  138. package/components/input/fileupload/fileupload.component.js.map +1 -1
  139. package/components/input/number/number.component.js +2 -1
  140. package/components/input/number/number.component.js.map +1 -1
  141. package/components/input/radioset/radioset.component.js +4 -2
  142. package/components/input/radioset/radioset.component.js.map +1 -1
  143. package/components/input/rating/rating.component.js +2 -1
  144. package/components/input/rating/rating.component.js.map +1 -1
  145. package/components/input/select/select.component.js +4 -1
  146. package/components/input/select/select.component.js.map +1 -1
  147. package/components/input/slider/slider.component.js +2 -1
  148. package/components/input/slider/slider.component.js.map +1 -1
  149. package/components/input/switch/switch.component.js +2 -1
  150. package/components/input/switch/switch.component.js.map +1 -1
  151. package/components/input/text/text.component.js +2 -1
  152. package/components/input/text/text.component.js.map +1 -1
  153. package/components/input/textarea/textarea.component.js +2 -1
  154. package/components/input/textarea/textarea.component.js.map +1 -1
  155. package/components/input/toggle/toggle.component.js +1 -0
  156. package/components/input/toggle/toggle.component.js.map +1 -1
  157. package/components/navigation/appnavbar/appnavbar.component.js +2 -1
  158. package/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
  159. package/components/navigation/navbar/navbar.component.js +2 -1
  160. package/components/navigation/navbar/navbar.component.js.map +1 -1
  161. package/components/navigation/navitem/navitem.component.js +2 -1
  162. package/components/navigation/navitem/navitem.component.js.map +1 -1
  163. package/components/navigation/popover/popover.component.js +1 -0
  164. package/components/navigation/popover/popover.component.js.map +1 -1
  165. package/components/page/page.component.js.map +1 -1
  166. package/core/AppConfig.js.map +1 -1
  167. package/core/base.component.js +15 -21
  168. package/core/base.component.js.map +1 -1
  169. package/core/components/textinput.component.js +2 -1
  170. package/core/components/textinput.component.js.map +1 -1
  171. package/core/tappable.component.js +7 -3
  172. package/core/tappable.component.js.map +1 -1
  173. package/core/utils.js +13 -11
  174. package/core/utils.js.map +1 -1
  175. package/npm-shrinkwrap.json +7 -7
  176. package/package-lock.json +7 -7
  177. package/package.json +2 -2
  178. package/runtime/App.js +18 -7
  179. package/runtime/App.js.map +1 -1
  180. package/runtime/base-page.component.js +2 -3
  181. package/runtime/base-page.component.js.map +1 -1
  182. package/styles/style-props.js +1 -0
  183. package/styles/style-props.js.map +1 -1
@@ -22,6 +22,8 @@ export class WmPictureState extends BaseComponentState {
22
22
  _defineProperty(this, "naturalImageHeight", 0);
23
23
  _defineProperty(this, "imageWidth", 0);
24
24
  _defineProperty(this, "imageHeight", 0);
25
+ _defineProperty(this, "originalContainerWidth", 0);
26
+ _defineProperty(this, "originalContainerHeight", 0);
25
27
  }
26
28
  }
27
29
  export default class WmPicture extends BaseComponent {
@@ -29,23 +31,32 @@ export default class WmPicture extends BaseComponent {
29
31
  super(_props, DEFAULT_CLASS, new WmPictureProps());
30
32
  _defineProperty(this, "_pictureSource", null);
31
33
  _defineProperty(this, "_picturePlaceHolder", null);
34
+ // The below property will be used to track and remove the calculateImageSize listenrs of individual picturesource
35
+ _defineProperty(this, "_cleanupTracker", {});
32
36
  _defineProperty(this, "onViewLayoutChange", e => {
37
+ var _this$styles, _this$styles2, _this$styles3;
33
38
  let imageWidth = e.nativeEvent.layout.width;
34
39
  let imageHeight = e.nativeEvent.layout.height;
35
40
  if (!imageWidth && !imageHeight) {
36
41
  return;
37
42
  }
38
- if (!this.styles.root.height || typeof this.styles.root.height === 'string' && !this.styles.root.height.includes('%')) {
43
+ if (!((_this$styles = this.styles) !== null && _this$styles !== void 0 && _this$styles.root.height) || typeof ((_this$styles2 = this.styles) === null || _this$styles2 === void 0 ? void 0 : _this$styles2.root.height) === 'string' && !((_this$styles3 = this.styles) !== null && _this$styles3 !== void 0 && _this$styles3.root.height.includes('%'))) {
39
44
  imageHeight = 0;
40
45
  }
41
- if (imageWidth && !imageHeight) {
46
+ if (this.state.props.aspectratio && !imageHeight && imageWidth) {
47
+ imageHeight = imageWidth / parseFloat(this.state.props.aspectratio);
48
+ } else if (this.state.props.aspectratio && !imageWidth && imageHeight) {
49
+ imageWidth = imageWidth * parseFloat(this.state.props.aspectratio);
50
+ } else if (imageWidth && !imageHeight) {
42
51
  imageHeight = imageWidth * this.state.naturalImageHeight / this.state.naturalImageWidth;
43
52
  } else if (imageHeight && !imageWidth) {
44
53
  imageWidth = imageHeight * this.state.naturalImageWidth / this.state.naturalImageHeight;
45
54
  }
46
55
  this.updateState({
47
56
  imageWidth: imageWidth,
48
- imageHeight: imageHeight
57
+ imageHeight: imageHeight,
58
+ originalContainerWidth: this.styles.root.width ? e.nativeEvent.layout.width : 0,
59
+ originalContainerHeight: this.styles.root.height ? e.nativeEvent.layout.height : 0
49
60
  });
50
61
  });
51
62
  _defineProperty(this, "showImage", (imageElement, props) => {
@@ -63,6 +74,9 @@ export default class WmPicture extends BaseComponent {
63
74
  if (imageSrc && typeof imageSrc === 'object' && typeof imageSrc.default === 'function') {
64
75
  return null;
65
76
  }
77
+ if (this.state.props.aspectratio) {
78
+ return imageSrc;
79
+ }
66
80
  if (isNumber(imageSrc)) {
67
81
  const {
68
82
  width,
@@ -80,10 +94,30 @@ export default class WmPicture extends BaseComponent {
80
94
  });
81
95
  this.cleanup.splice(this.cleanup.indexOf(cancel), 1);
82
96
  });
97
+ if (this.props.picturesource && this._cleanupTracker[this.props.picturesource]) {
98
+ this._cleanupTracker[this.props.picturesource].push(cancel);
99
+ } else if (this.props.picturesource && !this._cleanupTracker[this.props.picturesource]) {
100
+ this._cleanupTracker[this.props.picturesource] = [];
101
+ this._cleanupTracker[this.props.picturesource].push(cancel);
102
+ }
83
103
  this.cleanup.push(cancel);
84
104
  }
85
105
  return imageSrc;
86
106
  }
107
+
108
+ // Check if the image source prop is changed from previous update to remove all listeners
109
+ componentDidUpdate(prevProps, prevState, snapshot) {
110
+ if (this.state.props.picturesource !== prevProps.picturesource) {
111
+ if (prevProps.picturesource && this._cleanupTracker[prevProps.picturesource]) {
112
+ this._cleanupTracker[prevProps.picturesource].forEach(func => {
113
+ func();
114
+ });
115
+ this._cleanupTracker[prevProps.picturesource] = [];
116
+ delete this._cleanupTracker[prevProps.picturesource];
117
+ }
118
+ }
119
+ super.componentDidUpdate(prevProps, prevState);
120
+ }
87
121
  onPropertyChange(name, $new, $old) {
88
122
  switch (name) {
89
123
  case 'picturesource':
@@ -129,7 +163,7 @@ export default class WmPicture extends BaseComponent {
129
163
  } else {
130
164
  source = imgSrc;
131
165
  }
132
- if (this.state.naturalImageWidth) {
166
+ if (this.state.naturalImageWidth || this.state.props.aspectratio) {
133
167
  elementToshow = /*#__PURE__*/React.createElement(Image, _extends({}, this.getTestProps('picture'), {
134
168
  style: [this.styles.picture, shapeStyles.picture],
135
169
  resizeMode: props.resizemode,
@@ -152,10 +186,60 @@ export default class WmPicture extends BaseComponent {
152
186
  height: skeletonHeight
153
187
  });
154
188
  }
189
+ //TODO: remove the re calculation logic later. Keeping it as an extra safety.
190
+ calculateBasedOnaspectratio() {
191
+ if (this.state.props.aspectratio) {
192
+ if (this.state.originalContainerWidth) {
193
+ return {
194
+ imageHeight: this.state.originalContainerWidth / parseFloat(this.state.props.aspectratio),
195
+ imageWidth: this.state.originalContainerWidth
196
+ };
197
+ } else if (this.state.originalContainerHeight) {
198
+ return {
199
+ imageHeight: this.state.originalContainerHeight,
200
+ imageWidth: this.state.originalContainerHeight * parseFloat(this.state.props.aspectratio)
201
+ };
202
+ }
203
+ }
204
+ return null;
205
+ }
206
+
207
+ //TODO: remove the re calculation logic later. Keeping it as an extra safety.
208
+ calculateBasedOnNaturalDimensions() {
209
+ // No need to calculate width & height if the user already passign them explicitly from props.
210
+ const widthAndHeightExistsInProps = this.styles.root.width && this.styles.root.height;
211
+ if (!this.state.props.aspectratio && !widthAndHeightExistsInProps) {
212
+ if (this.state.originalContainerWidth) {
213
+ return {
214
+ imageHeight: this.state.originalContainerWidth * this.state.naturalImageHeight / this.state.naturalImageWidth,
215
+ imageWidth: this.state.originalContainerWidth
216
+ };
217
+ } else if (this.state.originalContainerHeight) {
218
+ return {
219
+ imageHeight: this.state.originalContainerHeight,
220
+ imageWidth: this.state.originalContainerHeight * this.state.naturalImageWidth / this.state.naturalImageHeight
221
+ };
222
+ }
223
+ }
224
+ return null;
225
+ }
155
226
  renderWidget(props) {
156
227
  var _shapeStyles$picture4;
157
- const imageWidth = this.state.imageWidth;
158
- const imageHeight = this.state.imageHeight;
228
+ let imageWidth = this.state.imageWidth;
229
+ let imageHeight = this.state.imageHeight;
230
+
231
+ //TODO: remove the re calculation logic later. Keeping it as an extra safety.
232
+ const aspectDimensions = this.calculateBasedOnaspectratio();
233
+ const naturalDimensions = this.calculateBasedOnNaturalDimensions();
234
+ if (aspectDimensions) {
235
+ const dimensions = aspectDimensions;
236
+ imageWidth = dimensions.imageWidth;
237
+ imageHeight = dimensions.imageHeight;
238
+ } else if (naturalDimensions) {
239
+ const dimensions = naturalDimensions;
240
+ imageHeight = dimensions.imageHeight;
241
+ imageWidth = dimensions.imageWidth;
242
+ }
159
243
  const shapeStyles = this.createShape(props.shape, imageWidth);
160
244
  this._pictureSource = this._pictureSource || this.loadImage(props.picturesource);
161
245
  this._picturePlaceHolder = props.fastload ? this._pictureSource || this._picturePlaceHolder || this.loadImage(props.pictureplaceholder) : this._picturePlaceHolder || this.loadImage(props.pictureplaceholder);
@@ -164,11 +248,12 @@ export default class WmPicture extends BaseComponent {
164
248
  if (imgSrc) {
165
249
  elementToshow = this.getElementToShow(props, imgSrc, shapeStyles);
166
250
  }
167
- return imgSrc && (this.state.naturalImageWidth || props.isSvg) ? /*#__PURE__*/React.createElement(View, {
251
+ return imgSrc && (this.state.naturalImageWidth || props.isSvg || props.aspectratio) ? /*#__PURE__*/React.createElement(View, {
168
252
  style: [{
169
253
  width: imageWidth,
170
254
  height: imageHeight
171
- }, this.styles.root, shapeStyles.root, shapeStyles.picture]
255
+ }, this.styles.root, shapeStyles.root, shapeStyles.picture],
256
+ onLayout: event => this.handleLayout(event)
172
257
  }, this._background, /*#__PURE__*/React.createElement(View, {
173
258
  style: [{
174
259
  overflow: 'hidden',
@@ -1 +1 @@
1
- {"version":3,"names":["React","Image","View","isNumber","Tappable","BaseComponent","BaseComponentState","ImageSizeEstimator","isFullPathUrl","AccessibilityWidgetType","getAccessibilityProps","WmPictureProps","DEFAULT_CLASS","Animatedview","createSkeleton","WmPictureState","constructor","args","_defineProperty","WmPicture","props","e","imageWidth","nativeEvent","layout","width","imageHeight","height","styles","root","includes","state","naturalImageHeight","naturalImageWidth","updateState","imageElement","fastload","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","uri","_extends","getTestProps","style","resizeMode","PICTURE","renderSkeleton","_this$styles$root","_shapeStyles$root","_shapeStyles$picture","_this$styles$root2","_shapeStyles$root2","_shapeStyles$picture2","_this$styles$root3","_shapeStyles$picture3","_shapeStyles$root3","_this$styles$root4","skeletonWidth","skeletonwidth","skeletonHeight","skeletonheight","skeleton","renderWidget","_shapeStyles$picture4","picturesource","pictureplaceholder","isSvg","_background","overflow","onLayout","onViewLayoutChange","disableTouchEffect","disabletoucheffect","getTestPropsForAction","rippleColor","target","entryanimation","animation","delay","animationdelay","showImage"],"sources":["picture.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Image, LayoutChangeEvent, View } from 'react-native';\n// import { NumberProp, 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 { isFullPathUrl } from '@wavemaker/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\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 testID={this.getTestId('picture')} width={this.styles.root.width as NumberProp} height={this.styles.root.height as NumberProp} uri={imgSrc}/>;\n } else if (isFullPathUrl(imgSrc)) {\n source = {\n uri: imgSrc\n };\n } else {\n source = imgSrc;\n }\n if (this.state.naturalImageWidth) {\n elementToshow = (\n <Image\n {...this.getTestProps('picture')}\n style={[this.styles.picture, shapeStyles.picture]}\n resizeMode={props.resizemode}\n source={source}\n {...getAccessibilityProps(AccessibilityWidgetType.PICTURE, props)}\n />\n );\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 as DimensionValue,\n height: skeletonHeight as DimensionValue\n });\n }\n\n showImage = (imageElement: any, props: WmPictureProps) => {\n if(props.fastload){\n return imageElement;\n }\n return this.state.imageWidth ? imageElement : null\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 = props.fastload ? \n (this._pictureSource || this._picturePlaceHolder || this.loadImage(props.pictureplaceholder)) :\n (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\n disableTouchEffect={this.state.props.disabletoucheffect}\n {...this.getTestPropsForAction()}\n rippleColor={this.styles.root.rippleColor}\n target={this} styles={{width: imageWidth ? null : '100%', height: imageHeight ? null : '100%'}}>\n <Animatedview entryanimation={props.animation} delay={props.animationdelay} style={[{\n height: imageHeight,\n width: imageWidth,\n borderRadius: shapeStyles.picture?.borderRadius\n }]}>\n {this.showImage(elementToshow, props)}\n </Animatedview>\n </Tappable>\n </View>\n </View>\n ): null;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Image","View","isNumber","Tappable","BaseComponent","BaseComponentState","ImageSizeEstimator","isFullPathUrl","AccessibilityWidgetType","getAccessibilityProps","WmPictureProps","DEFAULT_CLASS","Animatedview","createSkeleton","WmPictureState","constructor","args","_defineProperty","WmPicture","props","e","_this$styles","_this$styles2","_this$styles3","imageWidth","nativeEvent","layout","width","imageHeight","height","styles","root","includes","state","aspectratio","parseFloat","naturalImageHeight","naturalImageWidth","updateState","originalContainerWidth","originalContainerHeight","imageElement","fastload","loadImage","image","loadAsset","imageSrc","default","resolveAssetSource","cancel","getSize","cleanup","splice","indexOf","picturesource","_cleanupTracker","push","componentDidUpdate","prevProps","prevState","snapshot","forEach","func","onPropertyChange","name","$new","$old","_pictureSource","_picturePlaceHolder","createShape","shape","picture","borderRadius","theme","getStyle","getElementToShow","imgSrc","shapeStyles","elementToshow","source","imgStyle","resizemode","createElement","uri","_extends","getTestProps","style","resizeMode","PICTURE","renderSkeleton","_this$styles$root","_shapeStyles$root","_shapeStyles$picture","_this$styles$root2","_shapeStyles$root2","_shapeStyles$picture2","_this$styles$root3","_shapeStyles$picture3","_shapeStyles$root3","_this$styles$root4","skeletonWidth","skeletonwidth","skeletonHeight","skeletonheight","skeleton","calculateBasedOnaspectratio","calculateBasedOnNaturalDimensions","widthAndHeightExistsInProps","renderWidget","_shapeStyles$picture4","aspectDimensions","naturalDimensions","dimensions","pictureplaceholder","isSvg","onLayout","event","handleLayout","_background","overflow","onViewLayoutChange","disableTouchEffect","disabletoucheffect","getTestPropsForAction","rippleColor","target","entryanimation","animation","delay","animationdelay","showImage"],"sources":["picture.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Image, LayoutChangeEvent, View } from 'react-native';\n// import { NumberProp, 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 { isFullPathUrl } from '@wavemaker/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\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 originalContainerWidth: number = 0;\n originalContainerHeight: 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 // The below property will be used to track and remove the calculateImageSize listenrs of individual picturesource\n private _cleanupTracker = {} 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(this.state.props.aspectratio) {\n return imageSrc;\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 if(this.props.picturesource && this._cleanupTracker[this.props.picturesource]) {\n this._cleanupTracker[this.props.picturesource].push(cancel)\n } else if(this.props.picturesource && !this._cleanupTracker[this.props.picturesource]) {\n this._cleanupTracker[this.props.picturesource] = [];\n this._cleanupTracker[this.props.picturesource].push(cancel)\n }\n this.cleanup.push(cancel);\n }\n return imageSrc;\n }\n\n // Check if the image source prop is changed from previous update to remove all listeners\n componentDidUpdate(prevProps: Readonly<WmPictureProps>, prevState: Readonly<WmPictureState>, snapshot?: any): void {\n if(this.state.props.picturesource !== prevProps.picturesource) {\n if(prevProps.picturesource && this._cleanupTracker[prevProps.picturesource]) {\n this._cleanupTracker[prevProps.picturesource].forEach((func: any) => {\n func();\n }); \n this._cleanupTracker[prevProps.picturesource] = []\n delete this._cleanupTracker[prevProps.picturesource] \n }\n }\n super.componentDidUpdate(prevProps, prevState)\n }\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(this.state.props.aspectratio && !imageHeight && imageWidth) {\n imageHeight = imageWidth / parseFloat(this.state.props.aspectratio as string)\n } else if (this.state.props.aspectratio && !imageWidth && imageHeight) {\n imageWidth = imageWidth * parseFloat(this.state.props.aspectratio as string)\n } else 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 originalContainerWidth: this.styles.root.width ? e.nativeEvent.layout.width : 0,\n originalContainerHeight: this.styles.root.height ? e.nativeEvent.layout.height: 0\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 testID={this.getTestId('picture')} width={this.styles.root.width as NumberProp} height={this.styles.root.height as NumberProp} uri={imgSrc}/>;\n } else if (isFullPathUrl(imgSrc)) {\n source = {\n uri: imgSrc\n };\n } else {\n source = imgSrc;\n }\n if (this.state.naturalImageWidth || this.state.props.aspectratio) {\n elementToshow = (\n <Image\n {...this.getTestProps('picture')}\n style={[this.styles.picture, shapeStyles.picture]}\n resizeMode={props.resizemode}\n source={source}\n {...getAccessibilityProps(AccessibilityWidgetType.PICTURE, props)}\n />\n );\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 as DimensionValue,\n height: skeletonHeight as DimensionValue\n });\n }\n\n showImage = (imageElement: any, props: WmPictureProps) => {\n if(props.fastload){\n return imageElement;\n }\n return this.state.imageWidth ? imageElement : null\n }\n\n\n //TODO: remove the re calculation logic later. Keeping it as an extra safety. \n calculateBasedOnaspectratio(): {imageWidth: number, imageHeight: number} | null {\n if(this.state.props.aspectratio) {\n if(this.state.originalContainerWidth) {\n return {\n imageHeight: this.state.originalContainerWidth / parseFloat(this.state.props.aspectratio as string),\n imageWidth: this.state.originalContainerWidth\n }\n } else if(this.state.originalContainerHeight) {\n return {\n imageHeight: this.state.originalContainerHeight, \n imageWidth: this.state.originalContainerHeight * parseFloat(this.state.props.aspectratio as string),\n }\n }\n }\n return null\n }\n \n //TODO: remove the re calculation logic later. Keeping it as an extra safety. \n calculateBasedOnNaturalDimensions(): {imageWidth: number, imageHeight: number} | null {\n // No need to calculate width & height if the user already passign them explicitly from props. \n const widthAndHeightExistsInProps = this.styles.root.width && this.styles.root.height\n if(!this.state.props.aspectratio && !widthAndHeightExistsInProps) {\n if(this.state.originalContainerWidth) {\n return {\n imageHeight: this.state.originalContainerWidth * this.state.naturalImageHeight / this.state.naturalImageWidth,\n imageWidth: this.state.originalContainerWidth\n }\n } else if(this.state.originalContainerHeight) {\n return {\n imageHeight: this.state.originalContainerHeight, \n imageWidth: this.state.originalContainerHeight * this.state.naturalImageWidth / this.state.naturalImageHeight\n }\n }\n }\n return null\n }\n \n\n renderWidget(props: WmPictureProps) {\n let imageWidth = this.state.imageWidth;\n let imageHeight = this.state.imageHeight;\n\n\n //TODO: remove the re calculation logic later. Keeping it as an extra safety. \n const aspectDimensions = this.calculateBasedOnaspectratio();\n const naturalDimensions = this.calculateBasedOnNaturalDimensions();\n if(aspectDimensions) {\n const dimensions = aspectDimensions as {imageWidth: number, imageHeight: number}\n imageWidth = dimensions.imageWidth;\n imageHeight = dimensions.imageHeight\n } else if(naturalDimensions) {\n const dimensions = naturalDimensions as {imageWidth: number, imageHeight: number}\n imageHeight = dimensions.imageHeight\n imageWidth = dimensions.imageWidth\n }\n const shapeStyles = this.createShape(props.shape, imageWidth);\n this._pictureSource = this._pictureSource || this.loadImage(props.picturesource);\n this._picturePlaceHolder = props.fastload ? \n (this._pictureSource || this._picturePlaceHolder || this.loadImage(props.pictureplaceholder)) :\n (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 || props.aspectratio) ? (\n <View \n style={[{\n width: imageWidth,\n height: imageHeight\n }, this.styles.root, shapeStyles.root, shapeStyles.picture]}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n <View style={[{overflow: 'hidden', width: '100%',\n height: '100%'}]} onLayout={this.onViewLayoutChange}>\n <Tappable\n disableTouchEffect={this.state.props.disabletoucheffect}\n {...this.getTestPropsForAction()}\n rippleColor={this.styles.root.rippleColor}\n target={this} styles={{width: imageWidth ? null : '100%', height: imageHeight ? null : '100%'}}>\n <Animatedview entryanimation={props.animation} delay={props.animationdelay} style={[{\n height: imageHeight,\n width: imageWidth,\n borderRadius: shapeStyles.picture?.borderRadius\n }]}>\n {this.showImage(elementToshow, props)}\n </Animatedview>\n </Tappable>\n </View>\n </View>\n ): null;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -18,6 +18,7 @@ export default class WmPictureProps extends BaseProps {
18
18
  _defineProperty(this, "hint", undefined);
19
19
  _defineProperty(this, "accessibilityrole", 'image');
20
20
  _defineProperty(this, "fastload", false);
21
+ _defineProperty(this, "aspectratio", null);
21
22
  }
22
23
  }
23
24
  //# sourceMappingURL=picture.props.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","WmPictureProps","constructor","args","_defineProperty","undefined"],"sources":["picture.props.ts"],"sourcesContent":["import { AccessibilityRole, ImageResizeMode } from 'react-native';\nimport { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmPictureProps extends BaseProps {\n animation?: string = null as any;\n animationdelay?: number = null as any;\n picturesource?: string = null as any;\n pictureplaceholder?: string = null as any;\n shape?: string = null as any;\n isSvg?: string = null as any;\n resizemode?: ImageResizeMode = 'stretch' as any;\n skeletonheight?: string = null as any;\n skeletonwidth?: string = null as any;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = 'image';\n fastload?: boolean = false;\n}\n"],"mappings":";;;AACA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,oBAC/B,IAAI;IAAAA,eAAA,yBACC,IAAI;IAAAA,eAAA,wBACL,IAAI;IAAAA,eAAA,6BACC,IAAI;IAAAA,eAAA,gBACjB,IAAI;IAAAA,eAAA,gBACJ,IAAI;IAAAA,eAAA,qBACU,SAAS;IAAAA,eAAA,yBACd,IAAI;IAAAA,eAAA,wBACL,IAAI;IAAAA,eAAA,6BACCC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,OAAO;IAAAA,eAAA,mBAC1B,KAAK;EAAA;AAC5B","ignoreList":[]}
1
+ {"version":3,"names":["BaseProps","WmPictureProps","constructor","args","_defineProperty","undefined"],"sources":["picture.props.ts"],"sourcesContent":["import { AccessibilityRole, ImageResizeMode } from 'react-native';\nimport { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmPictureProps extends BaseProps {\n animation?: string = null as any;\n animationdelay?: number = null as any;\n picturesource?: string = null as any;\n pictureplaceholder?: string = null as any;\n shape?: string = null as any;\n isSvg?: string = null as any;\n resizemode?: ImageResizeMode = 'stretch' as any;\n skeletonheight?: string = null as any;\n skeletonwidth?: string = null as any;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = 'image';\n fastload?: boolean = false;\n aspectratio?: string | number | null = null;\n}\n"],"mappings":";;;AACA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,oBAC/B,IAAI;IAAAA,eAAA,yBACC,IAAI;IAAAA,eAAA,wBACL,IAAI;IAAAA,eAAA,6BACC,IAAI;IAAAA,eAAA,gBACjB,IAAI;IAAAA,eAAA,gBACJ,IAAI;IAAAA,eAAA,qBACU,SAAS;IAAAA,eAAA,yBACd,IAAI;IAAAA,eAAA,wBACL,IAAI;IAAAA,eAAA,6BACCC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,OAAO;IAAAA,eAAA,mBAC1B,KAAK;IAAAA,eAAA,sBACa,IAAI;EAAA;AAC7C","ignoreList":[]}
@@ -28,7 +28,8 @@ export default class WmProgressBar extends BaseComponent {
28
28
  const gradientColors = [color1, color2];
29
29
  const valuePercent = `${Math.round(value * 100)}%`;
30
30
  return /*#__PURE__*/React.createElement(View, {
31
- style: styles.root
31
+ style: styles.root,
32
+ onLayout: event => this.handleLayout(event)
32
33
  }, this._background, /*#__PURE__*/React.createElement(Tappable, {
33
34
  target: this,
34
35
  styles: {
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","ProgressBar","LinearGradient","ExpoLinearGradient","Tappable","BaseComponent","BaseComponentState","AccessibilityWidgetType","getAccessibilityProps","WmProgressBarProps","DEFAULT_CLASS","parseLinearGradient","WmProgressBarState","WmProgressBar","constructor","props","renderWidget","_styles$root","_styles$progressBar","value","datavalue","minvalue","maxvalue","styles","theme","mergeStyle","getStyle","type","hasLinearGradient","color1","color2","start","end","root","progressBar","backgroundColor","gradientColors","valuePercent","Math","round","createElement","style","_background","target","width","height","disableTouchEffect","state","disabletoucheffect","_extends","getTestPropsForAction","PROGRESSBAR","animatedValue","color","progressValue","colors","position","borderRadius","Fragment"],"sources":["progress-bar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { ProgressBar } from 'react-native-paper';\nimport { LinearGradient as ExpoLinearGradient } from 'expo-linear-gradient';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nimport WmProgressBarProps from './progress-bar.props';\nimport { DEFAULT_CLASS, WmProgressBarStyles } from './progress-bar.styles';\nimport { parseLinearGradient } from '@wavemaker/app-rn-runtime/core/utils';\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 const styles = this.theme.mergeStyle(this.theme.getStyle(`app-${props.type}-progress-bar`), this.styles);\n const {hasLinearGradient, color1, color2, start, end} = parseLinearGradient(styles?.root?.progressBar?.backgroundColor as string);\n const gradientColors: [string, string, ...string[]] = [color1, color2];\n const valuePercent = `${Math.round(value * 100)}%`;\n\n return (\n <View style={styles.root}>\n {this._background}\n <Tappable target={this} styles={{root:{width: '100%', height: '100%'}}} disableTouchEffect={this.state.props.disabletoucheffect}>\n <ProgressBar\n {...this.getTestPropsForAction('progressbar')}\n {...getAccessibilityProps(AccessibilityWidgetType.PROGRESSBAR, props)}\n animatedValue={value}\n color={styles.progressValue.color}\n style={[styles.progressBar, {height: styles.root.height || styles.progressBar.height}]}></ProgressBar>\n {hasLinearGradient ? (\n <ExpoLinearGradient\n colors={gradientColors}\n start={start}\n end={end}\n style={[\n {\n width: valuePercent as any,\n height: styles.root.height || styles.progressBar.height,\n position: 'absolute',\n borderRadius: styles?.progressBar?.borderRadius || 0,\n },\n ]}\n />\n ) : (\n <></>\n )}\n </Tappable>\n </View>); \n }\n\n}"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","ProgressBar","LinearGradient","ExpoLinearGradient","Tappable","BaseComponent","BaseComponentState","AccessibilityWidgetType","getAccessibilityProps","WmProgressBarProps","DEFAULT_CLASS","parseLinearGradient","WmProgressBarState","WmProgressBar","constructor","props","renderWidget","_styles$root","_styles$progressBar","value","datavalue","minvalue","maxvalue","styles","theme","mergeStyle","getStyle","type","hasLinearGradient","color1","color2","start","end","root","progressBar","backgroundColor","gradientColors","valuePercent","Math","round","createElement","style","onLayout","event","handleLayout","_background","target","width","height","disableTouchEffect","state","disabletoucheffect","_extends","getTestPropsForAction","PROGRESSBAR","animatedValue","color","progressValue","colors","position","borderRadius","Fragment"],"sources":["progress-bar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { ProgressBar } from 'react-native-paper';\nimport { LinearGradient as ExpoLinearGradient } from 'expo-linear-gradient';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nimport WmProgressBarProps from './progress-bar.props';\nimport { DEFAULT_CLASS, WmProgressBarStyles } from './progress-bar.styles';\nimport { parseLinearGradient } from '@wavemaker/app-rn-runtime/core/utils';\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 const styles = this.theme.mergeStyle(this.theme.getStyle(`app-${props.type}-progress-bar`), this.styles);\n const {hasLinearGradient, color1, color2, start, end} = parseLinearGradient(styles?.root?.progressBar?.backgroundColor as string);\n const gradientColors: [string, string, ...string[]] = [color1, color2];\n const valuePercent = `${Math.round(value * 100)}%`;\n\n return (\n <View \n style={styles.root}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n <Tappable target={this} styles={{root:{width: '100%', height: '100%'}}} disableTouchEffect={this.state.props.disabletoucheffect}>\n <ProgressBar\n {...this.getTestPropsForAction('progressbar')}\n {...getAccessibilityProps(AccessibilityWidgetType.PROGRESSBAR, props)}\n animatedValue={value}\n color={styles.progressValue.color}\n style={[styles.progressBar, {height: styles.root.height || styles.progressBar.height}]}></ProgressBar>\n {hasLinearGradient ? (\n <ExpoLinearGradient\n colors={gradientColors}\n start={start}\n end={end}\n style={[\n {\n width: valuePercent as any,\n height: styles.root.height || styles.progressBar.height,\n position: 'absolute',\n borderRadius: styles?.progressBar?.borderRadius || 0,\n },\n ]}\n />\n ) : (\n <></>\n )}\n </Tappable>\n </View>); \n }\n\n}"],"mappings":"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","ignoreList":[]}
@@ -32,6 +32,7 @@ export default class WmProgressCircle extends BaseComponent {
32
32
  } else {
33
33
  radius = Math.min(width, height);
34
34
  }
35
+ this.handleLayout(e);
35
36
  this.updateState({
36
37
  radius: radius
37
38
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","isNumber","AnimatedCircularProgress","Tappable","BaseComponent","BaseComponentState","AccessibilityWidgetType","getAccessibilityProps","WmProgressCircleProps","DEFAULT_CLASS","WmProgressCircleState","constructor","args","_defineProperty","WmProgressCircle","props","onLayout","e","width","nativeEvent","layout","height","radius","state","Math","min","updateState","renderWidget","value","datavalue","minvalue","maxvalue","styles","theme","mergeStyle","getStyle","type","showText","captionplacement","createElement","_extends","style","root","bind","PROGRESSCIRCLE","getTestPropsForAction","_background","target","disableTouchEffect","disabletoucheffect","fill","progressValue","backgroundWidth","rotation","tintColor","backgroundColor","lineCap","buttStyle","progressCircle","size","alignItems","text","getTestPropsForLabel","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';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\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)} {...getAccessibilityProps(AccessibilityWidgetType.PROGRESSCIRCLE, props)} {...this.getTestPropsForAction('progresscircle')}>\n {this._background}\n <Tappable target={this} styles={{root:{width: '100%', height: '100%'}}} disableTouchEffect={this.state.props.disabletoucheffect}>\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} {...this.getTestPropsForLabel('title')}>{ showText ? props.title || value : '' }</Text>\n {showText && props.subtitle ? (<Text style={styles.subTitle} {...this.getTestPropsForLabel('subtitle')}>{ props.subtitle }</Text>) : null}\n </View>)} \n </AnimatedCircularProgress>\n </Tappable>\n </View>); \n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Text","isNumber","AnimatedCircularProgress","Tappable","BaseComponent","BaseComponentState","AccessibilityWidgetType","getAccessibilityProps","WmProgressCircleProps","DEFAULT_CLASS","WmProgressCircleState","constructor","args","_defineProperty","WmProgressCircle","props","onLayout","e","width","nativeEvent","layout","height","radius","state","Math","min","handleLayout","updateState","renderWidget","value","datavalue","minvalue","maxvalue","styles","theme","mergeStyle","getStyle","type","showText","captionplacement","createElement","_extends","style","root","bind","PROGRESSCIRCLE","getTestPropsForAction","_background","target","disableTouchEffect","disabletoucheffect","fill","progressValue","backgroundWidth","rotation","tintColor","backgroundColor","lineCap","buttStyle","progressCircle","size","alignItems","text","getTestPropsForLabel","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';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\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 \n this.handleLayout(e)\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)} {...getAccessibilityProps(AccessibilityWidgetType.PROGRESSCIRCLE, props)} {...this.getTestPropsForAction('progresscircle')}>\n {this._background}\n <Tappable target={this} styles={{root:{width: '100%', height: '100%'}}} disableTouchEffect={this.state.props.disabletoucheffect}>\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} {...this.getTestPropsForLabel('title')}>{ showText ? props.title || value : '' }</Text>\n {showText && props.subtitle ? (<Text style={styles.subTitle} {...this.getTestPropsForLabel('subtitle')}>{ props.subtitle }</Text>) : null}\n </View>)} \n </AnimatedCircularProgress>\n </Tappable>\n </View>); \n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -409,7 +409,9 @@ export default class WmSearch extends BaseDatasetComponent {
409
409
  }
410
410
  renderWidget(props) {
411
411
  const result = this.state.data;
412
- return /*#__PURE__*/React.createElement(View, null, this.renderSearchBar(), this.state.isOpened ? /*#__PURE__*/React.createElement(ModalConsumer, null, modalService => {
412
+ return /*#__PURE__*/React.createElement(View, {
413
+ onLayout: event => this.handleLayout(event)
414
+ }, this.renderSearchBar(), this.state.isOpened ? /*#__PURE__*/React.createElement(ModalConsumer, null, modalService => {
413
415
  modalService.showModal(this.prepareModalOptions(/*#__PURE__*/React.createElement(ScrollView, {
414
416
  style: {
415
417
  width: '100%',
@@ -1 +1 @@
1
- {"version":3,"names":["React","Keyboard","Platform","Text","TextInput","View","ScrollView","find","isNull","WmSearchProps","DEFAULT_CLASS","ModalConsumer","DataProvider","AccessibilityWidgetType","getAccessibilityProps","BaseDatasetComponent","BaseDatasetState","WmAnchor","WmPicture","Tappable","WmButton","get","isArray","isEmpty","isObject","AssetProvider","createSkeleton","WmSearchState","constructor","args","_defineProperty","top","left","WmSearch","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","_filteredData","filterOptions","entries","filteredData","minchars","length","_this$dataProvider","searchkey","updateRequired","undefined","init","invokeVariable","response","dataSet","setDataItems","filter","result","dataObject","data","isFocused","styles","modal","display","showPopover","focus","_this$widgetRef","widgetRef","onChange","value","isDefaultQuery","prevQuery","searchon","validate","setTimeout","invokeEvent","proxy","invokeChange","e","OS","cursor","target","selectionStart","onFocus","disabled","readonly","_this$state$props$que","onBlur","triggerValidation","prepareModalOptions","content","modalService","o","modalOptions","modalContentSTyles","searchInputWidth","modalContent","borderWidth","modalStyle","contentStyle","isModal","onClose","dismiss","setState","hideModal","searchIconPress","onItemSelect","displayexp","displayfield","datafield","updateDatavalue","prevDatavalue","queryModel","renderSkeleton","rootStyle","searchInputWrapper","root","text","theme","skeleton","renderSearchBar","_this$state$dataItems","opts","valueExpr","createElement","style","ref","onLayout","_extends","isValid","invalid","focusedText","selectionEnd","getTestPropsForInput","SEARCH","placeholderTextColor","placeholderText","color","placeholder","autoFocus","autofocus","editable","onChangeText","bind","nativeEvent","layout","showclear","onTap","id","getTestId","clearButton","iconclass","showSearchIcon","searchButton","reset","renderSearchItem","index","imageStyles","imagewidth","getTestProps","disableTouchEffect","disabletoucheffect","searchItem","template","renderitempartial","Fragment","name","picturesource","imgSrc","getTestPropsForLabel","searchItemText","updateDefaultQueryModel","selectedItem","onDataItemsUpdate","componentDidMount","onPropertyChange","$new","$old","dataset","setTemplate","partialName","renderWidget","showModal","maxHeight","contentContainerStyle","dropDownContent","loadAsset","key","limit","caption","datacompletemsg","dataCompleteItem"],"sources":["search.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Keyboard, Platform, Text, TextInput, View } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\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';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \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';\nimport { createSkeleton } from '../skeleton/skeleton.component';\n\nexport class WmSearchState extends BaseDatasetState<WmSearchProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n template: string = \"\";\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 && filteredData.length > 0 ) {\n if(this.styles.modal.display !== \"none\"){\n this.showPopover && this.showPopover();\n }\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 if (value === prevQuery) {\n return;\n }\n }\n setTimeout(() => {\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 }, 300);\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 (\n !(this.state.props.disabled || this.state.props.readonly) &&\n this.state.props.type === 'autocomplete'\n ) {\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 public renderSkeleton(props: WmSearchProps): React.ReactNode {\n \n const rootStyle = {\n ...this.styles.searchInputWrapper, \n ...this.styles.root, \n ...this.styles.text\n }\n\n return createSkeleton(this.theme, this.styles.skeleton, rootStyle)\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 {...this.getTestPropsForInput()}\n {...getAccessibilityProps(AccessibilityWidgetType.SEARCH, props)}\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.disabled || this.state.props.readonly)) && this.state.props.query ? <WmButton onTap={this.clearSearch.bind(this)}\n id={this.getTestId('clear')}\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 id={this.getTestId('search')}\n iconclass={props.iconclass} 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)} {...this.getTestProps(`action${index}`)} disableTouchEffect={this.state.props.disabletoucheffect}>\n <View style={this.styles.searchItem}>\n {!isEmpty(this.state.template) && this.props.renderitempartial ?\n this.props.renderitempartial(item.dataObject, index, this.state.template) : (<>\n <WmPicture id={this.getTestId(`picture${index}`)} styles={imageStyles} name={props.name + '_image'} picturesource={item.imgSrc}></WmPicture>\n <Text {...this.getTestPropsForLabel(index + '')} style={this.styles.searchItemText}>{item.displayexp || item.displayfield}</Text>\n </>)}\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 setTemplate(partialName: any) {\n this.updateState({ template: partialName} as WmSearchState);\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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","ignoreList":[]}
1
+ {"version":3,"names":["React","Keyboard","Platform","Text","TextInput","View","ScrollView","find","isNull","WmSearchProps","DEFAULT_CLASS","ModalConsumer","DataProvider","AccessibilityWidgetType","getAccessibilityProps","BaseDatasetComponent","BaseDatasetState","WmAnchor","WmPicture","Tappable","WmButton","get","isArray","isEmpty","isObject","AssetProvider","createSkeleton","WmSearchState","constructor","args","_defineProperty","top","left","WmSearch","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","_filteredData","filterOptions","entries","filteredData","minchars","length","_this$dataProvider","searchkey","updateRequired","undefined","init","invokeVariable","response","dataSet","setDataItems","filter","result","dataObject","data","isFocused","styles","modal","display","showPopover","focus","_this$widgetRef","widgetRef","onChange","value","isDefaultQuery","prevQuery","searchon","validate","setTimeout","invokeEvent","proxy","invokeChange","e","OS","cursor","target","selectionStart","onFocus","disabled","readonly","_this$state$props$que","onBlur","triggerValidation","prepareModalOptions","content","modalService","o","modalOptions","modalContentSTyles","searchInputWidth","modalContent","borderWidth","modalStyle","contentStyle","isModal","onClose","dismiss","setState","hideModal","searchIconPress","onItemSelect","displayexp","displayfield","datafield","updateDatavalue","prevDatavalue","queryModel","renderSkeleton","rootStyle","searchInputWrapper","root","text","theme","skeleton","renderSearchBar","_this$state$dataItems","opts","valueExpr","createElement","style","ref","onLayout","_extends","isValid","invalid","focusedText","selectionEnd","getTestPropsForInput","SEARCH","placeholderTextColor","placeholderText","color","placeholder","autoFocus","autofocus","editable","onChangeText","bind","nativeEvent","layout","showclear","onTap","id","getTestId","clearButton","iconclass","showSearchIcon","searchButton","reset","renderSearchItem","index","imageStyles","imagewidth","getTestProps","disableTouchEffect","disabletoucheffect","searchItem","template","renderitempartial","Fragment","name","picturesource","imgSrc","getTestPropsForLabel","searchItemText","updateDefaultQueryModel","selectedItem","onDataItemsUpdate","componentDidMount","onPropertyChange","$new","$old","dataset","setTemplate","partialName","renderWidget","event","handleLayout","showModal","maxHeight","contentContainerStyle","dropDownContent","loadAsset","key","limit","caption","datacompletemsg","dataCompleteItem"],"sources":["search.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Keyboard, Platform, Text, TextInput, View } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\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';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \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';\nimport { createSkeleton } from '../skeleton/skeleton.component';\n\nexport class WmSearchState extends BaseDatasetState<WmSearchProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n template: string = \"\";\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 && filteredData.length > 0 ) {\n if(this.styles.modal.display !== \"none\"){\n this.showPopover && this.showPopover();\n }\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 if (value === prevQuery) {\n return;\n }\n }\n setTimeout(() => {\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 }, 300);\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 (\n !(this.state.props.disabled || this.state.props.readonly) &&\n this.state.props.type === 'autocomplete'\n ) {\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 public renderSkeleton(props: WmSearchProps): React.ReactNode {\n \n const rootStyle = {\n ...this.styles.searchInputWrapper, \n ...this.styles.root, \n ...this.styles.text\n }\n\n return createSkeleton(this.theme, this.styles.skeleton, rootStyle)\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 {...this.getTestPropsForInput()}\n {...getAccessibilityProps(AccessibilityWidgetType.SEARCH, props)}\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.disabled || this.state.props.readonly)) && this.state.props.query ? <WmButton onTap={this.clearSearch.bind(this)}\n id={this.getTestId('clear')}\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 id={this.getTestId('search')}\n iconclass={props.iconclass} 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)} {...this.getTestProps(`action${index}`)} disableTouchEffect={this.state.props.disabletoucheffect}>\n <View style={this.styles.searchItem}>\n {!isEmpty(this.state.template) && this.props.renderitempartial ?\n this.props.renderitempartial(item.dataObject, index, this.state.template) : (<>\n <WmPicture id={this.getTestId(`picture${index}`)} styles={imageStyles} name={props.name + '_image'} picturesource={item.imgSrc}></WmPicture>\n <Text {...this.getTestPropsForLabel(index + '')} style={this.styles.searchItemText}>{item.displayexp || item.displayfield}</Text>\n </>)}\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 setTemplate(partialName: any) {\n this.updateState({ template: partialName} as WmSearchState);\n }\n\n renderWidget(props: WmSearchProps) {\n const result = this.state.data;\n return (\n <View\n onLayout={(event) => this.handleLayout(event)}\n >\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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","ignoreList":[]}
@@ -81,7 +81,8 @@ export default class WmSpinner extends BaseComponent {
81
81
  }
82
82
  renderWidget(props) {
83
83
  return /*#__PURE__*/React.createElement(View, {
84
- style: this.styles.root
84
+ style: this.styles.root,
85
+ onLayout: event => this.handleLayout(event)
85
86
  }, this._background, props.lottie ? this.prepareLottie(props) : props.image ? this.prepareImage(props) : this.prepareIcon(props), props.caption ? /*#__PURE__*/React.createElement(Text, _extends({}, this.getTestPropsForLabel(), {
86
87
  style: this.styles.text
87
88
  }), props.caption) : null);