@wavemaker-ai/app-rn-runtime 12.0.2-rc.647771 → 12.1.0-rc.647821
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.
- package/components/advanced/webview/webview.component.js +1 -1
- package/components/advanced/webview/webview.component.js.map +1 -1
- package/components/basic/bottomsheet/bottomsheet.component.js +1 -1
- package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
- package/components/basic/label/label.component.js +2 -2
- package/components/basic/label/label.component.js.map +1 -1
- package/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
- package/components/container/tabs/tabheader/tabheader.component.js +10 -3
- package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
- package/components/data/form/form-field/form-field.component.js +5 -0
- package/components/data/form/form-field/form-field.component.js.map +1 -1
- package/components/data/form/form.component.js +12 -8
- package/components/data/form/form.component.js.map +1 -1
- package/components/data/list/list.component.js +5 -2
- package/components/data/list/list.component.js.map +1 -1
- package/components/dialogs/dialog/dialog.component.js +1 -1
- package/components/dialogs/dialog/dialog.component.js.map +1 -1
- package/components/input/chips/chips.component.js +1 -1
- package/components/input/chips/chips.component.js.map +1 -1
- package/components/input/chips/chips.props.js +1 -0
- package/components/input/chips/chips.props.js.map +1 -1
- package/components/input/textarea/textarea.component.js +1 -1
- package/components/input/textarea/textarea.component.js.map +1 -1
- package/components/page/page-content/page-content.component.js +152 -17
- package/components/page/page-content/page-content.component.js.map +1 -1
- package/components/page/page-content/page-content.props.js +5 -0
- package/components/page/page-content/page-content.props.js.map +1 -1
- package/components/page/page-content/pull-to-refresh.component.js +288 -0
- package/components/page/page-content/pull-to-refresh.component.js.map +1 -0
- package/core/AppConfig.js.map +1 -1
- package/core/base.component.js +14 -0
- package/core/base.component.js.map +1 -1
- package/core/sticky-wrapper.js +37 -34
- package/core/sticky-wrapper.js.map +1 -1
- package/gestures/carousel-swipe.animation.js +1 -0
- package/gestures/carousel-swipe.animation.js.map +1 -1
- package/npm-shrinkwrap.json +1285 -570
- package/package-lock.json +1285 -570
- package/package.json +3 -3
- package/runtime/App.js +52 -36
- package/runtime/App.js.map +1 -1
- package/runtime/App.navigator.js +4 -1
- package/runtime/App.navigator.js.map +1 -1
- package/runtime/base-fragment.component.js +1 -0
- package/runtime/base-fragment.component.js.map +1 -1
- package/runtime/services/app-security.service.js +40 -19
- package/runtime/services/app-security.service.js.map +1 -1
- package/runtime/services/browser.constants.js +3 -0
- package/runtime/services/browser.constants.js.map +1 -0
- package/runtime/services/browser.service.js +321 -0
- package/runtime/services/browser.service.js.map +1 -0
- package/runtime/services/external-auth-callback.service.js +44 -0
- package/runtime/services/external-auth-callback.service.js.map +1 -0
- package/runtime/services/webprocess.service.js +8 -3
- package/runtime/services/webprocess.service.js.map +1 -1
- package/styles/background.component.js +61 -2
- package/styles/background.component.js.map +1 -1
- package/styles/style-prop.validator.js +4 -0
- package/styles/style-prop.validator.js.map +1 -1
- package/styles/style-props.js +2 -0
- package/styles/style-props.js.map +1 -1
- package/styles/theme.js +52 -11
- package/styles/theme.js.map +1 -1
- package/components-prism/basic/search/search.component.js +0 -208
- package/components-prism/basic/search/search.component.js.map +0 -1
- package/components-prism/basic/search/search.props.js +0 -16
- package/components-prism/basic/search/search.props.js.map +0 -1
- package/components-prism/basic/search/search.styles.js +0 -127
- package/components-prism/basic/search/search.styles.js.map +0 -1
- package/core/outside-press-handler.js +0 -65
- package/core/outside-press-handler.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","BaseComponent","BaseComponentState","isDefined","debounce","find","forEach","isNil","get","set","cloneDeep","isEmpty","WmLabel","WmIcon","WmMessage","ToastConsumer","_viewPort","EVENTS","viewportEvents","getNumberOfColumnsFromResponsiveConfig","WmFormProps","DEFAULT_CLASS","isDataSetWidget","DEFAULT_FIELD_LAYOUT","width","flexGrow","flexShrink","WmFormState","constructor","args","_defineProperty","WmForm","props","handleSubmit","componentDidMount","getParentFormRef","parentForm","viewportUnsubscribe","subscribe","SIZE_CHANGE","updateFieldLayout","componentWillUnmount","itemsperrow","state","cols","basePercent","Math","floor","widthPercent","fieldLayoutStyle","currentStyle","setState","pformName","current","parent","parentFormRef","setReadonlyFields","_this$formFields","formFields","field","setReadOnlyState","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","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","iconurl","title","subheading","heading","flex","flexDirection","getTestId","listIcon","caption","accessibilityrole","hideclose","onClose","children"],"sources":["form.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, DimensionValue } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { isDefined, widgetsWithUndefinedValue } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport { debounce, find, forEach, isNil, get, set, cloneDeep, isEmpty } from 'lodash';\n\nimport WmLabel from '@wavemaker-ai/app-rn-runtime/components/basic/label/label.component';\nimport WmIcon from '@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.component';\nimport WmFormField, { WmFormFieldState } from '@wavemaker-ai/app-rn-runtime/components/data/form/form-field/form-field.component';\nimport WmMessage from '@wavemaker-ai/app-rn-runtime/components/basic/message/message.component';\nimport { ToastConsumer, ToastService } from '@wavemaker-ai/app-rn-runtime/core/toast.service';\nimport _viewPort, { EVENTS as viewportEvents } from '@wavemaker-ai/app-rn-runtime/core/viewport';\nimport { getNumberOfColumnsFromResponsiveConfig } from '@wavemaker-ai/app-rn-runtime/core/responsive.utils';\n\nimport WmFormProps from './form.props';\nimport { DEFAULT_CLASS, WmFormStyles } from './form.styles';\nimport { isDataSetWidget } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport WmFormAction, {\n WmFormActionState\n} from '@wavemaker-ai/app-rn-runtime/components/data/form/form-action/form-action.component';\n\nexport interface FormFieldLayoutStyle {\n width: DimensionValue;\n flexGrow: number;\n flexShrink: number;\n}\n\nconst DEFAULT_FIELD_LAYOUT: FormFieldLayoutStyle = {\n width: '100%',\n flexGrow: 0,\n flexShrink: 0,\n};\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 fieldLayoutStyle: FormFieldLayoutStyle = DEFAULT_FIELD_LAYOUT;\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 private viewportUnsubscribe: (() => void) | null = null;\n\n componentDidMount() {\n super.componentDidMount();\n this.getParentFormRef(this.props.parentForm);\n this.viewportUnsubscribe = _viewPort.subscribe(viewportEvents.SIZE_CHANGE, () => {\n this.updateFieldLayout();\n });\n this.updateFieldLayout();\n }\n\n componentWillUnmount() {\n super.componentWillUnmount && super.componentWillUnmount();\n if (this.viewportUnsubscribe) {\n this.viewportUnsubscribe();\n }\n }\n\n private updateFieldLayout() {\n const itemsperrow = this.state.props.itemsperrow;\n const cols = getNumberOfColumnsFromResponsiveConfig(itemsperrow);\n const basePercent = cols > 0 ? Math.floor(100 / cols) : 100;\n const widthPercent = cols > 1 ? basePercent - 2 : basePercent;\n\n const fieldLayoutStyle: FormFieldLayoutStyle = {\n width: `${widthPercent}%` as DimensionValue,\n flexGrow: cols > 1 ? 1 : 0,\n flexShrink: 0,\n };\n\n const currentStyle = this.state.fieldLayoutStyle;\n if (currentStyle.width !== fieldLayoutStyle.width ||\n currentStyle.flexGrow !== fieldLayoutStyle.flexGrow) {\n this.setState({ fieldLayoutStyle } as WmFormState);\n }\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.iconurl || 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} iconurl={props.iconurl}></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","_viewPort","EVENTS","viewportEvents","getNumberOfColumnsFromResponsiveConfig","WmFormProps","DEFAULT_CLASS","isDataSetWidget","DEFAULT_FIELD_LAYOUT","width","flexGrow","flexShrink","WmFormState","constructor","args","_defineProperty","WmForm","props","handleSubmit","componentDidMount","getParentFormRef","parentForm","viewportUnsubscribe","subscribe","SIZE_CHANGE","updateFieldLayout","componentWillUnmount","itemsperrow","state","cols","basePercent","Math","floor","widthPercent","fieldLayoutStyle","currentStyle","setState","pformName","current","parent","parentFormRef","setReadonlyFields","_this$formFields","formFields","field","setReadOnlyState","isUpdateMode","setReadonlyState","updateMode","updateState","setTimeout","showActions","edit","new","cancel","delete","registerFormFields","formWidgets","formFieldsCopy","formWidgetsCopy","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","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","iconurl","title","subheading","heading","flex","flexDirection","getTestId","listIcon","caption","accessibilityrole","hideclose","onClose","children"],"sources":["form.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, DimensionValue } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { isDefined, widgetsWithUndefinedValue } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport { debounce, find, forEach, isNil, get, set, cloneDeep, isEmpty } from 'lodash';\n\nimport WmLabel from '@wavemaker-ai/app-rn-runtime/components/basic/label/label.component';\nimport WmIcon from '@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.component';\nimport WmFormField, { WmFormFieldState } from '@wavemaker-ai/app-rn-runtime/components/data/form/form-field/form-field.component';\nimport WmMessage from '@wavemaker-ai/app-rn-runtime/components/basic/message/message.component';\nimport { ToastConsumer, ToastService } from '@wavemaker-ai/app-rn-runtime/core/toast.service';\nimport _viewPort, { EVENTS as viewportEvents } from '@wavemaker-ai/app-rn-runtime/core/viewport';\nimport { getNumberOfColumnsFromResponsiveConfig } from '@wavemaker-ai/app-rn-runtime/core/responsive.utils';\n\nimport WmFormProps from './form.props';\nimport { DEFAULT_CLASS, WmFormStyles } from './form.styles';\nimport { isDataSetWidget } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport WmFormAction, {\n WmFormActionState\n} from '@wavemaker-ai/app-rn-runtime/components/data/form/form-action/form-action.component';\n\nexport interface FormFieldLayoutStyle {\n width: DimensionValue;\n flexGrow: number;\n flexShrink: number;\n}\n\nconst DEFAULT_FIELD_LAYOUT: FormFieldLayoutStyle = {\n width: '100%',\n flexGrow: 0,\n flexShrink: 0,\n};\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 fieldLayoutStyle: FormFieldLayoutStyle = DEFAULT_FIELD_LAYOUT;\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 private viewportUnsubscribe: (() => void) | null = null;\n\n componentDidMount() {\n super.componentDidMount();\n this.getParentFormRef(this.props.parentForm);\n this.viewportUnsubscribe = _viewPort.subscribe(viewportEvents.SIZE_CHANGE, () => {\n this.updateFieldLayout();\n });\n this.updateFieldLayout();\n }\n\n componentWillUnmount() {\n super.componentWillUnmount && super.componentWillUnmount();\n if (this.viewportUnsubscribe) {\n this.viewportUnsubscribe();\n }\n }\n\n private updateFieldLayout() {\n const itemsperrow = this.state.props.itemsperrow;\n const cols = getNumberOfColumnsFromResponsiveConfig(itemsperrow);\n const basePercent = cols > 0 ? Math.floor(100 / cols) : 100;\n const widthPercent = cols > 1 ? basePercent - 2 : basePercent;\n\n const fieldLayoutStyle: FormFieldLayoutStyle = {\n width: `${widthPercent}%` as DimensionValue,\n flexGrow: cols > 1 ? 1 : 0,\n flexShrink: 0,\n };\n\n const currentStyle = this.state.fieldLayoutStyle;\n if (currentStyle.width !== fieldLayoutStyle.width ||\n currentStyle.flexGrow !== fieldLayoutStyle.flexGrow) {\n this.setState({ fieldLayoutStyle } as WmFormState);\n }\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 // A form without fields (only actions) gets a placeholder entry with no formFields/formWidgets\n // from the fragment, so default them here instead of propagating undefined.\n const formFieldsCopy = formFields || [];\n const formWidgetsCopy = formWidgets || {};\n forEach(formFieldsCopy, (w: WmFormField) => {\n if (!w.form) {\n w.form = this;\n w.formwidget = (w.props.formKey && formWidgetsCopy[w.props.formKey])\n || (w.props.name && formWidgetsCopy[w.props.name]);\n }\n });\n\n this.formFields = formFieldsCopy;\n this.formWidgets = formWidgetsCopy;\n if (this.fieldRefs.length !== formFieldsCopy.length) {\n this.fieldRefs = formFieldsCopy.map(() => React.createRef());\n }\n formFieldsCopy?.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.iconurl || 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} iconurl={props.iconurl}></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":[]}
|
|
@@ -391,15 +391,18 @@ export default class WmList extends BaseComponent {
|
|
|
391
391
|
});
|
|
392
392
|
}
|
|
393
393
|
this.subscribe('scroll', event => {
|
|
394
|
-
var _event$nativeEvent, _event$nativeEvent2, _event$nativeEvent3;
|
|
394
|
+
var _event$nativeEvent, _event$nativeEvent2, _event$nativeEvent3, _event$nativeEvent4;
|
|
395
395
|
const scrollPosition = event === null || event === void 0 || (_event$nativeEvent = event.nativeEvent) === null || _event$nativeEvent === void 0 || (_event$nativeEvent = _event$nativeEvent.contentOffset) === null || _event$nativeEvent === void 0 ? void 0 : _event$nativeEvent.y;
|
|
396
|
+
if (scrollPosition < 0) {
|
|
397
|
+
return;
|
|
398
|
+
}
|
|
396
399
|
const contentHeight = event === null || event === void 0 || (_event$nativeEvent2 = event.nativeEvent) === null || _event$nativeEvent2 === void 0 || (_event$nativeEvent2 = _event$nativeEvent2.contentSize) === null || _event$nativeEvent2 === void 0 ? void 0 : _event$nativeEvent2.height;
|
|
397
400
|
const viewportHeight = event === null || event === void 0 || (_event$nativeEvent3 = event.nativeEvent) === null || _event$nativeEvent3 === void 0 || (_event$nativeEvent3 = _event$nativeEvent3.layoutMeasurement) === null || _event$nativeEvent3 === void 0 ? void 0 : _event$nativeEvent3.height;
|
|
398
401
|
|
|
399
402
|
//checking user scrolled till bottom of the list logic
|
|
400
403
|
const threshold = 50; // px
|
|
401
404
|
const isVisible = scrollPosition + viewportHeight >= contentHeight - threshold;
|
|
402
|
-
if (isVisible && !this.scrolledToEnd) {
|
|
405
|
+
if (isVisible && !this.scrolledToEnd && (event === null || event === void 0 || (_event$nativeEvent4 = event.nativeEvent) === null || _event$nativeEvent4 === void 0 ? void 0 : _event$nativeEvent4.scrollDelta) !== 0) {
|
|
403
406
|
this.scrolledToEnd = true;
|
|
404
407
|
//console.log('user scrolled till end');
|
|
405
408
|
this.loadData();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","ActivityIndicator","SectionList","Text","View","FlatList","Dimensions","Platform","isArray","isEmpty","isNil","isNumber","BaseComponent","BaseComponentState","getGroupedData","getNumberOfEmptyObjects","isDefined","getNumberOfColumnsFromResponsiveConfig","Tappable","DefaultKeyExtractor","WmLabel","WmIcon","Swipeable","_viewPort","EVENTS","ViewPortEvents","WmListProps","DEFAULT_CLASS","LIST_TEMPLATE_DEFAULT_CLASS","BackgroundComponent","isAutoLayout","checkAutoLayout","getContentContainerStyle","getDirectionStyle","getDimensionStyle","extractAutoLayoutProps","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","children","style","_extends","getListTemplateWidth","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","getFlatListData","groupData","_ref","numberofskeletonitems","horizontalondemandenabled","slice","renderItem","_this$styles$columnWr","_this$styles","cols","getNoOfColumns","isWrap","wrap","styles","skeleton","root","containerStyle","columnGap","columnWrapper","gap","isNaN","totalGap","availableWidth","Math","round","flex","shouldswipe","minWidth","itemclass","backgroundImage","image","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","getTestPropsForAction","disableTouchEffect","disabletoucheffect","onTap","onLongTap","onDoubleTap","display","flexDirection","paddingRight","marginRight","margin","itemContainer","OS","id","getTestId","iconclass","selectedIcon","renderLeftActions","renderRightActions","selecteditemicon","renderHeader","title","groupHeading","accessibilityRole","iconurl","subheading","heading","listIcon","caption","accessibilityrole","renderEmptyMessage","emptyMessage","renderLoadingIcon","loadingicon","loadingiconurl","loadingIcon","loadingdatamsg","color","text","responsive","columns","itemsperrow","fallback","xs","findListTemplateInChildren","nodes","componentNode","node","instance","nested","_listTemplate$props","listTemplate","onLayoutChange","e","renderWithFlatList","hasExplicitAutoLayout","alignment","columngap","Boolean","listAutoLayoutProps","listDirectionStyle","listContentStyle","fullWidthStyle","userClass","classname","trim","cascadeRoot","listOuterStyle","mergeStyle","groupStyle","flatListStyle","onLayout","v","i","ref","CellRendererComponent","renderCustomCell","testID","scrollEnabled","horizontal","contentContainerStyle","listContainer","ListEmptyComponent","itemInfo","showsHorizontalScrollIndicator","hidehorizontalscrollbar","numColumns","columnWrapperStyle","onDemandMessage","getCaption","getSectionListData","_ref2","section","renderWithSectionList","sections","renderSectionHeader","renderSectionFooter","renderWidget","_this$parent","alProps","parent","listDir","hasAutoLayout","outerStyle","handleLayout","showSpinner","_background"],"sources":["list.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ActivityIndicator, SectionList, Text, View, FlatList, LayoutChangeEvent, TouchableOpacity, Dimensions, ViewStyle, Platform } from 'react-native';\nimport { isArray, isEmpty, isNil, isNumber, round } from 'lodash-es';\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { getGroupedData, getNumberOfEmptyObjects, isDefined } from \"@wavemaker-ai/app-rn-runtime/core/utils\";\nimport { getNumberOfColumnsFromResponsiveConfig } from '@wavemaker-ai/app-rn-runtime/core/responsive.utils';\nimport { Tappable } from '@wavemaker-ai/app-rn-runtime/core/tappable.component';\nimport { DefaultKeyExtractor } from '@wavemaker-ai/app-rn-runtime/core/key.extractor';\nimport WmLabel from '@wavemaker-ai/app-rn-runtime/components/basic/label/label.component';\nimport WmIcon from '@wavemaker-ai/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-ai/app-rn-runtime/styles/theme';\nimport _viewPort, { EVENTS as ViewPortEvents } from '@wavemaker-ai/app-rn-runtime/core/viewport';\n\nimport WmListProps from './list.props';\nimport { DEFAULT_CLASS, WmListStyles } from './list.styles';\nimport { DEFAULT_CLASS as LIST_TEMPLATE_DEFAULT_CLASS } from './list-template/list-template.styles';\nimport { WmComponentNode } from '@wavemaker-ai/app-rn-runtime/core/wm-component-tree';\nimport { BackgroundComponent } from '@wavemaker-ai/app-rn-runtime/styles/background.component';\nimport {\n AutoLayoutProps,\n isAutoLayout as checkAutoLayout,\n getContentContainerStyle,\n getDirectionStyle,\n getDimensionStyle,\n extractAutoLayoutProps,\n} from '@wavemaker-ai/app-rn-runtime/core/auto-layout.utils';\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 === 'row') {\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 === 'row' && 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 === 'row' ? [{\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 === 'row';\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 getFlatListData(groupData: any[], isHorizontal: boolean, props: WmListProps) {\n if (this._showSkeleton) {\n return [...getNumberOfEmptyObjects(this.props.numberofskeletonitems as number ?? 3)];\n }\n if (!groupData || isEmpty(groupData[0])) {\n return [];\n }\n if (isHorizontal && props.horizontalondemandenabled === false) {\n return groupData;\n }\n return groupData.slice(0, this.state.maxRecordsToShow);\n }\n\n private renderItem(item: any, index: number, props: WmListProps) {\n const cols = this.getNoOfColumns();\n const isHorizontal = props.direction === 'row';\n const isWrap = isHorizontal && props.wrap;\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 isWrap ? { minWidth: 0 } : null,\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 Platform.OS == 'web' && this.getListTemplateWidth() == \"fill\" ? {width: \"100%\"} : {}\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 isWrap ? { minWidth: 0 } : null,\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.iconurl || 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} iconurl={props.iconurl}></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 || props.loadingiconurl) ? (<WmIcon\n id={this.getTestId('loadingicon')}\n styles={this.styles.loadingIcon}\n iconclass={props.loadingicon}\n iconurl={props.loadingiconurl}\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 === 'column' && props.responsive) {\n const columns = getNumberOfColumnsFromResponsiveConfig(props.itemsperrow, undefined, props.fallback);\n return columns && columns > 0 ? columns : 1;\n } else if (props.direction === 'column' && !props.responsive) {\n if(props.itemsperrow.xs){\n return props.itemsperrow.xs;\n }\n }\n return 0;\n }\n\n private findListTemplateInChildren(nodes: WmComponentNode[] = this.componentNode.children): BaseComponent<any, any, any> | undefined {\n for (const node of nodes) {\n const instance = node.instance;\n if (instance?.defaultClass === LIST_TEMPLATE_DEFAULT_CLASS) {\n return instance;\n }\n const nested = this.findListTemplateInChildren(node.children);\n if (nested) {\n return nested;\n }\n }\n return undefined;\n }\n\n getListTemplateWidth(): any {\n const listTemplate = this.findListTemplateInChildren();\n return listTemplate?.props?.styles?.root?.width;\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 renderCustomCell = ({ children, style, ...props }: any) => {\n return (\n <View\n {...props}\n style={[\n style,\n {\n width: this.getListTemplateWidth() == \"fill\" ? \"100%\" : {},\n },\n ]}>\n {children}\n </View>\n );\n };\n\n private renderWithFlatList(props: WmListProps, isHorizontal = false) {\n const isWrap = isHorizontal && props.wrap;\n const hasExplicitAutoLayout =\n props.alignment !== undefined ||\n props.gap !== undefined ||\n props.columngap !== undefined ||\n Boolean(props.wrap);\n const listAutoLayoutProps = extractAutoLayoutProps(props) as AutoLayoutProps;\n listAutoLayoutProps.direction = isHorizontal ? 'row' : 'column';\n const listDirectionStyle = hasExplicitAutoLayout ? getDirectionStyle(listAutoLayoutProps) : null;\n const listContentStyle = hasExplicitAutoLayout ? getContentContainerStyle(listAutoLayoutProps) : null;\n const fullWidthStyle: ViewStyle = { width: '100%' };\n const userClass = (this.state.props.classname || '').trim();\n const cascadeRoot = userClass\n ? this.theme.getStyle(`${this.defaultClass} ${userClass}`).root\n : undefined;\n const listOuterStyle = this.theme.mergeStyle(\n cascadeRoot,\n this.styles.root,\n !isHorizontal ? fullWidthStyle : null\n );\n const groupStyle = [this.styles.group, !isHorizontal ? fullWidthStyle : null];\n const flatListStyle: ViewStyle | undefined = !isHorizontal ? fullWidthStyle : undefined;\n\n return (\n <View style={listOuterStyle}\n onLayout={e => this.onLayoutChange(e)}\n >\n {!isEmpty(this.state.groupedData) ? this.state.groupedData.map((v: any, i) => ((\n <View style={groupStyle} 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 CellRendererComponent={Platform.OS === 'web' ? this.renderCustomCell : undefined}\n testID={this.getTestId('flat_list')}\n style={flatListStyle}\n key={props.name + '_' + (isHorizontal ? 'H' : 'V') + props.itemsperrow.xs + (isWrap ? '_W' : '')}\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n scrollEnabled={isHorizontal && !isWrap}\n horizontal={isHorizontal && !isWrap}\n contentContainerStyle={[\n this.styles.listContainer,\n listDirectionStyle,\n listContentStyle,\n ]}\n data={this.getFlatListData(v.data, isHorizontal, props)}\n ListEmptyComponent={(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}\n {...(isHorizontal && !isWrap\n ? { showsHorizontalScrollIndicator: !props.hidehorizontalscrollbar }\n : !isWrap\n ? { numColumns: this.getNoOfColumns() }\n : {})}\n {...(!isWrap && 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.map((section: any) => ({\n ...section,\n data: isArray(section?.data)\n ? section.data.slice(0, this.state.maxRecordsToShow)\n : section?.data,\n }));\n }\n return [];\n }\n\n private renderWithSectionList(props: WmListProps, isHorizontal = false) {\n const hasExplicitAutoLayout =\n props.alignment !== undefined ||\n props.gap !== undefined ||\n props.columngap !== undefined ||\n Boolean(props.wrap);\n const listAutoLayoutProps = extractAutoLayoutProps(props) as AutoLayoutProps;\n listAutoLayoutProps.direction = isHorizontal ? 'row' : 'column';\n const listDirectionStyle = hasExplicitAutoLayout ? getDirectionStyle(listAutoLayoutProps) : null;\n const listContentStyle = hasExplicitAutoLayout ? getContentContainerStyle(listAutoLayoutProps) : null;\n\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={[\n this.styles.root,\n listDirectionStyle,\n listContentStyle,\n ]}\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 == 'row';\n\n const alProps = extractAutoLayoutProps(props, this.parent?.state?.props);\n const listDir = props.direction;\n if (listDir === 'row') {\n alProps.direction = 'row';\n } else {\n alProps.direction = 'column';\n }\n\n const hasAutoLayout = checkAutoLayout({ ...alProps, direction: undefined });\n\n const outerStyle: any[] = [isHorizontal ? null : { width: '100%' }];\n if (hasAutoLayout) {\n outerStyle.push(\n getDirectionStyle(alProps),\n getContentContainerStyle(alProps),\n getDimensionStyle(alProps, this.styles.root)\n );\n }\n\n return (\n <View\n style={outerStyle}\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":[]}
|
|
1
|
+
{"version":3,"names":["React","ActivityIndicator","SectionList","Text","View","FlatList","Dimensions","Platform","isArray","isEmpty","isNil","isNumber","BaseComponent","BaseComponentState","getGroupedData","getNumberOfEmptyObjects","isDefined","getNumberOfColumnsFromResponsiveConfig","Tappable","DefaultKeyExtractor","WmLabel","WmIcon","Swipeable","_viewPort","EVENTS","ViewPortEvents","WmListProps","DEFAULT_CLASS","LIST_TEMPLATE_DEFAULT_CLASS","BackgroundComponent","isAutoLayout","checkAutoLayout","getContentContainerStyle","getDirectionStyle","getDimensionStyle","extractAutoLayoutProps","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","children","style","_extends","getListTemplateWidth","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","_event$nativeEvent4","scrollPosition","nativeEvent","contentOffset","y","contentHeight","contentSize","height","viewportHeight","layoutMeasurement","threshold","isVisible","scrolledToEnd","scrollDelta","componentDidUpdate","prevProps","prevState","snapshot","triggeronrenderwhenhidden","showView","getDefaultStyles","theme","getStyle","defaultClass","getIndex","generateItemKey","itemkey","_showSkeleton","getKey","getFlatListData","groupData","_ref","numberofskeletonitems","horizontalondemandenabled","slice","renderItem","_this$styles$columnWr","_this$styles","cols","getNoOfColumns","isWrap","wrap","styles","skeleton","root","containerStyle","columnGap","columnWrapper","gap","isNaN","totalGap","availableWidth","Math","round","flex","shouldswipe","minWidth","itemclass","backgroundImage","image","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","getTestPropsForAction","disableTouchEffect","disabletoucheffect","onTap","onLongTap","onDoubleTap","display","flexDirection","paddingRight","marginRight","margin","itemContainer","OS","id","getTestId","iconclass","selectedIcon","renderLeftActions","renderRightActions","selecteditemicon","renderHeader","title","groupHeading","accessibilityRole","iconurl","subheading","heading","listIcon","caption","accessibilityrole","renderEmptyMessage","emptyMessage","renderLoadingIcon","loadingicon","loadingiconurl","loadingIcon","loadingdatamsg","color","text","responsive","columns","itemsperrow","fallback","xs","findListTemplateInChildren","nodes","componentNode","node","instance","nested","_listTemplate$props","listTemplate","onLayoutChange","e","renderWithFlatList","hasExplicitAutoLayout","alignment","columngap","Boolean","listAutoLayoutProps","listDirectionStyle","listContentStyle","fullWidthStyle","userClass","classname","trim","cascadeRoot","listOuterStyle","mergeStyle","groupStyle","flatListStyle","onLayout","v","i","ref","CellRendererComponent","renderCustomCell","testID","scrollEnabled","horizontal","contentContainerStyle","listContainer","ListEmptyComponent","itemInfo","showsHorizontalScrollIndicator","hidehorizontalscrollbar","numColumns","columnWrapperStyle","onDemandMessage","getCaption","getSectionListData","_ref2","section","renderWithSectionList","sections","renderSectionHeader","renderSectionFooter","renderWidget","_this$parent","alProps","parent","listDir","hasAutoLayout","outerStyle","handleLayout","showSpinner","_background"],"sources":["list.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ActivityIndicator, SectionList, Text, View, FlatList, LayoutChangeEvent, TouchableOpacity, Dimensions, ViewStyle, Platform } from 'react-native';\nimport { isArray, isEmpty, isNil, isNumber, round } from 'lodash-es';\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { getGroupedData, getNumberOfEmptyObjects, isDefined } from \"@wavemaker-ai/app-rn-runtime/core/utils\";\nimport { getNumberOfColumnsFromResponsiveConfig } from '@wavemaker-ai/app-rn-runtime/core/responsive.utils';\nimport { Tappable } from '@wavemaker-ai/app-rn-runtime/core/tappable.component';\nimport { DefaultKeyExtractor } from '@wavemaker-ai/app-rn-runtime/core/key.extractor';\nimport WmLabel from '@wavemaker-ai/app-rn-runtime/components/basic/label/label.component';\nimport WmIcon from '@wavemaker-ai/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-ai/app-rn-runtime/styles/theme';\nimport _viewPort, { EVENTS as ViewPortEvents } from '@wavemaker-ai/app-rn-runtime/core/viewport';\n\nimport WmListProps from './list.props';\nimport { DEFAULT_CLASS, WmListStyles } from './list.styles';\nimport { DEFAULT_CLASS as LIST_TEMPLATE_DEFAULT_CLASS } from './list-template/list-template.styles';\nimport { WmComponentNode } from '@wavemaker-ai/app-rn-runtime/core/wm-component-tree';\nimport { BackgroundComponent } from '@wavemaker-ai/app-rn-runtime/styles/background.component';\nimport {\n AutoLayoutProps,\n isAutoLayout as checkAutoLayout,\n getContentContainerStyle,\n getDirectionStyle,\n getDimensionStyle,\n extractAutoLayoutProps,\n} from '@wavemaker-ai/app-rn-runtime/core/auto-layout.utils';\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 === 'row') {\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 === 'row' && 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 === 'row' ? [{\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 if (scrollPosition < 0) {\n return;\n }\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 && event?.nativeEvent?.scrollDelta !== 0) {\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 === 'row';\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 getFlatListData(groupData: any[], isHorizontal: boolean, props: WmListProps) {\n if (this._showSkeleton) {\n return [...getNumberOfEmptyObjects(this.props.numberofskeletonitems as number ?? 3)];\n }\n if (!groupData || isEmpty(groupData[0])) {\n return [];\n }\n if (isHorizontal && props.horizontalondemandenabled === false) {\n return groupData;\n }\n return groupData.slice(0, this.state.maxRecordsToShow);\n }\n\n private renderItem(item: any, index: number, props: WmListProps) {\n const cols = this.getNoOfColumns();\n const isHorizontal = props.direction === 'row';\n const isWrap = isHorizontal && props.wrap;\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 isWrap ? { minWidth: 0 } : null,\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 Platform.OS == 'web' && this.getListTemplateWidth() == \"fill\" ? {width: \"100%\"} : {}\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 isWrap ? { minWidth: 0 } : null,\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.iconurl || 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} iconurl={props.iconurl}></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 || props.loadingiconurl) ? (<WmIcon\n id={this.getTestId('loadingicon')}\n styles={this.styles.loadingIcon}\n iconclass={props.loadingicon}\n iconurl={props.loadingiconurl}\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 === 'column' && props.responsive) {\n const columns = getNumberOfColumnsFromResponsiveConfig(props.itemsperrow, undefined, props.fallback);\n return columns && columns > 0 ? columns : 1;\n } else if (props.direction === 'column' && !props.responsive) {\n if(props.itemsperrow.xs){\n return props.itemsperrow.xs;\n }\n }\n return 0;\n }\n\n private findListTemplateInChildren(nodes: WmComponentNode[] = this.componentNode.children): BaseComponent<any, any, any> | undefined {\n for (const node of nodes) {\n const instance = node.instance;\n if (instance?.defaultClass === LIST_TEMPLATE_DEFAULT_CLASS) {\n return instance;\n }\n const nested = this.findListTemplateInChildren(node.children);\n if (nested) {\n return nested;\n }\n }\n return undefined;\n }\n\n getListTemplateWidth(): any {\n const listTemplate = this.findListTemplateInChildren();\n return listTemplate?.props?.styles?.root?.width;\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 renderCustomCell = ({ children, style, ...props }: any) => {\n return (\n <View\n {...props}\n style={[\n style,\n {\n width: this.getListTemplateWidth() == \"fill\" ? \"100%\" : {},\n },\n ]}>\n {children}\n </View>\n );\n };\n\n private renderWithFlatList(props: WmListProps, isHorizontal = false) {\n const isWrap = isHorizontal && props.wrap;\n const hasExplicitAutoLayout =\n props.alignment !== undefined ||\n props.gap !== undefined ||\n props.columngap !== undefined ||\n Boolean(props.wrap);\n const listAutoLayoutProps = extractAutoLayoutProps(props) as AutoLayoutProps;\n listAutoLayoutProps.direction = isHorizontal ? 'row' : 'column';\n const listDirectionStyle = hasExplicitAutoLayout ? getDirectionStyle(listAutoLayoutProps) : null;\n const listContentStyle = hasExplicitAutoLayout ? getContentContainerStyle(listAutoLayoutProps) : null;\n const fullWidthStyle: ViewStyle = { width: '100%' };\n const userClass = (this.state.props.classname || '').trim();\n const cascadeRoot = userClass\n ? this.theme.getStyle(`${this.defaultClass} ${userClass}`).root\n : undefined;\n const listOuterStyle = this.theme.mergeStyle(\n cascadeRoot,\n this.styles.root,\n !isHorizontal ? fullWidthStyle : null\n );\n const groupStyle = [this.styles.group, !isHorizontal ? fullWidthStyle : null];\n const flatListStyle: ViewStyle | undefined = !isHorizontal ? fullWidthStyle : undefined;\n\n return (\n <View style={listOuterStyle}\n onLayout={e => this.onLayoutChange(e)}\n >\n {!isEmpty(this.state.groupedData) ? this.state.groupedData.map((v: any, i) => ((\n <View style={groupStyle} 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 CellRendererComponent={Platform.OS === 'web' ? this.renderCustomCell : undefined}\n testID={this.getTestId('flat_list')}\n style={flatListStyle}\n key={props.name + '_' + (isHorizontal ? 'H' : 'V') + props.itemsperrow.xs + (isWrap ? '_W' : '')}\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n scrollEnabled={isHorizontal && !isWrap}\n horizontal={isHorizontal && !isWrap}\n contentContainerStyle={[\n this.styles.listContainer,\n listDirectionStyle,\n listContentStyle,\n ]}\n data={this.getFlatListData(v.data, isHorizontal, props)}\n ListEmptyComponent={(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}\n {...(isHorizontal && !isWrap\n ? { showsHorizontalScrollIndicator: !props.hidehorizontalscrollbar }\n : !isWrap\n ? { numColumns: this.getNoOfColumns() }\n : {})}\n {...(!isWrap && 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.map((section: any) => ({\n ...section,\n data: isArray(section?.data)\n ? section.data.slice(0, this.state.maxRecordsToShow)\n : section?.data,\n }));\n }\n return [];\n }\n\n private renderWithSectionList(props: WmListProps, isHorizontal = false) {\n const hasExplicitAutoLayout =\n props.alignment !== undefined ||\n props.gap !== undefined ||\n props.columngap !== undefined ||\n Boolean(props.wrap);\n const listAutoLayoutProps = extractAutoLayoutProps(props) as AutoLayoutProps;\n listAutoLayoutProps.direction = isHorizontal ? 'row' : 'column';\n const listDirectionStyle = hasExplicitAutoLayout ? getDirectionStyle(listAutoLayoutProps) : null;\n const listContentStyle = hasExplicitAutoLayout ? getContentContainerStyle(listAutoLayoutProps) : null;\n\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={[\n this.styles.root,\n listDirectionStyle,\n listContentStyle,\n ]}\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 == 'row';\n\n const alProps = extractAutoLayoutProps(props, this.parent?.state?.props);\n const listDir = props.direction;\n if (listDir === 'row') {\n alProps.direction = 'row';\n } else {\n alProps.direction = 'column';\n }\n\n const hasAutoLayout = checkAutoLayout({ ...alProps, direction: undefined });\n\n const outerStyle: any[] = [isHorizontal ? null : { width: '100%' }];\n if (hasAutoLayout) {\n outerStyle.push(\n getDirectionStyle(alProps),\n getContentContainerStyle(alProps),\n getDimensionStyle(alProps, this.styles.root)\n );\n }\n\n return (\n <View\n style={outerStyle}\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":[]}
|
|
@@ -57,7 +57,7 @@ export default class WmDialog extends BaseComponent {
|
|
|
57
57
|
o.modalStyle = this.styles.modal;
|
|
58
58
|
o.content = content;
|
|
59
59
|
o.contentStyle = this.styles.content;
|
|
60
|
-
o.isModal =
|
|
60
|
+
o.isModal = !this.state.props.modal;
|
|
61
61
|
o.centered = true;
|
|
62
62
|
o.animation = this.state.props.animation;
|
|
63
63
|
o.animationdelay = this.state.props.animationdelay || 0;
|