@wavemaker/app-rn-runtime 12.0.0-next.141167 → 12.0.0-next.141174

Sign up to get free protection for your applications and to get access to all the features.
Files changed (218) hide show
  1. app-rn-runtime/components/advanced/carousel/carousel.component.js +13 -2
  2. app-rn-runtime/components/advanced/carousel/carousel.component.js.map +1 -1
  3. app-rn-runtime/components/advanced/carousel/carousel.props.js +1 -0
  4. app-rn-runtime/components/advanced/carousel/carousel.props.js.map +1 -1
  5. app-rn-runtime/components/advanced/carousel/carousel.styles.js +15 -0
  6. app-rn-runtime/components/advanced/carousel/carousel.styles.js.map +1 -1
  7. app-rn-runtime/components/basic/anchor/anchor.component.js +15 -5
  8. app-rn-runtime/components/basic/anchor/anchor.component.js.map +1 -1
  9. app-rn-runtime/components/basic/anchor/anchor.styles.js +3 -0
  10. app-rn-runtime/components/basic/anchor/anchor.styles.js.map +1 -1
  11. app-rn-runtime/components/basic/button/button.component.js +15 -2
  12. app-rn-runtime/components/basic/button/button.component.js.map +1 -1
  13. app-rn-runtime/components/basic/icon/icon.component.js +10 -2
  14. app-rn-runtime/components/basic/icon/icon.component.js.map +1 -1
  15. app-rn-runtime/components/basic/label/label.component.js +13 -3
  16. app-rn-runtime/components/basic/label/label.component.js.map +1 -1
  17. app-rn-runtime/components/basic/label/label.styles.js.map +1 -1
  18. app-rn-runtime/components/basic/lottie/lottie.component.js +3 -1
  19. app-rn-runtime/components/basic/lottie/lottie.component.js.map +1 -1
  20. app-rn-runtime/components/basic/search/search.component.js +9 -0
  21. app-rn-runtime/components/basic/search/search.component.js.map +1 -1
  22. app-rn-runtime/components/basic/search/search.props.js +2 -0
  23. app-rn-runtime/components/basic/search/search.props.js.map +1 -1
  24. app-rn-runtime/components/basic/search/search.styles.js +5 -0
  25. app-rn-runtime/components/basic/search/search.styles.js.map +1 -1
  26. app-rn-runtime/components/basic/skeleton/skeleton.component.js +4 -3
  27. app-rn-runtime/components/basic/skeleton/skeleton.component.js.map +1 -1
  28. app-rn-runtime/components/basic/skeleton/skeleton.props.js +9 -1
  29. app-rn-runtime/components/basic/skeleton/skeleton.props.js.map +1 -1
  30. app-rn-runtime/components/chart/area-chart/area-chart.component.js +2 -1
  31. app-rn-runtime/components/chart/area-chart/area-chart.component.js.map +1 -1
  32. app-rn-runtime/components/chart/area-chart/area-chart.styles.js +7 -1
  33. app-rn-runtime/components/chart/area-chart/area-chart.styles.js.map +1 -1
  34. app-rn-runtime/components/chart/bar-chart/bar-chart.styles.js +7 -1
  35. app-rn-runtime/components/chart/bar-chart/bar-chart.styles.js.map +1 -1
  36. app-rn-runtime/components/chart/basechart.component.js +23 -0
  37. app-rn-runtime/components/chart/basechart.component.js.map +1 -1
  38. app-rn-runtime/components/chart/basechart.props.js +2 -2
  39. app-rn-runtime/components/chart/basechart.props.js.map +1 -1
  40. app-rn-runtime/components/chart/basechart.styles.js.map +1 -1
  41. app-rn-runtime/components/chart/bubble-chart/bubble-chart.component.js +1 -1
  42. app-rn-runtime/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
  43. app-rn-runtime/components/chart/bubble-chart/bubble-chart.styles.js +7 -1
  44. app-rn-runtime/components/chart/bubble-chart/bubble-chart.styles.js.map +1 -1
  45. app-rn-runtime/components/chart/column-chart/column-chart.styles.js +7 -1
  46. app-rn-runtime/components/chart/column-chart/column-chart.styles.js.map +1 -1
  47. app-rn-runtime/components/chart/donut-chart/donut-chart.styles.js +7 -1
  48. app-rn-runtime/components/chart/donut-chart/donut-chart.styles.js.map +1 -1
  49. app-rn-runtime/components/chart/line-chart/line-chart.props.js +2 -0
  50. app-rn-runtime/components/chart/line-chart/line-chart.props.js.map +1 -1
  51. app-rn-runtime/components/chart/line-chart/line-chart.styles.js +7 -1
  52. app-rn-runtime/components/chart/line-chart/line-chart.styles.js.map +1 -1
  53. app-rn-runtime/components/chart/pie-chart/pie-chart.component.js +2 -1
  54. app-rn-runtime/components/chart/pie-chart/pie-chart.component.js.map +1 -1
  55. app-rn-runtime/components/chart/pie-chart/pie-chart.styles.js +7 -1
  56. app-rn-runtime/components/chart/pie-chart/pie-chart.styles.js.map +1 -1
  57. app-rn-runtime/components/container/accordion/accordion.component.js +58 -11
  58. app-rn-runtime/components/container/accordion/accordion.component.js.map +1 -1
  59. app-rn-runtime/components/container/accordion/accordion.props.js.map +1 -1
  60. app-rn-runtime/components/container/accordion/accordion.styles.js +4 -0
  61. app-rn-runtime/components/container/accordion/accordion.styles.js.map +1 -1
  62. app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js +11 -1
  63. app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js.map +1 -1
  64. app-rn-runtime/components/container/container.component.js +36 -2
  65. app-rn-runtime/components/container/container.component.js.map +1 -1
  66. app-rn-runtime/components/container/container.styles.js +7 -0
  67. app-rn-runtime/components/container/container.styles.js.map +1 -1
  68. app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.component.js +5 -1
  69. app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.component.js.map +1 -1
  70. app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.styles.js +6 -1
  71. app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.styles.js.map +1 -1
  72. app-rn-runtime/components/container/layoutgrid/layoutgrid.component.js +28 -2
  73. app-rn-runtime/components/container/layoutgrid/layoutgrid.component.js.map +1 -1
  74. app-rn-runtime/components/container/layoutgrid/layoutgrid.props.js.map +1 -1
  75. app-rn-runtime/components/container/layoutgrid/layoutgrid.styles.js +4 -1
  76. app-rn-runtime/components/container/layoutgrid/layoutgrid.styles.js.map +1 -1
  77. app-rn-runtime/components/container/linearlayout/linearlayout.component.js +31 -5
  78. app-rn-runtime/components/container/linearlayout/linearlayout.component.js.map +1 -1
  79. app-rn-runtime/components/container/linearlayout/linearlayout.props.js.map +1 -1
  80. app-rn-runtime/components/container/linearlayout/linearlayout.styles.js +4 -1
  81. app-rn-runtime/components/container/linearlayout/linearlayout.styles.js.map +1 -1
  82. app-rn-runtime/components/container/panel/panel.component.js +43 -4
  83. app-rn-runtime/components/container/panel/panel.component.js.map +1 -1
  84. app-rn-runtime/components/container/panel/panel.props.js.map +1 -1
  85. app-rn-runtime/components/container/panel/panel.styles.js +3 -0
  86. app-rn-runtime/components/container/panel/panel.styles.js.map +1 -1
  87. app-rn-runtime/components/container/partial-host.component.js.map +1 -1
  88. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +2 -2
  89. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  90. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js +11 -1
  91. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
  92. app-rn-runtime/components/container/tabs/tabpane/tabpane.props.js +1 -0
  93. app-rn-runtime/components/container/tabs/tabpane/tabpane.props.js.map +1 -1
  94. app-rn-runtime/components/container/tabs/tabs.component.js +41 -6
  95. app-rn-runtime/components/container/tabs/tabs.component.js.map +1 -1
  96. app-rn-runtime/components/container/tabs/tabs.styles.js +4 -1
  97. app-rn-runtime/components/container/tabs/tabs.styles.js.map +1 -1
  98. app-rn-runtime/components/container/tile/tile.component.js +28 -2
  99. app-rn-runtime/components/container/tile/tile.component.js.map +1 -1
  100. app-rn-runtime/components/container/tile/tile.props.js.map +1 -1
  101. app-rn-runtime/components/container/tile/tile.styles.js +6 -1
  102. app-rn-runtime/components/container/tile/tile.styles.js.map +1 -1
  103. app-rn-runtime/components/container/wizard/wizard.component.js +39 -6
  104. app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
  105. app-rn-runtime/components/container/wizard/wizard.props.js.map +1 -1
  106. app-rn-runtime/components/container/wizard/wizard.styles.js +3 -0
  107. app-rn-runtime/components/container/wizard/wizard.styles.js.map +1 -1
  108. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js +4 -1
  109. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
  110. app-rn-runtime/components/data/card/card-content/card-content.component.js +6 -2
  111. app-rn-runtime/components/data/card/card-content/card-content.component.js.map +1 -1
  112. app-rn-runtime/components/data/card/card-content/card-content.styles.js +4 -1
  113. app-rn-runtime/components/data/card/card-content/card-content.styles.js.map +1 -1
  114. app-rn-runtime/components/data/card/card.component.js +18 -0
  115. app-rn-runtime/components/data/card/card.component.js.map +1 -1
  116. app-rn-runtime/components/data/card/card.styles.js +3 -0
  117. app-rn-runtime/components/data/card/card.styles.js.map +1 -1
  118. app-rn-runtime/components/data/form/form.component.js +1 -1
  119. app-rn-runtime/components/data/form/form.component.js.map +1 -1
  120. app-rn-runtime/components/data/form/form.props.js +1 -0
  121. app-rn-runtime/components/data/form/form.props.js.map +1 -1
  122. app-rn-runtime/components/data/list/list-template/list-template.component.js +15 -1
  123. app-rn-runtime/components/data/list/list-template/list-template.component.js.map +1 -1
  124. app-rn-runtime/components/data/list/list-template/list-template.props.js +1 -0
  125. app-rn-runtime/components/data/list/list-template/list-template.props.js.map +1 -1
  126. app-rn-runtime/components/data/list/list-template/list-template.styles.js +11 -1
  127. app-rn-runtime/components/data/list/list-template/list-template.styles.js.map +1 -1
  128. app-rn-runtime/components/data/list/list.component.js +32 -24
  129. app-rn-runtime/components/data/list/list.component.js.map +1 -1
  130. app-rn-runtime/components/data/list/list.props.js +1 -0
  131. app-rn-runtime/components/data/list/list.props.js.map +1 -1
  132. app-rn-runtime/components/data/list/list.styles.js +9 -0
  133. app-rn-runtime/components/data/list/list.styles.js.map +1 -1
  134. app-rn-runtime/components/dialogs/dialog/dialog.styles.js.map +1 -1
  135. app-rn-runtime/components/input/baseinput/baseinput.component.js +8 -1
  136. app-rn-runtime/components/input/baseinput/baseinput.component.js.map +1 -1
  137. app-rn-runtime/components/input/basenumber/basenumber.component.js +9 -1
  138. app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
  139. app-rn-runtime/components/input/checkbox/checkbox.styles.js.map +1 -1
  140. app-rn-runtime/components/input/checkboxset/checkboxset.component.js +21 -1
  141. app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
  142. app-rn-runtime/components/input/checkboxset/checkboxset.props.js +1 -0
  143. app-rn-runtime/components/input/checkboxset/checkboxset.props.js.map +1 -1
  144. app-rn-runtime/components/input/checkboxset/checkboxset.styles.js +1 -0
  145. app-rn-runtime/components/input/checkboxset/checkboxset.styles.js.map +1 -1
  146. app-rn-runtime/components/input/currency/currency.component.js +2 -1
  147. app-rn-runtime/components/input/currency/currency.component.js.map +1 -1
  148. app-rn-runtime/components/input/currency/currency.styles.js +3 -0
  149. app-rn-runtime/components/input/currency/currency.styles.js.map +1 -1
  150. app-rn-runtime/components/input/number/number.component.js +2 -1
  151. app-rn-runtime/components/input/number/number.component.js.map +1 -1
  152. app-rn-runtime/components/input/number/number.styles.js +3 -0
  153. app-rn-runtime/components/input/number/number.styles.js.map +1 -1
  154. app-rn-runtime/components/input/radioset/radioset.component.js +21 -1
  155. app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
  156. app-rn-runtime/components/input/radioset/radioset.props.js +1 -0
  157. app-rn-runtime/components/input/radioset/radioset.props.js.map +1 -1
  158. app-rn-runtime/components/input/radioset/radioset.styles.js +1 -0
  159. app-rn-runtime/components/input/radioset/radioset.styles.js.map +1 -1
  160. app-rn-runtime/components/input/text/text.component.js +23 -1
  161. app-rn-runtime/components/input/text/text.component.js.map +1 -1
  162. app-rn-runtime/components/input/text/text.props.js +2 -0
  163. app-rn-runtime/components/input/text/text.props.js.map +1 -1
  164. app-rn-runtime/components/input/text/text.styles.js +3 -0
  165. app-rn-runtime/components/input/text/text.styles.js.map +1 -1
  166. app-rn-runtime/components/input/textarea/textarea.component.js +23 -1
  167. app-rn-runtime/components/input/textarea/textarea.component.js.map +1 -1
  168. app-rn-runtime/components/input/textarea/textarea.props.js +2 -0
  169. app-rn-runtime/components/input/textarea/textarea.props.js.map +1 -1
  170. app-rn-runtime/components/input/textarea/textarea.styles.js +3 -0
  171. app-rn-runtime/components/input/textarea/textarea.styles.js.map +1 -1
  172. app-rn-runtime/components/navigation/popover/popover.component.js.map +1 -1
  173. app-rn-runtime/components/page/content/content.component.js +19 -4
  174. app-rn-runtime/components/page/content/content.component.js.map +1 -1
  175. app-rn-runtime/components/page/page-content/page-content.component.js +27 -2
  176. app-rn-runtime/components/page/page-content/page-content.component.js.map +1 -1
  177. app-rn-runtime/components/page/page-content/page-content.props.js +2 -2
  178. app-rn-runtime/components/page/page-content/page-content.props.js.map +1 -1
  179. app-rn-runtime/components/page/page-content/page-content.styles.js +6 -1
  180. app-rn-runtime/components/page/page-content/page-content.styles.js.map +1 -1
  181. app-rn-runtime/components/page/page.component.js.map +1 -1
  182. app-rn-runtime/components/page/page.props.js.map +1 -1
  183. app-rn-runtime/components/page/page.styles.js +7 -1
  184. app-rn-runtime/components/page/page.styles.js.map +1 -1
  185. app-rn-runtime/components/page/partial/partial.component.js +27 -1
  186. app-rn-runtime/components/page/partial/partial.component.js.map +1 -1
  187. app-rn-runtime/components/page/partial/partial.props.js.map +1 -1
  188. app-rn-runtime/components/page/partial/partial.styles.js +6 -1
  189. app-rn-runtime/components/page/partial/partial.styles.js.map +1 -1
  190. app-rn-runtime/components/prefab/prefab-container.component.js +27 -1
  191. app-rn-runtime/components/prefab/prefab-container.component.js.map +1 -1
  192. app-rn-runtime/components/prefab/prefab-container.props.js.map +1 -1
  193. app-rn-runtime/components/prefab/prefab-container.styles.js +6 -1
  194. app-rn-runtime/components/prefab/prefab-container.styles.js.map +1 -1
  195. app-rn-runtime/core/base.component.js +3 -2
  196. app-rn-runtime/core/base.component.js.map +1 -1
  197. app-rn-runtime/core/components/textinput.component.js +2 -5
  198. app-rn-runtime/core/components/textinput.component.js.map +1 -1
  199. app-rn-runtime/core/props.provider.js +0 -1
  200. app-rn-runtime/core/props.provider.js.map +1 -1
  201. app-rn-runtime/core/tappable.component.js +10 -4
  202. app-rn-runtime/core/tappable.component.js.map +1 -1
  203. app-rn-runtime/core/utils.js +5 -0
  204. app-rn-runtime/core/utils.js.map +1 -1
  205. app-rn-runtime/package.json +3 -3
  206. app-rn-runtime/runtime/App.js +2 -7
  207. app-rn-runtime/runtime/App.js.map +1 -1
  208. app-rn-runtime/runtime/base-fragment.component.js +28 -13
  209. app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
  210. app-rn-runtime/runtime/base-partial.component.js +3 -0
  211. app-rn-runtime/runtime/base-partial.component.js.map +1 -1
  212. app-rn-runtime/runtime/base-prefab.component.js.map +1 -1
  213. app-rn-runtime/runtime/services/app-security.service.js +17 -1
  214. app-rn-runtime/runtime/services/app-security.service.js.map +1 -1
  215. app-rn-runtime/styles/theme.js +5 -0
  216. app-rn-runtime/styles/theme.js.map +1 -1
  217. app-rn-runtime/styles/theme.variables.js +2 -1
  218. app-rn-runtime/styles/theme.variables.js.map +1 -1
@@ -9,6 +9,7 @@ import { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';
9
9
  import WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';
10
10
  import WmCardProps from './card.props';
11
11
  import { DEFAULT_CLASS } from './card.styles';
12
+ import { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';
12
13
  export class WmCardState extends BaseComponentState {}
13
14
  export default class WmCard extends BaseComponent {
14
15
  constructor(props) {
@@ -57,6 +58,23 @@ export default class WmCard extends BaseComponent {
57
58
  }, this.styles.picture)
58
59
  }));
59
60
  }
61
+ renderSkeleton(props) {
62
+ if (!props.showskeletonchildren) {
63
+ var _this$props;
64
+ const skeletonStyles = ((_this$props = this.props) === null || _this$props === void 0 || (_this$props = _this$props.styles) === null || _this$props === void 0 ? void 0 : _this$props.skeleton) || {
65
+ root: {},
66
+ text: {}
67
+ };
68
+ return createSkeleton(this.theme, skeletonStyles, {
69
+ ...this.styles.root
70
+ }, /*#__PURE__*/React.createElement(View, {
71
+ style: [this.styles.root, {
72
+ opacity: 0
73
+ }]
74
+ }, props.children));
75
+ }
76
+ return null;
77
+ }
60
78
  renderWidget(props) {
61
79
  return /*#__PURE__*/React.createElement(View, {
62
80
  style: this.styles.root
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","BaseComponent","BaseComponentState","WmLabel","WmMenu","WmIcon","Tappable","WmPicture","WmCardProps","DEFAULT_CLASS","WmCardState","WmCard","constructor","props","renderHeader","createElement","style","flexDirection","iconclass","title","subheading","actions","styles","heading","iconurl","cardIcon","iconheight","iconmargin","iconwidth","flex","caption","dataset","itemlabel","itemlink","itemicon","itembadge","isactive","itemchildren","picturesource","theme","mergeStyle","root","height","imageheight","picture","renderWidget","_background","_extends","getTestPropsForAction","target","width","children"],"sources":["card.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport WmMenu from '@wavemaker/app-rn-runtime/components/navigation/menu/menu.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\n\n\nimport WmCardProps from './card.props';\nimport { DEFAULT_CLASS, WmCardStyles } from './card.styles';\n\nexport class WmCardState extends BaseComponentState<WmCardProps> {}\n\nexport default class WmCard extends BaseComponent<WmCardProps, WmCardState, WmCardStyles> {\n\n constructor(props: WmCardProps) {\n super(props, DEFAULT_CLASS, new WmCardProps());\n }\n\n renderHeader(props: WmCardProps) {\n return (\n <View style={{flexDirection: 'row'}}>\n {(props.iconclass || props.title || props.subheading || props.actions) ?\n (<View style={this.styles.heading}>\n {props.iconclass || props.iconurl ? \n <WmIcon styles={this.styles.cardIcon}\n iconclass={props.iconclass}\n iconurl={props.iconurl}\n iconheight={props.iconheight}\n iconmargin={props.iconmargin}\n iconwidth={props.iconwidth}\n /> : null} \n <View style={{flex: 1}}>\n <WmLabel styles={this.styles.title} caption={props.title}></WmLabel>\n <WmLabel styles={this.styles.subheading} caption={props.subheading}></WmLabel>\n </View>\n <WmMenu\n caption=\"\"\n iconclass=\"wm-sl-l sl-more-menu-vertical\"\n dataset={props.actions}\n itemlabel={props.itemlabel}\n itemlink={props.itemlink}\n itemicon={props.itemicon}\n itembadge={props.itembadge}\n isactive={props.isactive}\n itemchildren={props.itemchildren}></WmMenu>\n </View>) : null}\n {props.picturesource &&\n (<WmPicture\n picturesource={props.picturesource}\n styles={this.theme.mergeStyle({root : {height: props.imageheight}}, this.styles.picture)}></WmPicture>\n )}\n </View>);\n }\n\n renderWidget(props: WmCardProps) {\n return (\n <View style={this.styles.root}>\n {this._background}\n <Tappable {...this.getTestPropsForAction()} target={this} styles={{width: '100%', height: this.styles.root.height ? '100%' : null}}>\n {this.renderHeader(props)}\n {props.children}\n </Tappable>\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","BaseComponent","BaseComponentState","WmLabel","WmMenu","WmIcon","Tappable","WmPicture","WmCardProps","DEFAULT_CLASS","createSkeleton","WmCardState","WmCard","constructor","props","renderHeader","createElement","style","flexDirection","iconclass","title","subheading","actions","styles","heading","iconurl","cardIcon","iconheight","iconmargin","iconwidth","flex","caption","dataset","itemlabel","itemlink","itemicon","itembadge","isactive","itemchildren","picturesource","theme","mergeStyle","root","height","imageheight","picture","renderSkeleton","showskeletonchildren","_this$props","skeletonStyles","skeleton","text","opacity","children","renderWidget","_background","_extends","getTestPropsForAction","target","width"],"sources":["card.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport WmMenu from '@wavemaker/app-rn-runtime/components/navigation/menu/menu.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\n\n\nimport WmCardProps from './card.props';\nimport { DEFAULT_CLASS, WmCardStyles } from './card.styles';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\n\nexport class WmCardState extends BaseComponentState<WmCardProps> {}\n\nexport default class WmCard extends BaseComponent<WmCardProps, WmCardState, WmCardStyles> {\n\n constructor(props: WmCardProps) {\n super(props, DEFAULT_CLASS, new WmCardProps());\n }\n\n renderHeader(props: WmCardProps) {\n return (\n <View style={{flexDirection: 'row'}}>\n {(props.iconclass || props.title || props.subheading || props.actions) ?\n (<View style={this.styles.heading}>\n {props.iconclass || props.iconurl ? \n <WmIcon styles={this.styles.cardIcon}\n iconclass={props.iconclass}\n iconurl={props.iconurl}\n iconheight={props.iconheight}\n iconmargin={props.iconmargin}\n iconwidth={props.iconwidth}\n /> : null} \n <View style={{flex: 1}}>\n <WmLabel styles={this.styles.title} caption={props.title}></WmLabel>\n <WmLabel styles={this.styles.subheading} caption={props.subheading}></WmLabel>\n </View>\n <WmMenu\n caption=\"\"\n iconclass=\"wm-sl-l sl-more-menu-vertical\"\n dataset={props.actions}\n itemlabel={props.itemlabel}\n itemlink={props.itemlink}\n itemicon={props.itemicon}\n itembadge={props.itembadge}\n isactive={props.isactive}\n itemchildren={props.itemchildren}></WmMenu>\n </View>) : null}\n {props.picturesource &&\n (<WmPicture\n picturesource={props.picturesource}\n styles={this.theme.mergeStyle({root : {height: props.imageheight}}, this.styles.picture)}></WmPicture>\n )}\n </View>);\n }\n\n public renderSkeleton(props: WmCardProps): React.ReactNode {\n if(!props.showskeletonchildren) {\n const skeletonStyles: WmSkeletonStyles = this.props?.styles?.skeleton || { root: {}, text: {} } as WmSkeletonStyles\n return createSkeleton(this.theme, skeletonStyles, {\n ...this.styles.root\n }, (<View style={[this.styles.root, { opacity: 0 }]}>\n {props.children}\n </View>))\n }\n return null;\n }\n\n renderWidget(props: WmCardProps) {\n return (\n <View style={this.styles.root}>\n {this._background}\n <Tappable {...this.getTestPropsForAction()} target={this} styles={{width: '100%', height: this.styles.root.height ? '100%' : null}}>\n {this.renderHeader(props)}\n {props.children}\n </Tappable>\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -41,6 +41,9 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
41
41
  root: {
42
42
  width: '100%'
43
43
  }
44
+ },
45
+ skeleton: {
46
+ root: {}
44
47
  }
45
48
  });
46
49
  addStyle(DEFAULT_CLASS, '', defaultStyles);
@@ -1 +1 @@
1
- {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","width","text","cardIcon","marginTop","marginRight","heading","paddingTop","paddingBottom","paddingLeft","paddingRight","backgroundColor","cardHeaderBgColor","flexDirection","alignContent","title","fontSize","lineHeight","color","cardTitleColor","subheading","cardSubTitleColor","picture"],"sources":["card.styles.ts"],"sourcesContent":["import BASE_THEME, { AllStyle } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmPictureStyles } from '@wavemaker/app-rn-runtime/components/basic/picture/picture.styles';\nimport { WmIconStyles } from '@wavemaker/app-rn-runtime/components/basic/icon/icon.styles';\nimport { WmLabelStyles } from '@wavemaker/app-rn-runtime/components/basic/label/label.styles';\n\nexport type WmCardStyles = BaseStyles & {\n heading: AllStyle,\n cardIcon: WmIconStyles,\n title: WmLabelStyles,\n subheading: WmLabelStyles,\n picture: WmPictureStyles\n};\n\nexport const DEFAULT_CLASS = 'app-card';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmCardStyles = defineStyles({\n root: {\n width: '100%',\n },\n text: {},\n cardIcon: {\n root: {\n marginTop: 4,\n marginRight: 8\n }\n } as WmIconStyles,\n heading : {\n paddingTop: 8,\n paddingBottom: 8,\n paddingLeft: 8,\n paddingRight: 8,\n backgroundColor: themeVariables.cardHeaderBgColor,\n flexDirection: 'row',\n alignContent: 'center',\n width: '100%'\n },\n title: {\n text: {\n fontSize: 16,\n lineHeight: 24,\n color: themeVariables.cardTitleColor\n }\n } as WmLabelStyles,\n subheading: {\n text: {\n fontSize: 12,\n lineHeight: 18,\n color: themeVariables.cardSubTitleColor\n }\n } as WmLabelStyles,\n picture: {\n root : {\n width: '100%'\n }\n } as any as WmPictureStyles\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n});"],"mappings":"AAAA,OAAOA,UAAU,MAAoB,wCAAwC;AAC7E,SAAqBC,YAAY,QAAQ,+CAA+C;AAaxF,OAAO,MAAMC,aAAa,GAAG,UAAU;AACvCF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACnD,MAAMC,aAA2B,GAAGL,YAAY,CAAC;IAC7CM,IAAI,EAAE;MACFC,KAAK,EAAE;IACX,CAAC;IACDC,IAAI,EAAE,CAAC,CAAC;IACRC,QAAQ,EAAE;MACNH,IAAI,EAAE;QACFI,SAAS,EAAE,CAAC;QACZC,WAAW,EAAE;MACjB;IACJ,CAAiB;IACjBC,OAAO,EAAG;MACNC,UAAU,EAAE,CAAC;MACbC,aAAa,EAAE,CAAC;MAChBC,WAAW,EAAE,CAAC;MACdC,YAAY,EAAE,CAAC;MACfC,eAAe,EAAEd,cAAc,CAACe,iBAAiB;MACjDC,aAAa,EAAE,KAAK;MACpBC,YAAY,EAAE,QAAQ;MACtBb,KAAK,EAAE;IACX,CAAC;IACDc,KAAK,EAAE;MACHb,IAAI,EAAE;QACFc,QAAQ,EAAE,EAAE;QACZC,UAAU,EAAE,EAAE;QACdC,KAAK,EAAErB,cAAc,CAACsB;MAC1B;IACJ,CAAkB;IAClBC,UAAU,EAAE;MACRlB,IAAI,EAAE;QACFc,QAAQ,EAAE,EAAE;QACZC,UAAU,EAAE,EAAE;QACdC,KAAK,EAAErB,cAAc,CAACwB;MAC1B;IACJ,CAAkB;IAClBC,OAAO,EAAE;MACLtB,IAAI,EAAG;QACHC,KAAK,EAAE;MACX;IACJ;EACJ,CAAC,CAAC;EAEFH,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;AAC9C,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","width","text","cardIcon","marginTop","marginRight","heading","paddingTop","paddingBottom","paddingLeft","paddingRight","backgroundColor","cardHeaderBgColor","flexDirection","alignContent","title","fontSize","lineHeight","color","cardTitleColor","subheading","cardSubTitleColor","picture","skeleton"],"sources":["card.styles.ts"],"sourcesContent":["import BASE_THEME, { AllStyle } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmPictureStyles } from '@wavemaker/app-rn-runtime/components/basic/picture/picture.styles';\nimport { WmIconStyles } from '@wavemaker/app-rn-runtime/components/basic/icon/icon.styles';\nimport { WmLabelStyles } from '@wavemaker/app-rn-runtime/components/basic/label/label.styles';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\n\nexport type WmCardStyles = BaseStyles & {\n heading: AllStyle,\n cardIcon: WmIconStyles,\n title: WmLabelStyles,\n subheading: WmLabelStyles,\n picture: WmPictureStyles,\n skeleton: WmSkeletonStyles\n};\n\nexport const DEFAULT_CLASS = 'app-card';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmCardStyles = defineStyles({\n root: {\n width: '100%',\n },\n text: {},\n cardIcon: {\n root: {\n marginTop: 4,\n marginRight: 8\n }\n } as WmIconStyles,\n heading : {\n paddingTop: 8,\n paddingBottom: 8,\n paddingLeft: 8,\n paddingRight: 8,\n backgroundColor: themeVariables.cardHeaderBgColor,\n flexDirection: 'row',\n alignContent: 'center',\n width: '100%'\n },\n title: {\n text: {\n fontSize: 16,\n lineHeight: 24,\n color: themeVariables.cardTitleColor\n }\n } as WmLabelStyles,\n subheading: {\n text: {\n fontSize: 12,\n lineHeight: 18,\n color: themeVariables.cardSubTitleColor\n }\n } as WmLabelStyles,\n picture: {\n root : {\n width: '100%'\n }\n } as any as WmPictureStyles,\n skeleton: {\n root: {\n }\n } as any as WmSkeletonStyles\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n});"],"mappings":"AAAA,OAAOA,UAAU,MAAoB,wCAAwC;AAC7E,SAAqBC,YAAY,QAAQ,+CAA+C;AAexF,OAAO,MAAMC,aAAa,GAAG,UAAU;AACvCF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACnD,MAAMC,aAA2B,GAAGL,YAAY,CAAC;IAC7CM,IAAI,EAAE;MACFC,KAAK,EAAE;IACX,CAAC;IACDC,IAAI,EAAE,CAAC,CAAC;IACRC,QAAQ,EAAE;MACNH,IAAI,EAAE;QACFI,SAAS,EAAE,CAAC;QACZC,WAAW,EAAE;MACjB;IACJ,CAAiB;IACjBC,OAAO,EAAG;MACNC,UAAU,EAAE,CAAC;MACbC,aAAa,EAAE,CAAC;MAChBC,WAAW,EAAE,CAAC;MACdC,YAAY,EAAE,CAAC;MACfC,eAAe,EAAEd,cAAc,CAACe,iBAAiB;MACjDC,aAAa,EAAE,KAAK;MACpBC,YAAY,EAAE,QAAQ;MACtBb,KAAK,EAAE;IACX,CAAC;IACDc,KAAK,EAAE;MACHb,IAAI,EAAE;QACFc,QAAQ,EAAE,EAAE;QACZC,UAAU,EAAE,EAAE;QACdC,KAAK,EAAErB,cAAc,CAACsB;MAC1B;IACJ,CAAkB;IAClBC,UAAU,EAAE;MACRlB,IAAI,EAAE;QACFc,QAAQ,EAAE,EAAE;QACZC,UAAU,EAAE,EAAE;QACdC,KAAK,EAAErB,cAAc,CAACwB;MAC1B;IACJ,CAAkB;IAClBC,OAAO,EAAE;MACLtB,IAAI,EAAG;QACHC,KAAK,EAAE;MACX;IACJ,CAA2B;IAC3BsB,QAAQ,EAAE;MACNvB,IAAI,EAAE,CACN;IACJ;EACJ,CAAC,CAAC;EAEFF,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;AAC9C,CAAC,CAAC","ignoreList":[]}
@@ -355,7 +355,7 @@ export default class WmForm extends BaseComponent {
355
355
  dataoutput: current
356
356
  }
357
357
  });
358
- this.parentFormRef && this.parentFormRef.updateDataOutput(undefined, this.formdataoutput);
358
+ this.parentFormRef && this.parentFormRef.updateDataOutput && this.parentFormRef.updateDataOutput(undefined, this.formdataoutput);
359
359
  this.updateState({
360
360
  props: {
361
361
  dataoutput: this.formdataoutput
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","BaseComponent","BaseComponentState","isDefined","debounce","find","forEach","isNil","get","set","cloneDeep","isEmpty","WmLabel","WmIcon","WmMessage","ToastConsumer","WmFormProps","DEFAULT_CLASS","isDataSetWidget","WmFormState","constructor","args","_defineProperty","WmForm","props","handleSubmit","componentDidMount","getParentFormRef","parentForm","pformName","current","parent","parentFormRef","setReadonlyFields","_this$formFields","formFields","field","setReadOnlyState","state","isUpdateMode","setReadonlyState","updateMode","updateState","setTimeout","showActions","edit","new","cancel","delete","registerFormFields","formWidgets","w","form","formwidget","formKey","name","f","formfields","applyFormData","applyDefaultValue","formdataoutput","datavalue","dataoutput","_this$buttonArray","buttonArray","action","show","registerFormActions","formActions","_updateFieldOnDataSourceChange","isDataSetBound","widget","isRelated","relatedData","_this$parentFormRef","formData","formdata","formField","_formField$props","fw","key","setState","isDefault","updateFormFieldDefaultValue","dv","defaultvalue","_formField$props2","invokeEventCallback","bind","undefined","formreset","ff","defaultValue","id","_widget","isValid","reset","submit","_debouncedSubmitForm","generateFormFields","userFields","fields","metadata","data","onBeforerender","proxy","dynamicForm","generateComponent","onPropertyChange","$new","$old","_this$formFields2","setPrimaryKey","fieldName","primaryKey","indexOf","push","validateFieldsOnSubmit","val","onValidate","required","generator","msg","defaultValidatorMessages","validationmessage","validate","event","preventDefault","onBeforesubmit","formSubmit","onResultCb","error","response","status","onSuccess","postmessage","toggleMessage","onError","errormessage","updateDataOutput","Object","assign","type","message","messagelayout","showInlineMsg","toaster","showToast","placement","styles","bottom","text","hideOnClick","duration","onMsgClose","renderWidget","createElement","toastService","style","root","_background","iconclass","title","subheading","heading","flex","flexDirection","getTestId","listIcon","caption","accessibilityrole","hideclose","onClose","children"],"sources":["form.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { isDefined, widgetsWithUndefinedValue } from '@wavemaker/app-rn-runtime/core/utils';\nimport { debounce, find, forEach, isNil, get, set, cloneDeep, isEmpty } from 'lodash';\n\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 WmFormField, { WmFormFieldState } from '@wavemaker/app-rn-runtime/components/data/form/form-field/form-field.component';\nimport WmMessage from '@wavemaker/app-rn-runtime/components/basic/message/message.component';\nimport { ToastConsumer, ToastService } from '@wavemaker/app-rn-runtime/core/toast.service';\n\nimport WmFormProps from './form.props';\nimport { DEFAULT_CLASS, WmFormStyles } from './form.styles';\nimport WmSkeleton, { createSkeleton } from '../../basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\nimport { isDataSetWidget } from '@wavemaker/app-rn-runtime/core/utils';\nimport WmFormAction, {\n WmFormActionState\n} from '@wavemaker/app-rn-runtime/components/data/form/form-action/form-action.component';\n\nexport class WmFormState extends BaseComponentState<WmFormProps> {\n isValid = false;\n type: 'success' | 'warning' | 'error' | 'info' | 'loading' | undefined = 'success';\n message: string = '';\n showInlineMsg: boolean = false;\n isUpdateMode: boolean = true;\n dynamicForm: any;\n}\nexport default class WmForm extends BaseComponent<WmFormProps, WmFormState, WmFormStyles> {\n public formFields: Array<WmFormField> = []; // contains array of direct widget elements [WmText, WmNumber, WmCurrent]\n public parentFormRef: any;\n public formfields: {[key: string]: WmFormField} = {};\n public formdataoutput: any;\n private toaster: any;\n public formActions: Array<WmFormAction> = [];\n primaryKey = [];\n buttonArray: Array<WmFormAction> = [];\n formWidgets: { [key: string]: BaseComponent<any, any, any> } = {}; // object containing key as name of formField and value as WmFormField proxy.\n constructor(props: WmFormProps) {\n super(props, DEFAULT_CLASS, new WmFormProps(), new WmFormState());\n }\n\n private _debouncedSubmitForm = debounce(this.handleSubmit, 250);\n\n componentDidMount() {\n super.componentDidMount();\n this.getParentFormRef(this.props.parentForm);\n }\n\n getParentFormRef(pformName: string) {\n let current = this.parent;\n while (current) {\n if (get(current, 'props.name') === pformName) {\n this.parentFormRef = current;\n break;\n }\n current = current.parent;\n }\n }\n\n setReadonlyFields() {\n this.formFields?.forEach((field: any) => {\n field.setReadOnlyState(this.state.isUpdateMode);\n });\n }\n\n setReadonlyState(updateMode: any) {\n this.updateState({\n isUpdateMode: updateMode,\n } as WmFormState);\n setTimeout(() => {\n this.showActions();\n this.setReadonlyFields();\n }, 100);\n }\n\n edit() {\n this.setReadonlyState(true);\n }\n\n new() {\n this.setReadonlyState(true);\n }\n\n cancel() {\n this.setReadonlyState(false);\n }\n\n delete() { }\n\n registerFormFields(\n formFields: Array<WmFormField>,\n formWidgets: { [key: string]: BaseComponent<any, any, any> }\n ) {\n forEach(formFields, (w: WmFormField) => {\n if (!w.form) {\n w.form = this;\n w.formwidget = (w.props.formKey && formWidgets[w.props.formKey])\n || (w.props.name && formWidgets[w.props.name]);\n }\n });\n\n this.formFields = formFields;\n this.formWidgets = formWidgets;\n\n formFields?.forEach((f: WmFormField) => {\n if (f.props.name) {\n set(this.formfields, f.props.name, f);\n }\n })\n\n this.setReadonlyFields();\n\n this.applyFormData();\n this.applyDefaultValue();\n\n // setting default form dataoutput.\n if (!this.formdataoutput) {\n this.formdataoutput = {};\n formFields?.forEach((w: WmFormField) => {\n const name = get(w.props, 'formKey') || w.props.name;\n if (name) {\n set(this.formdataoutput, name, w.props.datavalue);\n }\n });\n this.updateState({\n props: {\n dataoutput: this.formdataoutput\n }\n } as WmFormState);\n }\n }\n\n showActions () {\n this.buttonArray?.forEach((action: any) => {\n action.updateState({\n props: {\n show: action.updateMode === this.state.isUpdateMode\n }} as WmFormActionState);\n });\n }\n\n registerFormActions(formActions: Array<WmFormAction>) {\n this.buttonArray = formActions;\n this.showActions();\n }\n\n private _updateFieldOnDataSourceChange(field: WmFormField, formFields: Array<WmFormField>) {\n if (!field.state.props.isDataSetBound && isDataSetWidget(field.props.widget)) {\n if (field.state.props.isRelated) {\n field.updateState({\n props: {\n isDataSetBound: true\n }} as WmFormFieldState);\n this.props.relatedData && this.props.relatedData(field);\n }\n }\n }\n\n applyFormData() {\n let formData = this.state.props.formdata || this.parentFormRef?.state.props.formdata;\n if (!formData || (this.parentFormRef && this.state.props.formdata)) {\n return;\n }\n forEach(this.formFields, (formField: WmFormField) => {\n let fw = formField.props?.name && this.formWidgets[formField.props.name];\n if (!fw) {\n fw = find(this.formWidgets, (fw: BaseComponent<any, any, any>) => {\n return get(fw, 'formfieldname') === formField.props.name\n });\n }\n let key = get(formField, 'formKey') || get(fw, 'props.name');\n fw && fw.setState({ isDefault: true });\n formField.updateState({\n props: {\n datavalue: get(formData, key)\n }\n } as WmFormFieldState);\n });\n }\n\n updateFormFieldDefaultValue(formField: WmFormField) {\n if (formField) {\n const dv = formField.state.props.defaultvalue;\n if (isDefined(dv) && dv !== null && this.formFields) {\n let field = formField.props?.name && this.formWidgets[formField.props.name];\n if (!field) {\n field = find(this.formWidgets, (fw: BaseComponent<any, any, any>) => {\n return get(fw, 'formfieldname') === formField.props.name\n });\n }\n if (field) {\n field.setState({ isDefault: true });\n field.updateState({\n props: {\n datavalue: dv\n }\n }, this.invokeEventCallback.bind(formField, 'onFieldChange', [undefined, formField, dv]));\n }\n }\n }\n }\n\n get dataoutput() {\n return this.formdataoutput;\n }\n\n applyDefaultValue(formField?: WmFormField) {\n if (formField) {\n this.updateFormFieldDefaultValue(formField);\n return;\n }\n forEach(this.formFields, (w: WmFormField) => {\n this.updateFormFieldDefaultValue(w);\n });\n }\n\n formreset() {\n this.formdataoutput = {};\n forEach(this.formFields, (ff: WmFormField) => {\n const defaultValue = isNil(ff.state.props.defaultvalue) ? '' : ff.state.props.defaultvalue;\n ff.updateState({\n props : {\n datavalue: defaultValue\n }\n } as WmFormFieldState, () => {\n const id = ff.props.formKey || ff.props.name;\n if (id) {\n let widget: BaseComponent<any, any, any> | undefined | any = this.formWidgets[id];\n if (!widget) {\n widget = find(this.formWidgets, (fw: BaseComponent<any, any, any>) => {\n return get(fw, 'formfieldname') === ff.props.name\n });\n }\n widget.updateState({\n isValid: true,\n props : {\n datavalue: defaultValue\n }\n }, () => ff.updateState({\n isValid: true\n } as WmFormFieldState));\n widget?.reset();\n }\n }\n );\n });\n }\n\n submit() {\n this._debouncedSubmitForm();\n }\n\n // Function to generate and compile the form fields from the metadata\n generateFormFields() {\n let userFields;\n let fields = this.state.props.metadata ? this.state.props.metadata.data || this.state.props.metadata : [];\n\n if (isEmpty(fields)) {\n return;\n }\n\n if (this.props.onBeforerender) {\n userFields = this.invokeEventCallback('onBeforerender', [fields, this.proxy]);\n if (userFields) {\n fields = userFields;\n }\n }\n\n this.updateState({\n dynamicForm: this.props.generateComponent(fields, this.props.name)\n } as WmFormState);\n\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'formdata':\n if ($new) {\n this.applyFormData();\n }\n break;\n case 'defaultmode':\n this.updateState({\n isUpdateMode: $new && $new === 'Edit' ? true : false,\n } as WmFormState);\n break;\n case 'dataset':\n this.formFields?.forEach((w: WmFormField) => {\n this._updateFieldOnDataSourceChange(w, this.formFields);\n });\n break;\n case 'metadata':\n this.generateFormFields();\n break;\n }\n }\n setPrimaryKey(fieldName: string) {\n /*Store the primary key of data*/\n this.primaryKey = this.primaryKey || [];\n // @ts-ignore\n if (this.primaryKey.indexOf(fieldName) === -1) {\n // @ts-ignore\n this.primaryKey.push(fieldName);\n }\n }\n // Disable the form submit if form is in invalid state. Highlight all the invalid fields if validation type is default\n validateFieldsOnSubmit() {\n let isValid = true;\n forEach(this.formFields, (field) => {\n const val = field?.state.props.datavalue;\n\n const onValidate = get(field, 'props.onValidate');\n onValidate && onValidate(field);\n if (!val && field?.state.props.required && ((field?.props.primaryKey && field?.props.generator === 'assigned') || !field?.props.primaryKey)) {\n isValid = false;\n const msg = get(field.defaultValidatorMessages, 'required') || field.state.props.validationmessage;\n field.updateState({ isValid: isValid, props: {\n validationmessage: msg\n }} as WmFormFieldState);\n field.formwidget.validate && field.formwidget.validate(val);\n }\n // check for isvalid state of formwidget\n if (field.formwidget.state.isValid === false) {\n isValid = false;\n }\n });\n return isValid;\n }\n\n // @ts-ignore\n handleSubmit(event?: any) {\n event?.preventDefault();\n const formData = cloneDeep(this.state.props.dataoutput || this.formdataoutput);\n\n if (!this.validateFieldsOnSubmit()) {\n return false;\n }\n if (this.props.onBeforesubmit) {\n this.invokeEventCallback('onBeforesubmit', [ null, this.proxy, formData ]);\n }\n if (this.props.formSubmit) {\n this.props.formSubmit(formData, ((data: any) => {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n this.onResultCb(get(data, 'params'), 'success');\n }), ((error: any) => {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n this.onResultCb(error, '');\n }));\n } else {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n }\n }\n\n onResultCb(response: any, status: string, event?: any) {\n this.invokeEventCallback('onResult', [ null, this.proxy, response ]);\n if (status) {\n this.invokeEventCallback('onSuccess', [ null, this.proxy, response ]);\n !this.props.onSuccess && this.state.props.postmessage && this.toggleMessage('success', this.state.props.postmessage);\n } else {\n this.invokeEventCallback('onError', [ null, this.proxy, response ]);\n !this.props.onError && this.toggleMessage('error', this.state.props.errormessage || get(response, 'message'));\n }\n }\n\n updateDataOutput(key: string, val: any) {\n const current = this.formdataoutput || {};\n if (key) {\n set(current, key, val);\n } else {\n Object.assign(current, val)\n }\n this.formdataoutput = current;\n this.updateState({ props: { dataoutput: current }} as WmFormState);\n this.parentFormRef && this.parentFormRef.updateDataOutput(undefined, this.formdataoutput);\n this.updateState({\n props: {\n dataoutput: this.formdataoutput\n }\n } as WmFormState);\n }\n\n toggleMessage(\n type: 'success' | 'warning' | 'error' | 'info' | 'loading' | undefined,\n message: string\n ) {\n if (this.state.props.messagelayout === 'Inline') {\n this.setState({\n type: type,\n message: message,\n showInlineMsg: true\n } as WmFormState)\n return;\n }\n this.toaster.showToast({\n name: this, placement: \"\", styles: {bottom: 0},\n text: message,\n type: type,\n hideOnClick: true,\n duration: 5000\n });\n }\n\n onMsgClose() {\n this.setState({\n showInlineMsg: false\n } as WmFormState)\n }\n\n renderWidget(props: WmFormProps) {\n return (\n <ToastConsumer>\n {(toastService: ToastService) => {\n this.toaster = toastService;\n return <View style={this.styles.root}>\n {this._background}\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('description')} styles={this.styles.subheading} caption={props.subheading}></WmLabel>\n </View>\n </View>\n </View>\n ) : null}\n {this.state.showInlineMsg ? <WmMessage type={this.state.type} caption={this.state.message} hideclose={false} onClose={this.onMsgClose.bind(this)}></WmMessage> : null\n }\n { props.metadata && this.state.dynamicForm }\n { props.children}\n </View>\n }\n }\n </ToastConsumer>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","BaseComponent","BaseComponentState","isDefined","debounce","find","forEach","isNil","get","set","cloneDeep","isEmpty","WmLabel","WmIcon","WmMessage","ToastConsumer","WmFormProps","DEFAULT_CLASS","isDataSetWidget","WmFormState","constructor","args","_defineProperty","WmForm","props","handleSubmit","componentDidMount","getParentFormRef","parentForm","pformName","current","parent","parentFormRef","setReadonlyFields","_this$formFields","formFields","field","setReadOnlyState","state","isUpdateMode","setReadonlyState","updateMode","updateState","setTimeout","showActions","edit","new","cancel","delete","registerFormFields","formWidgets","w","form","formwidget","formKey","name","f","formfields","applyFormData","applyDefaultValue","formdataoutput","datavalue","dataoutput","_this$buttonArray","buttonArray","action","show","registerFormActions","formActions","_updateFieldOnDataSourceChange","isDataSetBound","widget","isRelated","relatedData","_this$parentFormRef","formData","formdata","formField","_formField$props","fw","key","setState","isDefault","updateFormFieldDefaultValue","dv","defaultvalue","_formField$props2","invokeEventCallback","bind","undefined","formreset","ff","defaultValue","id","_widget","isValid","reset","submit","_debouncedSubmitForm","generateFormFields","userFields","fields","metadata","data","onBeforerender","proxy","dynamicForm","generateComponent","onPropertyChange","$new","$old","_this$formFields2","setPrimaryKey","fieldName","primaryKey","indexOf","push","validateFieldsOnSubmit","val","onValidate","required","generator","msg","defaultValidatorMessages","validationmessage","validate","event","preventDefault","onBeforesubmit","formSubmit","onResultCb","error","response","status","onSuccess","postmessage","toggleMessage","onError","errormessage","updateDataOutput","Object","assign","type","message","messagelayout","showInlineMsg","toaster","showToast","placement","styles","bottom","text","hideOnClick","duration","onMsgClose","renderWidget","createElement","toastService","style","root","_background","iconclass","title","subheading","heading","flex","flexDirection","getTestId","listIcon","caption","accessibilityrole","hideclose","onClose","children"],"sources":["form.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { isDefined, widgetsWithUndefinedValue } from '@wavemaker/app-rn-runtime/core/utils';\nimport { debounce, find, forEach, isNil, get, set, cloneDeep, isEmpty } from 'lodash';\n\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 WmFormField, { WmFormFieldState } from '@wavemaker/app-rn-runtime/components/data/form/form-field/form-field.component';\nimport WmMessage from '@wavemaker/app-rn-runtime/components/basic/message/message.component';\nimport { ToastConsumer, ToastService } from '@wavemaker/app-rn-runtime/core/toast.service';\n\nimport WmFormProps from './form.props';\nimport { DEFAULT_CLASS, WmFormStyles } from './form.styles';\nimport { isDataSetWidget } from '@wavemaker/app-rn-runtime/core/utils';\nimport WmFormAction, {\n WmFormActionState\n} from '@wavemaker/app-rn-runtime/components/data/form/form-action/form-action.component';\n\nexport class WmFormState extends BaseComponentState<WmFormProps> {\n isValid = false;\n type: 'success' | 'warning' | 'error' | 'info' | 'loading' | undefined = 'success';\n message: string = '';\n showInlineMsg: boolean = false;\n isUpdateMode: boolean = true;\n dynamicForm: any;\n}\nexport default class WmForm extends BaseComponent<WmFormProps, WmFormState, WmFormStyles> {\n public formFields: Array<WmFormField> = []; // contains array of direct widget elements [WmText, WmNumber, WmCurrent]\n public parentFormRef: any;\n public formfields: {[key: string]: WmFormField} = {};\n public formdataoutput: any;\n private toaster: any;\n public formActions: Array<WmFormAction> = [];\n primaryKey = [];\n buttonArray: Array<WmFormAction> = [];\n formWidgets: { [key: string]: BaseComponent<any, any, any> } = {}; // object containing key as name of formField and value as WmFormField proxy.\n constructor(props: WmFormProps) {\n super(props, DEFAULT_CLASS, new WmFormProps(), new WmFormState());\n }\n\n private _debouncedSubmitForm = debounce(this.handleSubmit, 250);\n\n componentDidMount() {\n super.componentDidMount();\n this.getParentFormRef(this.props.parentForm);\n }\n\n getParentFormRef(pformName: string) {\n let current = this.parent;\n while (current) {\n if (get(current, 'props.name') === pformName) {\n this.parentFormRef = current;\n break;\n }\n current = current.parent;\n }\n }\n\n setReadonlyFields() {\n this.formFields?.forEach((field: any) => {\n field.setReadOnlyState(this.state.isUpdateMode);\n });\n }\n\n setReadonlyState(updateMode: any) {\n this.updateState({\n isUpdateMode: updateMode,\n } as WmFormState);\n setTimeout(() => {\n this.showActions();\n this.setReadonlyFields();\n }, 100);\n }\n\n edit() {\n this.setReadonlyState(true);\n }\n\n new() {\n this.setReadonlyState(true);\n }\n\n cancel() {\n this.setReadonlyState(false);\n }\n\n delete() { }\n\n registerFormFields(\n formFields: Array<WmFormField>,\n formWidgets: { [key: string]: BaseComponent<any, any, any> }\n ) {\n forEach(formFields, (w: WmFormField) => {\n if (!w.form) {\n w.form = this;\n w.formwidget = (w.props.formKey && formWidgets[w.props.formKey])\n || (w.props.name && formWidgets[w.props.name]);\n }\n });\n\n this.formFields = formFields;\n this.formWidgets = formWidgets;\n\n formFields?.forEach((f: WmFormField) => {\n if (f.props.name) {\n set(this.formfields, f.props.name, f);\n }\n })\n\n this.setReadonlyFields();\n\n this.applyFormData();\n this.applyDefaultValue();\n\n // setting default form dataoutput.\n if (!this.formdataoutput) {\n this.formdataoutput = {};\n formFields?.forEach((w: WmFormField) => {\n const name = get(w.props, 'formKey') || w.props.name;\n if (name) {\n set(this.formdataoutput, name, w.props.datavalue);\n }\n });\n this.updateState({\n props: {\n dataoutput: this.formdataoutput\n }\n } as WmFormState);\n }\n }\n\n showActions () {\n this.buttonArray?.forEach((action: any) => {\n action.updateState({\n props: {\n show: action.updateMode === this.state.isUpdateMode\n }} as WmFormActionState);\n });\n }\n\n registerFormActions(formActions: Array<WmFormAction>) {\n this.buttonArray = formActions;\n this.showActions();\n }\n\n private _updateFieldOnDataSourceChange(field: WmFormField, formFields: Array<WmFormField>) {\n if (!field.state.props.isDataSetBound && isDataSetWidget(field.props.widget)) {\n if (field.state.props.isRelated) {\n field.updateState({\n props: {\n isDataSetBound: true\n }} as WmFormFieldState);\n this.props.relatedData && this.props.relatedData(field);\n }\n }\n }\n\n applyFormData() {\n let formData = this.state.props.formdata || this.parentFormRef?.state.props.formdata;\n if (!formData || (this.parentFormRef && this.state.props.formdata)) {\n return;\n }\n forEach(this.formFields, (formField: WmFormField) => {\n let fw = formField.props?.name && this.formWidgets[formField.props.name];\n if (!fw) {\n fw = find(this.formWidgets, (fw: BaseComponent<any, any, any>) => {\n return get(fw, 'formfieldname') === formField.props.name\n });\n }\n let key = get(formField, 'formKey') || get(fw, 'props.name');\n fw && fw.setState({ isDefault: true });\n formField.updateState({\n props: {\n datavalue: get(formData, key)\n }\n } as WmFormFieldState);\n });\n }\n\n updateFormFieldDefaultValue(formField: WmFormField) {\n if (formField) {\n const dv = formField.state.props.defaultvalue;\n if (isDefined(dv) && dv !== null && this.formFields) {\n let field = formField.props?.name && this.formWidgets[formField.props.name];\n if (!field) {\n field = find(this.formWidgets, (fw: BaseComponent<any, any, any>) => {\n return get(fw, 'formfieldname') === formField.props.name\n });\n }\n if (field) {\n field.setState({ isDefault: true });\n field.updateState({\n props: {\n datavalue: dv\n }\n }, this.invokeEventCallback.bind(formField, 'onFieldChange', [undefined, formField, dv]));\n }\n }\n }\n }\n\n get dataoutput() {\n return this.formdataoutput;\n }\n\n applyDefaultValue(formField?: WmFormField) {\n if (formField) {\n this.updateFormFieldDefaultValue(formField);\n return;\n }\n forEach(this.formFields, (w: WmFormField) => {\n this.updateFormFieldDefaultValue(w);\n });\n }\n\n formreset() {\n this.formdataoutput = {};\n forEach(this.formFields, (ff: WmFormField) => {\n const defaultValue = isNil(ff.state.props.defaultvalue) ? '' : ff.state.props.defaultvalue;\n ff.updateState({\n props : {\n datavalue: defaultValue\n }\n } as WmFormFieldState, () => {\n const id = ff.props.formKey || ff.props.name;\n if (id) {\n let widget: BaseComponent<any, any, any> | undefined | any = this.formWidgets[id];\n if (!widget) {\n widget = find(this.formWidgets, (fw: BaseComponent<any, any, any>) => {\n return get(fw, 'formfieldname') === ff.props.name\n });\n }\n widget.updateState({\n isValid: true,\n props : {\n datavalue: defaultValue\n }\n }, () => ff.updateState({\n isValid: true\n } as WmFormFieldState));\n widget?.reset();\n }\n }\n );\n });\n }\n\n submit() {\n this._debouncedSubmitForm();\n }\n\n // Function to generate and compile the form fields from the metadata\n generateFormFields() {\n let userFields;\n let fields = this.state.props.metadata ? this.state.props.metadata.data || this.state.props.metadata : [];\n\n if (isEmpty(fields)) {\n return;\n }\n\n if (this.props.onBeforerender) {\n userFields = this.invokeEventCallback('onBeforerender', [fields, this.proxy]);\n if (userFields) {\n fields = userFields;\n }\n }\n\n this.updateState({\n dynamicForm: this.props.generateComponent(fields, this.props.name)\n } as WmFormState);\n\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'formdata':\n if ($new) {\n this.applyFormData();\n }\n break;\n case 'defaultmode':\n this.updateState({\n isUpdateMode: $new && $new === 'Edit' ? true : false,\n } as WmFormState);\n break;\n case 'dataset':\n this.formFields?.forEach((w: WmFormField) => {\n this._updateFieldOnDataSourceChange(w, this.formFields);\n });\n break;\n case 'metadata':\n this.generateFormFields();\n break;\n }\n }\n setPrimaryKey(fieldName: string) {\n /*Store the primary key of data*/\n this.primaryKey = this.primaryKey || [];\n // @ts-ignore\n if (this.primaryKey.indexOf(fieldName) === -1) {\n // @ts-ignore\n this.primaryKey.push(fieldName);\n }\n }\n // Disable the form submit if form is in invalid state. Highlight all the invalid fields if validation type is default\n validateFieldsOnSubmit() {\n let isValid = true;\n forEach(this.formFields, (field) => {\n const val = field?.state.props.datavalue;\n\n const onValidate = get(field, 'props.onValidate');\n onValidate && onValidate(field);\n if (!val && field?.state.props.required && ((field?.props.primaryKey && field?.props.generator === 'assigned') || !field?.props.primaryKey)) {\n isValid = false;\n const msg = get(field.defaultValidatorMessages, 'required') || field.state.props.validationmessage;\n field.updateState({ isValid: isValid, props: {\n validationmessage: msg\n }} as WmFormFieldState);\n field.formwidget.validate && field.formwidget.validate(val);\n }\n // check for isvalid state of formwidget\n if (field.formwidget.state.isValid === false) {\n isValid = false;\n }\n });\n return isValid;\n }\n\n // @ts-ignore\n handleSubmit(event?: any) {\n event?.preventDefault();\n const formData = cloneDeep(this.state.props.dataoutput || this.formdataoutput);\n\n if (!this.validateFieldsOnSubmit()) {\n return false;\n }\n if (this.props.onBeforesubmit) {\n this.invokeEventCallback('onBeforesubmit', [ null, this.proxy, formData ]);\n }\n if (this.props.formSubmit) {\n this.props.formSubmit(formData, ((data: any) => {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n this.onResultCb(get(data, 'params'), 'success');\n }), ((error: any) => {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n this.onResultCb(error, '');\n }));\n } else {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n }\n }\n\n onResultCb(response: any, status: string, event?: any) {\n this.invokeEventCallback('onResult', [ null, this.proxy, response ]);\n if (status) {\n this.invokeEventCallback('onSuccess', [ null, this.proxy, response ]);\n !this.props.onSuccess && this.state.props.postmessage && this.toggleMessage('success', this.state.props.postmessage);\n } else {\n this.invokeEventCallback('onError', [ null, this.proxy, response ]);\n !this.props.onError && this.toggleMessage('error', this.state.props.errormessage || get(response, 'message'));\n }\n }\n\n updateDataOutput(key: string, val: any) {\n const current = this.formdataoutput || {};\n if (key) {\n set(current, key, val);\n } else {\n Object.assign(current, val)\n }\n this.formdataoutput = current;\n this.updateState({ props: { dataoutput: current }} as WmFormState);\n this.parentFormRef && this.parentFormRef.updateDataOutput && this.parentFormRef.updateDataOutput(undefined, this.formdataoutput);\n this.updateState({\n props: {\n dataoutput: this.formdataoutput\n }\n } as WmFormState);\n }\n\n toggleMessage(\n type: 'success' | 'warning' | 'error' | 'info' | 'loading' | undefined,\n message: string\n ) {\n if (this.state.props.messagelayout === 'Inline') {\n this.setState({\n type: type,\n message: message,\n showInlineMsg: true\n } as WmFormState)\n return;\n }\n this.toaster.showToast({\n name: this, placement: \"\", styles: {bottom: 0},\n text: message,\n type: type,\n hideOnClick: true,\n duration: 5000\n });\n }\n\n onMsgClose() {\n this.setState({\n showInlineMsg: false\n } as WmFormState)\n }\n\n renderWidget(props: WmFormProps) {\n return (\n <ToastConsumer>\n {(toastService: ToastService) => {\n this.toaster = toastService;\n return <View style={this.styles.root}>\n {this._background}\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('description')} styles={this.styles.subheading} caption={props.subheading}></WmLabel>\n </View>\n </View>\n </View>\n ) : null}\n {this.state.showInlineMsg ? <WmMessage type={this.state.type} caption={this.state.message} hideclose={false} onClose={this.onMsgClose.bind(this)}></WmMessage> : null\n }\n { props.metadata && this.state.dynamicForm }\n { props.children}\n </View>\n }\n }\n </ToastConsumer>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -25,6 +25,7 @@ export default class WmFormProps extends BaseProps {
25
25
  _defineProperty(this, "onError", () => {});
26
26
  _defineProperty(this, "onBeforerender", () => {});
27
27
  _defineProperty(this, "generateComponent", metadata => {});
28
+ _defineProperty(this, "showinfoskeleton", false);
28
29
  }
29
30
  }
30
31
  //# sourceMappingURL=form.props.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","WmFormProps","constructor","args","_defineProperty","metadata"],"sources":["form.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmFormProps extends BaseProps {\n children: any;\n dataoutput: any;\n onBeforeservicecall: any;\n onBeforesubmit: any;\n formdata: any;\n parentForm: string = '';\n metadata: any;\n title: any;\n subheading: any;\n iconclass: any;\n postmessage: string = 'Data posted successfully';\n errormessage: string = 'An error occured. Please try again!';\n messagelayout: string = 'Inline';\n formSubmit: Function = () => {};\n formSuccess: Function = () => {};\n relatedData: Function = () => {};\n onSuccess: Function = () => {};\n onError: Function = () => {};\n onBeforerender: Function = () => {};\n generateComponent: Function = (metadata:any) => {};\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,WAAW,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,qBAM5B,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,sBAKD,0BAA0B;IAAAA,eAAA,uBACzB,qCAAqC;IAAAA,eAAA,wBACpC,QAAQ;IAAAA,eAAA,qBACT,MAAM,CAAC,CAAC;IAAAA,eAAA,sBACP,MAAM,CAAC,CAAC;IAAAA,eAAA,sBACR,MAAM,CAAC,CAAC;IAAAA,eAAA,oBACV,MAAM,CAAC,CAAC;IAAAA,eAAA,kBACV,MAAM,CAAC,CAAC;IAAAA,eAAA,yBACD,MAAM,CAAC,CAAC;IAAAA,eAAA,4BACJC,QAAY,IAAK,CAAC,CAAC;EAAA;AACpD","ignoreList":[]}
1
+ {"version":3,"names":["BaseProps","WmFormProps","constructor","args","_defineProperty","metadata"],"sources":["form.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmFormProps extends BaseProps {\n children: any;\n dataoutput: any;\n onBeforeservicecall: any;\n onBeforesubmit: any;\n formdata: any;\n parentForm: string = '';\n metadata: any;\n title: any;\n subheading: any;\n iconclass: any;\n postmessage: string = 'Data posted successfully';\n errormessage: string = 'An error occured. Please try again!';\n messagelayout: string = 'Inline';\n formSubmit: Function = () => {};\n formSuccess: Function = () => {};\n relatedData: Function = () => {};\n onSuccess: Function = () => {};\n onError: Function = () => {};\n onBeforerender: Function = () => {};\n generateComponent: Function = (metadata:any) => {};\n showinfoskeleton: boolean = false;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,WAAW,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,qBAM5B,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,sBAKD,0BAA0B;IAAAA,eAAA,uBACzB,qCAAqC;IAAAA,eAAA,wBACpC,QAAQ;IAAAA,eAAA,qBACT,MAAM,CAAC,CAAC;IAAAA,eAAA,sBACP,MAAM,CAAC,CAAC;IAAAA,eAAA,sBACR,MAAM,CAAC,CAAC;IAAAA,eAAA,oBACV,MAAM,CAAC,CAAC;IAAAA,eAAA,kBACV,MAAM,CAAC,CAAC;IAAAA,eAAA,yBACD,MAAM,CAAC,CAAC;IAAAA,eAAA,4BACJC,QAAY,IAAK,CAAC,CAAC;IAAAD,eAAA,2BACtB,KAAK;EAAA;AACnC","ignoreList":[]}
@@ -4,6 +4,7 @@ import { isNil } from 'lodash';
4
4
  import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
5
5
  import WmListTemplateProps from './list-template.props';
6
6
  import { DEFAULT_CLASS } from './list-template.styles';
7
+ import { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';
7
8
  export class WmListTemplateState extends BaseComponentState {}
8
9
  export default class WmListTemplate extends BaseComponent {
9
10
  constructor(props) {
@@ -11,6 +12,15 @@ export default class WmListTemplate extends BaseComponent {
11
12
  }
12
13
  renderWidget(props) {
13
14
  var _style;
15
+ if (this._showSkeleton && !props.showskeletonchildren) {
16
+ return createSkeleton(this.theme, this.styles.skeleton, {
17
+ ...this.styles.root
18
+ }, /*#__PURE__*/React.createElement(View, {
19
+ style: [this.styles.root, {
20
+ opacity: 0
21
+ }]
22
+ }, props.children));
23
+ }
14
24
  const list = this.parent;
15
25
  const listProps = list.state.props;
16
26
  const isHorizontalList = listProps.direction === 'horizontal';
@@ -23,8 +33,12 @@ export default class WmListTemplate extends BaseComponent {
23
33
  }
24
34
  }, style);
25
35
  }
36
+ const styles = [this.styles.root, (_style = style) === null || _style === void 0 ? void 0 : _style.root];
37
+ if (this._showSkeleton) {
38
+ styles.push(this.styles.skeleton.root);
39
+ }
26
40
  return /*#__PURE__*/React.createElement(View, {
27
- style: [this.styles.root, (_style = style) === null || _style === void 0 ? void 0 : _style.root]
41
+ style: styles
28
42
  }, this._background, props.children);
29
43
  }
30
44
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","isNil","BaseComponent","BaseComponentState","WmListTemplateProps","DEFAULT_CLASS","WmListTemplateState","WmListTemplate","constructor","props","renderWidget","_style","list","parent","listProps","state","isHorizontalList","direction","noOfCols","getNoOfColumns","style","theme","getStyle","mergeStyle","root","flex","createElement","styles","_background","children"],"sources":["list-template.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { isNil } from 'lodash';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmListTemplateProps from './list-template.props';\nimport { DEFAULT_CLASS, WmListTemplateStyles } from './list-template.styles';\nimport WmList from '../list.component';\n\nexport class WmListTemplateState extends BaseComponentState<WmListTemplateProps> {\n\n}\n\nexport default class WmListTemplate extends BaseComponent<WmListTemplateProps, WmListTemplateState, WmListTemplateStyles> {\n\n constructor(props: WmListTemplateProps) {\n super(props, DEFAULT_CLASS, new WmListTemplateProps());\n }\n\n renderWidget(props: WmListTemplateProps) {\n const list = (this.parent as WmList);\n const listProps = list.state.props;\n const isHorizontalList = listProps.direction === 'horizontal';\n const noOfCols = list.getNoOfColumns();\n let style = this.theme.getStyle( isHorizontalList ? 'horizontal-list-template' : 'vertical-list-template');\n if (isNil(style['flex']) && !isHorizontalList && noOfCols === 1) {\n style = this.theme.mergeStyle({root: {flex: 1}}, style);\n }\n return (\n <View style={[this.styles.root, style?.root]}>{this._background}{props.children}</View>\n ); \n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,KAAK,QAAQ,QAAQ;AAC9B,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,mBAAmB,MAAM,uBAAuB;AACvD,SAASC,aAAa,QAA8B,wBAAwB;AAG5E,OAAO,MAAMC,mBAAmB,SAASH,kBAAkB,CAAsB;AAIjF,eAAe,MAAMI,cAAc,SAASL,aAAa,CAAiE;EAExHM,WAAWA,CAACC,KAA0B,EAAE;IACtC,KAAK,CAACA,KAAK,EAAEJ,aAAa,EAAE,IAAID,mBAAmB,CAAC,CAAC,CAAC;EACxD;EAEAM,YAAYA,CAACD,KAA0B,EAAE;IAAA,IAAAE,MAAA;IACvC,MAAMC,IAAI,GAAI,IAAI,CAACC,MAAiB;IACpC,MAAMC,SAAS,GAAGF,IAAI,CAACG,KAAK,CAACN,KAAK;IAClC,MAAMO,gBAAgB,GAAGF,SAAS,CAACG,SAAS,KAAK,YAAY;IAC7D,MAAMC,QAAQ,GAAGN,IAAI,CAACO,cAAc,CAAC,CAAC;IACtC,IAAIC,KAAK,GAAG,IAAI,CAACC,KAAK,CAACC,QAAQ,CAAEN,gBAAgB,GAAG,0BAA0B,GAAG,wBAAwB,CAAC;IAC1G,IAAIf,KAAK,CAACmB,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAACJ,gBAAgB,IAAIE,QAAQ,KAAK,CAAC,EAAE;MAC7DE,KAAK,GAAG,IAAI,CAACC,KAAK,CAACE,UAAU,CAAC;QAACC,IAAI,EAAE;UAACC,IAAI,EAAE;QAAC;MAAC,CAAC,EAAEL,KAAK,CAAC;IAC3D;IACA,oBACErB,KAAA,CAAA2B,aAAA,CAAC1B,IAAI;MAACoB,KAAK,EAAE,CAAC,IAAI,CAACO,MAAM,CAACH,IAAI,GAAAb,MAAA,GAAES,KAAK,cAAAT,MAAA,uBAALA,MAAA,CAAOa,IAAI;IAAE,GAAE,IAAI,CAACI,WAAW,EAAEnB,KAAK,CAACoB,QAAe,CAAC;EAE3F;AACF","ignoreList":[]}
1
+ {"version":3,"names":["React","View","isNil","BaseComponent","BaseComponentState","WmListTemplateProps","DEFAULT_CLASS","createSkeleton","WmListTemplateState","WmListTemplate","constructor","props","renderWidget","_style","_showSkeleton","showskeletonchildren","theme","styles","skeleton","root","createElement","style","opacity","children","list","parent","listProps","state","isHorizontalList","direction","noOfCols","getNoOfColumns","getStyle","mergeStyle","flex","push","_background"],"sources":["list-template.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { isNil } from 'lodash';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmListTemplateProps from './list-template.props';\nimport { DEFAULT_CLASS, WmListTemplateStyles } from './list-template.styles';\nimport WmList from '../list.component';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\n\nexport class WmListTemplateState extends BaseComponentState<WmListTemplateProps> {\n\n}\n\nexport default class WmListTemplate extends BaseComponent<WmListTemplateProps, WmListTemplateState, WmListTemplateStyles> {\n\n constructor(props: WmListTemplateProps) {\n super(props, DEFAULT_CLASS, new WmListTemplateProps());\n }\n\n renderWidget(props: WmListTemplateProps) {\n\n if(this._showSkeleton && !props.showskeletonchildren) { \n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n }, (<View style={[this.styles.root, {opacity: 0}]}>\n {props.children}\n </View>))\n }\n \n const list = (this.parent as WmList);\n const listProps = list.state.props;\n const isHorizontalList = listProps.direction === 'horizontal';\n const noOfCols = list.getNoOfColumns();\n let style = this.theme.getStyle( isHorizontalList ? 'horizontal-list-template' : 'vertical-list-template');\n if (isNil(style['flex']) && !isHorizontalList && noOfCols === 1) {\n style = this.theme.mergeStyle({root: {flex: 1}}, style);\n }\n const styles = [this.styles.root, style?.root];\n if(this._showSkeleton) {\n styles.push(this.styles.skeleton.root)\n }\n return (\n <View style={styles}>{this._background}{props.children}</View>\n ); \n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,KAAK,QAAQ,QAAQ;AAC9B,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,mBAAmB,MAAM,uBAAuB;AACvD,SAASC,aAAa,QAA8B,wBAAwB;AAE5E,SAASC,cAAc,QAAQ,wEAAwE;AAEvG,OAAO,MAAMC,mBAAmB,SAASJ,kBAAkB,CAAsB;AAIjF,eAAe,MAAMK,cAAc,SAASN,aAAa,CAAiE;EAExHO,WAAWA,CAACC,KAA0B,EAAE;IACtC,KAAK,CAACA,KAAK,EAAEL,aAAa,EAAE,IAAID,mBAAmB,CAAC,CAAC,CAAC;EACxD;EAEAO,YAAYA,CAACD,KAA0B,EAAE;IAAA,IAAAE,MAAA;IAEvC,IAAG,IAAI,CAACC,aAAa,IAAI,CAACH,KAAK,CAACI,oBAAoB,EAAE;MACpD,OAAOR,cAAc,CAAC,IAAI,CAACS,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC,QAAQ,EAAE;QACtD,GAAG,IAAI,CAACD,MAAM,CAACE;MAChB,CAAC,eAAGnB,KAAA,CAAAoB,aAAA,CAACnB,IAAI;QAACoB,KAAK,EAAE,CAAC,IAAI,CAACJ,MAAM,CAACE,IAAI,EAAE;UAACG,OAAO,EAAE;QAAC,CAAC;MAAE,GAChDX,KAAK,CAACY,QACH,CAAE,CAAC;IACX;IAEA,MAAMC,IAAI,GAAI,IAAI,CAACC,MAAiB;IACpC,MAAMC,SAAS,GAAGF,IAAI,CAACG,KAAK,CAAChB,KAAK;IAClC,MAAMiB,gBAAgB,GAAGF,SAAS,CAACG,SAAS,KAAK,YAAY;IAC7D,MAAMC,QAAQ,GAAGN,IAAI,CAACO,cAAc,CAAC,CAAC;IACtC,IAAIV,KAAK,GAAG,IAAI,CAACL,KAAK,CAACgB,QAAQ,CAAEJ,gBAAgB,GAAG,0BAA0B,GAAG,wBAAwB,CAAC;IAC1G,IAAI1B,KAAK,CAACmB,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAACO,gBAAgB,IAAIE,QAAQ,KAAK,CAAC,EAAE;MAC7DT,KAAK,GAAG,IAAI,CAACL,KAAK,CAACiB,UAAU,CAAC;QAACd,IAAI,EAAE;UAACe,IAAI,EAAE;QAAC;MAAC,CAAC,EAAEb,KAAK,CAAC;IAC3D;IACA,MAAMJ,MAAM,GAAG,CAAC,IAAI,CAACA,MAAM,CAACE,IAAI,GAAAN,MAAA,GAAEQ,KAAK,cAAAR,MAAA,uBAALA,MAAA,CAAOM,IAAI,CAAC;IAC9C,IAAG,IAAI,CAACL,aAAa,EAAE;MACrBG,MAAM,CAACkB,IAAI,CAAC,IAAI,CAAClB,MAAM,CAACC,QAAQ,CAACC,IAAI,CAAC;IACxC;IACA,oBACEnB,KAAA,CAAAoB,aAAA,CAACnB,IAAI;MAACoB,KAAK,EAAEJ;IAAO,GAAE,IAAI,CAACmB,WAAW,EAAEzB,KAAK,CAACY,QAAe,CAAC;EAElE;AACF","ignoreList":[]}
@@ -6,6 +6,7 @@ export default class WmListTemplateProps extends BaseProps {
6
6
  constructor(...args) {
7
7
  super(...args);
8
8
  _defineProperty(this, "children", void 0);
9
+ _defineProperty(this, "showskeletonchildren", true);
9
10
  }
10
11
  }
11
12
  //# sourceMappingURL=list-template.props.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","WmListTemplateProps","constructor","args","_defineProperty"],"sources":["list-template.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmListTemplateProps extends BaseProps {\n children: any;\n}"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,mBAAmB,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;EAAA;AAE3D","ignoreList":[]}
1
+ {"version":3,"names":["BaseProps","WmListTemplateProps","constructor","args","_defineProperty"],"sources":["list-template.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmListTemplateProps extends BaseProps {\n children: any;\n showskeletonchildren = true;\n}"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,mBAAmB,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA,+BAElC,IAAI;EAAA;AAC7B","ignoreList":[]}
@@ -6,7 +6,17 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
6
6
  root: {
7
7
  backgroundColor: themeVariables.listHeaderBgColor
8
8
  },
9
- text: {}
9
+ text: {},
10
+ skeleton: {
11
+ root: {
12
+ backgroundColor: themeVariables.skeletonBgColor,
13
+ paddingLeft: 10,
14
+ paddingRight: 10,
15
+ paddingTop: 16,
16
+ paddingBottom: 16,
17
+ flex: 1
18
+ }
19
+ }
10
20
  });
11
21
  addStyle(DEFAULT_CLASS, '', defaultStyles);
12
22
  addStyle('list-card-template', '', {
@@ -1 +1 @@
1
- {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","backgroundColor","listHeaderBgColor","text","borderBottomWidth"],"sources":["list-template.styles.ts"],"sourcesContent":["import BASE_THEME from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport type WmListTemplateStyles = BaseStyles & {};\n\nexport const DEFAULT_CLASS = 'app-list-template';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmListTemplateStyles = defineStyles<WmListTemplateStyles>({\n root: {\n backgroundColor: themeVariables.listHeaderBgColor,\n },\n text: {}\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle('list-card-template', '', {\n root : {\n borderBottomWidth: 0,\n // marginLeft: 35,\n }\n } as WmListTemplateStyles);\n addStyle('horizontal-list-template', '', {\n root : {}\n } as WmListTemplateStyles);\n addStyle('vertical-list-template', '', {\n root : {\n }\n } as WmListTemplateStyles);\n});"],"mappings":"AAAA,OAAOA,UAAU,MAAM,wCAAwC;AAC/D,SAAqBC,YAAY,QAAQ,+CAA+C;AAIxF,OAAO,MAAMC,aAAa,GAAG,mBAAmB;AAChDF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACnD,MAAMC,aAAmC,GAAGL,YAAY,CAAuB;IAC3EM,IAAI,EAAE;MACFC,eAAe,EAAEJ,cAAc,CAACK;IACpC,CAAC;IACDC,IAAI,EAAE,CAAC;EACX,CAAC,CAAC;EAEFL,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;EAC1CD,QAAQ,CAAC,oBAAoB,EAAE,EAAE,EAAE;IAC/BE,IAAI,EAAG;MACHI,iBAAiB,EAAE;MACnB;IACJ;EACJ,CAAyB,CAAC;EAC1BN,QAAQ,CAAC,0BAA0B,EAAE,EAAE,EAAE;IACrCE,IAAI,EAAG,CAAC;EACZ,CAAyB,CAAC;EAC1BF,QAAQ,CAAC,wBAAwB,EAAE,EAAE,EAAE;IACnCE,IAAI,EAAG,CACP;EACJ,CAAyB,CAAC;AAC9B,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","backgroundColor","listHeaderBgColor","text","skeleton","skeletonBgColor","paddingLeft","paddingRight","paddingTop","paddingBottom","flex","borderBottomWidth"],"sources":["list-template.styles.ts"],"sourcesContent":["import BASE_THEME from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\n\nexport type WmListTemplateStyles = BaseStyles & {\n skeleton: WmSkeletonStyles\n};\n\nexport const DEFAULT_CLASS = 'app-list-template';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmListTemplateStyles = defineStyles<WmListTemplateStyles>({\n root: {\n backgroundColor: themeVariables.listHeaderBgColor,\n },\n text: {},\n skeleton: {\n root: {\n backgroundColor: themeVariables.skeletonBgColor,\n paddingLeft: 10,\n paddingRight: 10,\n paddingTop: 16,\n paddingBottom: 16,\n flex: 1\n }\n } as any as WmSkeletonStyles\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle('list-card-template', '', {\n root : {\n borderBottomWidth: 0,\n // marginLeft: 35,\n }\n } as WmListTemplateStyles);\n addStyle('horizontal-list-template', '', {\n root : {}\n } as WmListTemplateStyles);\n addStyle('vertical-list-template', '', {\n root : {\n }\n } as WmListTemplateStyles);\n});"],"mappings":"AAAA,OAAOA,UAAU,MAAM,wCAAwC;AAC/D,SAAqBC,YAAY,QAAQ,+CAA+C;AAOxF,OAAO,MAAMC,aAAa,GAAG,mBAAmB;AAChDF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACnD,MAAMC,aAAmC,GAAGL,YAAY,CAAuB;IAC3EM,IAAI,EAAE;MACFC,eAAe,EAAEJ,cAAc,CAACK;IACpC,CAAC;IACDC,IAAI,EAAE,CAAC,CAAC;IACRC,QAAQ,EAAE;MACNJ,IAAI,EAAE;QACFC,eAAe,EAAEJ,cAAc,CAACQ,eAAe;QAC/CC,WAAW,EAAE,EAAE;QACfC,YAAY,EAAE,EAAE;QAChBC,UAAU,EAAE,EAAE;QACdC,aAAa,EAAE,EAAE;QACjBC,IAAI,EAAE;MACV;IACJ;EACJ,CAAC,CAAC;EAEFZ,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;EAC1CD,QAAQ,CAAC,oBAAoB,EAAE,EAAE,EAAE;IAC/BE,IAAI,EAAG;MACHW,iBAAiB,EAAE;MACnB;IACJ;EACJ,CAAyB,CAAC;EAC1Bb,QAAQ,CAAC,0BAA0B,EAAE,EAAE,EAAE;IACrCE,IAAI,EAAG,CAAC;EACZ,CAAyB,CAAC;EAC1BF,QAAQ,CAAC,wBAAwB,EAAE,EAAE,EAAE;IACnCE,IAAI,EAAG,CACP;EACJ,CAAyB,CAAC;AAC9B,CAAC,CAAC","ignoreList":[]}
@@ -6,7 +6,7 @@ import React from 'react';
6
6
  import { ActivityIndicator, SectionList, Text, View, FlatList } from 'react-native';
7
7
  import { isArray, isEmpty, isNil, isNumber, round } from 'lodash-es';
8
8
  import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
9
- import { getGroupedData, isDefined } from "@wavemaker/app-rn-runtime/core/utils";
9
+ import { getGroupedData, getNumberOfEmptyObjects, isDefined } from "@wavemaker/app-rn-runtime/core/utils";
10
10
  import { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';
11
11
  import { DefaultKeyExtractor } from '@wavemaker/app-rn-runtime/core/key.extractor';
12
12
  import WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';
@@ -316,6 +316,10 @@ export default class WmList extends BaseComponent {
316
316
  renderItem(item, index, props) {
317
317
  const cols = this.getNoOfColumns();
318
318
  const isHorizontal = props.direction === 'horizontal';
319
+ const styles = this._showSkeleton ? {
320
+ ...this.styles.item,
321
+ ...this.styles.skeleton.root
322
+ } : this.styles.item;
319
323
  return index < this.state.maxRecordsToShow || isHorizontal ? /*#__PURE__*/React.createElement(Swipeable, {
320
324
  renderLeftActions: () => this.renderLeftActions(),
321
325
  renderRightActions: () => this.renderRightActions(),
@@ -324,7 +328,7 @@ export default class WmList extends BaseComponent {
324
328
  flex: null
325
329
  } : {}
326
330
  }, /*#__PURE__*/React.createElement(View, {
327
- style: [this.styles.item, props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null, this.isSelected(item) ? this.styles.selectedItem : {}]
331
+ style: [styles, props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null, this.isSelected(item) ? this.styles.selectedItem : {}]
328
332
  }, /*#__PURE__*/React.createElement(Tappable, _extends({}, this.getTestPropsForAction(`item${index}`), {
329
333
  onTap: $event => this.onSelect(item, index, $event),
330
334
  onLongTap: () => this.invokeEventCallback('onLongtap', [null, this.proxy]),
@@ -404,31 +408,35 @@ export default class WmList extends BaseComponent {
404
408
  return /*#__PURE__*/React.createElement(View, {
405
409
  style: this.styles.root,
406
410
  onLayout: e => this.onLayoutChange(e)
407
- }, !isEmpty(this.state.groupedData) ? this.state.groupedData.map((v, i) => /*#__PURE__*/React.createElement(View, {
408
- style: this.styles.group,
409
- key: v.key || this.keyExtractor.getKey(v, true)
410
- }, this.renderHeader(props, v.key), /*#__PURE__*/React.createElement(FlatList, _extends({
411
- key: props.name + '_' + (isHorizontal ? 'H' : 'V') + props.itemsperrow.xs,
412
- keyExtractor: (item, i) => this.generateItemKey(item, i, props),
413
- scrollEnabled: isHorizontal,
414
- horizontal: isHorizontal,
415
- data: isEmpty(v.data[0]) ? [] : v.data,
416
- ListEmptyComponent: itemInfo => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props),
417
- renderItem: itemInfo => this.renderItem(itemInfo.item, itemInfo.index, props)
418
- }, isHorizontal ? {} : {
419
- numColumns: this.getNoOfColumns()
420
- })), this.loadDataOnDemand || v.data.length > this.state.maxRecordsToShow ? this.loadingData ? this.renderLoadingIcon(props) : /*#__PURE__*/React.createElement(WmLabel, {
421
- id: this.getTestId('ondemandmessage'),
422
- styles: this.styles.onDemandMessage,
423
- caption: this.hasMoreData && !isHorizontal ? props.ondemandmessage : props.nodatamessage,
424
- onTap: () => this.loadData()
425
- }) : null)) : this.renderEmptyMessage(isHorizontal, null, null, props));
411
+ }, !isEmpty(this.state.groupedData) ? this.state.groupedData.map((v, i) => {
412
+ var _ref;
413
+ return /*#__PURE__*/React.createElement(View, {
414
+ style: this.styles.group,
415
+ key: v.key || this.keyExtractor.getKey(v, true)
416
+ }, this.renderHeader(props, v.key), /*#__PURE__*/React.createElement(FlatList, _extends({
417
+ key: props.name + '_' + (isHorizontal ? 'H' : 'V') + props.itemsperrow.xs,
418
+ keyExtractor: (item, i) => this.generateItemKey(item, i, props),
419
+ scrollEnabled: isHorizontal,
420
+ horizontal: isHorizontal,
421
+ data: this._showSkeleton ? [...getNumberOfEmptyObjects((_ref = this.props.numberofskeletonitems) !== null && _ref !== void 0 ? _ref : 3)] : isEmpty(v.data[0]) ? [] : v.data,
422
+ ListEmptyComponent: itemInfo => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props),
423
+ renderItem: itemInfo => this.renderItem(itemInfo.item, itemInfo.index, props)
424
+ }, isHorizontal ? {} : {
425
+ numColumns: this.getNoOfColumns()
426
+ })), this.loadDataOnDemand || v.data.length > this.state.maxRecordsToShow ? this.loadingData ? this.renderLoadingIcon(props) : /*#__PURE__*/React.createElement(WmLabel, {
427
+ id: this.getTestId('ondemandmessage'),
428
+ styles: this.styles.onDemandMessage,
429
+ caption: this.hasMoreData && !isHorizontal ? props.ondemandmessage : props.nodatamessage,
430
+ onTap: () => this.loadData()
431
+ }) : null);
432
+ }) : this.renderEmptyMessage(isHorizontal, null, null, props));
426
433
  }
427
- getSectionListData() {
434
+ getSectionListData(props) {
428
435
  if (this._showSkeleton) {
436
+ var _ref2;
429
437
  return [{
430
438
  key: '',
431
- data: [{}, {}, {}]
439
+ data: [...getNumberOfEmptyObjects((_ref2 = this.props.numberofskeletonitems) !== null && _ref2 !== void 0 ? _ref2 : 3)]
432
440
  }];
433
441
  } else if (this.state.groupedData && this.state.groupedData[0] && this.state.groupedData[0]['data'].length) {
434
442
  return this.state.groupedData;
@@ -440,7 +448,7 @@ export default class WmList extends BaseComponent {
440
448
  keyExtractor: (item, i) => this.generateItemKey(item, i, props),
441
449
  horizontal: isHorizontal,
442
450
  contentContainerStyle: this.styles.root,
443
- sections: this.getSectionListData(),
451
+ sections: this.getSectionListData(props),
444
452
  renderSectionHeader: ({
445
453
  section: {
446
454
  key,