@wavemaker/app-rn-runtime 12.0.0-next.45752 → 12.0.0-rc.5849

Sign up to get free protection for your applications and to get access to all the features.
Files changed (196) 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/search/search.component.js +9 -0
  19. app-rn-runtime/components/basic/search/search.component.js.map +1 -1
  20. app-rn-runtime/components/basic/search/search.props.js +2 -0
  21. app-rn-runtime/components/basic/search/search.props.js.map +1 -1
  22. app-rn-runtime/components/basic/search/search.styles.js +5 -0
  23. app-rn-runtime/components/basic/search/search.styles.js.map +1 -1
  24. app-rn-runtime/components/basic/skeleton/skeleton.component.js +4 -3
  25. app-rn-runtime/components/basic/skeleton/skeleton.component.js.map +1 -1
  26. app-rn-runtime/components/basic/skeleton/skeleton.props.js +9 -1
  27. app-rn-runtime/components/basic/skeleton/skeleton.props.js.map +1 -1
  28. app-rn-runtime/components/chart/area-chart/area-chart.component.js +2 -1
  29. app-rn-runtime/components/chart/area-chart/area-chart.component.js.map +1 -1
  30. app-rn-runtime/components/chart/area-chart/area-chart.styles.js +7 -1
  31. app-rn-runtime/components/chart/area-chart/area-chart.styles.js.map +1 -1
  32. app-rn-runtime/components/chart/bar-chart/bar-chart.styles.js +7 -1
  33. app-rn-runtime/components/chart/bar-chart/bar-chart.styles.js.map +1 -1
  34. app-rn-runtime/components/chart/basechart.component.js +23 -0
  35. app-rn-runtime/components/chart/basechart.component.js.map +1 -1
  36. app-rn-runtime/components/chart/basechart.props.js +2 -2
  37. app-rn-runtime/components/chart/basechart.props.js.map +1 -1
  38. app-rn-runtime/components/chart/basechart.styles.js.map +1 -1
  39. app-rn-runtime/components/chart/bubble-chart/bubble-chart.component.js +1 -1
  40. app-rn-runtime/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
  41. app-rn-runtime/components/chart/bubble-chart/bubble-chart.styles.js +7 -1
  42. app-rn-runtime/components/chart/bubble-chart/bubble-chart.styles.js.map +1 -1
  43. app-rn-runtime/components/chart/column-chart/column-chart.styles.js +7 -1
  44. app-rn-runtime/components/chart/column-chart/column-chart.styles.js.map +1 -1
  45. app-rn-runtime/components/chart/donut-chart/donut-chart.styles.js +7 -1
  46. app-rn-runtime/components/chart/donut-chart/donut-chart.styles.js.map +1 -1
  47. app-rn-runtime/components/chart/line-chart/line-chart.props.js +2 -0
  48. app-rn-runtime/components/chart/line-chart/line-chart.props.js.map +1 -1
  49. app-rn-runtime/components/chart/line-chart/line-chart.styles.js +7 -1
  50. app-rn-runtime/components/chart/line-chart/line-chart.styles.js.map +1 -1
  51. app-rn-runtime/components/chart/pie-chart/pie-chart.component.js +2 -1
  52. app-rn-runtime/components/chart/pie-chart/pie-chart.component.js.map +1 -1
  53. app-rn-runtime/components/chart/pie-chart/pie-chart.styles.js +7 -1
  54. app-rn-runtime/components/chart/pie-chart/pie-chart.styles.js.map +1 -1
  55. app-rn-runtime/components/container/accordion/accordion.component.js +58 -11
  56. app-rn-runtime/components/container/accordion/accordion.component.js.map +1 -1
  57. app-rn-runtime/components/container/accordion/accordion.props.js.map +1 -1
  58. app-rn-runtime/components/container/accordion/accordion.styles.js +4 -0
  59. app-rn-runtime/components/container/accordion/accordion.styles.js.map +1 -1
  60. app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js +11 -1
  61. app-rn-runtime/components/container/accordion/accordionpane/accordionpane.component.js.map +1 -1
  62. app-rn-runtime/components/container/container.component.js +36 -2
  63. app-rn-runtime/components/container/container.component.js.map +1 -1
  64. app-rn-runtime/components/container/container.styles.js +7 -0
  65. app-rn-runtime/components/container/container.styles.js.map +1 -1
  66. app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.component.js +5 -1
  67. app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.component.js.map +1 -1
  68. app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.styles.js +6 -1
  69. app-rn-runtime/components/container/layoutgrid/gridrow/gridrow.styles.js.map +1 -1
  70. app-rn-runtime/components/container/layoutgrid/layoutgrid.component.js +28 -2
  71. app-rn-runtime/components/container/layoutgrid/layoutgrid.component.js.map +1 -1
  72. app-rn-runtime/components/container/layoutgrid/layoutgrid.props.js.map +1 -1
  73. app-rn-runtime/components/container/layoutgrid/layoutgrid.styles.js +4 -1
  74. app-rn-runtime/components/container/layoutgrid/layoutgrid.styles.js.map +1 -1
  75. app-rn-runtime/components/container/linearlayout/linearlayout.component.js +31 -5
  76. app-rn-runtime/components/container/linearlayout/linearlayout.component.js.map +1 -1
  77. app-rn-runtime/components/container/linearlayout/linearlayout.props.js.map +1 -1
  78. app-rn-runtime/components/container/linearlayout/linearlayout.styles.js +4 -1
  79. app-rn-runtime/components/container/linearlayout/linearlayout.styles.js.map +1 -1
  80. app-rn-runtime/components/container/panel/panel.component.js +43 -4
  81. app-rn-runtime/components/container/panel/panel.component.js.map +1 -1
  82. app-rn-runtime/components/container/panel/panel.props.js.map +1 -1
  83. app-rn-runtime/components/container/panel/panel.styles.js +3 -0
  84. app-rn-runtime/components/container/panel/panel.styles.js.map +1 -1
  85. app-rn-runtime/components/container/partial-host.component.js.map +1 -1
  86. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +2 -2
  87. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  88. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js +11 -1
  89. app-rn-runtime/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
  90. app-rn-runtime/components/container/tabs/tabs.component.js +38 -5
  91. app-rn-runtime/components/container/tabs/tabs.component.js.map +1 -1
  92. app-rn-runtime/components/container/tabs/tabs.styles.js +4 -1
  93. app-rn-runtime/components/container/tabs/tabs.styles.js.map +1 -1
  94. app-rn-runtime/components/container/tile/tile.component.js +28 -2
  95. app-rn-runtime/components/container/tile/tile.component.js.map +1 -1
  96. app-rn-runtime/components/container/tile/tile.props.js.map +1 -1
  97. app-rn-runtime/components/container/tile/tile.styles.js +6 -1
  98. app-rn-runtime/components/container/tile/tile.styles.js.map +1 -1
  99. app-rn-runtime/components/container/wizard/wizard.component.js +39 -6
  100. app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
  101. app-rn-runtime/components/container/wizard/wizard.props.js.map +1 -1
  102. app-rn-runtime/components/container/wizard/wizard.styles.js +3 -0
  103. app-rn-runtime/components/container/wizard/wizard.styles.js.map +1 -1
  104. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js +4 -1
  105. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
  106. app-rn-runtime/components/data/card/card-content/card-content.component.js +6 -2
  107. app-rn-runtime/components/data/card/card-content/card-content.component.js.map +1 -1
  108. app-rn-runtime/components/data/card/card-content/card-content.styles.js +4 -1
  109. app-rn-runtime/components/data/card/card-content/card-content.styles.js.map +1 -1
  110. app-rn-runtime/components/data/card/card.component.js +18 -0
  111. app-rn-runtime/components/data/card/card.component.js.map +1 -1
  112. app-rn-runtime/components/data/card/card.styles.js +3 -0
  113. app-rn-runtime/components/data/card/card.styles.js.map +1 -1
  114. app-rn-runtime/components/data/form/form.component.js +1 -1
  115. app-rn-runtime/components/data/form/form.component.js.map +1 -1
  116. app-rn-runtime/components/data/form/form.props.js +1 -0
  117. app-rn-runtime/components/data/form/form.props.js.map +1 -1
  118. app-rn-runtime/components/data/list/list-template/list-template.component.js +15 -1
  119. app-rn-runtime/components/data/list/list-template/list-template.component.js.map +1 -1
  120. app-rn-runtime/components/data/list/list-template/list-template.props.js +1 -0
  121. app-rn-runtime/components/data/list/list-template/list-template.props.js.map +1 -1
  122. app-rn-runtime/components/data/list/list-template/list-template.styles.js +11 -1
  123. app-rn-runtime/components/data/list/list-template/list-template.styles.js.map +1 -1
  124. app-rn-runtime/components/data/list/list.component.js +32 -24
  125. app-rn-runtime/components/data/list/list.component.js.map +1 -1
  126. app-rn-runtime/components/data/list/list.props.js +1 -0
  127. app-rn-runtime/components/data/list/list.props.js.map +1 -1
  128. app-rn-runtime/components/data/list/list.styles.js +9 -0
  129. app-rn-runtime/components/data/list/list.styles.js.map +1 -1
  130. app-rn-runtime/components/dialogs/dialog/dialog.styles.js.map +1 -1
  131. app-rn-runtime/components/input/checkbox/checkbox.styles.js.map +1 -1
  132. app-rn-runtime/components/input/checkboxset/checkboxset.component.js +21 -1
  133. app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
  134. app-rn-runtime/components/input/checkboxset/checkboxset.props.js +1 -0
  135. app-rn-runtime/components/input/checkboxset/checkboxset.props.js.map +1 -1
  136. app-rn-runtime/components/input/checkboxset/checkboxset.styles.js +1 -0
  137. app-rn-runtime/components/input/checkboxset/checkboxset.styles.js.map +1 -1
  138. app-rn-runtime/components/input/radioset/radioset.component.js +21 -1
  139. app-rn-runtime/components/input/radioset/radioset.component.js.map +1 -1
  140. app-rn-runtime/components/input/radioset/radioset.props.js +1 -0
  141. app-rn-runtime/components/input/radioset/radioset.props.js.map +1 -1
  142. app-rn-runtime/components/input/radioset/radioset.styles.js +1 -0
  143. app-rn-runtime/components/input/radioset/radioset.styles.js.map +1 -1
  144. app-rn-runtime/components/input/text/text.component.js +21 -0
  145. app-rn-runtime/components/input/text/text.component.js.map +1 -1
  146. app-rn-runtime/components/input/text/text.props.js +2 -0
  147. app-rn-runtime/components/input/text/text.props.js.map +1 -1
  148. app-rn-runtime/components/input/text/text.styles.js.map +1 -1
  149. app-rn-runtime/components/input/textarea/textarea.component.js +21 -0
  150. app-rn-runtime/components/input/textarea/textarea.component.js.map +1 -1
  151. app-rn-runtime/components/input/textarea/textarea.props.js +2 -0
  152. app-rn-runtime/components/input/textarea/textarea.props.js.map +1 -1
  153. app-rn-runtime/components/navigation/popover/popover.component.js.map +1 -1
  154. app-rn-runtime/components/page/content/content.component.js +19 -4
  155. app-rn-runtime/components/page/content/content.component.js.map +1 -1
  156. app-rn-runtime/components/page/page-content/page-content.component.js +27 -2
  157. app-rn-runtime/components/page/page-content/page-content.component.js.map +1 -1
  158. app-rn-runtime/components/page/page-content/page-content.props.js +2 -2
  159. app-rn-runtime/components/page/page-content/page-content.props.js.map +1 -1
  160. app-rn-runtime/components/page/page-content/page-content.styles.js +6 -1
  161. app-rn-runtime/components/page/page-content/page-content.styles.js.map +1 -1
  162. app-rn-runtime/components/page/page.component.js.map +1 -1
  163. app-rn-runtime/components/page/page.props.js.map +1 -1
  164. app-rn-runtime/components/page/page.styles.js +7 -1
  165. app-rn-runtime/components/page/page.styles.js.map +1 -1
  166. app-rn-runtime/components/page/partial/partial.component.js +27 -1
  167. app-rn-runtime/components/page/partial/partial.component.js.map +1 -1
  168. app-rn-runtime/components/page/partial/partial.props.js.map +1 -1
  169. app-rn-runtime/components/page/partial/partial.styles.js +6 -1
  170. app-rn-runtime/components/page/partial/partial.styles.js.map +1 -1
  171. app-rn-runtime/components/prefab/prefab-container.component.js +27 -1
  172. app-rn-runtime/components/prefab/prefab-container.component.js.map +1 -1
  173. app-rn-runtime/components/prefab/prefab-container.props.js.map +1 -1
  174. app-rn-runtime/components/prefab/prefab-container.styles.js +6 -1
  175. app-rn-runtime/components/prefab/prefab-container.styles.js.map +1 -1
  176. app-rn-runtime/core/base.component.js +3 -2
  177. app-rn-runtime/core/base.component.js.map +1 -1
  178. app-rn-runtime/core/props.provider.js +0 -1
  179. app-rn-runtime/core/props.provider.js.map +1 -1
  180. app-rn-runtime/core/tappable.component.js +10 -4
  181. app-rn-runtime/core/tappable.component.js.map +1 -1
  182. app-rn-runtime/core/utils.js +5 -0
  183. app-rn-runtime/core/utils.js.map +1 -1
  184. app-rn-runtime/package.json +3 -3
  185. app-rn-runtime/runtime/App.js +2 -7
  186. app-rn-runtime/runtime/App.js.map +1 -1
  187. app-rn-runtime/runtime/base-fragment.component.js +28 -13
  188. app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
  189. app-rn-runtime/runtime/base-partial.component.js.map +1 -1
  190. app-rn-runtime/runtime/base-prefab.component.js.map +1 -1
  191. app-rn-runtime/runtime/services/app-security.service.js +17 -1
  192. app-rn-runtime/runtime/services/app-security.service.js.map +1 -1
  193. app-rn-runtime/styles/theme.js +5 -0
  194. app-rn-runtime/styles/theme.js.map +1 -1
  195. app-rn-runtime/styles/theme.variables.js +1 -0
  196. app-rn-runtime/styles/theme.variables.js.map +1 -1
@@ -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,
@@ -1 +1 @@
1
- {"version":3,"names":["React","ActivityIndicator","SectionList","Text","View","FlatList","isArray","isEmpty","isNil","isNumber","round","BaseComponent","BaseComponentState","getGroupedData","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","renderLeftActions","renderRightActions","containerStyle","width","flex","style","styles","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","root","onLayout","v","i","group","scrollEnabled","horizontal","ListEmptyComponent","itemInfo","numColumns","onDemandMessage","ondemandmessage","getSectionListData","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, 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 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 this.styles.item,\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={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() {\n if (this._showSkeleton) {\n return [{\n key: '',\n data: [{}, {}, {}]\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()}\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","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":[]}