@wavemaker/app-rn-runtime 11.14.1-3.6306 → 11.14.1-30.647738

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/components/advanced/carousel/carousel.component.js +1 -1
  2. package/components/advanced/carousel/carousel.component.js.map +1 -1
  3. package/components/basic/bottomsheet/bottomsheet.component.js +240 -33
  4. package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
  5. package/components/basic/bottomsheet/bottomsheet.styles.js +0 -3
  6. package/components/basic/bottomsheet/bottomsheet.styles.js.map +1 -1
  7. package/components/basic/label/label.component.js +11 -22
  8. package/components/basic/label/label.component.js.map +1 -1
  9. package/components/basic/label/label.props.js +1 -0
  10. package/components/basic/label/label.props.js.map +1 -1
  11. package/components/basic/progress-circle/progress-circle.component.js +3 -3
  12. package/components/basic/progress-circle/progress-circle.component.js.map +1 -1
  13. package/components/chart/area-chart/area-chart.component.js +27 -10
  14. package/components/chart/area-chart/area-chart.component.js.map +1 -1
  15. package/components/chart/bar-chart/bar-chart.component.js +39 -7
  16. package/components/chart/bar-chart/bar-chart.component.js.map +1 -1
  17. package/components/chart/bar-chart/bar-chart.props.js +1 -0
  18. package/components/chart/bar-chart/bar-chart.props.js.map +1 -1
  19. package/components/chart/basechart.component.js +8 -15
  20. package/components/chart/basechart.component.js.map +1 -1
  21. package/components/chart/basechart.props.js +1 -0
  22. package/components/chart/basechart.props.js.map +1 -1
  23. package/components/chart/bubble-chart/bubble-chart.component.js +23 -6
  24. package/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
  25. package/components/chart/line-chart/line-chart.component.js +22 -5
  26. package/components/chart/line-chart/line-chart.component.js.map +1 -1
  27. package/components/chart/pie-chart/pie-chart.component.js +15 -4
  28. package/components/chart/pie-chart/pie-chart.component.js.map +1 -1
  29. package/components/chart/stack-chart/stack-chart.component.js +1 -1
  30. package/components/chart/stack-chart/stack-chart.component.js.map +1 -1
  31. package/components/container/accordion/accordionpane/accordionpane.component.js +6 -4
  32. package/components/container/accordion/accordionpane/accordionpane.component.js.map +1 -1
  33. package/components/container/container.component.js +207 -14
  34. package/components/container/container.component.js.map +1 -1
  35. package/components/container/container.props.js +6 -0
  36. package/components/container/container.props.js.map +1 -1
  37. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +32 -4
  38. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
  39. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.props.js +1 -0
  40. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.props.js.map +1 -1
  41. package/components/container/panel/panel.component.js +1 -1
  42. package/components/container/panel/panel.component.js.map +1 -1
  43. package/components/container/tabs/tabpane/tabpane.component.js +1 -1
  44. package/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
  45. package/components/container/tabs/tabs.component.js +62 -29
  46. package/components/container/tabs/tabs.component.js.map +1 -1
  47. package/components/container/tabs/tabs.props.js +1 -0
  48. package/components/container/tabs/tabs.props.js.map +1 -1
  49. package/components/container/wizard/wizardstep/wizardstep.component.js +1 -1
  50. package/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
  51. package/components/data/form/form-field/form-field.component.js +21 -1
  52. package/components/data/form/form-field/form-field.component.js.map +1 -1
  53. package/components/data/form/form-field/form-field.props.js +3 -0
  54. package/components/data/form/form-field/form-field.props.js.map +1 -1
  55. package/components/data/form/form.component.js +11 -3
  56. package/components/data/form/form.component.js.map +1 -1
  57. package/components/data/form/form.props.js +1 -0
  58. package/components/data/form/form.props.js.map +1 -1
  59. package/components/data/list/list.component.js +1 -1
  60. package/components/data/list/list.component.js.map +1 -1
  61. package/components/input/baseinput/baseinput.component.js +30 -3
  62. package/components/input/baseinput/baseinput.component.js.map +1 -1
  63. package/components/input/baseinput/baseinput.props.js +1 -0
  64. package/components/input/baseinput/baseinput.props.js.map +1 -1
  65. package/components/input/basenumber/basenumber.component.js +18 -3
  66. package/components/input/basenumber/basenumber.component.js.map +1 -1
  67. package/components/input/basenumber/basenumber.props.js +2 -0
  68. package/components/input/basenumber/basenumber.props.js.map +1 -1
  69. package/components/input/calendar/calendar.component.js +5 -1
  70. package/components/input/calendar/calendar.component.js.map +1 -1
  71. package/components/input/calendar/views/month-view.js +8 -1
  72. package/components/input/calendar/views/month-view.js.map +1 -1
  73. package/components/input/checkboxset/checkboxset.component.js +1 -1
  74. package/components/input/checkboxset/checkboxset.component.js.map +1 -1
  75. package/components/input/currency/currency.component.js +2 -0
  76. package/components/input/currency/currency.component.js.map +1 -1
  77. package/components/input/currency/currency.styles.js +10 -1
  78. package/components/input/currency/currency.styles.js.map +1 -1
  79. package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js +6 -1
  80. package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js.map +1 -1
  81. package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js +6 -1
  82. package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js.map +1 -1
  83. package/components/input/number/number.component.js +2 -0
  84. package/components/input/number/number.component.js.map +1 -1
  85. package/components/input/number/number.styles.js +4 -0
  86. package/components/input/number/number.styles.js.map +1 -1
  87. package/components/input/radioset/radioset.component.js +6 -3
  88. package/components/input/radioset/radioset.component.js.map +1 -1
  89. package/components/input/text/text.component.js +11 -0
  90. package/components/input/text/text.component.js.map +1 -1
  91. package/components/input/text/text.props.js +1 -1
  92. package/components/input/text/text.props.js.map +1 -1
  93. package/components/input/text/text.styles.js +17 -0
  94. package/components/input/text/text.styles.js.map +1 -1
  95. package/components/input/textarea/textarea.component.js +1 -0
  96. package/components/input/textarea/textarea.component.js.map +1 -1
  97. package/components/input/textarea/textarea.styles.js +4 -0
  98. package/components/input/textarea/textarea.styles.js.map +1 -1
  99. package/components/navigation/popover/popover.component.js +3 -3
  100. package/components/navigation/popover/popover.component.js.map +1 -1
  101. package/components/page/left-panel/left-panel.component.js +1 -1
  102. package/components/page/left-panel/left-panel.component.js.map +1 -1
  103. package/core/AppConfig.js.map +1 -1
  104. package/core/base.component.js +23 -0
  105. package/core/base.component.js.map +1 -1
  106. package/core/components/textinput.component.js +27 -5
  107. package/core/components/textinput.component.js.map +1 -1
  108. package/core/environment.js +25 -0
  109. package/core/environment.js.map +1 -0
  110. package/core/fixed-view.component.js +19 -2
  111. package/core/fixed-view.component.js.map +1 -1
  112. package/core/tappable.component.js +109 -15
  113. package/core/tappable.component.js.map +1 -1
  114. package/core/viewport.js +13 -8
  115. package/core/viewport.js.map +1 -1
  116. package/gestures/carousel-swipe.animation.js +0 -1
  117. package/gestures/carousel-swipe.animation.js.map +1 -1
  118. package/npm-shrinkwrap.json +4072 -2655
  119. package/package-lock.json +4072 -2655
  120. package/package.json +5 -2
  121. package/runtime/App.js +1 -0
  122. package/runtime/App.js.map +1 -1
  123. package/runtime/base-fragment.component.js +28 -5
  124. package/runtime/base-fragment.component.js.map +1 -1
  125. package/runtime/base-page.component.js +2 -1
  126. package/runtime/base-page.component.js.map +1 -1
  127. package/runtime/navigator/drawer.navigator.js +2 -0
  128. package/runtime/navigator/drawer.navigator.js.map +1 -1
  129. package/runtime/navigator/stack.navigator.js +16 -1
  130. package/runtime/navigator/stack.navigator.js.map +1 -1
  131. package/runtime/services/device/scan-service.js +12 -34
  132. package/runtime/services/device/scan-service.js.map +1 -1
  133. package/styles/theme.js +27 -2
  134. package/styles/theme.js.map +1 -1
  135. package/styles/theme.variables.js +2 -0
  136. package/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","Array","isArray","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","layoutposition","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","onLayout","handleLayout","_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 (pformName && (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 if(Array.isArray(formData)){\n formData = formData[0];\n }\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, this.proxy, this.state.props.layoutposition === 'horizontal')\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} onLayout={(event) => this.handleLayout(event)}>\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","fieldRefs","length","map","createRef","f","index","fieldIndex","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","Array","isArray","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","layoutposition","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","onLayout","handleLayout","showSpinner","_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 public fieldRefs: Array<React.RefObject<any>> = [];\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 (pformName && (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 if (this.fieldRefs.length !== formFields.length) {\n this.fieldRefs = formFields.map(() => React.createRef());\n }\n formFields?.forEach((f: WmFormField, index: number) => {\n f.fieldIndex = index;\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 if(Array.isArray(formData)){\n formData = formData[0];\n }\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, this.proxy, this.state.props.layoutposition === 'horizontal')\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 // wait until addPageScript is called\n setTimeout(() => {\n this.generateFormFields();\n }, 0);\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} onLayout={(event) => this.handleLayout(event)}>\n {this.showSpinner()}\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":[]}
@@ -26,6 +26,7 @@ export default class WmFormProps extends BaseProps {
26
26
  _defineProperty(this, "onBeforerender", () => {});
27
27
  _defineProperty(this, "generateComponent", metadata => {});
28
28
  _defineProperty(this, "showinfoskeleton", false);
29
+ _defineProperty(this, "submitondone", false);
29
30
  _defineProperty(this, "layoutposition", 'vertical');
30
31
  }
31
32
  }
@@ -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 showinfoskeleton: boolean = false;\n layoutposition: 'vertical' | 'horizontal' = 'vertical';\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;IAAAA,eAAA,yBACW,UAAU;EAAA;AACxD","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 submitondone: boolean = false;\n layoutposition: 'vertical' | 'horizontal' = 'vertical';\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;IAAAA,eAAA,uBACT,KAAK;IAAAA,eAAA,yBACe,UAAU;EAAA;AACxD","ignoreList":[]}
@@ -645,7 +645,7 @@ export default class WmList extends BaseComponent {
645
645
  width: '100%'
646
646
  },
647
647
  onLayout: event => this.handleLayout(event)
648
- }, this._background, isHorizontal || !props.groupby ? this.renderWithFlatList(props, isHorizontal) : this.renderWithSectionList(props, isHorizontal));
648
+ }, this.showSpinner(), this._background, isHorizontal || !props.groupby ? this.renderWithFlatList(props, isHorizontal) : this.renderWithSectionList(props, isHorizontal));
649
649
  }
650
650
  }
651
651
  //# sourceMappingURL=list.component.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","ActivityIndicator","SectionList","Text","View","FlatList","Dimensions","isArray","isEmpty","isNil","isNumber","BaseComponent","BaseComponentState","getGroupedData","getNumberOfEmptyObjects","isDefined","getNumberOfColumnsFromResponsiveConfig","Tappable","DefaultKeyExtractor","WmLabel","WmIcon","Swipeable","_viewPort","EVENTS","ViewPortEvents","WmListProps","DEFAULT_CLASS","BackgroundComponent","WmListState","constructor","args","_defineProperty","WmList","props","get","width","leftActionTemplate","createElement","Fragment","getTemplate","rightActionTemplate","updateState","groupedData","item","dataset","state","onSelect","index","indexOf","multiselect","selectedItems","selectedItem","selecteditem","selectedItemIndex","splice","invokeEventCallback","proxy","widgetname","itemWidgets","length","map","filter","widget","undefined","selectedindex","groupKey","itemIndex","refKey","flatListRefs","scrollToIndex","animated","isHorizontal","vData","nodatamessage","ondemandmessage","hasMoreData","maxRecordsToShow","pagesize","cleanup","push","subscribe","SIZE_CHANGE","newDim","screenWidth","forceUpdate","isSelected","$item","$index","$event","disableitemselect","eventName","disableitem","selectionlimit","selectedItemWidgets","direction","_this$state$groupedDa","forEach","group","data","includes","key","Promise","resolve","horizontalscrolltoitem","scrollToItem","loadDataOnDemand","navigation","loadData","loadingData","setTimeout","$list","loadingdata","getNextPageData","currentPage","then","last","catch","err","console","error","selectFirstItem","initialized","groupby","deselectAll","setGroupData","items","dataItems","match","orderby","dateformat","_this$keyExtractor","keyExtractor","clear","onPropertyChange","name","$new","$old","orderbyData","_this$keyExtractor2","_this$keyExtractor3","selectfirstitem","pop","selectItem","componentDidMount","_props$dataset","event","_event$nativeEvent","_event$nativeEvent2","_event$nativeEvent3","scrollPosition","nativeEvent","contentOffset","y","contentHeight","contentSize","height","viewportHeight","layoutMeasurement","threshold","isVisible","scrolledToEnd","componentDidUpdate","prevProps","prevState","snapshot","triggeronrenderwhenhidden","showView","getDefaultStyles","theme","getStyle","defaultClass","getIndex","generateItemKey","itemkey","_showSkeleton","getKey","renderItem","_this$styles$columnWr","_this$styles","cols","getNoOfColumns","styles","skeleton","root","containerStyle","columnGap","columnWrapper","gap","isNaN","totalGap","availableWidth","Math","round","flex","horizontalondemandenabled","shouldswipe","style","itemclass","backgroundImage","image","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","_extends","getTestPropsForAction","disableTouchEffect","disabletoucheffect","onTap","onLongTap","onDoubleTap","display","flexDirection","paddingRight","marginRight","margin","itemContainer","id","getTestId","iconclass","selectedIcon","renderLeftActions","renderRightActions","selecteditemicon","renderHeader","title","groupHeading","accessibilityRole","subheading","heading","listIcon","caption","accessibilityrole","renderEmptyMessage","emptyMessage","renderLoadingIcon","loadingicon","loadingIcon","loadingdatamsg","color","text","responsive","columns","itemsperrow","fallback","xs","onLayoutChange","e","renderWithFlatList","onLayout","v","i","_ref","ref","testID","scrollEnabled","horizontal","contentContainerStyle","listContainer","numberofskeletonitems","ListEmptyComponent","itemInfo","showsHorizontalScrollIndicator","hidehorizontalscrollbar","numColumns","columnWrapperStyle","onDemandMessage","getCaption","getSectionListData","_ref2","renderWithSectionList","sections","renderSectionHeader","section","renderSectionFooter","renderWidget","handleLayout","_background"],"sources":["list.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ActivityIndicator, SectionList, Text, View, FlatList, LayoutChangeEvent, TouchableOpacity, Dimensions } 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 { getNumberOfColumnsFromResponsiveConfig } from '@wavemaker/app-rn-runtime/core/responsive.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';\nimport { DEVICE_BREAK_POINTS } from '@wavemaker/app-rn-runtime/styles/theme';\nimport _viewPort, { EVENTS as ViewPortEvents } from '@wavemaker/app-rn-runtime/core/viewport';\n\nimport WmListProps from './list.props';\nimport { DEFAULT_CLASS, WmListStyles } from './list.styles';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\n\n\nexport class WmListState extends BaseComponentState<WmListProps> {\n public selectedindex: any;\n groupedData: Array<any> = [];\n currentPage = 1;\n maxRecordsToShow = 20;\n loadingData = true;\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 private flatListRefs: any = {};\n private selectedItems = [] as any[];\n private scrolledToEnd: boolean = false;\n private screenWidth = Dimensions.get(\"window\").width;\n\n \n\n constructor(props: WmListProps) {\n\n super(props, DEFAULT_CLASS, new WmListProps(), new WmListState());\n this.updateState({\n maxRecordsToShow: this.state.props.pagesize\n } as WmListState);\n\n // Subscribe to viewport changes to re-render when screen size changes\n this.cleanup.push(_viewPort.subscribe(ViewPortEvents.SIZE_CHANGE, (newDim: { width: number}) => {\n this.screenWidth = newDim.width;\n this.forceUpdate();\n }));\n\n \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 if(this.state.props.disableitemselect) {\n return; \n }\n\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.selectedItems = selectedItem;\n this.selectedItemWidgets = this.itemWidgets[$index as number];\n let groupKey: string | null = null;\n\n if (props.direction === 'horizontal') {\n this.state.groupedData?.forEach((group) => {\n if (group.data.includes($item)) {\n groupKey = group.key;\n }\n });\n }\n\n return new Promise(resolve => {\n this.updateState({\n props: { selecteditem: selectedItem },\n selectedindex: $index\n } as WmListState, () => {\n if (props.direction === 'horizontal' && props.horizontalscrolltoitem) {\n this.scrollToItem(groupKey, $index as number);\n }\n this.invokeEventCallback(eventName, [this.proxy, $item]);\n $event && this.invokeEventCallback('onTap', [$event, this.proxy]);\n resolve(null);\n });\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.state.loadingData || !this.hasMoreData) {\n \n return;\n }\n if (isArray(this.state.props.dataset)\n && this.state.props.dataset.length > this.state.maxRecordsToShow) {\n this.updateState({\n loadingData: true,\n maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize\n } as WmListState);\n setTimeout(() => {\n // Force a re-render by making a small state update\n this.updateState({\n loadingData: false,\n } as WmListState);\n }, 100);\n } else if (this.loadDataOnDemand) {\n const $list = this.proxy as any;\n $list.loadingdata = true;\n // Set loading state via updateState\n this.updateState({\n loadingData: true\n } as WmListState);\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 if((data as any)?.last === true) {\n this.hasMoreData = false;\n }\n \n } else {\n this.hasMoreData = false;\n }\n }).catch((err) => {\n console.error(err);\n }).then(() => {\n setTimeout(() => {\n $list.loadingdata = false;\n \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: number | object) => {\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 getSelectedItems = () => {\n if (!this.props.multiselect) {\n return [this.selectedItems]\n }\n return this.selectedItems;\n }\n\n getItem = (index: number) => {\n const props = this.state.props;\n return this.props.dataset[index]\n }\n\n deselectItem = (item: number | object) => {\n const props = this.state.props;\n let selectedItem = props.selecteditem || null;\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 selectAll = () => {\n const props = this.state.props;\n const dataset = props.dataset;\n if (!props.multiselect || !isArray(dataset) || dataset.length === 0) {\n return;\n }\n const selectedItems = [...dataset];\n\n this.updateState({\n props: { selecteditem: selectedItems },\n selectedindex: -1\n } as WmListState);\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 if (isArray($new)){\n setTimeout(() => {\n this.updateState({\n loadingData: false\n } as WmListState)\n }, 0)\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 if($new != $old){\n this.updateState({\n loadingData: $new\n } as WmListState);}\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;\n const contentHeight = event?.nativeEvent?.contentSize?.height;\n const viewportHeight = event?.nativeEvent?.layoutMeasurement?.height;\n \n //checking user scrolled till bottom of the list logic\n const threshold = 50; // px\n const isVisible = scrollPosition + viewportHeight >= contentHeight - threshold;\n if (isVisible && !this.scrolledToEnd) {\n this.scrolledToEnd = true;\n //console.log('user scrolled till end');\n this.loadData();\n } else if (!isVisible && this.scrolledToEnd) {\n this.scrolledToEnd = false;\n }\n });\n\n super.componentDidMount();\n }\n\n componentDidUpdate(prevProps: WmListProps, prevState: WmListState, snapshot?: any) {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n if (prevProps.triggeronrenderwhenhidden === true || this.showView()) {\n this.invokeEventCallback('onRender', [this, this.state.props.dataset]);\n }\n }\n\n\n\n getDefaultStyles() {\n const isHorizontal = this.state.props.direction === 'horizontal';\n return this.theme.getStyle(`${this.defaultClass} ${isHorizontal ? 'app-horizontal-list' : 'app-vertical-list'}`);\n }\n\n getIndex(item: any) {\n return this.state.props.dataset.indexOf(item);\n }\n\n private generateItemKey(item: any, index: number, props: WmListProps) {\n if (props.itemkey && item && !this._showSkeleton) {\n return props.itemkey(item, index);\n }\n return 'list_item_' + this.keyExtractor.getKey(item, true);\n }\n\n private renderItem(item: any, index: number, props: WmListProps) {\n const cols = this.getNoOfColumns();\n const isHorizontal = (props.direction === 'horizontal');\n\n const styles = this._showSkeleton ? {\n ...this.styles.item,\n ...this.styles.skeleton.root\n } : this.styles.item as any\n\n let containerStyle={};\n const columnGap: any = this.styles?.columnWrapper?.gap ?? 0;\n\n if(!cols || isNaN(cols) || cols <= 0){\n containerStyle = {};\n }\n else if (columnGap > 0) {\n const totalGap = columnGap * (cols - 1);\n const availableWidth = this.screenWidth - totalGap;\n if (availableWidth <= 0) {\n containerStyle = { width: \"100%\" };\n } else {\n containerStyle = {\n width: `${Math.round((availableWidth / (cols * this.screenWidth)) * 100)}%`\n };\n }\n } \n else {\n containerStyle = cols? { width: Math.round(100 / cols) + \"%\", flex: null }: {};\n }\n\n return (index < this.state.maxRecordsToShow || (isHorizontal && this.state.props.horizontalondemandenabled === false)) ?\n !props.shouldswipe ? (\n <View style={containerStyle as any}>\n <View style={[\n styles,\n props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null,\n this.isSelected(item) ? this.styles.selectedItem : {}]}>\n {styles.backgroundImage ? (\n <BackgroundComponent\n image={styles.backgroundImage}\n position={styles.backgroundPosition || 'center'}\n size={styles.backgroundSize || 'cover'}\n repeat={styles.backgroundRepeat || 'no-repeat'}\n resizeMode={styles.backgroundResizeMode || 'cover'}\n style={{ borderRadius: this.styles.item.borderRadius }}\n />\n ) : null}\n <Tappable\n {...this.getTestPropsForAction(`item${index}`)}\n disableTouchEffect={this.state.props.disabletoucheffect}\n onTap={($event) => this.onSelect(item, index, $event)}\n onLongTap={() => !this.state.props.disableitemselect && this.invokeEventCallback('onLongtap', [null, this.proxy])}\n onDoubleTap={() => !this.state.props.disableitemselect && 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 this.styles.itemContainer\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 </View>\n ) :\n (\n <Swipeable\n renderLeftActions={() => this.renderLeftActions()}\n renderRightActions={() => this.renderRightActions()} containerStyle={containerStyle as any}>\n <View style={[\n styles,\n props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null,\n this.isSelected(item) ? this.styles.selectedItem : {}]}>\n {styles.backgroundImage ? (\n <BackgroundComponent\n image={styles.backgroundImage}\n position={styles.backgroundPosition || 'center'}\n size={styles.backgroundSize || 'cover'}\n repeat={styles.backgroundRepeat || 'no-repeat'}\n resizeMode={styles.backgroundResizeMode || 'cover'}\n style={{ borderRadius: this.styles.item.borderRadius }}\n />\n ) : null}\n <Tappable\n {...this.getTestPropsForAction(`item${index}`)}\n disableTouchEffect={this.state.props.disabletoucheffect}\n onTap={($event) => this.onSelect(item, index, $event)}\n onLongTap={() => !this.state.props.disableitemselect && this.invokeEventCallback('onLongtap', [null, this.proxy])}\n onDoubleTap={() => !this.state.props.disableitemselect && 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 this.styles.itemContainer\n ]\n }>\n {props.renderItem(item, index, this)}\n {this.isSelected(item) ? (\n <WmIcon id={this.getTestId('icon' + index)} iconclass={props.selecteditemicon ? props.selecteditemicon : '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' && props.responsive) {\n const columns = getNumberOfColumnsFromResponsiveConfig(props.itemsperrow, undefined, props.fallback);\n return columns && columns > 0 ? columns : 1;\n } else if (props.direction === 'vertical' && !props.responsive) {\n return props.itemsperrow.xs || 1;\n }\n return 0;\n }\n\n private scrollToItem = (groupKey: string | null, itemIndex: number) => {\n const refKey = groupKey || 'main';\n if (this.flatListRefs[refKey]) {\n this.flatListRefs[refKey].scrollToIndex({\n index: itemIndex,\n animated: true,\n });\n }\n };\n\n getCaption = (isHorizontal: boolean, vData: any[]): string => {\n const { nodatamessage, ondemandmessage } = this.state.props\n if (!isHorizontal) {\n return this.hasMoreData ? ondemandmessage : nodatamessage\n }\n return this.hasMoreData ? ondemandmessage : nodatamessage\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\n private renderWithFlatList(props: WmListProps, isHorizontal = false) {\n\n return (\n <View style={this.styles.root} \n onLayout={e => this.onLayoutChange(e)}\n >\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 ref={(ref) => { this.flatListRefs[v.key || 'main'] = ref; }}\n testID={this.getTestId('flat_list')}\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 contentContainerStyle={this.styles.listContainer}\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 ? { showsHorizontalScrollIndicator: !props.hidehorizontalscrollbar } : { numColumns: this.getNoOfColumns() })}\n {...(this.getNoOfColumns() > 1 ? {columnWrapperStyle: this.styles.columnWrapper} : {})}>\n </FlatList>\n {this.loadDataOnDemand || (v.data.length > this.state.maxRecordsToShow && props.navigation !== 'None') ?\n (this.state.loadingData ? this.renderLoadingIcon(props) :\n (<WmLabel id={this.getTestId('ondemandmessage')}\n styles={this.styles.onDemandMessage}\n caption={this.getCaption(isHorizontal, v.data)}\n onTap={() => this.loadData()}></WmLabel>)) : null}\n </View>\n ))) : this.state.loadingData ? this.renderLoadingIcon(props) : 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 this.state.loadingData ? \n this.renderLoadingIcon(props) :\n ( \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\n renderWidget(props: WmListProps) {\n this.invokeEventCallback('onBeforedatarender', [this, this.state.props.dataset]);\n const isHorizontal = (props.direction === 'horizontal');\n\n return (\n <View\n style={isHorizontal ? null : { width: '100%' }}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {(isHorizontal || !props.groupby) ?\n this.renderWithFlatList(props, isHorizontal)\n : this.renderWithSectionList(props, isHorizontal)}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","ActivityIndicator","SectionList","Text","View","FlatList","Dimensions","isArray","isEmpty","isNil","isNumber","BaseComponent","BaseComponentState","getGroupedData","getNumberOfEmptyObjects","isDefined","getNumberOfColumnsFromResponsiveConfig","Tappable","DefaultKeyExtractor","WmLabel","WmIcon","Swipeable","_viewPort","EVENTS","ViewPortEvents","WmListProps","DEFAULT_CLASS","BackgroundComponent","WmListState","constructor","args","_defineProperty","WmList","props","get","width","leftActionTemplate","createElement","Fragment","getTemplate","rightActionTemplate","updateState","groupedData","item","dataset","state","onSelect","index","indexOf","multiselect","selectedItems","selectedItem","selecteditem","selectedItemIndex","splice","invokeEventCallback","proxy","widgetname","itemWidgets","length","map","filter","widget","undefined","selectedindex","groupKey","itemIndex","refKey","flatListRefs","scrollToIndex","animated","isHorizontal","vData","nodatamessage","ondemandmessage","hasMoreData","maxRecordsToShow","pagesize","cleanup","push","subscribe","SIZE_CHANGE","newDim","screenWidth","forceUpdate","isSelected","$item","$index","$event","disableitemselect","eventName","disableitem","selectionlimit","selectedItemWidgets","direction","_this$state$groupedDa","forEach","group","data","includes","key","Promise","resolve","horizontalscrolltoitem","scrollToItem","loadDataOnDemand","navigation","loadData","loadingData","setTimeout","$list","loadingdata","getNextPageData","currentPage","then","last","catch","err","console","error","selectFirstItem","initialized","groupby","deselectAll","setGroupData","items","dataItems","match","orderby","dateformat","_this$keyExtractor","keyExtractor","clear","onPropertyChange","name","$new","$old","orderbyData","_this$keyExtractor2","_this$keyExtractor3","selectfirstitem","pop","selectItem","componentDidMount","_props$dataset","event","_event$nativeEvent","_event$nativeEvent2","_event$nativeEvent3","scrollPosition","nativeEvent","contentOffset","y","contentHeight","contentSize","height","viewportHeight","layoutMeasurement","threshold","isVisible","scrolledToEnd","componentDidUpdate","prevProps","prevState","snapshot","triggeronrenderwhenhidden","showView","getDefaultStyles","theme","getStyle","defaultClass","getIndex","generateItemKey","itemkey","_showSkeleton","getKey","renderItem","_this$styles$columnWr","_this$styles","cols","getNoOfColumns","styles","skeleton","root","containerStyle","columnGap","columnWrapper","gap","isNaN","totalGap","availableWidth","Math","round","flex","horizontalondemandenabled","shouldswipe","style","itemclass","backgroundImage","image","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","_extends","getTestPropsForAction","disableTouchEffect","disabletoucheffect","onTap","onLongTap","onDoubleTap","display","flexDirection","paddingRight","marginRight","margin","itemContainer","id","getTestId","iconclass","selectedIcon","renderLeftActions","renderRightActions","selecteditemicon","renderHeader","title","groupHeading","accessibilityRole","subheading","heading","listIcon","caption","accessibilityrole","renderEmptyMessage","emptyMessage","renderLoadingIcon","loadingicon","loadingIcon","loadingdatamsg","color","text","responsive","columns","itemsperrow","fallback","xs","onLayoutChange","e","renderWithFlatList","onLayout","v","i","_ref","ref","testID","scrollEnabled","horizontal","contentContainerStyle","listContainer","numberofskeletonitems","ListEmptyComponent","itemInfo","showsHorizontalScrollIndicator","hidehorizontalscrollbar","numColumns","columnWrapperStyle","onDemandMessage","getCaption","getSectionListData","_ref2","renderWithSectionList","sections","renderSectionHeader","section","renderSectionFooter","renderWidget","handleLayout","showSpinner","_background"],"sources":["list.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ActivityIndicator, SectionList, Text, View, FlatList, LayoutChangeEvent, TouchableOpacity, Dimensions } 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 { getNumberOfColumnsFromResponsiveConfig } from '@wavemaker/app-rn-runtime/core/responsive.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';\nimport { DEVICE_BREAK_POINTS } from '@wavemaker/app-rn-runtime/styles/theme';\nimport _viewPort, { EVENTS as ViewPortEvents } from '@wavemaker/app-rn-runtime/core/viewport';\n\nimport WmListProps from './list.props';\nimport { DEFAULT_CLASS, WmListStyles } from './list.styles';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\n\n\nexport class WmListState extends BaseComponentState<WmListProps> {\n public selectedindex: any;\n groupedData: Array<any> = [];\n currentPage = 1;\n maxRecordsToShow = 20;\n loadingData = true;\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 private flatListRefs: any = {};\n private selectedItems = [] as any[];\n private scrolledToEnd: boolean = false;\n private screenWidth = Dimensions.get(\"window\").width;\n\n \n\n constructor(props: WmListProps) {\n\n super(props, DEFAULT_CLASS, new WmListProps(), new WmListState());\n this.updateState({\n maxRecordsToShow: this.state.props.pagesize\n } as WmListState);\n\n // Subscribe to viewport changes to re-render when screen size changes\n this.cleanup.push(_viewPort.subscribe(ViewPortEvents.SIZE_CHANGE, (newDim: { width: number}) => {\n this.screenWidth = newDim.width;\n this.forceUpdate();\n }));\n\n \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 if(this.state.props.disableitemselect) {\n return; \n }\n\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.selectedItems = selectedItem;\n this.selectedItemWidgets = this.itemWidgets[$index as number];\n let groupKey: string | null = null;\n\n if (props.direction === 'horizontal') {\n this.state.groupedData?.forEach((group) => {\n if (group.data.includes($item)) {\n groupKey = group.key;\n }\n });\n }\n\n return new Promise(resolve => {\n this.updateState({\n props: { selecteditem: selectedItem },\n selectedindex: $index\n } as WmListState, () => {\n if (props.direction === 'horizontal' && props.horizontalscrolltoitem) {\n this.scrollToItem(groupKey, $index as number);\n }\n this.invokeEventCallback(eventName, [this.proxy, $item]);\n $event && this.invokeEventCallback('onTap', [$event, this.proxy]);\n resolve(null);\n });\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.state.loadingData || !this.hasMoreData) {\n \n return;\n }\n if (isArray(this.state.props.dataset)\n && this.state.props.dataset.length > this.state.maxRecordsToShow) {\n this.updateState({\n loadingData: true,\n maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize\n } as WmListState);\n setTimeout(() => {\n // Force a re-render by making a small state update\n this.updateState({\n loadingData: false,\n } as WmListState);\n }, 100);\n } else if (this.loadDataOnDemand) {\n const $list = this.proxy as any;\n $list.loadingdata = true;\n // Set loading state via updateState\n this.updateState({\n loadingData: true\n } as WmListState);\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 if((data as any)?.last === true) {\n this.hasMoreData = false;\n }\n \n } else {\n this.hasMoreData = false;\n }\n }).catch((err) => {\n console.error(err);\n }).then(() => {\n setTimeout(() => {\n $list.loadingdata = false;\n \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: number | object) => {\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 getSelectedItems = () => {\n if (!this.props.multiselect) {\n return [this.selectedItems]\n }\n return this.selectedItems;\n }\n\n getItem = (index: number) => {\n const props = this.state.props;\n return this.props.dataset[index]\n }\n\n deselectItem = (item: number | object) => {\n const props = this.state.props;\n let selectedItem = props.selecteditem || null;\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 selectAll = () => {\n const props = this.state.props;\n const dataset = props.dataset;\n if (!props.multiselect || !isArray(dataset) || dataset.length === 0) {\n return;\n }\n const selectedItems = [...dataset];\n\n this.updateState({\n props: { selecteditem: selectedItems },\n selectedindex: -1\n } as WmListState);\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 if (isArray($new)){\n setTimeout(() => {\n this.updateState({\n loadingData: false\n } as WmListState)\n }, 0)\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 if($new != $old){\n this.updateState({\n loadingData: $new\n } as WmListState);}\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;\n const contentHeight = event?.nativeEvent?.contentSize?.height;\n const viewportHeight = event?.nativeEvent?.layoutMeasurement?.height;\n \n //checking user scrolled till bottom of the list logic\n const threshold = 50; // px\n const isVisible = scrollPosition + viewportHeight >= contentHeight - threshold;\n if (isVisible && !this.scrolledToEnd) {\n this.scrolledToEnd = true;\n //console.log('user scrolled till end');\n this.loadData();\n } else if (!isVisible && this.scrolledToEnd) {\n this.scrolledToEnd = false;\n }\n });\n\n super.componentDidMount();\n }\n\n componentDidUpdate(prevProps: WmListProps, prevState: WmListState, snapshot?: any) {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n if (prevProps.triggeronrenderwhenhidden === true || this.showView()) {\n this.invokeEventCallback('onRender', [this, this.state.props.dataset]);\n }\n }\n\n\n\n getDefaultStyles() {\n const isHorizontal = this.state.props.direction === 'horizontal';\n return this.theme.getStyle(`${this.defaultClass} ${isHorizontal ? 'app-horizontal-list' : 'app-vertical-list'}`);\n }\n\n getIndex(item: any) {\n return this.state.props.dataset.indexOf(item);\n }\n\n private generateItemKey(item: any, index: number, props: WmListProps) {\n if (props.itemkey && item && !this._showSkeleton) {\n return props.itemkey(item, index);\n }\n return 'list_item_' + this.keyExtractor.getKey(item, true);\n }\n\n private renderItem(item: any, index: number, props: WmListProps) {\n const cols = this.getNoOfColumns();\n const isHorizontal = (props.direction === 'horizontal');\n\n const styles = this._showSkeleton ? {\n ...this.styles.item,\n ...this.styles.skeleton.root\n } : this.styles.item as any\n\n let containerStyle={};\n const columnGap: any = this.styles?.columnWrapper?.gap ?? 0;\n\n if(!cols || isNaN(cols) || cols <= 0){\n containerStyle = {};\n }\n else if (columnGap > 0) {\n const totalGap = columnGap * (cols - 1);\n const availableWidth = this.screenWidth - totalGap;\n if (availableWidth <= 0) {\n containerStyle = { width: \"100%\" };\n } else {\n containerStyle = {\n width: `${Math.round((availableWidth / (cols * this.screenWidth)) * 100)}%`\n };\n }\n } \n else {\n containerStyle = cols? { width: Math.round(100 / cols) + \"%\", flex: null }: {};\n }\n\n return (index < this.state.maxRecordsToShow || (isHorizontal && this.state.props.horizontalondemandenabled === false)) ?\n !props.shouldswipe ? (\n <View style={containerStyle as any}>\n <View style={[\n styles,\n props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null,\n this.isSelected(item) ? this.styles.selectedItem : {}]}>\n {styles.backgroundImage ? (\n <BackgroundComponent\n image={styles.backgroundImage}\n position={styles.backgroundPosition || 'center'}\n size={styles.backgroundSize || 'cover'}\n repeat={styles.backgroundRepeat || 'no-repeat'}\n resizeMode={styles.backgroundResizeMode || 'cover'}\n style={{ borderRadius: this.styles.item.borderRadius }}\n />\n ) : null}\n <Tappable\n {...this.getTestPropsForAction(`item${index}`)}\n disableTouchEffect={this.state.props.disabletoucheffect}\n onTap={($event) => this.onSelect(item, index, $event)}\n onLongTap={() => !this.state.props.disableitemselect && this.invokeEventCallback('onLongtap', [null, this.proxy])}\n onDoubleTap={() => !this.state.props.disableitemselect && 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 this.styles.itemContainer\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 </View>\n ) :\n (\n <Swipeable\n renderLeftActions={() => this.renderLeftActions()}\n renderRightActions={() => this.renderRightActions()} containerStyle={containerStyle as any}>\n <View style={[\n styles,\n props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null,\n this.isSelected(item) ? this.styles.selectedItem : {}]}>\n {styles.backgroundImage ? (\n <BackgroundComponent\n image={styles.backgroundImage}\n position={styles.backgroundPosition || 'center'}\n size={styles.backgroundSize || 'cover'}\n repeat={styles.backgroundRepeat || 'no-repeat'}\n resizeMode={styles.backgroundResizeMode || 'cover'}\n style={{ borderRadius: this.styles.item.borderRadius }}\n />\n ) : null}\n <Tappable\n {...this.getTestPropsForAction(`item${index}`)}\n disableTouchEffect={this.state.props.disabletoucheffect}\n onTap={($event) => this.onSelect(item, index, $event)}\n onLongTap={() => !this.state.props.disableitemselect && this.invokeEventCallback('onLongtap', [null, this.proxy])}\n onDoubleTap={() => !this.state.props.disableitemselect && 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 this.styles.itemContainer\n ]\n }>\n {props.renderItem(item, index, this)}\n {this.isSelected(item) ? (\n <WmIcon id={this.getTestId('icon' + index)} iconclass={props.selecteditemicon ? props.selecteditemicon : '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' && props.responsive) {\n const columns = getNumberOfColumnsFromResponsiveConfig(props.itemsperrow, undefined, props.fallback);\n return columns && columns > 0 ? columns : 1;\n } else if (props.direction === 'vertical' && !props.responsive) {\n return props.itemsperrow.xs || 1;\n }\n return 0;\n }\n\n private scrollToItem = (groupKey: string | null, itemIndex: number) => {\n const refKey = groupKey || 'main';\n if (this.flatListRefs[refKey]) {\n this.flatListRefs[refKey].scrollToIndex({\n index: itemIndex,\n animated: true,\n });\n }\n };\n\n getCaption = (isHorizontal: boolean, vData: any[]): string => {\n const { nodatamessage, ondemandmessage } = this.state.props\n if (!isHorizontal) {\n return this.hasMoreData ? ondemandmessage : nodatamessage\n }\n return this.hasMoreData ? ondemandmessage : nodatamessage\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\n private renderWithFlatList(props: WmListProps, isHorizontal = false) {\n\n return (\n <View style={this.styles.root} \n onLayout={e => this.onLayoutChange(e)}\n >\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 ref={(ref) => { this.flatListRefs[v.key || 'main'] = ref; }}\n testID={this.getTestId('flat_list')}\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 contentContainerStyle={this.styles.listContainer}\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 ? { showsHorizontalScrollIndicator: !props.hidehorizontalscrollbar } : { numColumns: this.getNoOfColumns() })}\n {...(this.getNoOfColumns() > 1 ? {columnWrapperStyle: this.styles.columnWrapper} : {})}>\n </FlatList>\n {this.loadDataOnDemand || (v.data.length > this.state.maxRecordsToShow && props.navigation !== 'None') ?\n (this.state.loadingData ? this.renderLoadingIcon(props) :\n (<WmLabel id={this.getTestId('ondemandmessage')}\n styles={this.styles.onDemandMessage}\n caption={this.getCaption(isHorizontal, v.data)}\n onTap={() => this.loadData()}></WmLabel>)) : null}\n </View>\n ))) : this.state.loadingData ? this.renderLoadingIcon(props) : 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 this.state.loadingData ? \n this.renderLoadingIcon(props) :\n ( \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\n renderWidget(props: WmListProps) {\n this.invokeEventCallback('onBeforedatarender', [this, this.state.props.dataset]);\n const isHorizontal = (props.direction === 'horizontal');\n\n return (\n <View\n style={isHorizontal ? null : { width: '100%' }}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this.showSpinner()}\n {this._background}\n {(isHorizontal || !props.groupby) ?\n this.renderWithFlatList(props, isHorizontal)\n : this.renderWithSectionList(props, isHorizontal)}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -26,6 +26,7 @@ export class BaseInputComponent extends BaseComponent {
26
26
  _defineProperty(this, "isTouched", false);
27
27
  _defineProperty(this, "cursor", 0);
28
28
  _defineProperty(this, "timer", null);
29
+ _defineProperty(this, "_submitEditingTriggered", false);
29
30
  _defineProperty(this, "charlength", 0);
30
31
  }
31
32
  focus() {
@@ -55,6 +56,13 @@ export class BaseInputComponent extends BaseComponent {
55
56
  this.updateState({
56
57
  textValue: $new
57
58
  });
59
+ if (!this.state.isValid) {
60
+ const validationObj = validateField(this.state.props, $new);
61
+ this.updateState({
62
+ isValid: validationObj.isValid,
63
+ errorType: validationObj.errorType || ''
64
+ });
65
+ }
58
66
  const isDefault = this.state.props.isdefault;
59
67
  if (isDefault) {
60
68
  this.updateState({
@@ -165,10 +173,12 @@ export class BaseInputComponent extends BaseComponent {
165
173
  this.props.triggerValidation && this.props.triggerValidation();
166
174
  }, 10);
167
175
  }
176
+ const skipBlurCallback = this._submitEditingTriggered;
177
+ this._submitEditingTriggered = false;
168
178
  if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {
169
179
  if (oldVal !== newVal && this.state.props.updateon === 'blur') {
170
- this.updateDatavalue(newVal, event, 'blur');
171
- } else {
180
+ this.updateDatavalue(newVal, event, skipBlurCallback ? undefined : 'blur');
181
+ } else if (!skipBlurCallback) {
172
182
  this.invokeEventCallback('onBlur', [event, this.proxy]);
173
183
  }
174
184
  this.setState({
@@ -197,7 +207,24 @@ export class BaseInputComponent extends BaseComponent {
197
207
  });
198
208
  }
199
209
  onKeyPress(event) {
200
- this.invokeEventCallback('onKeypress', [event, this.proxy]);
210
+ var _event$persist, _event$nativeEvent, _props;
211
+ event === null || event === void 0 || (_event$persist = event.persist) === null || _event$persist === void 0 || _event$persist.call(event);
212
+ const key = (_event$nativeEvent = event.nativeEvent) === null || _event$nativeEvent === void 0 ? void 0 : _event$nativeEvent.key;
213
+ if (key === 'Enter' && !!((_props = this.props) !== null && _props !== void 0 && _props.onSubmitediting)) {
214
+ return;
215
+ }
216
+ this.invokeEventCallback('onKeypress', [event, this.proxy, key]);
217
+ }
218
+ onSubmitEditing(event) {
219
+ var _event$persist2;
220
+ event === null || event === void 0 || (_event$persist2 = event.persist) === null || _event$persist2 === void 0 || _event$persist2.call(event);
221
+ this._submitEditingTriggered = true;
222
+ this.updateDatavalue(this.state.textValue, null);
223
+ setTimeout(() => {
224
+ var _this$state$props$onS, _this$state$props;
225
+ this.invokeEventCallback('onSubmitediting', [event, this.proxy]);
226
+ (_this$state$props$onS = (_this$state$props = this.state.props).onSubmitEditing) === null || _this$state$props$onS === void 0 || _this$state$props$onS.call(_this$state$props, event);
227
+ }, 100);
201
228
  }
202
229
  }
203
230
  //# sourceMappingURL=baseinput.component.js.map