@wavemaker/app-rn-runtime 12.0.0-next.142013 → 12.0.0-next.142016

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 (83) hide show
  1. app-rn-runtime/components/basic/audio/audio.component.js +9 -2
  2. app-rn-runtime/components/basic/audio/audio.component.js.map +1 -1
  3. app-rn-runtime/components/basic/audio/audio.styles.js +7 -0
  4. app-rn-runtime/components/basic/audio/audio.styles.js.map +1 -1
  5. app-rn-runtime/components/basic/picture/picture.component.js +10 -4
  6. app-rn-runtime/components/basic/picture/picture.component.js.map +1 -1
  7. app-rn-runtime/components/basic/picture/picture.props.js +1 -0
  8. app-rn-runtime/components/basic/picture/picture.props.js.map +1 -1
  9. app-rn-runtime/components/basic/search/search.component.js +2 -2
  10. app-rn-runtime/components/basic/search/search.component.js.map +1 -1
  11. app-rn-runtime/components/basic/video/video.component.js +6 -0
  12. app-rn-runtime/components/basic/video/video.component.js.map +1 -1
  13. app-rn-runtime/components/basic/video/video.styles.js +7 -1
  14. app-rn-runtime/components/basic/video/video.styles.js.map +1 -1
  15. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +28 -15
  16. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  17. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js +4 -0
  18. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
  19. app-rn-runtime/components/data/form/form-field/form-field.component.js +2 -1
  20. app-rn-runtime/components/data/form/form-field/form-field.component.js.map +1 -1
  21. app-rn-runtime/components/data/list/list.component.js +11 -1
  22. app-rn-runtime/components/data/list/list.component.js.map +1 -1
  23. app-rn-runtime/components/input/basenumber/basenumber.component.js +12 -6
  24. app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
  25. app-rn-runtime/components/input/calendar/calendar.component.js +25 -0
  26. app-rn-runtime/components/input/calendar/calendar.component.js.map +1 -1
  27. app-rn-runtime/components/input/calendar/calendar.styles.js +19 -0
  28. app-rn-runtime/components/input/calendar/calendar.styles.js.map +1 -1
  29. app-rn-runtime/components/input/checkbox/checkbox.component.js +21 -1
  30. app-rn-runtime/components/input/checkbox/checkbox.component.js.map +1 -1
  31. app-rn-runtime/components/input/checkbox/checkbox.styles.js +16 -1
  32. app-rn-runtime/components/input/checkbox/checkbox.styles.js.map +1 -1
  33. app-rn-runtime/components/input/chips/chips.component.js +47 -5
  34. app-rn-runtime/components/input/chips/chips.component.js.map +1 -1
  35. app-rn-runtime/components/input/chips/chips.styles.js +8 -0
  36. app-rn-runtime/components/input/chips/chips.styles.js.map +1 -1
  37. app-rn-runtime/components/input/currency/currency.component.js +11 -3
  38. app-rn-runtime/components/input/currency/currency.component.js.map +1 -1
  39. app-rn-runtime/components/input/currency/currency.styles.js +37 -0
  40. app-rn-runtime/components/input/currency/currency.styles.js.map +1 -1
  41. app-rn-runtime/components/input/epoch/base-datetime.component.js +22 -2
  42. app-rn-runtime/components/input/epoch/base-datetime.component.js.map +1 -1
  43. app-rn-runtime/components/input/epoch/datetime/datetime.props.js +6 -0
  44. app-rn-runtime/components/input/epoch/datetime/datetime.props.js.map +1 -1
  45. app-rn-runtime/components/input/epoch/datetime/datetime.styles.js +13 -0
  46. app-rn-runtime/components/input/epoch/datetime/datetime.styles.js.map +1 -1
  47. app-rn-runtime/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js +7 -4
  48. app-rn-runtime/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js.map +1 -1
  49. app-rn-runtime/components/input/epoch/wheelpickermodal/date/date-picker-modal.props.js +3 -0
  50. app-rn-runtime/components/input/epoch/wheelpickermodal/date/date-picker-modal.props.js.map +1 -1
  51. app-rn-runtime/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js +7 -4
  52. app-rn-runtime/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js.map +1 -1
  53. app-rn-runtime/components/input/epoch/wheelpickermodal/time/time-picker-modal.props.js +3 -0
  54. app-rn-runtime/components/input/epoch/wheelpickermodal/time/time-picker-modal.props.js.map +1 -1
  55. app-rn-runtime/components/input/number/number.component.js +14 -2
  56. app-rn-runtime/components/input/number/number.component.js.map +1 -1
  57. app-rn-runtime/components/input/number/number.styles.js +21 -1
  58. app-rn-runtime/components/input/number/number.styles.js.map +1 -1
  59. app-rn-runtime/components/input/select/select.component.js +11 -3
  60. app-rn-runtime/components/input/select/select.component.js.map +1 -1
  61. app-rn-runtime/components/input/select/select.styles.js +24 -0
  62. app-rn-runtime/components/input/select/select.styles.js.map +1 -1
  63. app-rn-runtime/components/input/slider/slider.component.js +2 -2
  64. app-rn-runtime/components/input/slider/slider.component.js.map +1 -1
  65. app-rn-runtime/components/input/switch/switch.component.js +13 -3
  66. app-rn-runtime/components/input/switch/switch.component.js.map +1 -1
  67. app-rn-runtime/components/input/switch/switch.styles.js +15 -0
  68. app-rn-runtime/components/input/switch/switch.styles.js.map +1 -1
  69. app-rn-runtime/components/input/toggle/toggle.component.js +6 -0
  70. app-rn-runtime/components/input/toggle/toggle.component.js.map +1 -1
  71. app-rn-runtime/components/input/toggle/toggle.props.js +2 -0
  72. app-rn-runtime/components/input/toggle/toggle.props.js.map +1 -1
  73. app-rn-runtime/components/input/toggle/toggle.styles.js +7 -0
  74. app-rn-runtime/components/input/toggle/toggle.styles.js.map +1 -1
  75. app-rn-runtime/package.json +3 -3
  76. app-rn-runtime/runtime/App.js +14 -2
  77. app-rn-runtime/runtime/App.js.map +1 -1
  78. app-rn-runtime/runtime/base-fragment.component.js +5 -1
  79. app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
  80. app-rn-runtime/runtime/base-page.component.js +28 -2
  81. app-rn-runtime/runtime/base-page.component.js.map +1 -1
  82. app-rn-runtime/runtime/services/app-modal.service.js +4 -4
  83. app-rn-runtime/runtime/services/app-modal.service.js.map +1 -1
@@ -2,8 +2,8 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
2
2
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
3
3
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
4
4
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
5
- import React from 'react';
6
- import { Animated, Easing, Text, View } from 'react-native';
5
+ import React, { createRef } from 'react';
6
+ import { Animated, Easing, Text, View, ScrollView } from 'react-native';
7
7
  import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
8
8
  import WmTabheaderProps from './tabheader.props';
9
9
  import { DEFAULT_CLASS } from './tabheader.styles';
@@ -22,6 +22,7 @@ export default class WmTabheader extends BaseComponent {
22
22
  _defineProperty(this, "indicatorPosition", new Animated.Value(0));
23
23
  _defineProperty(this, "reverseIndicatorWidth", new Animated.Value(0));
24
24
  _defineProperty(this, "indicatorWidth", new Animated.Value(0));
25
+ _defineProperty(this, "listRef", /*#__PURE__*/createRef());
25
26
  this.headerScrollPosition.addListener(({
26
27
  value
27
28
  }) => this.headerScrollPositionValue = value);
@@ -41,8 +42,16 @@ export default class WmTabheader extends BaseComponent {
41
42
  this.state.props.onIndexChange && this.state.props.onIndexChange(index);
42
43
  }
43
44
  }
45
+ scrollPosition(selectedTabIndex, totalWidth, toIndicatorPosition) {
46
+ var _this$headerPanelLayo;
47
+ const initialPosition = this.isRTL ? totalWidth : 0;
48
+ const baseWidth = this.isRTL ? totalWidth - toIndicatorPosition : toIndicatorPosition;
49
+ const elementWidth = this.isRTL ? -1 * (this.headersLayout[selectedTabIndex].width / 2) : this.headersLayout[selectedTabIndex].width / 2;
50
+ const positionX = selectedTabIndex === 0 ? initialPosition : baseWidth + elementWidth - (((_this$headerPanelLayo = this.headerPanelLayout) === null || _this$headerPanelLayo === void 0 ? void 0 : _this$headerPanelLayo.width) || 0) / 2;
51
+ return positionX;
52
+ }
44
53
  setPosition() {
45
- var _this$headersLayout$s, _this$headerPanelLayo, _this$headerPanelLayo2;
54
+ var _this$headersLayout$s, _this$headerPanelLayo2, _this$headerPanelLayo3, _this$listRef$current;
46
55
  const selectedTabIndex = this.state.props.selectedTabIndex ? this.state.props.selectedTabIndex : 0;
47
56
  let toIndicatorPosition = 0;
48
57
  let toIndicatorWidth = ((_this$headersLayout$s = this.headersLayout[selectedTabIndex]) === null || _this$headersLayout$s === void 0 ? void 0 : _this$headersLayout$s.width) || 0;
@@ -57,13 +66,19 @@ export default class WmTabheader extends BaseComponent {
57
66
  }
58
67
  totalWidth += p.width;
59
68
  });
60
- toHeaderScrollPosition = -1 * (toIndicatorPosition - (((_this$headerPanelLayo = this.headerPanelLayout) === null || _this$headerPanelLayo === void 0 ? void 0 : _this$headerPanelLayo.width) || 0) / 2 + toIndicatorWidth / 2);
61
- const minScrollPosition = -1 * (totalWidth - (((_this$headerPanelLayo2 = this.headerPanelLayout) === null || _this$headerPanelLayo2 === void 0 ? void 0 : _this$headerPanelLayo2.width) || 0));
69
+ toHeaderScrollPosition = -1 * (toIndicatorPosition - (((_this$headerPanelLayo2 = this.headerPanelLayout) === null || _this$headerPanelLayo2 === void 0 ? void 0 : _this$headerPanelLayo2.width) || 0) / 2 + toIndicatorWidth / 2);
70
+ const minScrollPosition = -1 * (totalWidth - (((_this$headerPanelLayo3 = this.headerPanelLayout) === null || _this$headerPanelLayo3 === void 0 ? void 0 : _this$headerPanelLayo3.width) || 0));
62
71
  const maxScrollPosition = 0;
63
72
  toHeaderScrollPosition = Math.max(minScrollPosition, toHeaderScrollPosition);
64
73
  toHeaderScrollPosition = Math.min(maxScrollPosition, toHeaderScrollPosition);
65
74
  let positionIndicator = toIndicatorPosition - (100 - toIndicatorWidth) / 2;
66
75
  let position = this.isRTL ? -positionIndicator : positionIndicator;
76
+ const positionX = this.scrollPosition(selectedTabIndex, totalWidth, toIndicatorPosition);
77
+ (_this$listRef$current = this.listRef.current) === null || _this$listRef$current === void 0 || _this$listRef$current.scrollTo({
78
+ x: positionX,
79
+ y: 0,
80
+ Animated: true
81
+ });
67
82
  Animated.parallel([Animated.timing(this.headerScrollPosition, {
68
83
  useNativeDriver: true,
69
84
  toValue: toHeaderScrollPosition,
@@ -130,19 +145,17 @@ export default class WmTabheader extends BaseComponent {
130
145
  renderWidget(props) {
131
146
  this.setPosition();
132
147
  const arrowIndicator = this.styles.arrowIndicator;
133
- return /*#__PURE__*/React.createElement(View, {
148
+ return /*#__PURE__*/React.createElement(View, _extends({
134
149
  style: {
135
150
  overflow: 'hidden',
136
151
  zIndex: 16
137
152
  }
138
- }, /*#__PURE__*/React.createElement(Animated.View, {
139
- style: {
140
- transform: [{
141
- translateX: this.headerScrollPosition
142
- }]
143
- },
144
- onLayout: this.setHeaderPanelPositon.bind(this)
145
- }, /*#__PURE__*/React.createElement(View, {
153
+ }, this.getTestProps('tabheader')), /*#__PURE__*/React.createElement(ScrollView, {
154
+ ref: this.listRef,
155
+ horizontal: true,
156
+ onLayout: this.setHeaderPanelPositon.bind(this),
157
+ showsHorizontalScrollIndicator: false
158
+ }, /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(View, {
146
159
  style: this.styles.root
147
160
  }, this._background, props.data.map((header, i) => {
148
161
  const isSelected = i === props.selectedTabIndex;
@@ -192,7 +205,7 @@ export default class WmTabheader extends BaseComponent {
192
205
  }
193
206
  }) : null, /*#__PURE__*/React.createElement(View, {
194
207
  style: this.styles.arrowIndicatorDot
195
- })))));
208
+ }))))));
196
209
  }
197
210
  }
198
211
  //# sourceMappingURL=tabheader.component.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Animated","Easing","Text","View","BaseComponent","BaseComponentState","WmTabheaderProps","DEFAULT_CLASS","Tappable","createSkeleton","BackgroundComponent","WmIcon","WmTabheaderState","WmTabheader","constructor","props","_defineProperty","Value","headerScrollPosition","addListener","value","headerScrollPositionValue","setHeaderPanelPositon","nativeEvent","headerPanelLayout","layout","forceUpdate","setHeaderPositon","index","headersLayout","selectedTabIndex","onTabSelection","state","onIndexChange","setPosition","_this$headersLayout$s","_this$headerPanelLayo","_this$headerPanelLayo2","toIndicatorPosition","toIndicatorWidth","width","toHeaderScrollPosition","totalWidth","data","length","forEach","p","i","minScrollPosition","maxScrollPosition","Math","max","min","positionIndicator","position","isRTL","parallel","timing","useNativeDriver","toValue","duration","easing","linear","indicatorWidth","reverseIndicatorWidth","indicatorPosition","start","renderSkeleton","createElement","style","transform","translateX","onLayout","bind","styles","root","map","header","_this$styles$root","_this$styles$root2","_this$styles$activeHe","isSelected","onTap","key","flex","activeHeader","theme","borderRadius","height","activeHeaderText","fontSize","activeIndicator","scaleX","renderWidget","arrowIndicator","overflow","zIndex","_background","_extends","getTestPropsForAction","flexGrow","undefined","id","getTestId","mergeStyle","headerIcon","activeHeaderIcon","iconclass","icon","numberOfLines","headerText","getTestPropsForLabel","title","backgroundImage","image","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","arrowIndicatorDot"],"sources":["tabheader.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Animated, Easing, LayoutChangeEvent, LayoutRectangle, Text, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmTabheaderProps from './tabheader.props';\nimport { DEFAULT_CLASS, WmTabheaderStyles } from './tabheader.styles';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmSkeleton, { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport WmIcon from \"@wavemaker/app-rn-runtime/components/basic/icon/icon.component\";\n\nexport class WmTabheaderState extends BaseComponentState<WmTabheaderProps> {\n}\n\nexport default class WmTabheader extends BaseComponent<WmTabheaderProps, WmTabheaderState, WmTabheaderStyles> {\n\n private headerPanelLayout: LayoutRectangle = null as any;\n private headersLayout: LayoutRectangle[] = [];\n private headerScrollPosition = new Animated.Value(0);\n private headerScrollPositionValue = 0;\n private indicatorPosition = new Animated.Value(0);\n private reverseIndicatorWidth = new Animated.Value(0);\n private indicatorWidth = new Animated.Value(0);\n\n constructor(props: WmTabheaderProps) {\n super(props, DEFAULT_CLASS, new WmTabheaderProps(), new WmTabheaderState());\n this.headerScrollPosition.addListener(({value}) => this.headerScrollPositionValue = value);\n }\n\n setHeaderPanelPositon(nativeEvent: LayoutChangeEvent) {\n this.headerPanelLayout = nativeEvent.nativeEvent.layout;\n this.forceUpdate();\n }\n\n setHeaderPositon(index: number, nativeEvent: LayoutChangeEvent) {\n this.headersLayout[index] = nativeEvent.nativeEvent.layout;\n if (index === this.props.selectedTabIndex) {\n this.forceUpdate();\n }\n }\n\n onTabSelection(index: number) {\n if (this.state.props.selectedTabIndex != index) {\n this.state.props.onIndexChange && this.state.props.onIndexChange(index);\n }\n }\n\n setPosition() {\n const selectedTabIndex = this.state.props.selectedTabIndex ? this.state.props.selectedTabIndex : 0\n let toIndicatorPosition = 0;\n let toIndicatorWidth = this.headersLayout[selectedTabIndex]?.width || 0;\n let toHeaderScrollPosition = this.headerScrollPositionValue;\n let totalWidth = 0;\n if (this.state.props.data.length !== this.headersLayout.length) {\n return;\n }\n this.headersLayout.forEach((p, i) => {\n if (i < selectedTabIndex) {\n toIndicatorPosition += p.width;\n }\n totalWidth += p.width;\n });\n toHeaderScrollPosition = -1 * (toIndicatorPosition - (this.headerPanelLayout?.width || 0) / 2 + toIndicatorWidth/ 2) ;\n const minScrollPosition = -1 * (totalWidth - (this.headerPanelLayout?.width || 0));\n const maxScrollPosition = 0;\n toHeaderScrollPosition = Math.max(minScrollPosition, toHeaderScrollPosition);\n toHeaderScrollPosition = Math.min(maxScrollPosition, toHeaderScrollPosition);\n let positionIndicator = (toIndicatorPosition - (100 - toIndicatorWidth) / 2);\n let position = this.isRTL?-positionIndicator:positionIndicator;\n Animated.parallel([\n Animated.timing(this.headerScrollPosition, {\n useNativeDriver: true,\n toValue: toHeaderScrollPosition,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth / 100,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.reverseIndicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth ? 100 / toIndicatorWidth : 0,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorPosition, {\n useNativeDriver: true,\n toValue: position,\n duration: 200,\n easing: Easing.linear\n })\n ]).start();\n }\n\n public renderSkeleton(props: WmTabheaderProps){\n return(\n <Animated.View style={{\n transform: [{\n translateX: this.headerScrollPosition\n }]\n }}\n onLayout={this.setHeaderPanelPositon.bind(this)}>\n <View style={this.styles.root}>\n {this.props.data.map((header ,i) => {\n const isSelected = i === this.props.selectedTabIndex;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)} key={header.key} styles={{flex: 1}}>\n <View onLayout={this.setHeaderPositon.bind(this, i)} style={[\n this.styles.header,\n isSelected ? this.styles.activeHeader : null]}>\n {\n createSkeleton(this.theme, { root: { borderRadius: 4 }} as WmSkeletonStyles, {\n ...this.styles.root,\n width: this.styles.root?.width || \"80%\",\n height: this.styles.root?.height || this.styles.activeHeaderText?.fontSize || 16\n })\n }\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}></Animated.View>\n </Animated.View>\n\n )\n }\n\n renderWidget(props: WmTabheaderProps) {\n this.setPosition();\n const arrowIndicator = this.styles.arrowIndicator as any;\n return (\n <View style={{overflow: 'hidden', zIndex: 16}}>\n <Animated.View style={{\n transform: [{\n translateX: this.headerScrollPosition\n }]\n }}\n onLayout={this.setHeaderPanelPositon.bind(this)}>\n <View style={this.styles.root}>\n {this._background}\n {props.data.map((header ,i) => {\n const isSelected = i === props.selectedTabIndex ;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)}\n {...this.getTestPropsForAction(i +'')}\n key={header.key}\n styles={this.styles.header.flexGrow ? {flexGrow: this.styles.header.flexGrow} : null}>\n <View onLayout={this.setHeaderPositon.bind(this, i)}>\n <View style={[\n this.styles.header,\n {flexGrow: undefined},\n isSelected ? this.styles.activeHeader : null]}>\n <WmIcon\n id={this.getTestId(i + 'icon')}\n styles={this.theme.mergeStyle({}, this.styles.headerIcon, isSelected ? this.styles.activeHeaderIcon : null)}\n iconclass={header.icon}></WmIcon>\n <Text numberOfLines={1} style={[\n this.styles.headerText,\n isSelected ? this.styles.activeHeaderText : null]}\n {...this.getTestPropsForLabel(i + '_title')}\n >{header.title}</Text>\n </View>\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}>\n <Animated.View style={[{\n transform: [{\n scaleX: this.reverseIndicatorWidth\n }]\n },\n this.styles.arrowIndicator\n ]}>\n {arrowIndicator.backgroundImage ? (<BackgroundComponent\n image={arrowIndicator.backgroundImage}\n position={arrowIndicator.backgroundPosition}\n size={arrowIndicator.backgroundSize}\n repeat={arrowIndicator.backgroundRepeat}\n resizeMode={arrowIndicator.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}\n ></BackgroundComponent>) : null }\n <View style={this.styles.arrowIndicatorDot}></View>\n </Animated.View>\n </Animated.View>\n </Animated.View>\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","createRef","Animated","Easing","Text","View","ScrollView","BaseComponent","BaseComponentState","WmTabheaderProps","DEFAULT_CLASS","Tappable","createSkeleton","BackgroundComponent","WmIcon","WmTabheaderState","WmTabheader","constructor","props","_defineProperty","Value","headerScrollPosition","addListener","value","headerScrollPositionValue","setHeaderPanelPositon","nativeEvent","headerPanelLayout","layout","forceUpdate","setHeaderPositon","index","headersLayout","selectedTabIndex","onTabSelection","state","onIndexChange","scrollPosition","totalWidth","toIndicatorPosition","_this$headerPanelLayo","initialPosition","isRTL","baseWidth","elementWidth","width","positionX","setPosition","_this$headersLayout$s","_this$headerPanelLayo2","_this$headerPanelLayo3","_this$listRef$current","toIndicatorWidth","toHeaderScrollPosition","data","length","forEach","p","i","minScrollPosition","maxScrollPosition","Math","max","min","positionIndicator","position","listRef","current","scrollTo","x","y","parallel","timing","useNativeDriver","toValue","duration","easing","linear","indicatorWidth","reverseIndicatorWidth","indicatorPosition","start","renderSkeleton","createElement","style","transform","translateX","onLayout","bind","styles","root","map","header","_this$styles$root","_this$styles$root2","_this$styles$activeHe","isSelected","onTap","key","flex","activeHeader","theme","borderRadius","height","activeHeaderText","fontSize","activeIndicator","scaleX","renderWidget","arrowIndicator","_extends","overflow","zIndex","getTestProps","ref","horizontal","showsHorizontalScrollIndicator","_background","getTestPropsForAction","flexGrow","undefined","id","getTestId","mergeStyle","headerIcon","activeHeaderIcon","iconclass","icon","numberOfLines","headerText","getTestPropsForLabel","title","backgroundImage","image","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","arrowIndicatorDot"],"sources":["tabheader.component.tsx"],"sourcesContent":["import React, { createRef } from 'react';\nimport { Animated, Easing, LayoutChangeEvent, LayoutRectangle, Text, View, ScrollView } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmTabheaderProps from './tabheader.props';\nimport { DEFAULT_CLASS, WmTabheaderStyles } from './tabheader.styles';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmSkeleton, { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport WmIcon from \"@wavemaker/app-rn-runtime/components/basic/icon/icon.component\";\n\nexport class WmTabheaderState extends BaseComponentState<WmTabheaderProps> {\n}\n\nexport default class WmTabheader extends BaseComponent<WmTabheaderProps, WmTabheaderState, WmTabheaderStyles> {\n\n private headerPanelLayout: LayoutRectangle = null as any;\n private headersLayout: LayoutRectangle[] = [];\n private headerScrollPosition = new Animated.Value(0);\n private headerScrollPositionValue = 0;\n private indicatorPosition = new Animated.Value(0);\n private reverseIndicatorWidth = new Animated.Value(0);\n private indicatorWidth = new Animated.Value(0);\n private listRef: any = createRef();\n\n constructor(props: WmTabheaderProps) {\n super(props, DEFAULT_CLASS, new WmTabheaderProps(), new WmTabheaderState());\n this.headerScrollPosition.addListener(({value}) => this.headerScrollPositionValue = value);\n }\n\n setHeaderPanelPositon(nativeEvent: LayoutChangeEvent) {\n this.headerPanelLayout = nativeEvent.nativeEvent.layout;\n this.forceUpdate();\n }\n\n setHeaderPositon(index: number, nativeEvent: LayoutChangeEvent) {\n this.headersLayout[index] = nativeEvent.nativeEvent.layout;\n if (index === this.props.selectedTabIndex) {\n this.forceUpdate();\n }\n }\n\n onTabSelection(index: number) {\n if (this.state.props.selectedTabIndex != index) {\n this.state.props.onIndexChange && this.state.props.onIndexChange(index);\n }\n }\n\n scrollPosition(selectedTabIndex: number, totalWidth: number, toIndicatorPosition: number) {\n const initialPosition = this.isRTL ? totalWidth : 0;\n const baseWidth = this.isRTL ? totalWidth - toIndicatorPosition : toIndicatorPosition;\n const elementWidth = this.isRTL ? -1 * (this.headersLayout[selectedTabIndex].width/2) : this.headersLayout[selectedTabIndex].width/2\n const positionX = selectedTabIndex === 0 ? initialPosition : \n ((baseWidth + (elementWidth)) - (this.headerPanelLayout?.width || 0) / 2);\n\n return positionX\n }\n\n setPosition() {\n const selectedTabIndex = this.state.props.selectedTabIndex ? this.state.props.selectedTabIndex : 0\n let toIndicatorPosition = 0;\n let toIndicatorWidth = this.headersLayout[selectedTabIndex]?.width || 0;\n let toHeaderScrollPosition = this.headerScrollPositionValue;\n let totalWidth = 0;\n if (this.state.props.data.length !== this.headersLayout.length) {\n return;\n }\n this.headersLayout.forEach((p, i) => {\n if (i < selectedTabIndex) {\n toIndicatorPosition += p.width;\n }\n totalWidth += p.width;\n });\n toHeaderScrollPosition = -1 * (toIndicatorPosition - (this.headerPanelLayout?.width || 0) / 2 + toIndicatorWidth/ 2) ;\n const minScrollPosition = -1 * (totalWidth - (this.headerPanelLayout?.width || 0));\n const maxScrollPosition = 0;\n toHeaderScrollPosition = Math.max(minScrollPosition, toHeaderScrollPosition);\n toHeaderScrollPosition = Math.min(maxScrollPosition, toHeaderScrollPosition);\n let positionIndicator = (toIndicatorPosition - (100 - toIndicatorWidth) / 2);\n let position = this.isRTL?-positionIndicator:positionIndicator;\n\n const positionX = this.scrollPosition(selectedTabIndex, totalWidth, toIndicatorPosition)\n\n this.listRef.current?.scrollTo({\n x: positionX,\n y: 0,\n Animated: true\n });\n\n Animated.parallel([\n Animated.timing(this.headerScrollPosition, {\n useNativeDriver: true,\n toValue: toHeaderScrollPosition,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth / 100,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.reverseIndicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth ? 100 / toIndicatorWidth : 0,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorPosition, {\n useNativeDriver: true,\n toValue: position,\n duration: 200,\n easing: Easing.linear\n })\n ]).start();\n }\n\n public renderSkeleton(props: WmTabheaderProps){\n return(\n <Animated.View style={{\n transform: [{\n translateX: this.headerScrollPosition\n }]\n }}\n onLayout={this.setHeaderPanelPositon.bind(this)}>\n <View style={this.styles.root}>\n {this.props.data.map((header ,i) => {\n const isSelected = i === this.props.selectedTabIndex;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)} key={header.key} styles={{flex: 1}}>\n <View onLayout={this.setHeaderPositon.bind(this, i)} style={[\n this.styles.header,\n isSelected ? this.styles.activeHeader : null]}>\n {\n createSkeleton(this.theme, { root: { borderRadius: 4 }} as WmSkeletonStyles, {\n ...this.styles.root,\n width: this.styles.root?.width || \"80%\",\n height: this.styles.root?.height || this.styles.activeHeaderText?.fontSize || 16\n })\n }\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}></Animated.View>\n </Animated.View>\n\n )\n }\n\n renderWidget(props: WmTabheaderProps) {\n this.setPosition();\n const arrowIndicator = this.styles.arrowIndicator as any;\n return (\n <View \n style={{overflow: 'hidden', zIndex: 16}}\n {...this.getTestProps('tabheader')}\n >\n <ScrollView\n ref={this.listRef}\n horizontal={true}\n onLayout={this.setHeaderPanelPositon.bind(this)}\n showsHorizontalScrollIndicator={false}\n >\n <View>\n <View style={this.styles.root}>\n {this._background}\n {props.data.map((header ,i) => {\n const isSelected = i === props.selectedTabIndex ;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)}\n {...this.getTestPropsForAction(i +'')}\n key={header.key}\n styles={this.styles.header.flexGrow ? {flexGrow: this.styles.header.flexGrow} : null}>\n <View onLayout={this.setHeaderPositon.bind(this, i)}>\n <View style={[\n this.styles.header,\n {flexGrow: undefined},\n isSelected ? this.styles.activeHeader : null]}>\n <WmIcon\n id={this.getTestId(i + 'icon')}\n styles={this.theme.mergeStyle({}, this.styles.headerIcon, isSelected ? this.styles.activeHeaderIcon : null)}\n iconclass={header.icon}></WmIcon>\n <Text numberOfLines={1} style={[\n this.styles.headerText,\n isSelected ? this.styles.activeHeaderText : null]}\n {...this.getTestPropsForLabel(i + '_title')}\n >{header.title}</Text>\n </View>\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}>\n <Animated.View style={[{\n transform: [{\n scaleX: this.reverseIndicatorWidth\n }]\n },\n this.styles.arrowIndicator\n ]}>\n {\n arrowIndicator.backgroundImage ? (\n <BackgroundComponent\n image={arrowIndicator.backgroundImage}\n position={arrowIndicator.backgroundPosition}\n size={arrowIndicator.backgroundSize}\n repeat={arrowIndicator.backgroundRepeat}\n resizeMode={arrowIndicator.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}\n ></BackgroundComponent>\n ) : null }\n <View style={this.styles.arrowIndicatorDot}></View>\n </Animated.View>\n </Animated.View>\n </View>\n </ScrollView>\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -45,6 +45,10 @@ export default class WmWizardstep extends BaseComponent {
45
45
  setActive() {
46
46
  this.updateState({
47
47
  active: true
48
+ }, () => {
49
+ if (this.state.showContent) {
50
+ this.invokeEventCallback('onLoad', [this]);
51
+ }
48
52
  });
49
53
  }
50
54
  setInActive() {
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","BaseComponent","BaseComponentState","WmWizardstepProps","DEFAULT_CLASS","WmWizardstepState","constructor","args","_defineProperty","WmWizardstep","props","componentDidMount","wizard","parent","addWizardStep","onPropertyChange","name","$new","$old","refresh","setTimeout","forceUpdate","setActive","updateState","active","setInActive","isVisible","state","invokeNextCB","index","invokeEventCallback","proxy","invokePrevCB","invokeSkipCB","renderWidget","showContent","createElement","style","styles","root","_background","children"],"sources":["wizardstep.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmWizardstepProps from './wizardstep.props';\nimport { DEFAULT_CLASS, WmWizardstepStyles } from './wizardstep.styles';\nimport WmWizard from '../wizard.component';\nimport { isBoolean } from 'lodash-es';\n\nexport class WmWizardstepState extends BaseComponentState<WmWizardstepProps> {\n active = false;\n showContent: boolean = false;\n}\n\nexport default class WmWizardstep extends BaseComponent<WmWizardstepProps, WmWizardstepState, WmWizardstepStyles> {\n\n constructor(props: WmWizardstepProps) {\n super(props, DEFAULT_CLASS, new WmWizardstepProps(), new WmWizardstepState());\n }\n\n componentDidMount() {\n const wizard = (this.parent) as WmWizard;\n // When skeleton is enabled in the wizard component, the parent would be WMSkeleton which doesnot have addWizardStep function\n if(wizard.addWizardStep) {\n wizard.addWizardStep(this);\n }\n super.componentDidMount();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'title':\n const wizard = (this.parent) as WmWizard;\n wizard?.refresh();\n break;\n case 'disableprev':\n case 'disablenext':\n case 'disabledone':\n case 'enableskip':\n setTimeout(() => {\n this.parent.forceUpdate();\n }, 10);\n break;\n }\n }\n\n setActive() {\n this.updateState({\n active: true\n } as WmWizardstepState);\n }\n\n setInActive() {\n this.updateState({\n active: false\n } as WmWizardstepState);\n }\n\n isVisible() {\n return super.isVisible() && this.state.active;\n }\n\n invokeNextCB(index: number) : boolean {\n return this.invokeEventCallback('onNext', [this.proxy, this, index]);\n }\n\n invokePrevCB(index: number) : boolean {\n return this.invokeEventCallback('onPrev', [this.proxy, this, index]);\n }\n\n invokeSkipCB(index: number) {\n this.invokeEventCallback('onSkip', [this.proxy, this, index]);\n }\n renderWidget(props: WmWizardstepProps) {\n if(!this.state.showContent && this.isVisible()){\n this.updateState({showContent: true} as WmWizardstepState, ()=>{\n this.invokeEventCallback('onLoad', [this]);\n });\n }\n return this.state.showContent && (<View style={this.styles.root}>{this._background}{props.children}</View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","BaseComponent","BaseComponentState","WmWizardstepProps","DEFAULT_CLASS","WmWizardstepState","constructor","args","_defineProperty","WmWizardstep","props","componentDidMount","wizard","parent","addWizardStep","onPropertyChange","name","$new","$old","refresh","setTimeout","forceUpdate","setActive","updateState","active","state","showContent","invokeEventCallback","setInActive","isVisible","invokeNextCB","index","proxy","invokePrevCB","invokeSkipCB","renderWidget","createElement","style","styles","root","_background","children"],"sources":["wizardstep.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmWizardstepProps from './wizardstep.props';\nimport { DEFAULT_CLASS, WmWizardstepStyles } from './wizardstep.styles';\nimport WmWizard from '../wizard.component';\nimport { isBoolean } from 'lodash-es';\n\nexport class WmWizardstepState extends BaseComponentState<WmWizardstepProps> {\n active = false;\n showContent: boolean = false;\n}\n\nexport default class WmWizardstep extends BaseComponent<WmWizardstepProps, WmWizardstepState, WmWizardstepStyles> {\n\n constructor(props: WmWizardstepProps) {\n super(props, DEFAULT_CLASS, new WmWizardstepProps(), new WmWizardstepState());\n }\n\n componentDidMount() {\n const wizard = (this.parent) as WmWizard;\n // When skeleton is enabled in the wizard component, the parent would be WMSkeleton which doesnot have addWizardStep function\n if(wizard.addWizardStep) {\n wizard.addWizardStep(this);\n }\n super.componentDidMount();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'title':\n const wizard = (this.parent) as WmWizard;\n wizard?.refresh();\n break;\n case 'disableprev':\n case 'disablenext':\n case 'disabledone':\n case 'enableskip':\n setTimeout(() => {\n this.parent.forceUpdate();\n }, 10);\n break;\n }\n }\n\n setActive() {\n this.updateState({\n active: true\n } as WmWizardstepState, () => {\n if(this.state.showContent) {\n this.invokeEventCallback('onLoad', [this]);\n }\n });\n }\n\n setInActive() {\n this.updateState({\n active: false\n } as WmWizardstepState);\n }\n\n isVisible() {\n return super.isVisible() && this.state.active;\n }\n\n invokeNextCB(index: number) : boolean {\n return this.invokeEventCallback('onNext', [this.proxy, this, index]);\n }\n\n invokePrevCB(index: number) : boolean {\n return this.invokeEventCallback('onPrev', [this.proxy, this, index]);\n }\n\n invokeSkipCB(index: number) {\n this.invokeEventCallback('onSkip', [this.proxy, this, index]);\n }\n renderWidget(props: WmWizardstepProps) {\n if(!this.state.showContent && this.isVisible()){\n this.updateState({showContent: true} as WmWizardstepState, ()=>{\n this.invokeEventCallback('onLoad', [this]);\n });\n }\n return this.state.showContent && (<View style={this.styles.root}>{this._background}{props.children}</View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -220,8 +220,9 @@ export default class WmFormField extends BaseComponent {
220
220
  }
221
221
  renderWidget(props) {
222
222
  var childrenWithProps = React.Children.map(props.renderFormFields(this.proxy).props.children, child => {
223
+ var _child$props;
223
224
  return /*#__PURE__*/React.cloneElement(child, {
224
- datavalue: props.datavalue,
225
+ datavalue: props.datavalue || (child === null || child === void 0 || (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.datavalue),
225
226
  value: this.value,
226
227
  isValid: this.state.isValid,
227
228
  maskchar: props.maskchar,
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","isEqual","isNil","get","find","cloneDeep","forEach","keys","WmFormFieldProps","DEFAULT_CLASS","PERFORMANCE_LOGGER","WmFormFieldState","constructor","args","_defineProperty","WmFormField","props","form","formScope","componentDidMount","_this$form","_this$form2","_this$form3","formwidget","formKey","formWidgets","name","registerFormFields","formFields","onFieldChangeEvt","$new","$old","isDefault","notifyChanges","updateState","datavalue","invokeEventCallback","undefined","validateFormField","updateDataOutput","call","observeOn","fields","field","formfield","f","proxy","notifyForFields","push","validate","setTimeout","getPromiseList","validators","arr","fn","promise","Function","bind","Promise","setAsyncValidators","_asyncValidatorFn","all","then","err","validationMsg","hasOwnProperty","messageKeys","toString","setInvalidState","setValidators","_cloneValidators","_syncValidators","obj","index","key","defaultValidatorMessages","value","propsObj","updateFormWidgetDataset","res","displayField","dataset","data","datafield","displayfield","state","msg","isValid","validationmessage","onPropertyChange","debug","applyDefaultValue","setPrimaryKey","setReadOnlyState","updateMode","_this$formwidget","readonly","_this$formwidget2","_this$_syncValidators","_this$formwidget3","errorType","errormsg","errorMessage","renderWidget","childrenWithProps","Children","map","renderFormFields","children","child","cloneElement","maskchar","displayformat","invokeEvent","triggerValidation","onFieldChange","formRef","placeholder","createElement","style","styles","root","_background","_extends","getTestPropsForLabel","errorMsg"],"sources":["form-field.component.tsx"],"sourcesContent":["import React from 'react';\nimport {Text, View} from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { widgetsWithUndefinedValue } from '@wavemaker/app-rn-runtime/core/utils';\nimport { isEqual, isNil, get, find, cloneDeep, forEach, keys } from 'lodash';\n\nimport WmFormFieldProps from './form-field.props';\nimport { DEFAULT_CLASS, WmFormFieldStyles } from './form-field.styles';\nimport {PERFORMANCE_LOGGER} from \"@wavemaker/app-rn-runtime/core/logger\";\n\nexport class WmFormFieldState extends BaseComponentState<WmFormFieldProps> {\n isValid = true;\n}\n\nexport default class WmFormField extends BaseComponent<WmFormFieldProps, WmFormFieldState, WmFormFieldStyles> {\n public form: any;\n public formwidget: any;\n public _syncValidators: any;\n public defaultValidatorMessages: any = [];\n private notifyForFields: any = [];\n private _asyncValidatorFn: any;\n constructor(props: WmFormFieldProps) {\n super(props, DEFAULT_CLASS, new WmFormFieldProps(), new WmFormFieldState());\n if (!this.form) {\n this.form = props.formScope && props.formScope();\n }\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.formwidget = (this.props.formKey && this.form?.formWidgets[this.props.formKey])\n || (this.props.name && this.form?.formWidgets[this.props.name]);\n this.form?.registerFormFields(this.form.formFields, this.form.formWidgets);\n }\n\n onFieldChangeEvt(name: string, $new: any, $old: any, isDefault: boolean) {\n this.notifyChanges();\n if (!isEqual($old, $new)) {\n this.updateState({ props: { datavalue: $new }} as WmFormFieldState, () => {\n !isDefault && this.invokeEventCallback('onChange', [undefined, this, $new, $old]);\n this.validateFormField();\n });\n if (this.form) {\n this.form.updateDataOutput.call(this.form, get(this.props, 'formKey', this.props.name), $new);\n }\n }\n }\n\n // Registers observer of validation fields\n observeOn(fields: any) {\n forEach(fields, (field) => {\n const formfield = find(this.form.formFields, (f) => f.proxy.name === field);\n if (formfield) {\n formfield.notifyForFields.push(this);\n }\n });\n }\n\n // Notifies changes to observing validation fields\n notifyChanges() {\n forEach(this.notifyForFields, (field) => {\n field.formwidget.validate(field.formwidget.datavalue);\n setTimeout(() => field.validateFormField());\n });\n }\n\n getPromiseList(validators: any) {\n const arr: any = [];\n forEach(validators, (fn) => {\n let promise = fn;\n if (fn instanceof Function && fn.bind) {\n promise = fn(this.formwidget.proxy, this.form);\n }\n if (promise instanceof Promise) {\n arr.push(promise);\n }\n });\n return arr;\n }\n\n // this method sets the asyncValidation on the form field. Assigns validationmessages from the returned response\n setAsyncValidators(validators: any) {\n this._asyncValidatorFn = () => {\n return Promise.all(this.getPromiseList(validators)).then(() => {\n return null;\n }, err => {\n let validationMsg: string;\n // if err obj has validationMessage key, then set validationMessage using this value\n // else return the value of the first key in the err object as validation message.\n if (err.hasOwnProperty('errorMessage')) {\n validationMsg = get(err, 'errorMessage');\n } else {\n const messageKeys = keys(err);\n validationMsg = (err[messageKeys[0]]).toString();\n }\n this.setInvalidState(validationMsg);\n return err;\n })\n };\n }\n\n // sets the default validation on the form field\n setValidators(validators: any) {\n let _cloneValidators = cloneDeep(validators);\n this._syncValidators = [];\n forEach(_cloneValidators, (obj, index) => {\n // custom validation is bound to function.\n if (obj && obj instanceof Function) {\n // passing formwidget and form as arguments to the obj (i.e. validator function)\n _cloneValidators[index] = obj.bind(undefined, this.formwidget.proxy, this.form);\n this._syncValidators.push(_cloneValidators[index]);\n } else {\n // checks for default validator like required, maxchars etc.\n const key = get(obj, 'type');\n this.defaultValidatorMessages[key] = get(obj, 'errorMessage');\n const value = get(obj, 'validator');\n let propsObj: any = {\n props: {}\n };\n propsObj.props[key] = value;\n key === 'required' && this.updateState(propsObj as WmFormFieldState);\n this.formwidget.updateState(propsObj as WmFormFieldState);\n }\n });\n }\n\n updateFormWidgetDataset(res: any, displayField: string) {\n this.formwidget.updateState({\n props: {\n dataset: res.data,\n datafield: 'All Fields',\n displayfield: this.formwidget.state.props.displayfield || displayField,\n }\n } as WmFormFieldState);\n }\n\n setInvalidState(msg: string) {\n this.updateState({\n isValid: false,\n props: {\n validationmessage: msg\n }\n } as WmFormFieldState)\n this.formwidget.updateState({\n isValid: false,\n props: {\n validationmessage: msg\n }\n } as WmFormFieldState);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'datavalue':\n if (!isEqual($old, $new)) {\n PERFORMANCE_LOGGER.debug(`form field ${this.props.name} changed from ${$old} to ${$new}`);\n }\n break;\n case 'defaultvalue':\n if (!isEqual($old, $new)) {\n get(this, 'form') && this.form.applyDefaultValue(this);\n }\n break;\n case 'primary-key':\n if ($new) {\n this.form.setPrimaryKey(this.props.name);\n }\n break;\n }\n }\n\n setReadOnlyState(updateMode: any) {\n this.formwidget?.updateState({\n props: {\n readonly: !updateMode,\n }\n } as WmFormFieldState);\n }\n\n validateFormField() {\n if (this.formwidget?.state.isValid === false) {\n const errorType = this.formwidget?.state?.errorType;\n let validationMsg = get(this.defaultValidatorMessages, errorType);\n if (validationMsg) {\n if (validationMsg instanceof Function) {\n // passing formwidget and form as arguments to the errorMessage function.\n validationMsg = validationMsg(this.formwidget.proxy, this.form);\n }\n this.updateState({ props: {\n validationmessage: validationMsg\n }} as WmFormFieldState);\n }\n this.updateState({ isValid: false} as WmFormFieldState);\n } else {\n this.updateState({ isValid: true } as WmFormFieldState);\n }\n\n this._syncValidators?.forEach((fn: any) => {\n const errormsg = fn();\n let validationMsg = errormsg?.errorMessage;\n if (validationMsg) {\n if (validationMsg instanceof Function) {\n // passing formwidget and form as arguments to the errorMessage function.\n validationMsg = validationMsg(this.formwidget.proxy, this.form);\n }\n this.setInvalidState(validationMsg);\n }\n })\n\n this._asyncValidatorFn && this._asyncValidatorFn();\n\n }\n\n get value(){\n return this.state.props.datavalue;\n }\n\n renderWidget(props: WmFormFieldProps) {\n var childrenWithProps = React.Children.map(props.renderFormFields(this.proxy).props.children, (child) => {\n return React.cloneElement(child, {\n datavalue: props.datavalue,\n value: this.value,\n isValid: this.state.isValid,\n maskchar: props.maskchar,\n displayformat: props.displayformat,\n invokeEvent: this.invokeEventCallback.bind(this),\n triggerValidation: this.validateFormField.bind(this),\n onFieldChange: this.onFieldChangeEvt.bind(this),\n formRef: props.formRef,\n ...(!isNil(props?.placeholder) ? { placeholder: props.placeholder } : {})\n });\n });\n return (\n <View style={this.styles.root}>{this._background}{childrenWithProps}\n {this.state.isValid === false && <Text {...this.getTestPropsForLabel('error_msg')} style={this.styles.errorMsg}>{props.validationmessage}</Text>}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","isEqual","isNil","get","find","cloneDeep","forEach","keys","WmFormFieldProps","DEFAULT_CLASS","PERFORMANCE_LOGGER","WmFormFieldState","constructor","args","_defineProperty","WmFormField","props","form","formScope","componentDidMount","_this$form","_this$form2","_this$form3","formwidget","formKey","formWidgets","name","registerFormFields","formFields","onFieldChangeEvt","$new","$old","isDefault","notifyChanges","updateState","datavalue","invokeEventCallback","undefined","validateFormField","updateDataOutput","call","observeOn","fields","field","formfield","f","proxy","notifyForFields","push","validate","setTimeout","getPromiseList","validators","arr","fn","promise","Function","bind","Promise","setAsyncValidators","_asyncValidatorFn","all","then","err","validationMsg","hasOwnProperty","messageKeys","toString","setInvalidState","setValidators","_cloneValidators","_syncValidators","obj","index","key","defaultValidatorMessages","value","propsObj","updateFormWidgetDataset","res","displayField","dataset","data","datafield","displayfield","state","msg","isValid","validationmessage","onPropertyChange","debug","applyDefaultValue","setPrimaryKey","setReadOnlyState","updateMode","_this$formwidget","readonly","_this$formwidget2","_this$_syncValidators","_this$formwidget3","errorType","errormsg","errorMessage","renderWidget","childrenWithProps","Children","map","renderFormFields","children","child","_child$props","cloneElement","maskchar","displayformat","invokeEvent","triggerValidation","onFieldChange","formRef","placeholder","createElement","style","styles","root","_background","_extends","getTestPropsForLabel","errorMsg"],"sources":["form-field.component.tsx"],"sourcesContent":["import React from 'react';\nimport {Text, View} from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { widgetsWithUndefinedValue } from '@wavemaker/app-rn-runtime/core/utils';\nimport { isEqual, isNil, get, find, cloneDeep, forEach, keys } from 'lodash';\n\nimport WmFormFieldProps from './form-field.props';\nimport { DEFAULT_CLASS, WmFormFieldStyles } from './form-field.styles';\nimport {PERFORMANCE_LOGGER} from \"@wavemaker/app-rn-runtime/core/logger\";\n\nexport class WmFormFieldState extends BaseComponentState<WmFormFieldProps> {\n isValid = true;\n}\n\nexport default class WmFormField extends BaseComponent<WmFormFieldProps, WmFormFieldState, WmFormFieldStyles> {\n public form: any;\n public formwidget: any;\n public _syncValidators: any;\n public defaultValidatorMessages: any = [];\n private notifyForFields: any = [];\n private _asyncValidatorFn: any;\n constructor(props: WmFormFieldProps) {\n super(props, DEFAULT_CLASS, new WmFormFieldProps(), new WmFormFieldState());\n if (!this.form) {\n this.form = props.formScope && props.formScope();\n }\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.formwidget = (this.props.formKey && this.form?.formWidgets[this.props.formKey])\n || (this.props.name && this.form?.formWidgets[this.props.name]);\n this.form?.registerFormFields(this.form.formFields, this.form.formWidgets);\n }\n\n onFieldChangeEvt(name: string, $new: any, $old: any, isDefault: boolean) {\n this.notifyChanges();\n if (!isEqual($old, $new)) {\n this.updateState({ props: { datavalue: $new }} as WmFormFieldState, () => {\n !isDefault && this.invokeEventCallback('onChange', [undefined, this, $new, $old]);\n this.validateFormField();\n });\n if (this.form) {\n this.form.updateDataOutput.call(this.form, get(this.props, 'formKey', this.props.name), $new);\n }\n }\n }\n\n // Registers observer of validation fields\n observeOn(fields: any) {\n forEach(fields, (field) => {\n const formfield = find(this.form.formFields, (f) => f.proxy.name === field);\n if (formfield) {\n formfield.notifyForFields.push(this);\n }\n });\n }\n\n // Notifies changes to observing validation fields\n notifyChanges() {\n forEach(this.notifyForFields, (field) => {\n field.formwidget.validate(field.formwidget.datavalue);\n setTimeout(() => field.validateFormField());\n });\n }\n\n getPromiseList(validators: any) {\n const arr: any = [];\n forEach(validators, (fn) => {\n let promise = fn;\n if (fn instanceof Function && fn.bind) {\n promise = fn(this.formwidget.proxy, this.form);\n }\n if (promise instanceof Promise) {\n arr.push(promise);\n }\n });\n return arr;\n }\n\n // this method sets the asyncValidation on the form field. Assigns validationmessages from the returned response\n setAsyncValidators(validators: any) {\n this._asyncValidatorFn = () => {\n return Promise.all(this.getPromiseList(validators)).then(() => {\n return null;\n }, err => {\n let validationMsg: string;\n // if err obj has validationMessage key, then set validationMessage using this value\n // else return the value of the first key in the err object as validation message.\n if (err.hasOwnProperty('errorMessage')) {\n validationMsg = get(err, 'errorMessage');\n } else {\n const messageKeys = keys(err);\n validationMsg = (err[messageKeys[0]]).toString();\n }\n this.setInvalidState(validationMsg);\n return err;\n })\n };\n }\n\n // sets the default validation on the form field\n setValidators(validators: any) {\n let _cloneValidators = cloneDeep(validators);\n this._syncValidators = [];\n forEach(_cloneValidators, (obj, index) => {\n // custom validation is bound to function.\n if (obj && obj instanceof Function) {\n // passing formwidget and form as arguments to the obj (i.e. validator function)\n _cloneValidators[index] = obj.bind(undefined, this.formwidget.proxy, this.form);\n this._syncValidators.push(_cloneValidators[index]);\n } else {\n // checks for default validator like required, maxchars etc.\n const key = get(obj, 'type');\n this.defaultValidatorMessages[key] = get(obj, 'errorMessage');\n const value = get(obj, 'validator');\n let propsObj: any = {\n props: {}\n };\n propsObj.props[key] = value;\n key === 'required' && this.updateState(propsObj as WmFormFieldState);\n this.formwidget.updateState(propsObj as WmFormFieldState);\n }\n });\n }\n\n updateFormWidgetDataset(res: any, displayField: string) {\n this.formwidget.updateState({\n props: {\n dataset: res.data,\n datafield: 'All Fields',\n displayfield: this.formwidget.state.props.displayfield || displayField,\n }\n } as WmFormFieldState);\n }\n\n setInvalidState(msg: string) {\n this.updateState({\n isValid: false,\n props: {\n validationmessage: msg\n }\n } as WmFormFieldState)\n this.formwidget.updateState({\n isValid: false,\n props: {\n validationmessage: msg\n }\n } as WmFormFieldState);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'datavalue':\n if (!isEqual($old, $new)) {\n PERFORMANCE_LOGGER.debug(`form field ${this.props.name} changed from ${$old} to ${$new}`);\n }\n break;\n case 'defaultvalue':\n if (!isEqual($old, $new)) {\n get(this, 'form') && this.form.applyDefaultValue(this);\n }\n break;\n case 'primary-key':\n if ($new) {\n this.form.setPrimaryKey(this.props.name);\n }\n break;\n }\n }\n\n setReadOnlyState(updateMode: any) {\n this.formwidget?.updateState({\n props: {\n readonly: !updateMode,\n }\n } as WmFormFieldState);\n }\n\n validateFormField() {\n if (this.formwidget?.state.isValid === false) {\n const errorType = this.formwidget?.state?.errorType;\n let validationMsg = get(this.defaultValidatorMessages, errorType);\n if (validationMsg) {\n if (validationMsg instanceof Function) {\n // passing formwidget and form as arguments to the errorMessage function.\n validationMsg = validationMsg(this.formwidget.proxy, this.form);\n }\n this.updateState({ props: {\n validationmessage: validationMsg\n }} as WmFormFieldState);\n }\n this.updateState({ isValid: false} as WmFormFieldState);\n } else {\n this.updateState({ isValid: true } as WmFormFieldState);\n }\n\n this._syncValidators?.forEach((fn: any) => {\n const errormsg = fn();\n let validationMsg = errormsg?.errorMessage;\n if (validationMsg) {\n if (validationMsg instanceof Function) {\n // passing formwidget and form as arguments to the errorMessage function.\n validationMsg = validationMsg(this.formwidget.proxy, this.form);\n }\n this.setInvalidState(validationMsg);\n }\n })\n\n this._asyncValidatorFn && this._asyncValidatorFn();\n\n }\n\n get value(){\n return this.state.props.datavalue;\n }\n\n renderWidget(props: WmFormFieldProps) {\n var childrenWithProps = React.Children.map(props.renderFormFields(this.proxy).props.children, (child) => {\n return React.cloneElement(child, {\n datavalue: props.datavalue || child?.props?.datavalue,\n value: this.value,\n isValid: this.state.isValid,\n maskchar: props.maskchar,\n displayformat: props.displayformat,\n invokeEvent: this.invokeEventCallback.bind(this),\n triggerValidation: this.validateFormField.bind(this),\n onFieldChange: this.onFieldChangeEvt.bind(this),\n formRef: props.formRef,\n ...(!isNil(props?.placeholder) ? { placeholder: props.placeholder } : {})\n });\n });\n return (\n <View style={this.styles.root}>{this._background}{childrenWithProps}\n {this.state.isValid === false && <Text {...this.getTestPropsForLabel('error_msg')} style={this.styles.errorMsg}>{props.validationmessage}</Text>}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -14,6 +14,7 @@ import WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.compone
14
14
  import { Swipeable } from 'react-native-gesture-handler';
15
15
  import WmListProps from './list.props';
16
16
  import { DEFAULT_CLASS } from './list.styles';
17
+ import { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';
17
18
  export class WmListState extends BaseComponentState {
18
19
  constructor(...args) {
19
20
  super(...args);
@@ -329,7 +330,16 @@ export default class WmList extends BaseComponent {
329
330
  } : {}
330
331
  }, /*#__PURE__*/React.createElement(View, {
331
332
  style: [styles, props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null, this.isSelected(item) ? this.styles.selectedItem : {}]
332
- }, /*#__PURE__*/React.createElement(Tappable, _extends({}, this.getTestPropsForAction(`item${index}`), {
333
+ }, styles.backgroundImage ? /*#__PURE__*/React.createElement(BackgroundComponent, {
334
+ image: styles.backgroundImage,
335
+ position: styles.backgroundPosition || 'center',
336
+ size: styles.backgroundSize || 'cover',
337
+ repeat: styles.backgroundRepeat || 'no-repeat',
338
+ resizeMode: styles.backgroundResizeMode || 'cover',
339
+ style: {
340
+ borderRadius: this.styles.item.borderRadius
341
+ }
342
+ }) : null, /*#__PURE__*/React.createElement(Tappable, _extends({}, this.getTestPropsForAction(`item${index}`), {
333
343
  onTap: $event => this.onSelect(item, index, $event),
334
344
  onLongTap: () => this.invokeEventCallback('onLongtap', [null, this.proxy]),
335
345
  onDoubleTap: () => this.invokeEventCallback('onDoubletap', [null, this.proxy]),
@@ -1 +1 @@
1
- {"version":3,"names":["React","ActivityIndicator","SectionList","Text","View","FlatList","isArray","isEmpty","isNil","isNumber","round","BaseComponent","BaseComponentState","getGroupedData","getNumberOfEmptyObjects","isDefined","Tappable","DefaultKeyExtractor","WmLabel","WmIcon","Swipeable","WmListProps","DEFAULT_CLASS","WmListState","constructor","args","_defineProperty","WmList","props","leftActionTemplate","createElement","Fragment","getTemplate","rightActionTemplate","updateState","maxRecordsToShow","state","pagesize","isSelected","$item","selectedItem","selecteditem","indexOf","onSelect","$index","$event","eventName","disableitem","multiselect","index","selectionlimit","length","push","invokeEventCallback","splice","proxy","selectedItemWidgets","itemWidgets","Promise","resolve","selectedindex","loadDataOnDemand","navigation","loadData","loadingData","dataset","setTimeout","$list","loadingdata","getNextPageData","currentPage","then","data","hasMoreData","catch","err","console","error","selectFirstItem","initialized","groupby","clear","groupedData","selectItem","item","getItem","deselect","selectedItemIndex","getWidgets","widgetname","map","filter","widget","undefined","deselectAll","setGroupData","items","dataItems","match","orderby","dateformat","_this$keyExtractor","keyExtractor","onPropertyChange","name","$new","$old","orderbyData","key","_this$keyExtractor2","direction","_this$keyExtractor3","selectfirstitem","pop","componentDidMount","_props$dataset","subscribe","event","scrollPosition","nativeEvent","contentOffset","y","layoutMeasurement","height","endThreshold","componentDidUpdate","prevProps","prevState","snapshot","getDefaultStyles","isHorizontal","theme","getStyle","defaultClass","getIndex","generateItemKey","itemkey","_showSkeleton","getKey","renderItem","cols","getNoOfColumns","styles","skeleton","root","renderLeftActions","renderRightActions","containerStyle","width","flex","style","itemclass","_extends","getTestPropsForAction","onTap","onLongTap","onDoubleTap","display","flexDirection","paddingRight","marginRight","margin","id","getTestId","iconclass","selectedIcon","renderHeader","title","groupHeading","accessibilityRole","subheading","heading","listIcon","caption","accessibilityrole","renderEmptyMessage","emptyMessage","nodatamessage","renderLoadingIcon","loadingicon","loadingIcon","loadingdatamsg","color","text","itemsperrow","xs","onLayoutChange","e","l","layout","renderWithFlatList","onLayout","v","i","_ref","group","scrollEnabled","horizontal","numberofskeletonitems","ListEmptyComponent","itemInfo","numColumns","onDemandMessage","ondemandmessage","getSectionListData","_ref2","renderWithSectionList","contentContainerStyle","sections","renderSectionHeader","section","renderSectionFooter","renderWidget","_background"],"sources":["list.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ActivityIndicator, SectionList, Text, View, FlatList, LayoutChangeEvent, TouchableOpacity} from 'react-native';\nimport { isArray, isEmpty, isNil, isNumber, round } from 'lodash-es';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport {getGroupedData, getNumberOfEmptyObjects, isDefined} from \"@wavemaker/app-rn-runtime/core/utils\";\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { DefaultKeyExtractor } from '@wavemaker/app-rn-runtime/core/key.extractor';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { Swipeable } from 'react-native-gesture-handler';\nimport WmListActionTemplate from './list-action-template/list-action-template.component';\n\nimport WmListProps from './list.props';\nimport { DEFAULT_CLASS, WmListStyles } from './list.styles';\n\n\nexport class WmListState extends BaseComponentState<WmListProps> {\n public selectedindex: any;\n groupedData: Array<any> = [];\n currentPage = 1;\n maxRecordsToShow = 20;\n}\n\nexport default class WmList extends BaseComponent<WmListProps, WmListState, WmListStyles> {\n\n private itemWidgets = [] as any[];\n private selectedItemWidgets = {} as any;\n private keyExtractor = new DefaultKeyExtractor();\n private endThreshold = -1;\n private loadingData = false;\n private hasMoreData = true;\n public leftActionTemplate?: WmListActionTemplate;\n public rightActionTemplate?: WmListActionTemplate;\n\n constructor(props: WmListProps) {\n super(props, DEFAULT_CLASS, new WmListProps(), new WmListState());\n this.updateState({\n maxRecordsToShow: this.state.props.pagesize\n } as WmListState);\n }\n\n private isSelected($item: any) {\n const selectedItem = this.state.props.selecteditem;\n if (isArray(selectedItem)) {\n return selectedItem.indexOf($item) >= 0;\n }\n return selectedItem === $item;\n }\n\n private async onSelect($item: any, $index: number | string, $event?: any) {\n const props = this.state.props;\n let selectedItem = null as any;\n let eventName = 'onSelect';\n if (props.disableitem !== true\n && (typeof props.disableitem !== 'function' || !props.disableitem($item, $index))) {\n if (props.multiselect) {\n selectedItem = [...(props.selecteditem || [])];\n const index = selectedItem.indexOf($item);\n if (index < 0) {\n if ((!props.selectionlimit)\n || props.selectionlimit < 0\n || selectedItem.length < props.selectionlimit) {\n selectedItem.push($item);\n } else {\n this.invokeEventCallback('onSelectionlimitexceed', [null, this]);\n }\n } else {\n selectedItem.splice(index, 1);\n eventName = 'onDeselect';\n }\n } else {\n this.state.props.selecteditem && this.invokeEventCallback('onDeselect', [this.proxy, this.state.props.selecteditem]);\n selectedItem = $item;\n }\n this.selectedItemWidgets = this.itemWidgets[$index as number];\n return new Promise(resolve => {\n this.updateState({\n props: { selecteditem: selectedItem },\n selectedindex: $index\n } as WmListState, () => {\n this.invokeEventCallback(eventName, [this.proxy, $item]);\n $event && this.invokeEventCallback('onTap', [$event, this.proxy]);\n resolve(null);\n });\n });\n } else {\n return Promise.resolve(null);\n }\n }\n\n private get loadDataOnDemand() {\n const navigation = this.state.props.navigation;\n return navigation === 'Scroll' || navigation === 'On-Demand';\n }\n\n renderLeftActions = () => {\n return this.leftActionTemplate ? (\n <>\n {this.leftActionTemplate.getTemplate()}\n </>\n ) : null;\n };\n\n renderRightActions = () => {\n return this.rightActionTemplate ? (\n <>\n {this.rightActionTemplate.getTemplate()}\n </>\n ) : null;\n };\n\n private loadData() {\n if (this.loadingData) {\n return;\n }\n if (isArray(this.state.props.dataset)\n && this.state.props.dataset.length > this.state.maxRecordsToShow) {\n this.loadingData = true;\n this.updateState({\n maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize\n } as WmListState);\n setTimeout(() => {\n this.loadingData = false;\n }, 100);\n } else if (this.loadDataOnDemand) {\n const $list = this.proxy as any;\n $list.loadingdata = true;\n this.loadingData = true;\n this.props.getNextPageData && this.props.getNextPageData(null, this.proxy, this.state.currentPage + 1).then((data) => {\n if (isArray(data) && data.length > 0\n && isArray(this.state.props.dataset)) {\n $list.dataset = [...this.state.props.dataset, ...data];\n this.updateState({\n currentPage : this.state.currentPage + 1,\n maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize\n } as WmListState);\n this.hasMoreData = true;\n } else {\n this.hasMoreData = false;\n }\n }).catch((err) => {\n console.error(err);\n }).then(() => {\n setTimeout(() => {\n $list.loadingdata = false;\n }, 1000);\n });\n }\n }\n\n private selectFirstItem() {\n const props = this.state.props;\n if (this.initialized\n && props.dataset\n && props.dataset.length) {\n const index = props.groupby ? '00': 0;\n this.onSelect(props.dataset[0], index);\n }\n }\n\n clear(){\n this.updateState({\n groupedData: {},\n } as WmListState);\n }\n\n selectItem(item: any){\n const dataset = this.state.props.dataset;\n if(isNumber(item)){\n this.onSelect(dataset[item], item);\n }\n else{\n let index = dataset.indexOf(item);\n this.onSelect(dataset[index], index);\n }\n }\n\n getItem(index: number){\n const props = this.state.props;\n return this.props.dataset[index]\n }\n\n deselect(item: any){\n const props = this.state.props;\n let selectedItem = null as any;\n let index = isNumber(item)?item:props.dataset.indexOf(item);\n if(props.multiselect && index >= 0){\n selectedItem = [...(props.selecteditem || [])];\n let selectedItemIndex = selectedItem.indexOf(props.dataset[index])\n if(selectedItemIndex >= 0){\n selectedItem.splice(selectedItemIndex, 1);\n }\n }\n else{\n if (props.selecteditem === props.dataset[index]) {\n selectedItem = null;\n }\n }\n this.updateState({\n props: { selecteditem: selectedItem },\n\n } as WmListState, () => {\n this.invokeEventCallback('onDeselect', [this.proxy, item]);\n });\n }\n\n getWidgets(widgetname: string, index: number){\n if(index >= 0 && index < this.itemWidgets.length){\n return this.itemWidgets[index][widgetname]\n }\n else{\n return this.itemWidgets.map(item => item[widgetname]).filter(widget => widget !== undefined);\n }\n }\n\n private deselectAll() {\n this.updateState({\n props: { selecteditem: null },\n selectedindex: -1\n } as WmListState);\n }\n\n setGroupData(items: any) {\n const dataItems = items;\n const props = this.state.props;\n if (props.groupby) {\n const groupedData = dataItems && getGroupedData(dataItems, props.groupby, props.match, props.orderby, props.dateformat, this);\n this.updateState({\n groupedData: groupedData\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n }\n\n public onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n switch(name) {\n case 'selectfirstitem':\n if ($new) {\n this.selectFirstItem();\n }\n break;\n case 'dataset':\n if (this.state.props.groupby) {\n this.setGroupData($new);\n } else {\n if (!($old && $old.length)\n && $new && $new.length\n && this.loadDataOnDemand) {\n this.updateState({\n props: {\n dataset: [...$new]\n }\n } as WmListState);\n }\n const data = isArray($new) ? $new : (!isEmpty($new) && isDefined($new) ? [$new] : []);\n if(props.orderby) {\n const orderbyData = data && getGroupedData(data, props.groupby, props.match, props.orderby, props.dateformat, this);\n this.updateState({\n groupedData: (orderbyData[0] ? [{\n key: 'key',\n data: orderbyData[0].data\n }] : [])\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n } else {\n this.updateState({\n groupedData: (data[0] || props.direction === 'horizontal' ? [{\n key: 'key',\n data: data\n }] : [])\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n }\n this.itemWidgets = [];\n if (props.selectfirstitem) {\n this.selectFirstItem();\n } else {\n this.deselectAll();\n }\n break;\n case 'groupby':\n case 'match':\n this.setGroupData(this.state.props.dataset);\n break;\n case 'multiselect':\n if ($new) {\n if (!isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem ?\n [this.state.props.selecteditem] : [];\n }\n } else if (isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem.pop();\n }\n break;\n case 'loadingdata':\n this.loadingData = $new && this.loadingData;\n break;\n case 'selecteditem':\n if($new != $old && isNumber($new)) {\n this.selectItem(this.state.props.dataset[$new])\n }\n break;\n }\n }\n\n componentDidMount() {\n const props = this.state.props;\n if (this.state.props.selectfirstitem && props.dataset?.length) {\n setTimeout(() => {\n this.onSelect(props.dataset[0], 0);\n });\n }\n this.subscribe('scroll', (event: any) => {\n const scrollPosition = event.nativeEvent.contentOffset.y + event.nativeEvent.layoutMeasurement.height;\n if (scrollPosition > this.endThreshold && this.state.props.direction === 'vertical') {\n this.loadData();\n }\n });\n super.componentDidMount();\n }\n\n componentDidUpdate(prevProps: WmListProps, prevState: WmListState, snapshot?: any) {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n this.invokeEventCallback('onRender', [this, this.state.props.dataset]);\n }\n\n getDefaultStyles() {\n const isHorizontal = this.state.props.direction === 'horizontal';\n return this.theme.getStyle(`${this.defaultClass} ${isHorizontal ? 'app-horizontal-list' : 'app-vertical-list'}`);\n }\n\n getIndex(item: any) {\n return this.state.props.dataset.indexOf(item);\n }\n\n private generateItemKey(item: any, index: number, props: WmListProps) {\n if (props.itemkey && item && !this._showSkeleton) {\n return props.itemkey(item, index);\n }\n return 'list_item_' + this.keyExtractor.getKey(item, true);\n }\n\n private renderItem(item: any, index: number, props: WmListProps) {\n const cols = this. getNoOfColumns();\n const isHorizontal = (props.direction === 'horizontal');\n \n const styles = this._showSkeleton ? {\n ...this.styles.item,\n ...this.styles.skeleton.root\n } : this.styles.item\n\n return (index < this.state.maxRecordsToShow || isHorizontal) ? (\n <Swipeable\n renderLeftActions={() => this.renderLeftActions()}\n renderRightActions={() => this.renderRightActions()} containerStyle={ cols ? { width: round(100/cols) + \"%\" , flex: null } as any :{}}>\n <View style={[\n styles,\n props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null,\n this.isSelected(item) ? this.styles.selectedItem : {}]}>\n <Tappable\n {...this.getTestPropsForAction(`item${index}`)}\n onTap={($event) => this.onSelect(item, index, $event)}\n onLongTap={() => this.invokeEventCallback('onLongtap', [null, this.proxy])}\n onDoubleTap={() => this.invokeEventCallback('onDoubletap', [null, this.proxy])}\n styles={\n [{display: 'flex', flexDirection : 'row'},\n cols ? {\n width: '100%'\n } : null,\n (cols && cols > 1) || isHorizontal ? {\n paddingRight: (isNil(this.styles.item.marginRight)\n ? this.styles.item.margin : this.styles.item.marginRight) || 4\n } : null\n ]\n }>\n {props.renderItem(item, index, this)}\n {this.isSelected(item) ? (\n <WmIcon id={this.getTestId('icon' + index)} iconclass='wi wi-check-circle' styles={this.styles.selectedIcon} />\n ) : null}\n </Tappable>\n </View>\n </Swipeable>\n ) : null;\n }\n\n private renderHeader(props: WmListProps, title: string) {\n return props.groupby ? (\n <Text style={this.styles.groupHeading} accessibilityRole='header'>{title}</Text>\n ) : (props.iconclass || props.title || props.subheading) ? (\n <View style={this.styles.heading}>\n <View style={{flex: 1, flexDirection: 'row'}}>\n <WmIcon id={this.getTestId('icon')} styles={this.styles.listIcon} iconclass={props.iconclass}></WmIcon>\n <View>\n <WmLabel id={this.getTestId('title')} styles={this.styles.title} caption={props.title} accessibilityrole='header'></WmLabel>\n <WmLabel id={this.getTestId('subheading')} styles={this.styles.subheading} caption={props.subheading}></WmLabel>\n </View>\n </View>\n </View>) : null;\n }\n\n private renderEmptyMessage(isHorizontal: boolean, item: any, index: any, props: WmListProps) {\n return (<WmLabel id={this.getTestId('emptymsg')} styles={this.styles.emptyMessage} caption={props.nodatamessage}></WmLabel>);\n }\n\n private renderLoadingIcon(props: WmListProps) {\n return props.loadingicon ? (<WmIcon\n id={this.getTestId('loadingicon')}\n styles={this.styles.loadingIcon}\n iconclass={props.loadingicon}\n caption={props.loadingdatamsg}></WmIcon>)\n : (\n <ActivityIndicator color={this.styles.loadingIcon.text.color}></ActivityIndicator>\n );\n }\n\n public getNoOfColumns() {\n const props = this.state.props;\n if(props.direction === 'vertical') {\n return props.itemsperrow.xs;\n }\n return 0;\n }\n\n private onLayoutChange(e: LayoutChangeEvent) {\n const l = e.nativeEvent.layout;\n this.endThreshold = l.height + l.y - 100;\n if (!this.endThreshold) {\n this.endThreshold = -1;\n }\n }\n\n private renderWithFlatList(props: WmListProps, isHorizontal = false) {\n return (\n <View style={this.styles.root} onLayout={e => this.onLayoutChange(e)}>\n {!isEmpty(this.state.groupedData) ? this.state.groupedData.map((v: any, i) => ((\n <View style={this.styles.group} key={v.key || this.keyExtractor.getKey(v, true)}>\n {this.renderHeader(props, v.key)}\n <FlatList\n key={props.name + '_' + (isHorizontal ? 'H' : 'V') + props.itemsperrow.xs}\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n scrollEnabled={isHorizontal}\n horizontal = {isHorizontal}\n data={this._showSkeleton? [...getNumberOfEmptyObjects(this.props.numberofskeletonitems as number ?? 3)] : (isEmpty(v.data[0]) ? []: v.data)}\n ListEmptyComponent = {(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}\n {...(isHorizontal ? {} : {numColumns : this.getNoOfColumns()})}>\n </FlatList>\n {this.loadDataOnDemand || (v.data.length > this.state.maxRecordsToShow) ?\n (this.loadingData ?\n this.renderLoadingIcon(props) :\n (<WmLabel id={this.getTestId('ondemandmessage')}\n styles={this.styles.onDemandMessage}\n caption={this.hasMoreData && !isHorizontal ? props.ondemandmessage : props.nodatamessage}\n onTap={() => this.loadData()}></WmLabel>))\n : null}\n </View>\n ))) : this.renderEmptyMessage(isHorizontal, null, null,props)\n }\n </View>);\n }\n\n private getSectionListData(props: WmListProps) {\n if (this._showSkeleton) {\n return [{\n key: '',\n data: [...getNumberOfEmptyObjects(this.props.numberofskeletonitems as number ?? 3)]\n }];\n } else if (this.state.groupedData\n && this.state.groupedData[0]\n && this.state.groupedData[0]['data'].length) {\n return this.state.groupedData;\n }\n return [];\n }\n\n private renderWithSectionList(props: WmListProps, isHorizontal = false) {\n return (\n <SectionList\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n horizontal = {isHorizontal}\n contentContainerStyle={this.styles.root}\n sections={this.getSectionListData(props)}\n renderSectionHeader={({ section: {key, data}}) => {\n return this.renderHeader(props, key);\n }}\n renderSectionFooter={() => props.loadingdata ? this.renderLoadingIcon(props) : null}\n ListEmptyComponent = {(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}>\n </SectionList>\n );\n }\n\n renderWidget(props: WmListProps) {\n this.invokeEventCallback('onBeforedatarender', [this, this.state.props.dataset]);\n const isHorizontal = (props.direction === 'horizontal');\n return (\n <View style={isHorizontal ? null : { width: '100%' }}>\n {this._background}\n {(isHorizontal || !props.groupby) ?\n this.renderWithFlatList(props, isHorizontal)\n : this.renderWithSectionList(props, isHorizontal)}\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","ActivityIndicator","SectionList","Text","View","FlatList","isArray","isEmpty","isNil","isNumber","round","BaseComponent","BaseComponentState","getGroupedData","getNumberOfEmptyObjects","isDefined","Tappable","DefaultKeyExtractor","WmLabel","WmIcon","Swipeable","WmListProps","DEFAULT_CLASS","BackgroundComponent","WmListState","constructor","args","_defineProperty","WmList","props","leftActionTemplate","createElement","Fragment","getTemplate","rightActionTemplate","updateState","maxRecordsToShow","state","pagesize","isSelected","$item","selectedItem","selecteditem","indexOf","onSelect","$index","$event","eventName","disableitem","multiselect","index","selectionlimit","length","push","invokeEventCallback","splice","proxy","selectedItemWidgets","itemWidgets","Promise","resolve","selectedindex","loadDataOnDemand","navigation","loadData","loadingData","dataset","setTimeout","$list","loadingdata","getNextPageData","currentPage","then","data","hasMoreData","catch","err","console","error","selectFirstItem","initialized","groupby","clear","groupedData","selectItem","item","getItem","deselect","selectedItemIndex","getWidgets","widgetname","map","filter","widget","undefined","deselectAll","setGroupData","items","dataItems","match","orderby","dateformat","_this$keyExtractor","keyExtractor","onPropertyChange","name","$new","$old","orderbyData","key","_this$keyExtractor2","direction","_this$keyExtractor3","selectfirstitem","pop","componentDidMount","_props$dataset","subscribe","event","scrollPosition","nativeEvent","contentOffset","y","layoutMeasurement","height","endThreshold","componentDidUpdate","prevProps","prevState","snapshot","getDefaultStyles","isHorizontal","theme","getStyle","defaultClass","getIndex","generateItemKey","itemkey","_showSkeleton","getKey","renderItem","cols","getNoOfColumns","styles","skeleton","root","renderLeftActions","renderRightActions","containerStyle","width","flex","style","itemclass","backgroundImage","image","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","_extends","getTestPropsForAction","onTap","onLongTap","onDoubleTap","display","flexDirection","paddingRight","marginRight","margin","id","getTestId","iconclass","selectedIcon","renderHeader","title","groupHeading","accessibilityRole","subheading","heading","listIcon","caption","accessibilityrole","renderEmptyMessage","emptyMessage","nodatamessage","renderLoadingIcon","loadingicon","loadingIcon","loadingdatamsg","color","text","itemsperrow","xs","onLayoutChange","e","l","layout","renderWithFlatList","onLayout","v","i","_ref","group","scrollEnabled","horizontal","numberofskeletonitems","ListEmptyComponent","itemInfo","numColumns","onDemandMessage","ondemandmessage","getSectionListData","_ref2","renderWithSectionList","contentContainerStyle","sections","renderSectionHeader","section","renderSectionFooter","renderWidget","_background"],"sources":["list.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ActivityIndicator, SectionList, Text, View, FlatList, LayoutChangeEvent, TouchableOpacity} from 'react-native';\nimport { isArray, isEmpty, isNil, isNumber, round } from 'lodash-es';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport {getGroupedData, getNumberOfEmptyObjects, isDefined} from \"@wavemaker/app-rn-runtime/core/utils\";\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { DefaultKeyExtractor } from '@wavemaker/app-rn-runtime/core/key.extractor';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { Swipeable } from 'react-native-gesture-handler';\nimport WmListActionTemplate from './list-action-template/list-action-template.component';\n\nimport WmListProps from './list.props';\nimport { DEFAULT_CLASS, WmListStyles } from './list.styles';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\n\n\nexport class WmListState extends BaseComponentState<WmListProps> {\n public selectedindex: any;\n groupedData: Array<any> = [];\n currentPage = 1;\n maxRecordsToShow = 20;\n}\n\nexport default class WmList extends BaseComponent<WmListProps, WmListState, WmListStyles> {\n\n private itemWidgets = [] as any[];\n private selectedItemWidgets = {} as any;\n private keyExtractor = new DefaultKeyExtractor();\n private endThreshold = -1;\n private loadingData = false;\n private hasMoreData = true;\n public leftActionTemplate?: WmListActionTemplate;\n public rightActionTemplate?: WmListActionTemplate;\n\n constructor(props: WmListProps) {\n super(props, DEFAULT_CLASS, new WmListProps(), new WmListState());\n this.updateState({\n maxRecordsToShow: this.state.props.pagesize\n } as WmListState);\n }\n\n private isSelected($item: any) {\n const selectedItem = this.state.props.selecteditem;\n if (isArray(selectedItem)) {\n return selectedItem.indexOf($item) >= 0;\n }\n return selectedItem === $item;\n }\n\n private async onSelect($item: any, $index: number | string, $event?: any) {\n const props = this.state.props;\n let selectedItem = null as any;\n let eventName = 'onSelect';\n if (props.disableitem !== true\n && (typeof props.disableitem !== 'function' || !props.disableitem($item, $index))) {\n if (props.multiselect) {\n selectedItem = [...(props.selecteditem || [])];\n const index = selectedItem.indexOf($item);\n if (index < 0) {\n if ((!props.selectionlimit)\n || props.selectionlimit < 0\n || selectedItem.length < props.selectionlimit) {\n selectedItem.push($item);\n } else {\n this.invokeEventCallback('onSelectionlimitexceed', [null, this]);\n }\n } else {\n selectedItem.splice(index, 1);\n eventName = 'onDeselect';\n }\n } else {\n this.state.props.selecteditem && this.invokeEventCallback('onDeselect', [this.proxy, this.state.props.selecteditem]);\n selectedItem = $item;\n }\n this.selectedItemWidgets = this.itemWidgets[$index as number];\n return new Promise(resolve => {\n this.updateState({\n props: { selecteditem: selectedItem },\n selectedindex: $index\n } as WmListState, () => {\n this.invokeEventCallback(eventName, [this.proxy, $item]);\n $event && this.invokeEventCallback('onTap', [$event, this.proxy]);\n resolve(null);\n });\n });\n } else {\n return Promise.resolve(null);\n }\n }\n\n private get loadDataOnDemand() {\n const navigation = this.state.props.navigation;\n return navigation === 'Scroll' || navigation === 'On-Demand';\n }\n\n renderLeftActions = () => {\n return this.leftActionTemplate ? (\n <>\n {this.leftActionTemplate.getTemplate()}\n </>\n ) : null;\n };\n\n renderRightActions = () => {\n return this.rightActionTemplate ? (\n <>\n {this.rightActionTemplate.getTemplate()}\n </>\n ) : null;\n };\n\n private loadData() {\n if (this.loadingData) {\n return;\n }\n if (isArray(this.state.props.dataset)\n && this.state.props.dataset.length > this.state.maxRecordsToShow) {\n this.loadingData = true;\n this.updateState({\n maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize\n } as WmListState);\n setTimeout(() => {\n this.loadingData = false;\n }, 100);\n } else if (this.loadDataOnDemand) {\n const $list = this.proxy as any;\n $list.loadingdata = true;\n this.loadingData = true;\n this.props.getNextPageData && this.props.getNextPageData(null, this.proxy, this.state.currentPage + 1).then((data) => {\n if (isArray(data) && data.length > 0\n && isArray(this.state.props.dataset)) {\n $list.dataset = [...this.state.props.dataset, ...data];\n this.updateState({\n currentPage : this.state.currentPage + 1,\n maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize\n } as WmListState);\n this.hasMoreData = true;\n } else {\n this.hasMoreData = false;\n }\n }).catch((err) => {\n console.error(err);\n }).then(() => {\n setTimeout(() => {\n $list.loadingdata = false;\n }, 1000);\n });\n }\n }\n\n private selectFirstItem() {\n const props = this.state.props;\n if (this.initialized\n && props.dataset\n && props.dataset.length) {\n const index = props.groupby ? '00': 0;\n this.onSelect(props.dataset[0], index);\n }\n }\n\n clear(){\n this.updateState({\n groupedData: {},\n } as WmListState);\n }\n\n selectItem(item: any){\n const dataset = this.state.props.dataset;\n if(isNumber(item)){\n this.onSelect(dataset[item], item);\n }\n else{\n let index = dataset.indexOf(item);\n this.onSelect(dataset[index], index);\n }\n }\n\n getItem(index: number){\n const props = this.state.props;\n return this.props.dataset[index]\n }\n\n deselect(item: any){\n const props = this.state.props;\n let selectedItem = null as any;\n let index = isNumber(item)?item:props.dataset.indexOf(item);\n if(props.multiselect && index >= 0){\n selectedItem = [...(props.selecteditem || [])];\n let selectedItemIndex = selectedItem.indexOf(props.dataset[index])\n if(selectedItemIndex >= 0){\n selectedItem.splice(selectedItemIndex, 1);\n }\n }\n else{\n if (props.selecteditem === props.dataset[index]) {\n selectedItem = null;\n }\n }\n this.updateState({\n props: { selecteditem: selectedItem },\n\n } as WmListState, () => {\n this.invokeEventCallback('onDeselect', [this.proxy, item]);\n });\n }\n\n getWidgets(widgetname: string, index: number){\n if(index >= 0 && index < this.itemWidgets.length){\n return this.itemWidgets[index][widgetname]\n }\n else{\n return this.itemWidgets.map(item => item[widgetname]).filter(widget => widget !== undefined);\n }\n }\n\n private deselectAll() {\n this.updateState({\n props: { selecteditem: null },\n selectedindex: -1\n } as WmListState);\n }\n\n setGroupData(items: any) {\n const dataItems = items;\n const props = this.state.props;\n if (props.groupby) {\n const groupedData = dataItems && getGroupedData(dataItems, props.groupby, props.match, props.orderby, props.dateformat, this);\n this.updateState({\n groupedData: groupedData\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n }\n\n public onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n switch(name) {\n case 'selectfirstitem':\n if ($new) {\n this.selectFirstItem();\n }\n break;\n case 'dataset':\n if (this.state.props.groupby) {\n this.setGroupData($new);\n } else {\n if (!($old && $old.length)\n && $new && $new.length\n && this.loadDataOnDemand) {\n this.updateState({\n props: {\n dataset: [...$new]\n }\n } as WmListState);\n }\n const data = isArray($new) ? $new : (!isEmpty($new) && isDefined($new) ? [$new] : []);\n if(props.orderby) {\n const orderbyData = data && getGroupedData(data, props.groupby, props.match, props.orderby, props.dateformat, this);\n this.updateState({\n groupedData: (orderbyData[0] ? [{\n key: 'key',\n data: orderbyData[0].data\n }] : [])\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n } else {\n this.updateState({\n groupedData: (data[0] || props.direction === 'horizontal' ? [{\n key: 'key',\n data: data\n }] : [])\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n }\n this.itemWidgets = [];\n if (props.selectfirstitem) {\n this.selectFirstItem();\n } else {\n this.deselectAll();\n }\n break;\n case 'groupby':\n case 'match':\n this.setGroupData(this.state.props.dataset);\n break;\n case 'multiselect':\n if ($new) {\n if (!isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem ?\n [this.state.props.selecteditem] : [];\n }\n } else if (isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem.pop();\n }\n break;\n case 'loadingdata':\n this.loadingData = $new && this.loadingData;\n break;\n case 'selecteditem':\n if($new != $old && isNumber($new)) {\n this.selectItem(this.state.props.dataset[$new])\n }\n break;\n }\n }\n\n componentDidMount() {\n const props = this.state.props;\n if (this.state.props.selectfirstitem && props.dataset?.length) {\n setTimeout(() => {\n this.onSelect(props.dataset[0], 0);\n });\n }\n this.subscribe('scroll', (event: any) => {\n const scrollPosition = event.nativeEvent.contentOffset.y + event.nativeEvent.layoutMeasurement.height;\n if (scrollPosition > this.endThreshold && this.state.props.direction === 'vertical') {\n this.loadData();\n }\n });\n super.componentDidMount();\n }\n\n componentDidUpdate(prevProps: WmListProps, prevState: WmListState, snapshot?: any) {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n this.invokeEventCallback('onRender', [this, this.state.props.dataset]);\n }\n\n getDefaultStyles() {\n const isHorizontal = this.state.props.direction === 'horizontal';\n return this.theme.getStyle(`${this.defaultClass} ${isHorizontal ? 'app-horizontal-list' : 'app-vertical-list'}`);\n }\n\n getIndex(item: any) {\n return this.state.props.dataset.indexOf(item);\n }\n\n private generateItemKey(item: any, index: number, props: WmListProps) {\n if (props.itemkey && item && !this._showSkeleton) {\n return props.itemkey(item, index);\n }\n return 'list_item_' + this.keyExtractor.getKey(item, true);\n }\n\n private renderItem(item: any, index: number, props: WmListProps) {\n const cols = this. getNoOfColumns();\n const isHorizontal = (props.direction === 'horizontal');\n \n const styles = this._showSkeleton ? {\n ...this.styles.item,\n ...this.styles.skeleton.root\n } : this.styles.item as any\n return (index < this.state.maxRecordsToShow || isHorizontal) ? (\n <Swipeable\n renderLeftActions={() => this.renderLeftActions()}\n renderRightActions={() => this.renderRightActions()} containerStyle={ cols ? { width: round(100/cols) + \"%\" , flex: null } as any :{}}>\n <View style={[\n styles,\n props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null,\n this.isSelected(item) ? this.styles.selectedItem : {}]}>\n {styles.backgroundImage ? (\n <BackgroundComponent\n image={styles.backgroundImage}\n position={styles.backgroundPosition || 'center'}\n size={styles.backgroundSize || 'cover'}\n repeat={styles.backgroundRepeat || 'no-repeat'}\n resizeMode={styles.backgroundResizeMode || 'cover'}\n style={{ borderRadius: this.styles.item.borderRadius }}\n />\n ) : null}\n <Tappable\n {...this.getTestPropsForAction(`item${index}`)}\n onTap={($event) => this.onSelect(item, index, $event)}\n onLongTap={() => this.invokeEventCallback('onLongtap', [null, this.proxy])}\n onDoubleTap={() => this.invokeEventCallback('onDoubletap', [null, this.proxy])}\n styles={\n [{display: 'flex', flexDirection : 'row'},\n cols ? {\n width: '100%'\n } : null,\n (cols && cols > 1) || isHorizontal ? {\n paddingRight: (isNil(this.styles.item.marginRight)\n ? this.styles.item.margin : this.styles.item.marginRight) || 4\n } : null\n ]\n }>\n {props.renderItem(item, index, this)}\n {this.isSelected(item) ? (\n <WmIcon id={this.getTestId('icon' + index)} iconclass='wi wi-check-circle' styles={this.styles.selectedIcon} />\n ) : null}\n </Tappable>\n </View>\n </Swipeable>\n ) : null;\n }\n\n private renderHeader(props: WmListProps, title: string) {\n return props.groupby ? (\n <Text style={this.styles.groupHeading} accessibilityRole='header'>{title}</Text>\n ) : (props.iconclass || props.title || props.subheading) ? (\n <View style={this.styles.heading}>\n <View style={{flex: 1, flexDirection: 'row'}}>\n <WmIcon id={this.getTestId('icon')} styles={this.styles.listIcon} iconclass={props.iconclass}></WmIcon>\n <View>\n <WmLabel id={this.getTestId('title')} styles={this.styles.title} caption={props.title} accessibilityrole='header'></WmLabel>\n <WmLabel id={this.getTestId('subheading')} styles={this.styles.subheading} caption={props.subheading}></WmLabel>\n </View>\n </View>\n </View>) : null;\n }\n\n private renderEmptyMessage(isHorizontal: boolean, item: any, index: any, props: WmListProps) {\n return (<WmLabel id={this.getTestId('emptymsg')} styles={this.styles.emptyMessage} caption={props.nodatamessage}></WmLabel>);\n }\n\n private renderLoadingIcon(props: WmListProps) {\n return props.loadingicon ? (<WmIcon\n id={this.getTestId('loadingicon')}\n styles={this.styles.loadingIcon}\n iconclass={props.loadingicon}\n caption={props.loadingdatamsg}></WmIcon>)\n : (\n <ActivityIndicator color={this.styles.loadingIcon.text.color}></ActivityIndicator>\n );\n }\n\n public getNoOfColumns() {\n const props = this.state.props;\n if(props.direction === 'vertical') {\n return props.itemsperrow.xs;\n }\n return 0;\n }\n\n private onLayoutChange(e: LayoutChangeEvent) {\n const l = e.nativeEvent.layout;\n this.endThreshold = l.height + l.y - 100;\n if (!this.endThreshold) {\n this.endThreshold = -1;\n }\n }\n\n private renderWithFlatList(props: WmListProps, isHorizontal = false) {\n return (\n <View style={this.styles.root} onLayout={e => this.onLayoutChange(e)}>\n {!isEmpty(this.state.groupedData) ? this.state.groupedData.map((v: any, i) => ((\n <View style={this.styles.group} key={v.key || this.keyExtractor.getKey(v, true)}>\n {this.renderHeader(props, v.key)}\n <FlatList\n key={props.name + '_' + (isHorizontal ? 'H' : 'V') + props.itemsperrow.xs}\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n scrollEnabled={isHorizontal}\n horizontal = {isHorizontal}\n data={this._showSkeleton? [...getNumberOfEmptyObjects(this.props.numberofskeletonitems as number ?? 3)] : (isEmpty(v.data[0]) ? []: v.data)}\n ListEmptyComponent = {(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}\n {...(isHorizontal ? {} : {numColumns : this.getNoOfColumns()})}>\n </FlatList>\n {this.loadDataOnDemand || (v.data.length > this.state.maxRecordsToShow) ?\n (this.loadingData ?\n this.renderLoadingIcon(props) :\n (<WmLabel id={this.getTestId('ondemandmessage')}\n styles={this.styles.onDemandMessage}\n caption={this.hasMoreData && !isHorizontal ? props.ondemandmessage : props.nodatamessage}\n onTap={() => this.loadData()}></WmLabel>))\n : null}\n </View>\n ))) : this.renderEmptyMessage(isHorizontal, null, null,props)\n }\n </View>);\n }\n\n private getSectionListData(props: WmListProps) {\n if (this._showSkeleton) {\n return [{\n key: '',\n data: [...getNumberOfEmptyObjects(this.props.numberofskeletonitems as number ?? 3)]\n }];\n } else if (this.state.groupedData\n && this.state.groupedData[0]\n && this.state.groupedData[0]['data'].length) {\n return this.state.groupedData;\n }\n return [];\n }\n\n private renderWithSectionList(props: WmListProps, isHorizontal = false) {\n return (\n <SectionList\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n horizontal = {isHorizontal}\n contentContainerStyle={this.styles.root}\n sections={this.getSectionListData(props)}\n renderSectionHeader={({ section: {key, data}}) => {\n return this.renderHeader(props, key);\n }}\n renderSectionFooter={() => props.loadingdata ? this.renderLoadingIcon(props) : null}\n ListEmptyComponent = {(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}>\n </SectionList>\n );\n }\n\n renderWidget(props: WmListProps) {\n this.invokeEventCallback('onBeforedatarender', [this, this.state.props.dataset]);\n const isHorizontal = (props.direction === 'horizontal');\n return (\n <View style={isHorizontal ? null : { width: '100%' }}>\n {this._background}\n {(isHorizontal || !props.groupby) ?\n this.renderWithFlatList(props, isHorizontal)\n : this.renderWithSectionList(props, isHorizontal)}\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}