@wavemaker/app-rn-runtime 11.11.1-rc.6144 → 11.11.2-rc.211

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.
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","isEqual","isNil","get","find","cloneDeep","forEach","keys","WmFormFieldProps","DEFAULT_CLASS","PERFORMANCE_LOGGER","WmFormFieldState","constructor","args","_defineProperty","WmFormField","props","form","formScope","componentDidMount","_this$form","_this$form2","_this$form3","formwidget","formKey","formWidgets","name","registerFormFields","formFields","onFieldChangeEvt","$new","$old","isDefault","notifyChanges","updateState","datavalue","invokeEventCallback","undefined","validateFormField","updateDataOutput","call","observeOn","fields","field","formfield","f","proxy","notifyForFields","push","validate","setTimeout","getPromiseList","validators","arr","fn","promise","Function","bind","Promise","setAsyncValidators","_asyncValidatorFn","all","then","err","validationMsg","hasOwnProperty","messageKeys","toString","setInvalidState","setValidators","_cloneValidators","_syncValidators","obj","index","key","defaultValidatorMessages","value","propsObj","updateFormWidgetDataset","res","displayField","dataset","data","datafield","displayfield","state","msg","isValid","validationmessage","onPropertyChange","debug","applyDefaultValue","setPrimaryKey","setReadOnlyState","updateMode","_this$formwidget","readonly","_this$formwidget2","_this$_syncValidators","_this$formwidget3","errorType","errormsg","errorMessage","renderWidget","childrenWithProps","Children","map","renderFormFields","children","child","_child$props","cloneElement","maskchar","displayformat","invokeEvent","triggerValidation","onFieldChange","formRef","isdefault","defaultvalue","length","placeholder","createElement","style","styles","root","onLayout","event","handleLayout","_background","_extends","getTestPropsForLabel","errorMsg"],"sources":["form-field.component.tsx"],"sourcesContent":["import React from 'react';\nimport {Text, View} from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { widgetsWithUndefinedValue } from '@wavemaker/app-rn-runtime/core/utils';\nimport { isEqual, isNil, get, find, cloneDeep, forEach, keys } from 'lodash';\n\nimport WmFormFieldProps from './form-field.props';\nimport { DEFAULT_CLASS, WmFormFieldStyles } from './form-field.styles';\nimport {PERFORMANCE_LOGGER} from \"@wavemaker/app-rn-runtime/core/logger\";\n\nexport class WmFormFieldState extends BaseComponentState<WmFormFieldProps> {\n isValid = true;\n}\n\nexport default class WmFormField extends BaseComponent<WmFormFieldProps, WmFormFieldState, WmFormFieldStyles> {\n public form: any;\n public formwidget: any;\n public _syncValidators: any;\n public defaultValidatorMessages: any = [];\n private notifyForFields: any = [];\n private _asyncValidatorFn: any;\n constructor(props: WmFormFieldProps) {\n super(props, DEFAULT_CLASS, new WmFormFieldProps(), new WmFormFieldState());\n if (!this.form) {\n this.form = props.formScope && props.formScope();\n }\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.formwidget = (this.props.formKey && this.form?.formWidgets[this.props.formKey])\n || (this.props.name && this.form?.formWidgets[this.props.name]);\n this.form?.registerFormFields(this.form.formFields, this.form.formWidgets);\n }\n\n onFieldChangeEvt(name: string, $new: any, $old: any, isDefault: boolean) {\n this.notifyChanges();\n if (!isEqual($old, $new)) {\n this.updateState({ props: { datavalue: $new }} as WmFormFieldState, () => {\n !isDefault && this.invokeEventCallback('onChange', [undefined, this, $new, $old]);\n this.validateFormField();\n });\n if (this.form) {\n this.form.updateDataOutput.call(this.form, get(this.props, 'formKey', this.props.name), $new);\n }\n }\n }\n\n // Registers observer of validation fields\n observeOn(fields: any) {\n forEach(fields, (field) => {\n const formfield = find(this.form.formFields, (f) => f.proxy.name === field);\n if (formfield) {\n formfield.notifyForFields.push(this);\n }\n });\n }\n\n // Notifies changes to observing validation fields\n notifyChanges() {\n forEach(this.notifyForFields, (field) => {\n field.formwidget.validate(field.formwidget.datavalue);\n setTimeout(() => field.validateFormField());\n });\n }\n\n getPromiseList(validators: any) {\n const arr: any = [];\n forEach(validators, (fn) => {\n let promise = fn;\n if (fn instanceof Function && fn.bind) {\n promise = fn(this.formwidget.proxy, this.form);\n }\n if (promise instanceof Promise) {\n arr.push(promise);\n }\n });\n return arr;\n }\n\n // this method sets the asyncValidation on the form field. Assigns validationmessages from the returned response\n setAsyncValidators(validators: any) {\n this._asyncValidatorFn = () => {\n return Promise.all(this.getPromiseList(validators)).then(() => {\n return null;\n }, err => {\n let validationMsg: string;\n // if err obj has validationMessage key, then set validationMessage using this value\n // else return the value of the first key in the err object as validation message.\n if (err.hasOwnProperty('errorMessage')) {\n validationMsg = get(err, 'errorMessage');\n } else {\n const messageKeys = keys(err);\n validationMsg = (err[messageKeys[0]]).toString();\n }\n this.setInvalidState(validationMsg);\n return err;\n })\n };\n }\n\n // sets the default validation on the form field\n setValidators(validators: any) {\n let _cloneValidators = cloneDeep(validators);\n this._syncValidators = [];\n forEach(_cloneValidators, (obj, index) => {\n // custom validation is bound to function.\n if (obj && obj instanceof Function) {\n // passing formwidget and form as arguments to the obj (i.e. validator function)\n _cloneValidators[index] = obj.bind(undefined, this.formwidget.proxy, this.form);\n this._syncValidators.push(_cloneValidators[index]);\n } else {\n // checks for default validator like required, maxchars etc.\n const key = get(obj, 'type');\n this.defaultValidatorMessages[key] = get(obj, 'errorMessage');\n const value = get(obj, 'validator');\n let propsObj: any = {\n props: {}\n };\n propsObj.props[key] = value;\n key === 'required' && this.updateState(propsObj as WmFormFieldState);\n this.formwidget.updateState(propsObj as WmFormFieldState);\n }\n });\n }\n\n updateFormWidgetDataset(res: any, displayField: string) {\n this.formwidget.updateState({\n props: {\n dataset: res.data,\n datafield: 'All Fields',\n displayfield: this.formwidget.state.props.displayfield || displayField,\n }\n } as WmFormFieldState);\n }\n\n setInvalidState(msg: string) {\n this.updateState({\n isValid: false,\n props: {\n validationmessage: msg\n }\n } as WmFormFieldState)\n this.formwidget.updateState({\n isValid: false,\n props: {\n validationmessage: msg\n }\n } as WmFormFieldState);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'datavalue':\n if (!isEqual($old, $new)) {\n PERFORMANCE_LOGGER.debug(`form field ${this.props.name} changed from ${$old} to ${$new}`);\n }\n break;\n case 'defaultvalue':\n if (!isEqual($old, $new)) {\n get(this, 'form') && this.form.applyDefaultValue(this);\n }\n break;\n case 'primary-key':\n if ($new) {\n this.form.setPrimaryKey(this.props.name);\n }\n break;\n }\n }\n\n setReadOnlyState(updateMode: any) {\n this.formwidget?.updateState({\n props: {\n readonly: !updateMode,\n }\n } as WmFormFieldState);\n }\n\n validateFormField() {\n if (this.formwidget?.state.isValid === false) {\n const errorType = this.formwidget?.state?.errorType;\n let validationMsg = get(this.defaultValidatorMessages, errorType);\n if (validationMsg) {\n if (validationMsg instanceof Function) {\n // passing formwidget and form as arguments to the errorMessage function.\n validationMsg = validationMsg(this.formwidget.proxy, this.form);\n }\n this.updateState({ props: {\n validationmessage: validationMsg\n }} as WmFormFieldState);\n }\n this.updateState({ isValid: false} as WmFormFieldState);\n } else {\n this.updateState({ isValid: true } as WmFormFieldState);\n }\n\n this._syncValidators?.forEach((fn: any) => {\n const errormsg = fn();\n let validationMsg = errormsg?.errorMessage;\n if (validationMsg) {\n if (validationMsg instanceof Function) {\n // passing formwidget and form as arguments to the errorMessage function.\n validationMsg = validationMsg(this.formwidget.proxy, this.form);\n }\n this.setInvalidState(validationMsg);\n }\n })\n\n this._asyncValidatorFn && this._asyncValidatorFn();\n\n }\n\n get value(){\n return this.state.props.datavalue;\n }\n\n renderWidget(props: WmFormFieldProps) {\n var childrenWithProps = React.Children.map(props.renderFormFields(this.proxy).props.children, (child) => {\n return React.cloneElement(child, {\n datavalue: props.datavalue || child?.props?.datavalue,\n value: this.value,\n isValid: this.state.isValid,\n maskchar: props.maskchar,\n displayformat: props.displayformat,\n invokeEvent: this.invokeEventCallback.bind(this),\n triggerValidation: this.validateFormField.bind(this),\n onFieldChange: this.onFieldChangeEvt.bind(this),\n formRef: props.formRef,\n isdefault: props.defaultvalue && props.defaultvalue.length > 0 ? true : false, \n ...(!isNil(props?.placeholder) ? { placeholder: props.placeholder } : {})\n });\n });\n return (\n <View \n style={this.styles.root}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {childrenWithProps}\n {this.state.isValid === false && <Text {...this.getTestPropsForLabel('error_msg')} style={this.styles.errorMsg}>{props.validationmessage}</Text>}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","isEqual","isNil","get","find","cloneDeep","forEach","keys","WmFormFieldProps","DEFAULT_CLASS","PERFORMANCE_LOGGER","WmFormFieldState","constructor","args","_defineProperty","WmFormField","props","form","formScope","componentDidMount","_this$form","_this$form2","_this$form3","formwidget","formKey","formWidgets","name","registerFormFields","formFields","onFieldChangeEvt","$new","$old","isDefault","notifyChanges","updateState","datavalue","invokeEventCallback","undefined","validateFormField","updateDataOutput","call","observeOn","fields","field","formfield","f","proxy","notifyForFields","push","validate","setTimeout","getPromiseList","validators","arr","fn","promise","Function","bind","Promise","setAsyncValidators","_asyncValidatorFn","all","then","err","validationMsg","hasOwnProperty","messageKeys","toString","setInvalidState","setValidators","_cloneValidators","_syncValidators","obj","index","key","defaultValidatorMessages","value","propsObj","updateFormWidgetDataset","res","displayField","dataset","data","datafield","displayfield","state","msg","isValid","validationmessage","onPropertyChange","debug","applyDefaultValue","setPrimaryKey","setReadOnlyState","updateMode","_this$formwidget","readonly","_this$formwidget2","_this$_syncValidators","_this$formwidget3","errorType","errormsg","errorMessage","renderWidget","childrenWithProps","Children","map","renderFormFields","children","child","_child$props","cloneElement","maskchar","displayformat","autocomplete","invokeEvent","triggerValidation","onFieldChange","formRef","isdefault","defaultvalue","length","placeholder","createElement","style","styles","root","onLayout","event","handleLayout","_background","_extends","getTestPropsForLabel","errorMsg"],"sources":["form-field.component.tsx"],"sourcesContent":["import React from 'react';\nimport {Text, View} from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { widgetsWithUndefinedValue } from '@wavemaker/app-rn-runtime/core/utils';\nimport { isEqual, isNil, get, find, cloneDeep, forEach, keys } from 'lodash';\n\nimport WmFormFieldProps from './form-field.props';\nimport { DEFAULT_CLASS, WmFormFieldStyles } from './form-field.styles';\nimport {PERFORMANCE_LOGGER} from \"@wavemaker/app-rn-runtime/core/logger\";\n\nexport class WmFormFieldState extends BaseComponentState<WmFormFieldProps> {\n isValid = true;\n}\n\nexport default class WmFormField extends BaseComponent<WmFormFieldProps, WmFormFieldState, WmFormFieldStyles> {\n public form: any;\n public formwidget: any;\n public _syncValidators: any;\n public defaultValidatorMessages: any = [];\n private notifyForFields: any = [];\n private _asyncValidatorFn: any;\n constructor(props: WmFormFieldProps) {\n super(props, DEFAULT_CLASS, new WmFormFieldProps(), new WmFormFieldState());\n if (!this.form) {\n this.form = props.formScope && props.formScope();\n }\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.formwidget = (this.props.formKey && this.form?.formWidgets[this.props.formKey])\n || (this.props.name && this.form?.formWidgets[this.props.name]);\n this.form?.registerFormFields(this.form.formFields, this.form.formWidgets);\n }\n\n onFieldChangeEvt(name: string, $new: any, $old: any, isDefault: boolean) {\n this.notifyChanges();\n if (!isEqual($old, $new)) {\n this.updateState({ props: { datavalue: $new }} as WmFormFieldState, () => {\n !isDefault && this.invokeEventCallback('onChange', [undefined, this, $new, $old]);\n this.validateFormField();\n });\n if (this.form) {\n this.form.updateDataOutput.call(this.form, get(this.props, 'formKey', this.props.name), $new);\n }\n }\n }\n\n // Registers observer of validation fields\n observeOn(fields: any) {\n forEach(fields, (field) => {\n const formfield = find(this.form.formFields, (f) => f.proxy.name === field);\n if (formfield) {\n formfield.notifyForFields.push(this);\n }\n });\n }\n\n // Notifies changes to observing validation fields\n notifyChanges() {\n forEach(this.notifyForFields, (field) => {\n field.formwidget.validate(field.formwidget.datavalue);\n setTimeout(() => field.validateFormField());\n });\n }\n\n getPromiseList(validators: any) {\n const arr: any = [];\n forEach(validators, (fn) => {\n let promise = fn;\n if (fn instanceof Function && fn.bind) {\n promise = fn(this.formwidget.proxy, this.form);\n }\n if (promise instanceof Promise) {\n arr.push(promise);\n }\n });\n return arr;\n }\n\n // this method sets the asyncValidation on the form field. Assigns validationmessages from the returned response\n setAsyncValidators(validators: any) {\n this._asyncValidatorFn = () => {\n return Promise.all(this.getPromiseList(validators)).then(() => {\n return null;\n }, err => {\n let validationMsg: string;\n // if err obj has validationMessage key, then set validationMessage using this value\n // else return the value of the first key in the err object as validation message.\n if (err.hasOwnProperty('errorMessage')) {\n validationMsg = get(err, 'errorMessage');\n } else {\n const messageKeys = keys(err);\n validationMsg = (err[messageKeys[0]]).toString();\n }\n this.setInvalidState(validationMsg);\n return err;\n })\n };\n }\n\n // sets the default validation on the form field\n setValidators(validators: any) {\n let _cloneValidators = cloneDeep(validators);\n this._syncValidators = [];\n forEach(_cloneValidators, (obj, index) => {\n // custom validation is bound to function.\n if (obj && obj instanceof Function) {\n // passing formwidget and form as arguments to the obj (i.e. validator function)\n _cloneValidators[index] = obj.bind(undefined, this.formwidget.proxy, this.form);\n this._syncValidators.push(_cloneValidators[index]);\n } else {\n // checks for default validator like required, maxchars etc.\n const key = get(obj, 'type');\n this.defaultValidatorMessages[key] = get(obj, 'errorMessage');\n const value = get(obj, 'validator');\n let propsObj: any = {\n props: {}\n };\n propsObj.props[key] = value;\n key === 'required' && this.updateState(propsObj as WmFormFieldState);\n this.formwidget.updateState(propsObj as WmFormFieldState);\n }\n });\n }\n\n updateFormWidgetDataset(res: any, displayField: string) {\n this.formwidget.updateState({\n props: {\n dataset: res.data,\n datafield: 'All Fields',\n displayfield: this.formwidget.state.props.displayfield || displayField,\n }\n } as WmFormFieldState);\n }\n\n setInvalidState(msg: string) {\n this.updateState({\n isValid: false,\n props: {\n validationmessage: msg\n }\n } as WmFormFieldState)\n this.formwidget.updateState({\n isValid: false,\n props: {\n validationmessage: msg\n }\n } as WmFormFieldState);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'datavalue':\n if (!isEqual($old, $new)) {\n PERFORMANCE_LOGGER.debug(`form field ${this.props.name} changed from ${$old} to ${$new}`);\n }\n break;\n case 'defaultvalue':\n if (!isEqual($old, $new)) {\n get(this, 'form') && this.form.applyDefaultValue(this);\n }\n break;\n case 'primary-key':\n if ($new) {\n this.form.setPrimaryKey(this.props.name);\n }\n break;\n }\n }\n\n setReadOnlyState(updateMode: any) {\n this.formwidget?.updateState({\n props: {\n readonly: !updateMode,\n }\n } as WmFormFieldState);\n }\n\n validateFormField() {\n if (this.formwidget?.state.isValid === false) {\n const errorType = this.formwidget?.state?.errorType;\n let validationMsg = get(this.defaultValidatorMessages, errorType);\n if (validationMsg) {\n if (validationMsg instanceof Function) {\n // passing formwidget and form as arguments to the errorMessage function.\n validationMsg = validationMsg(this.formwidget.proxy, this.form);\n }\n this.updateState({ props: {\n validationmessage: validationMsg\n }} as WmFormFieldState);\n }\n this.updateState({ isValid: false} as WmFormFieldState);\n } else {\n this.updateState({ isValid: true } as WmFormFieldState);\n }\n\n this._syncValidators?.forEach((fn: any) => {\n const errormsg = fn();\n let validationMsg = errormsg?.errorMessage;\n if (validationMsg) {\n if (validationMsg instanceof Function) {\n // passing formwidget and form as arguments to the errorMessage function.\n validationMsg = validationMsg(this.formwidget.proxy, this.form);\n }\n this.setInvalidState(validationMsg);\n }\n })\n\n this._asyncValidatorFn && this._asyncValidatorFn();\n\n }\n\n get value(){\n return this.state.props.datavalue;\n }\n\n renderWidget(props: WmFormFieldProps) {\n var childrenWithProps = React.Children.map(props.renderFormFields(this.proxy).props.children, (child) => {\n return React.cloneElement(child, {\n datavalue: props.datavalue || child?.props?.datavalue,\n value: this.value,\n isValid: this.state.isValid,\n maskchar: props.maskchar,\n displayformat: props.displayformat,\n autocomplete: props.autocomplete,\n invokeEvent: this.invokeEventCallback.bind(this),\n triggerValidation: this.validateFormField.bind(this),\n onFieldChange: this.onFieldChangeEvt.bind(this),\n formRef: props.formRef,\n isdefault: props.defaultvalue && props.defaultvalue.length > 0 ? true : false, \n ...(!isNil(props?.placeholder) ? { placeholder: props.placeholder } : {})\n });\n });\n return (\n <View \n style={this.styles.root}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {childrenWithProps}\n {this.state.isValid === false && <Text {...this.getTestPropsForLabel('error_msg')} style={this.styles.errorMsg}>{props.validationmessage}</Text>}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -29,6 +29,7 @@ export default class WmFormFieldProps extends BaseProps {
29
29
  _defineProperty(this, "formScope", () => {});
30
30
  _defineProperty(this, "maskchar", null);
31
31
  _defineProperty(this, "displayformat", null);
32
+ _defineProperty(this, "autocomplete", "username");
32
33
  }
33
34
  }
34
35
  //# sourceMappingURL=form-field.props.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","WmFormFieldProps","constructor","args","_defineProperty"],"sources":["form-field.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmFormFieldProps extends BaseProps {\n children: any;\n formRef: any;\n placeholder?: string;\n defaultvalue: any;\n generator: string = '';\n datavalue: any;\n onChange: any;\n renderFormFields: any;\n validationmessage: any;\n required: Boolean = false;\n primaryKey: Boolean = false;\n isRelated: any;\n widget: any;\n onFieldChange: any;\n formKey: string = '';\n dataset: any;\n displayfield: any;\n datafield: string = '';\n isDataSetBound: boolean = false;\n readonly: boolean = false;\n onValidate?: Function;\n formScope?: Function = () => {};\n maskchar: string = null as any;\n displayformat: string = null as any;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,gBAAgB,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,oBAKlC,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,mBAKF,KAAK;IAAAA,eAAA,qBACH,KAAK;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,kBAIT,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,oBAGA,EAAE;IAAAA,eAAA,yBACI,KAAK;IAAAA,eAAA,mBACX,KAAK;IAAAA,eAAA;IAAAA,eAAA,oBAEF,MAAM,CAAC,CAAC;IAAAA,eAAA,mBACZ,IAAI;IAAAA,eAAA,wBACC,IAAI;EAAA;AAC9B","ignoreList":[]}
1
+ {"version":3,"names":["BaseProps","WmFormFieldProps","constructor","args","_defineProperty"],"sources":["form-field.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmFormFieldProps extends BaseProps {\n children: any;\n formRef: any;\n placeholder?: string;\n defaultvalue: any;\n generator: string = '';\n datavalue: any;\n onChange: any;\n renderFormFields: any;\n validationmessage: any;\n required: Boolean = false;\n primaryKey: Boolean = false;\n isRelated: any;\n widget: any;\n onFieldChange: any;\n formKey: string = '';\n dataset: any;\n displayfield: any;\n datafield: string = '';\n isDataSetBound: boolean = false;\n readonly: boolean = false;\n onValidate?: Function;\n formScope?: Function = () => {};\n maskchar: string = null as any;\n displayformat: string = null as any;\n autocomplete: string = \"username\";\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,gBAAgB,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,oBAKlC,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,mBAKF,KAAK;IAAAA,eAAA,qBACH,KAAK;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,kBAIT,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,oBAGA,EAAE;IAAAA,eAAA,yBACI,KAAK;IAAAA,eAAA,mBACX,KAAK;IAAAA,eAAA;IAAAA,eAAA,oBAEF,MAAM,CAAC,CAAC;IAAAA,eAAA,mBACZ,IAAI;IAAAA,eAAA,wBACC,IAAI;IAAAA,eAAA,uBACL,UAAU;EAAA;AACnC","ignoreList":[]}
@@ -394,7 +394,7 @@ export default class WmList extends BaseComponent {
394
394
  width: round(100 / cols) + "%",
395
395
  flex: null
396
396
  } : {};
397
- return index < this.state.maxRecordsToShow || isHorizontal ? !props.shouldswipe ? /*#__PURE__*/React.createElement(View, {
397
+ return index < this.state.maxRecordsToShow || isHorizontal && this.state.props.horizontalondemandenabled === false ? !props.shouldswipe ? /*#__PURE__*/React.createElement(View, {
398
398
  style: containerStyle
399
399
  }, /*#__PURE__*/React.createElement(View, {
400
400
  style: [styles, props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null, this.isSelected(item) ? this.styles.selectedItem : {}]
@@ -1 +1 @@
1
- {"version":3,"names":["React","ActivityIndicator","SectionList","Text","View","FlatList","isArray","isEmpty","isNil","isNumber","round","BaseComponent","BaseComponentState","getGroupedData","getNumberOfEmptyObjects","isDefined","Tappable","DefaultKeyExtractor","WmLabel","WmIcon","Swipeable","WmListProps","DEFAULT_CLASS","BackgroundComponent","WmListState","constructor","args","_defineProperty","WmList","props","leftActionTemplate","createElement","Fragment","getTemplate","rightActionTemplate","item","dataset","state","onSelect","index","indexOf","multiselect","selectedItems","length","updateState","selecteditem","selectedindex","groupKey","itemIndex","refKey","flatListRefs","scrollToIndex","animated","viewPosition","isHorizontal","vData","nodatamessage","ondemandmessage","hasMoreData","maxRecordsToShow","pagesize","isSelected","$item","selectedItem","$index","$event","eventName","disableitem","selectionlimit","push","invokeEventCallback","splice","proxy","selectedItemWidgets","itemWidgets","direction","_this$state$groupedDa","groupedData","forEach","group","data","includes","key","Promise","resolve","scrollToItem","loadDataOnDemand","navigation","loadData","loadingData","setTimeout","$list","loadingdata","getNextPageData","currentPage","then","last","catch","err","console","error","selectFirstItem","initialized","groupby","clear","getItem","deselect","selectedItemIndex","getWidgets","widgetname","map","filter","widget","undefined","deselectAll","setGroupData","items","dataItems","match","orderby","dateformat","_this$keyExtractor","keyExtractor","onPropertyChange","name","$new","$old","orderbyData","_this$keyExtractor2","_this$keyExtractor3","selectfirstitem","pop","selectItem","componentDidMount","_props$dataset","subscribe","event","scrollPosition","nativeEvent","contentOffset","y","layoutMeasurement","height","endThreshold","componentDidUpdate","prevProps","prevState","snapshot","triggeronrenderwhenhidden","showView","getDefaultStyles","theme","getStyle","defaultClass","getIndex","generateItemKey","itemkey","_showSkeleton","getKey","renderItem","cols","getNoOfColumns","styles","skeleton","root","containerStyle","width","flex","shouldswipe","style","itemclass","backgroundImage","image","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","_extends","getTestPropsForAction","disableTouchEffect","disabletoucheffect","onTap","onLongTap","onDoubleTap","display","flexDirection","paddingRight","marginRight","margin","itemContainer","id","getTestId","iconclass","selectedIcon","renderLeftActions","renderRightActions","selecteditemicon","renderHeader","title","groupHeading","accessibilityRole","subheading","heading","listIcon","caption","accessibilityrole","renderEmptyMessage","emptyMessage","renderLoadingIcon","loadingicon","loadingIcon","loadingdatamsg","color","text","itemsperrow","xs","onLayoutChange","e","l","layout","renderWithFlatList","onLayout","v","i","_ref","ref","testID","scrollEnabled","horizontal","numberofskeletonitems","ListEmptyComponent","itemInfo","showsHorizontalScrollIndicator","hidehorizontalscrollbar","numColumns","onDemandMessage","getCaption","getSectionListData","_ref2","renderWithSectionList","contentContainerStyle","sections","renderSectionHeader","section","renderSectionFooter","renderWidget","handleLayout","_background"],"sources":["list.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ActivityIndicator, SectionList, Text, View, FlatList, LayoutChangeEvent, TouchableOpacity } from 'react-native';\nimport { isArray, isEmpty, isNil, isNumber, round } from 'lodash-es';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { getGroupedData, getNumberOfEmptyObjects, isDefined } from \"@wavemaker/app-rn-runtime/core/utils\";\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { DefaultKeyExtractor } from '@wavemaker/app-rn-runtime/core/key.extractor';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { Swipeable } from 'react-native-gesture-handler';\nimport WmListActionTemplate from './list-action-template/list-action-template.component';\n\nimport WmListProps from './list.props';\nimport { DEFAULT_CLASS, WmListStyles } from './list.styles';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\n\n\nexport class WmListState extends BaseComponentState<WmListProps> {\n public selectedindex: any;\n groupedData: Array<any> = [];\n currentPage = 1;\n maxRecordsToShow = 20;\n loadingData = false;\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\n constructor(props: WmListProps) {\n super(props, DEFAULT_CLASS, new WmListProps(), new WmListState());\n this.updateState({\n maxRecordsToShow: this.state.props.pagesize\n } as WmListState);\n }\n\n private isSelected($item: any) {\n const selectedItem = this.state.props.selecteditem;\n if (isArray(selectedItem)) {\n return selectedItem.indexOf($item) >= 0;\n }\n return selectedItem === $item;\n }\n\n private async onSelect($item: any, $index: number | string, $event?: any) {\n const props = this.state.props;\n let selectedItem = null as any;\n let eventName = 'onSelect';\n if (props.disableitem !== true\n && (typeof props.disableitem !== 'function' || !props.disableitem($item, $index))) {\n if (props.multiselect) {\n selectedItem = [...(props.selecteditem || [])];\n const index = selectedItem.indexOf($item);\n if (index < 0) {\n if ((!props.selectionlimit)\n || props.selectionlimit < 0\n || selectedItem.length < props.selectionlimit) {\n selectedItem.push($item);\n } else {\n this.invokeEventCallback('onSelectionlimitexceed', [null, this]);\n }\n } else {\n selectedItem.splice(index, 1);\n eventName = 'onDeselect';\n }\n } else {\n this.state.props.selecteditem && this.invokeEventCallback('onDeselect', [this.proxy, this.state.props.selecteditem]);\n selectedItem = $item;\n }\n this.selectedItems = selectedItem;\n this.selectedItemWidgets = this.itemWidgets[$index as number];\n let groupKey: string | null = null;\n\n if (props.direction === 'horizontal') {\n this.state.groupedData?.forEach((group) => {\n if (group.data.includes($item)) {\n groupKey = group.key;\n }\n });\n }\n\n return new Promise(resolve => {\n this.updateState({\n props: { selecteditem: selectedItem },\n selectedindex: $index\n } as WmListState, () => {\n if (props.direction === 'horizontal') {\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 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 } else {\n this.hasMoreData = false;\n }\n }).catch((err) => {\n console.error(err);\n }).then(() => {\n setTimeout(() => {\n $list.loadingdata = false;\n }, 1000);\n });\n }\n }\n\n private selectFirstItem() {\n const props = this.state.props;\n if (this.initialized\n && props.dataset\n && props.dataset.length) {\n const index = props.groupby ? '00' : 0;\n this.onSelect(props.dataset[0], index);\n }\n }\n\n clear() {\n this.updateState({\n groupedData: {},\n } as WmListState);\n }\n\n selectItem = (item: any) => {\n const dataset = this.state.props.dataset;\n if (isNumber(item)) {\n this.onSelect(dataset[item], item);\n }\n else {\n let index = dataset.indexOf(item);\n this.onSelect(dataset[index], index);\n }\n }\n\n 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 deselect(item: any) {\n const props = this.state.props;\n let selectedItem = null as any;\n let index = isNumber(item) ? item : props.dataset.indexOf(item);\n if (props.multiselect && index >= 0) {\n selectedItem = [...(props.selecteditem || [])];\n let selectedItemIndex = selectedItem.indexOf(props.dataset[index])\n if (selectedItemIndex >= 0) {\n selectedItem.splice(selectedItemIndex, 1);\n }\n }\n else {\n if (props.selecteditem === props.dataset[index]) {\n selectedItem = null;\n }\n }\n this.updateState({\n props: { selecteditem: selectedItem },\n\n } as WmListState, () => {\n this.invokeEventCallback('onDeselect', [this.proxy, item]);\n });\n }\n\n getWidgets(widgetname: string, index: number) {\n if (index >= 0 && index < this.itemWidgets.length) {\n return this.itemWidgets[index][widgetname]\n }\n else {\n return this.itemWidgets.map(item => item[widgetname]).filter(widget => widget !== undefined);\n }\n }\n\n selectAll = () => {\n const props = this.state.props;\n const dataset = props.dataset;\n if (!props.multiselect || !isArray(dataset) || dataset.length === 0) {\n return;\n }\n const selectedItems = [...dataset];\n \n this.updateState({\n props: { selecteditem: selectedItems },\n selectedindex: -1\n } as WmListState );\n } \n\n private deselectAll() {\n this.updateState({\n props: { selecteditem: null },\n selectedindex: -1\n } as WmListState);\n }\n\n setGroupData(items: any) {\n const dataItems = items;\n const props = this.state.props;\n if (props.groupby) {\n const groupedData = dataItems && getGroupedData(dataItems, props.groupby, props.match, props.orderby, props.dateformat, this);\n this.updateState({\n groupedData: groupedData\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n }\n\n public onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n switch (name) {\n case 'selectfirstitem':\n if ($new) {\n this.selectFirstItem();\n }\n break;\n case 'dataset':\n if (this.state.props.groupby) {\n this.setGroupData($new);\n } else {\n if (!($old && $old.length)\n && $new && $new.length\n && this.loadDataOnDemand) {\n this.updateState({\n props: {\n dataset: [...$new]\n }\n } as WmListState);\n }\n const data = isArray($new) ? $new : (!isEmpty($new) && isDefined($new) ? [$new] : []);\n if (props.orderby) {\n const orderbyData = data && getGroupedData(data, props.groupby, props.match, props.orderby, props.dateformat, this);\n this.updateState({\n groupedData: (orderbyData[0] ? [{\n key: 'key',\n data: orderbyData[0].data\n }] : [])\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n } else {\n this.updateState({\n groupedData: (data[0] || props.direction === 'horizontal' ? [{\n key: 'key',\n data: data\n }] : [])\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n }\n this.itemWidgets = [];\n if (props.selectfirstitem) {\n this.selectFirstItem();\n } else {\n this.deselectAll();\n }\n break;\n case 'groupby':\n case 'match':\n this.setGroupData(this.state.props.dataset);\n break;\n case 'multiselect':\n if ($new) {\n if (!isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem ?\n [this.state.props.selecteditem] : [];\n }\n } else if (isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem.pop();\n }\n break;\n case 'loadingdata':\n this.updateState({\n loadingData: $new && this.state.loadingData\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 + event.nativeEvent.layoutMeasurement.height;\n if (scrollPosition > this.endThreshold && this.state.props.direction === 'vertical') {\n this.loadData();\n }\n });\n super.componentDidMount();\n }\n\n componentDidUpdate(prevProps: WmListProps, prevState: WmListState, snapshot?: any) {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n if (prevProps.triggeronrenderwhenhidden === true || this.showView()) {\n this.invokeEventCallback('onRender', [this, this.state.props.dataset]);\n }\n }\n\n getDefaultStyles() {\n const isHorizontal = this.state.props.direction === 'horizontal';\n return this.theme.getStyle(`${this.defaultClass} ${isHorizontal ? 'app-horizontal-list' : 'app-vertical-list'}`);\n }\n\n getIndex(item: any) {\n return this.state.props.dataset.indexOf(item);\n }\n\n private generateItemKey(item: any, index: number, props: WmListProps) {\n if (props.itemkey && item && !this._showSkeleton) {\n return props.itemkey(item, index);\n }\n return 'list_item_' + this.keyExtractor.getKey(item, true);\n }\n\n private renderItem(item: any, index: number, props: WmListProps) {\n const cols = this.getNoOfColumns();\n const isHorizontal = (props.direction === 'horizontal');\n \n const styles = this._showSkeleton ? {\n ...this.styles.item,\n ...this.styles.skeleton.root\n } : this.styles.item as any\n\n const containerStyle = cols ? { width: round(100/cols) + \"%\" , flex: null} : {};\n\n return (index < this.state.maxRecordsToShow || isHorizontal) ? \n !props.shouldswipe ? (\n <View style={containerStyle as any}>\n <View style={[\n styles,\n props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null,\n this.isSelected(item) ? this.styles.selectedItem : {}]}>\n {styles.backgroundImage ? (\n <BackgroundComponent\n image={styles.backgroundImage}\n position={styles.backgroundPosition || 'center'}\n size={styles.backgroundSize || 'cover'}\n repeat={styles.backgroundRepeat || 'no-repeat'}\n resizeMode={styles.backgroundResizeMode || 'cover'}\n style={{ borderRadius: this.styles.item.borderRadius }}\n />\n ) : null}\n <Tappable\n {...this.getTestPropsForAction(`item${index}`)}\n disableTouchEffect={this.state.props.disabletoucheffect}\n onTap={($event) => this.onSelect(item, index, $event)}\n onLongTap={() => this.invokeEventCallback('onLongtap', [null, this.proxy])}\n onDoubleTap={() => this.invokeEventCallback('onDoubletap', [null, this.proxy])}\n styles={\n [{display: 'flex', flexDirection : 'row'},\n cols ? {\n width: '100%'\n } : null,\n (cols && cols > 1) || isHorizontal ? {\n paddingRight: (isNil(this.styles.item.marginRight)\n ? this.styles.item.margin : this.styles.item.marginRight) || 4\n } : null,\n this.styles.itemContainer\n ]\n }>\n {props.renderItem(item, index, this)}\n {this.isSelected(item) ? (\n <WmIcon id={this.getTestId('icon' + index)} iconclass='wi wi-check-circle' styles={this.styles.selectedIcon} />\n ) : null}\n </Tappable>\n </View>\n </View>\n ) :\n (\n <Swipeable\n renderLeftActions={() => this.renderLeftActions()}\n renderRightActions={() => this.renderRightActions()} containerStyle={containerStyle as any}>\n <View style={[\n styles,\n props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null,\n this.isSelected(item) ? this.styles.selectedItem : {}]}>\n {styles.backgroundImage ? (\n <BackgroundComponent\n image={styles.backgroundImage}\n position={styles.backgroundPosition || 'center'}\n size={styles.backgroundSize || 'cover'}\n repeat={styles.backgroundRepeat || 'no-repeat'}\n resizeMode={styles.backgroundResizeMode || 'cover'}\n style={{ borderRadius: this.styles.item.borderRadius }}\n />\n ) : null}\n <Tappable\n {...this.getTestPropsForAction(`item${index}`)}\n disableTouchEffect={this.state.props.disabletoucheffect}\n onTap={($event) => this.onSelect(item, index, $event)}\n onLongTap={() => this.invokeEventCallback('onLongtap', [null, this.proxy])}\n onDoubleTap={() => this.invokeEventCallback('onDoubletap', [null, this.proxy])}\n styles={\n [{display: 'flex', flexDirection : 'row'},\n cols ? {\n width: '100%'\n } : null,\n (cols && cols > 1) || isHorizontal ? {\n paddingRight: (isNil(this.styles.item.marginRight)\n ? this.styles.item.margin : this.styles.item.marginRight) || 4\n } : null,\n this.styles.itemContainer\n ]\n }>\n {props.renderItem(item, index, this)}\n {this.isSelected(item) ? (\n <WmIcon id={this.getTestId('icon' + index)} iconclass={props.selecteditemicon ? props.selecteditemicon : 'wi wi-check-circle'} styles={this.styles.selectedIcon} />\n ) : null}\n </Tappable>\n </View>\n </Swipeable>\n ) : null\n }\n\n private renderHeader(props: WmListProps, title: string) {\n return props.groupby ? (\n <Text style={this.styles.groupHeading} accessibilityRole='header'>{title}</Text>\n ) : (props.iconclass || props.title || props.subheading) ? (\n <View style={this.styles.heading}>\n <View style={{ flex: 1, flexDirection: 'row' }}>\n <WmIcon id={this.getTestId('icon')} styles={this.styles.listIcon} iconclass={props.iconclass}></WmIcon>\n <View>\n <WmLabel id={this.getTestId('title')} styles={this.styles.title} caption={props.title} accessibilityrole='header'></WmLabel>\n <WmLabel id={this.getTestId('subheading')} styles={this.styles.subheading} caption={props.subheading}></WmLabel>\n </View>\n </View>\n </View>) : null;\n }\n\n private renderEmptyMessage(isHorizontal: boolean, item: any, index: any, props: WmListProps) {\n return (<WmLabel id={this.getTestId('emptymsg')} styles={this.styles.emptyMessage} caption={props.nodatamessage}></WmLabel>);\n }\n\n private renderLoadingIcon(props: WmListProps) {\n return props.loadingicon ? (<WmIcon\n id={this.getTestId('loadingicon')}\n styles={this.styles.loadingIcon}\n iconclass={props.loadingicon}\n caption={props.loadingdatamsg}></WmIcon>)\n : (\n <ActivityIndicator color={this.styles.loadingIcon.text.color}></ActivityIndicator>\n );\n }\n\n public getNoOfColumns() {\n const props = this.state.props;\n if (props.direction === 'vertical') {\n return props.itemsperrow.xs;\n }\n return 0;\n }\n\n private onLayoutChange(e: LayoutChangeEvent) {\n const l = e.nativeEvent.layout;\n this.endThreshold = l.height + l.y - 100;\n if (!this.endThreshold) {\n this.endThreshold = -1;\n }\n }\n\n private 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 viewPosition: 0.5,\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 renderWithFlatList(props: WmListProps, isHorizontal = false) {\n\n return (\n <View style={this.styles.root} onLayout={e => this.onLayoutChange(e)}>\n {!isEmpty(this.state.groupedData) ? this.state.groupedData.map((v: any, i) => ((\n <View style={this.styles.group} key={v.key || this.keyExtractor.getKey(v, true)}>\n {this.renderHeader(props, v.key)}\n <FlatList\n ref={(ref) => { this.flatListRefs[v.key || 'main'] = ref; }}\n testID={this.getTestId('flat_list')}\n key={props.name + '_' + (isHorizontal ? 'H' : 'V') + props.itemsperrow.xs}\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n scrollEnabled={isHorizontal}\n horizontal={isHorizontal}\n data={this._showSkeleton ? [...getNumberOfEmptyObjects(this.props.numberofskeletonitems as number ?? 3)] : (isEmpty(v.data[0]) ? [] : v.data)}\n ListEmptyComponent={(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}\n {...(isHorizontal ? { showsHorizontalScrollIndicator: !props.hidehorizontalscrollbar } : { numColumns: this.getNoOfColumns() })}>\n </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.renderEmptyMessage(isHorizontal, null, null, props)\n }\n </View>);\n }\n\n private getSectionListData(props: WmListProps) {\n if (this._showSkeleton) {\n return [{\n key: '',\n data: [...getNumberOfEmptyObjects(this.props.numberofskeletonitems as number ?? 3)]\n }];\n } else if (this.state.groupedData\n && this.state.groupedData[0]\n && this.state.groupedData[0]['data'].length) {\n return this.state.groupedData;\n }\n return [];\n }\n\n private renderWithSectionList(props: WmListProps, isHorizontal = false) {\n return (\n <SectionList\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n horizontal={isHorizontal}\n contentContainerStyle={this.styles.root}\n sections={this.getSectionListData(props)}\n renderSectionHeader={({ section: { key, data } }) => {\n return this.renderHeader(props, key);\n }}\n renderSectionFooter={() => props.loadingdata ? this.renderLoadingIcon(props) : null}\n ListEmptyComponent={(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}>\n </SectionList>\n );\n }\n\n renderWidget(props: WmListProps) {\n this.invokeEventCallback('onBeforedatarender', [this, this.state.props.dataset]);\n const isHorizontal = (props.direction === 'horizontal');\n\n return (\n <View\n style={isHorizontal ? null : { width: '100%' }}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {(isHorizontal || !props.groupby) ?\n this.renderWithFlatList(props, isHorizontal)\n : this.renderWithSectionList(props, isHorizontal)}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","ActivityIndicator","SectionList","Text","View","FlatList","isArray","isEmpty","isNil","isNumber","round","BaseComponent","BaseComponentState","getGroupedData","getNumberOfEmptyObjects","isDefined","Tappable","DefaultKeyExtractor","WmLabel","WmIcon","Swipeable","WmListProps","DEFAULT_CLASS","BackgroundComponent","WmListState","constructor","args","_defineProperty","WmList","props","leftActionTemplate","createElement","Fragment","getTemplate","rightActionTemplate","item","dataset","state","onSelect","index","indexOf","multiselect","selectedItems","length","updateState","selecteditem","selectedindex","groupKey","itemIndex","refKey","flatListRefs","scrollToIndex","animated","viewPosition","isHorizontal","vData","nodatamessage","ondemandmessage","hasMoreData","maxRecordsToShow","pagesize","isSelected","$item","selectedItem","$index","$event","eventName","disableitem","selectionlimit","push","invokeEventCallback","splice","proxy","selectedItemWidgets","itemWidgets","direction","_this$state$groupedDa","groupedData","forEach","group","data","includes","key","Promise","resolve","scrollToItem","loadDataOnDemand","navigation","loadData","loadingData","setTimeout","$list","loadingdata","getNextPageData","currentPage","then","last","catch","err","console","error","selectFirstItem","initialized","groupby","clear","getItem","deselect","selectedItemIndex","getWidgets","widgetname","map","filter","widget","undefined","deselectAll","setGroupData","items","dataItems","match","orderby","dateformat","_this$keyExtractor","keyExtractor","onPropertyChange","name","$new","$old","orderbyData","_this$keyExtractor2","_this$keyExtractor3","selectfirstitem","pop","selectItem","componentDidMount","_props$dataset","subscribe","event","scrollPosition","nativeEvent","contentOffset","y","layoutMeasurement","height","endThreshold","componentDidUpdate","prevProps","prevState","snapshot","triggeronrenderwhenhidden","showView","getDefaultStyles","theme","getStyle","defaultClass","getIndex","generateItemKey","itemkey","_showSkeleton","getKey","renderItem","cols","getNoOfColumns","styles","skeleton","root","containerStyle","width","flex","horizontalondemandenabled","shouldswipe","style","itemclass","backgroundImage","image","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","_extends","getTestPropsForAction","disableTouchEffect","disabletoucheffect","onTap","onLongTap","onDoubleTap","display","flexDirection","paddingRight","marginRight","margin","itemContainer","id","getTestId","iconclass","selectedIcon","renderLeftActions","renderRightActions","selecteditemicon","renderHeader","title","groupHeading","accessibilityRole","subheading","heading","listIcon","caption","accessibilityrole","renderEmptyMessage","emptyMessage","renderLoadingIcon","loadingicon","loadingIcon","loadingdatamsg","color","text","itemsperrow","xs","onLayoutChange","e","l","layout","renderWithFlatList","onLayout","v","i","_ref","ref","testID","scrollEnabled","horizontal","numberofskeletonitems","ListEmptyComponent","itemInfo","showsHorizontalScrollIndicator","hidehorizontalscrollbar","numColumns","onDemandMessage","getCaption","getSectionListData","_ref2","renderWithSectionList","contentContainerStyle","sections","renderSectionHeader","section","renderSectionFooter","renderWidget","handleLayout","_background"],"sources":["list.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ActivityIndicator, SectionList, Text, View, FlatList, LayoutChangeEvent, TouchableOpacity } from 'react-native';\nimport { isArray, isEmpty, isNil, isNumber, round } from 'lodash-es';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { getGroupedData, getNumberOfEmptyObjects, isDefined } from \"@wavemaker/app-rn-runtime/core/utils\";\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { DefaultKeyExtractor } from '@wavemaker/app-rn-runtime/core/key.extractor';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { Swipeable } from 'react-native-gesture-handler';\nimport WmListActionTemplate from './list-action-template/list-action-template.component';\n\nimport WmListProps from './list.props';\nimport { DEFAULT_CLASS, WmListStyles } from './list.styles';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\n\n\nexport class WmListState extends BaseComponentState<WmListProps> {\n public selectedindex: any;\n groupedData: Array<any> = [];\n currentPage = 1;\n maxRecordsToShow = 20;\n loadingData = false;\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\n constructor(props: WmListProps) {\n super(props, DEFAULT_CLASS, new WmListProps(), new WmListState());\n this.updateState({\n maxRecordsToShow: this.state.props.pagesize\n } as WmListState);\n }\n\n private isSelected($item: any) {\n const selectedItem = this.state.props.selecteditem;\n if (isArray(selectedItem)) {\n return selectedItem.indexOf($item) >= 0;\n }\n return selectedItem === $item;\n }\n\n private async onSelect($item: any, $index: number | string, $event?: any) {\n const props = this.state.props;\n let selectedItem = null as any;\n let eventName = 'onSelect';\n if (props.disableitem !== true\n && (typeof props.disableitem !== 'function' || !props.disableitem($item, $index))) {\n if (props.multiselect) {\n selectedItem = [...(props.selecteditem || [])];\n const index = selectedItem.indexOf($item);\n if (index < 0) {\n if ((!props.selectionlimit)\n || props.selectionlimit < 0\n || selectedItem.length < props.selectionlimit) {\n selectedItem.push($item);\n } else {\n this.invokeEventCallback('onSelectionlimitexceed', [null, this]);\n }\n } else {\n selectedItem.splice(index, 1);\n eventName = 'onDeselect';\n }\n } else {\n this.state.props.selecteditem && this.invokeEventCallback('onDeselect', [this.proxy, this.state.props.selecteditem]);\n selectedItem = $item;\n }\n this.selectedItems = selectedItem;\n this.selectedItemWidgets = this.itemWidgets[$index as number];\n let groupKey: string | null = null;\n\n if (props.direction === 'horizontal') {\n this.state.groupedData?.forEach((group) => {\n if (group.data.includes($item)) {\n groupKey = group.key;\n }\n });\n }\n\n return new Promise(resolve => {\n this.updateState({\n props: { selecteditem: selectedItem },\n selectedindex: $index\n } as WmListState, () => {\n if (props.direction === 'horizontal') {\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 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 } else {\n this.hasMoreData = false;\n }\n }).catch((err) => {\n console.error(err);\n }).then(() => {\n setTimeout(() => {\n $list.loadingdata = false;\n }, 1000);\n });\n }\n }\n\n private selectFirstItem() {\n const props = this.state.props;\n if (this.initialized\n && props.dataset\n && props.dataset.length) {\n const index = props.groupby ? '00' : 0;\n this.onSelect(props.dataset[0], index);\n }\n }\n\n clear() {\n this.updateState({\n groupedData: {},\n } as WmListState);\n }\n\n selectItem = (item: any) => {\n const dataset = this.state.props.dataset;\n if (isNumber(item)) {\n this.onSelect(dataset[item], item);\n }\n else {\n let index = dataset.indexOf(item);\n this.onSelect(dataset[index], index);\n }\n }\n\n 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 deselect(item: any) {\n const props = this.state.props;\n let selectedItem = null as any;\n let index = isNumber(item) ? item : props.dataset.indexOf(item);\n if (props.multiselect && index >= 0) {\n selectedItem = [...(props.selecteditem || [])];\n let selectedItemIndex = selectedItem.indexOf(props.dataset[index])\n if (selectedItemIndex >= 0) {\n selectedItem.splice(selectedItemIndex, 1);\n }\n }\n else {\n if (props.selecteditem === props.dataset[index]) {\n selectedItem = null;\n }\n }\n this.updateState({\n props: { selecteditem: selectedItem },\n\n } as WmListState, () => {\n this.invokeEventCallback('onDeselect', [this.proxy, item]);\n });\n }\n\n getWidgets(widgetname: string, index: number) {\n if (index >= 0 && index < this.itemWidgets.length) {\n return this.itemWidgets[index][widgetname]\n }\n else {\n return this.itemWidgets.map(item => item[widgetname]).filter(widget => widget !== undefined);\n }\n }\n\n selectAll = () => {\n const props = this.state.props;\n const dataset = props.dataset;\n if (!props.multiselect || !isArray(dataset) || dataset.length === 0) {\n return;\n }\n const selectedItems = [...dataset];\n \n this.updateState({\n props: { selecteditem: selectedItems },\n selectedindex: -1\n } as WmListState );\n } \n\n private deselectAll() {\n this.updateState({\n props: { selecteditem: null },\n selectedindex: -1\n } as WmListState);\n }\n\n setGroupData(items: any) {\n const dataItems = items;\n const props = this.state.props;\n if (props.groupby) {\n const groupedData = dataItems && getGroupedData(dataItems, props.groupby, props.match, props.orderby, props.dateformat, this);\n this.updateState({\n groupedData: groupedData\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n }\n\n public onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n switch (name) {\n case 'selectfirstitem':\n if ($new) {\n this.selectFirstItem();\n }\n break;\n case 'dataset':\n if (this.state.props.groupby) {\n this.setGroupData($new);\n } else {\n if (!($old && $old.length)\n && $new && $new.length\n && this.loadDataOnDemand) {\n this.updateState({\n props: {\n dataset: [...$new]\n }\n } as WmListState);\n }\n const data = isArray($new) ? $new : (!isEmpty($new) && isDefined($new) ? [$new] : []);\n if (props.orderby) {\n const orderbyData = data && getGroupedData(data, props.groupby, props.match, props.orderby, props.dateformat, this);\n this.updateState({\n groupedData: (orderbyData[0] ? [{\n key: 'key',\n data: orderbyData[0].data\n }] : [])\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n } else {\n this.updateState({\n groupedData: (data[0] || props.direction === 'horizontal' ? [{\n key: 'key',\n data: data\n }] : [])\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n }\n this.itemWidgets = [];\n if (props.selectfirstitem) {\n this.selectFirstItem();\n } else {\n this.deselectAll();\n }\n break;\n case 'groupby':\n case 'match':\n this.setGroupData(this.state.props.dataset);\n break;\n case 'multiselect':\n if ($new) {\n if (!isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem ?\n [this.state.props.selecteditem] : [];\n }\n } else if (isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem.pop();\n }\n break;\n case 'loadingdata':\n this.updateState({\n loadingData: $new && this.state.loadingData\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 + event.nativeEvent.layoutMeasurement.height;\n if (scrollPosition > this.endThreshold && this.state.props.direction === 'vertical') {\n this.loadData();\n }\n });\n super.componentDidMount();\n }\n\n componentDidUpdate(prevProps: WmListProps, prevState: WmListState, snapshot?: any) {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n if (prevProps.triggeronrenderwhenhidden === true || this.showView()) {\n this.invokeEventCallback('onRender', [this, this.state.props.dataset]);\n }\n }\n\n getDefaultStyles() {\n const isHorizontal = this.state.props.direction === 'horizontal';\n return this.theme.getStyle(`${this.defaultClass} ${isHorizontal ? 'app-horizontal-list' : 'app-vertical-list'}`);\n }\n\n getIndex(item: any) {\n return this.state.props.dataset.indexOf(item);\n }\n\n private generateItemKey(item: any, index: number, props: WmListProps) {\n if (props.itemkey && item && !this._showSkeleton) {\n return props.itemkey(item, index);\n }\n return 'list_item_' + this.keyExtractor.getKey(item, true);\n }\n\n private renderItem(item: any, index: number, props: WmListProps) {\n const cols = this.getNoOfColumns();\n const isHorizontal = (props.direction === 'horizontal');\n \n const styles = this._showSkeleton ? {\n ...this.styles.item,\n ...this.styles.skeleton.root\n } : this.styles.item as any\n\n const containerStyle = cols ? { width: round(100/cols) + \"%\" , flex: null} : {};\n\n return (index < this.state.maxRecordsToShow || (isHorizontal && this.state.props.horizontalondemandenabled === false)) ? \n !props.shouldswipe ? (\n <View style={containerStyle as any}>\n <View style={[\n styles,\n props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null,\n this.isSelected(item) ? this.styles.selectedItem : {}]}>\n {styles.backgroundImage ? (\n <BackgroundComponent\n image={styles.backgroundImage}\n position={styles.backgroundPosition || 'center'}\n size={styles.backgroundSize || 'cover'}\n repeat={styles.backgroundRepeat || 'no-repeat'}\n resizeMode={styles.backgroundResizeMode || 'cover'}\n style={{ borderRadius: this.styles.item.borderRadius }}\n />\n ) : null}\n <Tappable\n {...this.getTestPropsForAction(`item${index}`)}\n disableTouchEffect={this.state.props.disabletoucheffect}\n onTap={($event) => this.onSelect(item, index, $event)}\n onLongTap={() => this.invokeEventCallback('onLongtap', [null, this.proxy])}\n onDoubleTap={() => this.invokeEventCallback('onDoubletap', [null, this.proxy])}\n styles={\n [{display: 'flex', flexDirection : 'row'},\n cols ? {\n width: '100%'\n } : null,\n (cols && cols > 1) || isHorizontal ? {\n paddingRight: (isNil(this.styles.item.marginRight)\n ? this.styles.item.margin : this.styles.item.marginRight) || 4\n } : null,\n this.styles.itemContainer\n ]\n }>\n {props.renderItem(item, index, this)}\n {this.isSelected(item) ? (\n <WmIcon id={this.getTestId('icon' + index)} iconclass='wi wi-check-circle' styles={this.styles.selectedIcon} />\n ) : null}\n </Tappable>\n </View>\n </View>\n ) :\n (\n <Swipeable\n renderLeftActions={() => this.renderLeftActions()}\n renderRightActions={() => this.renderRightActions()} containerStyle={containerStyle as any}>\n <View style={[\n styles,\n props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null,\n this.isSelected(item) ? this.styles.selectedItem : {}]}>\n {styles.backgroundImage ? (\n <BackgroundComponent\n image={styles.backgroundImage}\n position={styles.backgroundPosition || 'center'}\n size={styles.backgroundSize || 'cover'}\n repeat={styles.backgroundRepeat || 'no-repeat'}\n resizeMode={styles.backgroundResizeMode || 'cover'}\n style={{ borderRadius: this.styles.item.borderRadius }}\n />\n ) : null}\n <Tappable\n {...this.getTestPropsForAction(`item${index}`)}\n disableTouchEffect={this.state.props.disabletoucheffect}\n onTap={($event) => this.onSelect(item, index, $event)}\n onLongTap={() => this.invokeEventCallback('onLongtap', [null, this.proxy])}\n onDoubleTap={() => this.invokeEventCallback('onDoubletap', [null, this.proxy])}\n styles={\n [{display: 'flex', flexDirection : 'row'},\n cols ? {\n width: '100%'\n } : null,\n (cols && cols > 1) || isHorizontal ? {\n paddingRight: (isNil(this.styles.item.marginRight)\n ? this.styles.item.margin : this.styles.item.marginRight) || 4\n } : null,\n this.styles.itemContainer\n ]\n }>\n {props.renderItem(item, index, this)}\n {this.isSelected(item) ? (\n <WmIcon id={this.getTestId('icon' + index)} iconclass={props.selecteditemicon ? props.selecteditemicon : 'wi wi-check-circle'} styles={this.styles.selectedIcon} />\n ) : null}\n </Tappable>\n </View>\n </Swipeable>\n ) : null\n }\n\n private renderHeader(props: WmListProps, title: string) {\n return props.groupby ? (\n <Text style={this.styles.groupHeading} accessibilityRole='header'>{title}</Text>\n ) : (props.iconclass || props.title || props.subheading) ? (\n <View style={this.styles.heading}>\n <View style={{ flex: 1, flexDirection: 'row' }}>\n <WmIcon id={this.getTestId('icon')} styles={this.styles.listIcon} iconclass={props.iconclass}></WmIcon>\n <View>\n <WmLabel id={this.getTestId('title')} styles={this.styles.title} caption={props.title} accessibilityrole='header'></WmLabel>\n <WmLabel id={this.getTestId('subheading')} styles={this.styles.subheading} caption={props.subheading}></WmLabel>\n </View>\n </View>\n </View>) : null;\n }\n\n private renderEmptyMessage(isHorizontal: boolean, item: any, index: any, props: WmListProps) {\n return (<WmLabel id={this.getTestId('emptymsg')} styles={this.styles.emptyMessage} caption={props.nodatamessage}></WmLabel>);\n }\n\n private renderLoadingIcon(props: WmListProps) {\n return props.loadingicon ? (<WmIcon\n id={this.getTestId('loadingicon')}\n styles={this.styles.loadingIcon}\n iconclass={props.loadingicon}\n caption={props.loadingdatamsg}></WmIcon>)\n : (\n <ActivityIndicator color={this.styles.loadingIcon.text.color}></ActivityIndicator>\n );\n }\n\n public getNoOfColumns() {\n const props = this.state.props;\n if (props.direction === 'vertical') {\n return props.itemsperrow.xs;\n }\n return 0;\n }\n\n private onLayoutChange(e: LayoutChangeEvent) {\n const l = e.nativeEvent.layout;\n this.endThreshold = l.height + l.y - 100;\n if (!this.endThreshold) {\n this.endThreshold = -1;\n }\n }\n\n private 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 viewPosition: 0.5,\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 renderWithFlatList(props: WmListProps, isHorizontal = false) {\n\n return (\n <View style={this.styles.root} onLayout={e => this.onLayoutChange(e)}>\n {!isEmpty(this.state.groupedData) ? this.state.groupedData.map((v: any, i) => ((\n <View style={this.styles.group} key={v.key || this.keyExtractor.getKey(v, true)}>\n {this.renderHeader(props, v.key)}\n <FlatList\n ref={(ref) => { this.flatListRefs[v.key || 'main'] = ref; }}\n testID={this.getTestId('flat_list')}\n key={props.name + '_' + (isHorizontal ? 'H' : 'V') + props.itemsperrow.xs}\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n scrollEnabled={isHorizontal}\n horizontal={isHorizontal}\n data={this._showSkeleton ? [...getNumberOfEmptyObjects(this.props.numberofskeletonitems as number ?? 3)] : (isEmpty(v.data[0]) ? [] : v.data)}\n ListEmptyComponent={(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}\n {...(isHorizontal ? { showsHorizontalScrollIndicator: !props.hidehorizontalscrollbar } : { numColumns: this.getNoOfColumns() })}>\n </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.renderEmptyMessage(isHorizontal, null, null, props)\n }\n </View>);\n }\n\n private getSectionListData(props: WmListProps) {\n if (this._showSkeleton) {\n return [{\n key: '',\n data: [...getNumberOfEmptyObjects(this.props.numberofskeletonitems as number ?? 3)]\n }];\n } else if (this.state.groupedData\n && this.state.groupedData[0]\n && this.state.groupedData[0]['data'].length) {\n return this.state.groupedData;\n }\n return [];\n }\n\n private renderWithSectionList(props: WmListProps, isHorizontal = false) {\n return (\n <SectionList\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n horizontal={isHorizontal}\n contentContainerStyle={this.styles.root}\n sections={this.getSectionListData(props)}\n renderSectionHeader={({ section: { key, data } }) => {\n return this.renderHeader(props, key);\n }}\n renderSectionFooter={() => props.loadingdata ? this.renderLoadingIcon(props) : null}\n ListEmptyComponent={(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}>\n </SectionList>\n );\n }\n\n renderWidget(props: WmListProps) {\n this.invokeEventCallback('onBeforedatarender', [this, this.state.props.dataset]);\n const isHorizontal = (props.direction === 'horizontal');\n\n return (\n <View\n style={isHorizontal ? null : { width: '100%' }}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {(isHorizontal || !props.groupby) ?\n this.renderWithFlatList(props, isHorizontal)\n : this.renderWithSectionList(props, isHorizontal)}\n </View>\n );\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,iBAAiB,EAAEC,WAAW,EAAEC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,QAA6C,cAAc;AACxH,SAASC,OAAO,EAAEC,OAAO,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,KAAK,QAAQ,WAAW;AACpE,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AACjG,SAASC,cAAc,EAAEC,uBAAuB,EAAEC,SAAS,QAAQ,sCAAsC;AACzG,SAASC,QAAQ,QAAQ,mDAAmD;AAC5E,SAASC,mBAAmB,QAAQ,8CAA8C;AAClF,OAAOC,OAAO,MAAM,kEAAkE;AACtF,OAAOC,MAAM,MAAM,gEAAgE;AACnF,SAASC,SAAS,QAAQ,8BAA8B;AAGxD,OAAOC,WAAW,MAAM,cAAc;AACtC,SAASC,aAAa,QAAsB,eAAe;AAC3D,SAASC,mBAAmB,QAAQ,uDAAuD;AAG3F,OAAO,MAAMC,WAAW,SAASZ,kBAAkB,CAAc;EAAAa,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA,sBAErC,EAAE;IAAAA,eAAA,sBACd,CAAC;IAAAA,eAAA,2BACI,EAAE;IAAAA,eAAA,sBACP,KAAK;EAAA;AACrB;AAEA,eAAe,MAAMC,MAAM,SAASjB,aAAa,CAAyC;EAaxFc,WAAWA,CAACI,MAAkB,EAAE;IAC9B,KAAK,CAACA,MAAK,EAAEP,aAAa,EAAE,IAAID,WAAW,CAAC,CAAC,EAAE,IAAIG,WAAW,CAAC,CAAC,CAAC;IAACG,eAAA,sBAZ9C,EAAE;IAAAA,eAAA,8BACM,CAAC,CAAC;IAAAA,eAAA,uBACT,IAAIV,mBAAmB,CAAC,CAAC;IAAAU,eAAA,uBACzB,CAAC,CAAC;IACzB;IAAAA,eAAA,sBACsB,IAAI;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,uBAGE,CAAC,CAAC;IAAAA,eAAA,wBACN,EAAE;IAAAA,eAAA,4BA8EN,MAAM;MACxB,OAAO,IAAI,CAACG,kBAAkB,gBAC5B9B,KAAA,CAAA+B,aAAA,CAAA/B,KAAA,CAAAgC,QAAA,QACG,IAAI,CAACF,kBAAkB,CAACG,WAAW,CAAC,CACrC,CAAC,GACD,IAAI;IACV,CAAC;IAAAN,eAAA,6BAEoB,MAAM;MACzB,OAAO,IAAI,CAACO,mBAAmB,gBAC7BlC,KAAA,CAAA+B,aAAA,CAAA/B,KAAA,CAAAgC,QAAA,QACG,IAAI,CAACE,mBAAmB,CAACD,WAAW,CAAC,CACtC,CAAC,GACD,IAAI;IACV,CAAC;IAAAN,eAAA,qBAkEaQ,IAAS,IAAK;MAC1B,MAAMC,OAAO,GAAG,IAAI,CAACC,KAAK,CAACR,KAAK,CAACO,OAAO;MACxC,IAAI3B,QAAQ,CAAC0B,IAAI,CAAC,EAAE;QAClB,IAAI,CAACG,QAAQ,CAACF,OAAO,CAACD,IAAI,CAAC,EAAEA,IAAI,CAAC;MACpC,CAAC,MACI;QACH,IAAII,KAAK,GAAGH,OAAO,CAACI,OAAO,CAACL,IAAI,CAAC;QACjC,IAAI,CAACG,QAAQ,CAACF,OAAO,CAACG,KAAK,CAAC,EAAEA,KAAK,CAAC;MACtC;IACF,CAAC;IAAAZ,eAAA,2BAEkB,MAAM;MACvB,IAAG,CAAC,IAAI,CAACE,KAAK,CAACY,WAAW,EAAC;QACzB,OAAO,CAAC,IAAI,CAACC,aAAa,CAAC;MAC7B;MACA,OAAO,IAAI,CAACA,aAAa;IAC3B,CAAC;IAAAf,eAAA,oBAwCW,MAAM;MAChB,MAAME,KAAK,GAAG,IAAI,CAACQ,KAAK,CAACR,KAAK;MAC9B,MAAMO,OAAO,GAAGP,KAAK,CAACO,OAAO;MAC7B,IAAI,CAACP,KAAK,CAACY,WAAW,IAAI,CAACnC,OAAO,CAAC8B,OAAO,CAAC,IAAIA,OAAO,CAACO,MAAM,KAAK,CAAC,EAAE;QACnE;MACF;MACA,MAAMD,aAAa,GAAG,CAAC,GAAGN,OAAO,CAAC;MAElC,IAAI,CAACQ,WAAW,CAAC;QACff,KAAK,EAAE;UAAEgB,YAAY,EAAEH;QAAc,CAAC;QACtCI,aAAa,EAAE,CAAC;MAClB,CAAiB,CAAC;IACpB,CAAC;IAAAnB,eAAA,uBA6RsB,CAACoB,QAAuB,EAAEC,SAAiB,KAAK;MACrE,MAAMC,MAAM,GAAGF,QAAQ,IAAI,MAAM;MACjC,IAAI,IAAI,CAACG,YAAY,CAACD,MAAM,CAAC,EAAE;QAC7B,IAAI,CAACC,YAAY,CAACD,MAAM,CAAC,CAACE,aAAa,CAAC;UACtCZ,KAAK,EAAES,SAAS;UAChBI,QAAQ,EAAE,IAAI;UACdC,YAAY,EAAE;QAChB,CAAC,CAAC;MACJ;IACF,CAAC;IAAA1B,eAAA,qBAEa,CAAC2B,YAAqB,EAAEC,KAAY,KAAa;MAC7D,MAAM;QAAEC,aAAa;QAAEC;MAAgB,CAAC,GAAG,IAAI,CAACpB,KAAK,CAACR,KAAK;MAC3D,IAAG,CAACyB,YAAY,EAAE;QAChB,OAAO,IAAI,CAACI,WAAW,GAAGD,eAAe,GAAGD,aAAa;MAC3D;MACA,OAAO,IAAI,CAACE,WAAW,GAAGD,eAAe,GAAGD,aAAa;IAC3D,CAAC;IA5gBC,IAAI,CAACZ,WAAW,CAAC;MACfe,gBAAgB,EAAE,IAAI,CAACtB,KAAK,CAACR,KAAK,CAAC+B;IACrC,CAAgB,CAAC;EACnB;EAEQC,UAAUA,CAACC,KAAU,EAAE;IAC7B,MAAMC,YAAY,GAAG,IAAI,CAAC1B,KAAK,CAACR,KAAK,CAACgB,YAAY;IAClD,IAAIvC,OAAO,CAACyD,YAAY,CAAC,EAAE;MACzB,OAAOA,YAAY,CAACvB,OAAO,CAACsB,KAAK,CAAC,IAAI,CAAC;IACzC;IACA,OAAOC,YAAY,KAAKD,KAAK;EAC/B;EAEA,MAAcxB,QAAQA,CAACwB,KAAU,EAAEE,MAAuB,EAAEC,MAAY,EAAE;IACxE,MAAMpC,KAAK,GAAG,IAAI,CAACQ,KAAK,CAACR,KAAK;IAC9B,IAAIkC,YAAY,GAAG,IAAW;IAC9B,IAAIG,SAAS,GAAG,UAAU;IAC1B,IAAIrC,KAAK,CAACsC,WAAW,KAAK,IAAI,KACxB,OAAOtC,KAAK,CAACsC,WAAW,KAAK,UAAU,IAAI,CAACtC,KAAK,CAACsC,WAAW,CAACL,KAAK,EAAEE,MAAM,CAAC,CAAC,EAAE;MACnF,IAAInC,KAAK,CAACY,WAAW,EAAE;QACrBsB,YAAY,GAAG,CAAC,IAAIlC,KAAK,CAACgB,YAAY,IAAI,EAAE,CAAC,CAAC;QAC9C,MAAMN,KAAK,GAAGwB,YAAY,CAACvB,OAAO,CAACsB,KAAK,CAAC;QACzC,IAAIvB,KAAK,GAAG,CAAC,EAAE;UACb,IAAK,CAACV,KAAK,CAACuC,cAAc,IACrBvC,KAAK,CAACuC,cAAc,GAAG,CAAC,IACxBL,YAAY,CAACpB,MAAM,GAAGd,KAAK,CAACuC,cAAc,EAAE;YAC/CL,YAAY,CAACM,IAAI,CAACP,KAAK,CAAC;UAC1B,CAAC,MAAM;YACL,IAAI,CAACQ,mBAAmB,CAAC,wBAAwB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;UAClE;QACF,CAAC,MAAM;UACLP,YAAY,CAACQ,MAAM,CAAChC,KAAK,EAAE,CAAC,CAAC;UAC7B2B,SAAS,GAAG,YAAY;QAC1B;MACF,CAAC,MAAM;QACL,IAAI,CAAC7B,KAAK,CAACR,KAAK,CAACgB,YAAY,IAAI,IAAI,CAACyB,mBAAmB,CAAC,YAAY,EAAE,CAAC,IAAI,CAACE,KAAK,EAAE,IAAI,CAACnC,KAAK,CAACR,KAAK,CAACgB,YAAY,CAAC,CAAC;QACpHkB,YAAY,GAAGD,KAAK;MACtB;MACA,IAAI,CAACpB,aAAa,GAAGqB,YAAY;MACjC,IAAI,CAACU,mBAAmB,GAAG,IAAI,CAACC,WAAW,CAACV,MAAM,CAAW;MAC7D,IAAIjB,QAAuB,GAAG,IAAI;MAElC,IAAIlB,KAAK,CAAC8C,SAAS,KAAK,YAAY,EAAE;QAAA,IAAAC,qBAAA;QACpC,CAAAA,qBAAA,OAAI,CAACvC,KAAK,CAACwC,WAAW,cAAAD,qBAAA,eAAtBA,qBAAA,CAAwBE,OAAO,CAAEC,KAAK,IAAK;UACzC,IAAIA,KAAK,CAACC,IAAI,CAACC,QAAQ,CAACnB,KAAK,CAAC,EAAE;YAC9Bf,QAAQ,GAAGgC,KAAK,CAACG,GAAG;UACtB;QACF,CAAC,CAAC;MACJ;MAEA,OAAO,IAAIC,OAAO,CAACC,OAAO,IAAI;QAC5B,IAAI,CAACxC,WAAW,CAAC;UACff,KAAK,EAAE;YAAEgB,YAAY,EAAEkB;UAAa,CAAC;UACrCjB,aAAa,EAAEkB;QACjB,CAAC,EAAiB,MAAM;UACtB,IAAInC,KAAK,CAAC8C,SAAS,KAAK,YAAY,EAAE;YACpC,IAAI,CAACU,YAAY,CAACtC,QAAQ,EAAEiB,MAAgB,CAAC;UAC/C;UACA,IAAI,CAACM,mBAAmB,CAACJ,SAAS,EAAE,CAAC,IAAI,CAACM,KAAK,EAAEV,KAAK,CAAC,CAAC;UACxDG,MAAM,IAAI,IAAI,CAACK,mBAAmB,CAAC,OAAO,EAAE,CAACL,MAAM,EAAE,IAAI,CAACO,KAAK,CAAC,CAAC;UACjEY,OAAO,CAAC,IAAI,CAAC;QACf,CAAC,CAAC;MACJ,CAAC,CAAC;IAEJ,CAAC,MAAM;MACL,OAAOD,OAAO,CAACC,OAAO,CAAC,IAAI,CAAC;IAC9B;EACF;EAEA,IAAYE,gBAAgBA,CAAA,EAAG;IAC7B,MAAMC,UAAU,GAAG,IAAI,CAAClD,KAAK,CAACR,KAAK,CAAC0D,UAAU;IAC9C,OAAOA,UAAU,KAAK,QAAQ,IAAIA,UAAU,KAAK,WAAW;EAC9D;EAkBQC,QAAQA,CAAA,EAAG;IACjB,IAAI,IAAI,CAACnD,KAAK,CAACoD,WAAW,IAAI,CAAC,IAAI,CAAC/B,WAAW,EAAE;MAC/C;IACF;IACA,IAAIpD,OAAO,CAAC,IAAI,CAAC+B,KAAK,CAACR,KAAK,CAACO,OAAO,CAAC,IAChC,IAAI,CAACC,KAAK,CAACR,KAAK,CAACO,OAAO,CAACO,MAAM,GAAG,IAAI,CAACN,KAAK,CAACsB,gBAAgB,EAAE;MAClE,IAAI,CAACf,WAAW,CAAC;QACf6C,WAAW,EAAE,IAAI;QACjB9B,gBAAgB,EAAE,IAAI,CAACtB,KAAK,CAACsB,gBAAgB,GAAG,IAAI,CAACtB,KAAK,CAACR,KAAK,CAAC+B;MACnE,CAAgB,CAAC;MACjB8B,UAAU,CAAC,MAAM;QACf;QACA,IAAI,CAAC9C,WAAW,CAAC;UACf6C,WAAW,EAAE;QACb,CAAgB,CAAC;MACrB,CAAC,EAAE,GAAG,CAAC;IACT,CAAC,MAAM,IAAI,IAAI,CAACH,gBAAgB,EAAE;MAChC,MAAMK,KAAK,GAAG,IAAI,CAACnB,KAAY;MAC/BmB,KAAK,CAACC,WAAW,GAAG,IAAI;MACxB;MACA,IAAI,CAAChD,WAAW,CAAC;QACf6C,WAAW,EAAE;MACf,CAAgB,CAAC;MACjB,IAAI,CAAC5D,KAAK,CAACgE,eAAe,IAAI,IAAI,CAAChE,KAAK,CAACgE,eAAe,CAAC,IAAI,EAAE,IAAI,CAACrB,KAAK,EAAE,IAAI,CAACnC,KAAK,CAACyD,WAAW,GAAG,CAAC,CAAC,CAACC,IAAI,CAAEf,IAAI,IAAK;QACpH,IAAI1E,OAAO,CAAC0E,IAAI,CAAC,IAAIA,IAAI,CAACrC,MAAM,GAAG,CAAC,IAC/BrC,OAAO,CAAC,IAAI,CAAC+B,KAAK,CAACR,KAAK,CAACO,OAAO,CAAC,EAAE;UACtCuD,KAAK,CAACvD,OAAO,GAAG,CAAC,GAAG,IAAI,CAACC,KAAK,CAACR,KAAK,CAACO,OAAO,EAAE,GAAG4C,IAAI,CAAC;UACtD,IAAI,CAACpC,WAAW,CAAC;YACfkD,WAAW,EAAE,IAAI,CAACzD,KAAK,CAACyD,WAAW,GAAG,CAAC;YACvCnC,gBAAgB,EAAE,IAAI,CAACtB,KAAK,CAACsB,gBAAgB,GAAG,IAAI,CAACtB,KAAK,CAACR,KAAK,CAAC+B;UACnE,CAAgB,CAAC;UACjB,IAAI,CAACF,WAAW,GAAG,IAAI;UACvB,IAAG,CAACsB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAUgB,IAAI,MAAK,IAAI,EAAE;YAC/B,IAAI,CAACtC,WAAW,GAAG,KAAK;UAC1B;QACF,CAAC,MAAM;UACL,IAAI,CAACA,WAAW,GAAG,KAAK;QAC1B;MACF,CAAC,CAAC,CAACuC,KAAK,CAAEC,GAAG,IAAK;QAChBC,OAAO,CAACC,KAAK,CAACF,GAAG,CAAC;MACpB,CAAC,CAAC,CAACH,IAAI,CAAC,MAAM;QACZL,UAAU,CAAC,MAAM;UACfC,KAAK,CAACC,WAAW,GAAG,KAAK;QAC3B,CAAC,EAAE,IAAI,CAAC;MACV,CAAC,CAAC;IACJ;EACF;EAEQS,eAAeA,CAAA,EAAG;IACxB,MAAMxE,KAAK,GAAG,IAAI,CAACQ,KAAK,CAACR,KAAK;IAC9B,IAAI,IAAI,CAACyE,WAAW,IACfzE,KAAK,CAACO,OAAO,IACbP,KAAK,CAACO,OAAO,CAACO,MAAM,EAAE;MACzB,MAAMJ,KAAK,GAAGV,KAAK,CAAC0E,OAAO,GAAG,IAAI,GAAG,CAAC;MACtC,IAAI,CAACjE,QAAQ,CAACT,KAAK,CAACO,OAAO,CAAC,CAAC,CAAC,EAAEG,KAAK,CAAC;IACxC;EACF;EAEAiE,KAAKA,CAAA,EAAG;IACN,IAAI,CAAC5D,WAAW,CAAC;MACfiC,WAAW,EAAE,CAAC;IAChB,CAAgB,CAAC;EACnB;EAoBA4B,OAAOA,CAAClE,KAAa,EAAE;IACrB,MAAMV,KAAK,GAAG,IAAI,CAACQ,KAAK,CAACR,KAAK;IAC9B,OAAO,IAAI,CAACA,KAAK,CAACO,OAAO,CAACG,KAAK,CAAC;EAClC;EAEAmE,QAAQA,CAACvE,IAAS,EAAE;IAClB,MAAMN,KAAK,GAAG,IAAI,CAACQ,KAAK,CAACR,KAAK;IAC9B,IAAIkC,YAAY,GAAG,IAAW;IAC9B,IAAIxB,KAAK,GAAG9B,QAAQ,CAAC0B,IAAI,CAAC,GAAGA,IAAI,GAAGN,KAAK,CAACO,OAAO,CAACI,OAAO,CAACL,IAAI,CAAC;IAC/D,IAAIN,KAAK,CAACY,WAAW,IAAIF,KAAK,IAAI,CAAC,EAAE;MACnCwB,YAAY,GAAG,CAAC,IAAIlC,KAAK,CAACgB,YAAY,IAAI,EAAE,CAAC,CAAC;MAC9C,IAAI8D,iBAAiB,GAAG5C,YAAY,CAACvB,OAAO,CAACX,KAAK,CAACO,OAAO,CAACG,KAAK,CAAC,CAAC;MAClE,IAAIoE,iBAAiB,IAAI,CAAC,EAAE;QAC1B5C,YAAY,CAACQ,MAAM,CAACoC,iBAAiB,EAAE,CAAC,CAAC;MAC3C;IACF,CAAC,MACI;MACH,IAAI9E,KAAK,CAACgB,YAAY,KAAKhB,KAAK,CAACO,OAAO,CAACG,KAAK,CAAC,EAAE;QAC/CwB,YAAY,GAAG,IAAI;MACrB;IACF;IACA,IAAI,CAACnB,WAAW,CAAC;MACff,KAAK,EAAE;QAAEgB,YAAY,EAAEkB;MAAa;IAEtC,CAAC,EAAiB,MAAM;MACtB,IAAI,CAACO,mBAAmB,CAAC,YAAY,EAAE,CAAC,IAAI,CAACE,KAAK,EAAErC,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC;EACJ;EAEAyE,UAAUA,CAACC,UAAkB,EAAEtE,KAAa,EAAE;IAC5C,IAAIA,KAAK,IAAI,CAAC,IAAIA,KAAK,GAAG,IAAI,CAACmC,WAAW,CAAC/B,MAAM,EAAE;MACjD,OAAO,IAAI,CAAC+B,WAAW,CAACnC,KAAK,CAAC,CAACsE,UAAU,CAAC;IAC5C,CAAC,MACI;MACH,OAAO,IAAI,CAACnC,WAAW,CAACoC,GAAG,CAAC3E,IAAI,IAAIA,IAAI,CAAC0E,UAAU,CAAC,CAAC,CAACE,MAAM,CAACC,MAAM,IAAIA,MAAM,KAAKC,SAAS,CAAC;IAC9F;EACF;EAgBQC,WAAWA,CAAA,EAAG;IACpB,IAAI,CAACtE,WAAW,CAAC;MACff,KAAK,EAAE;QAAEgB,YAAY,EAAE;MAAK,CAAC;MAC7BC,aAAa,EAAE,CAAC;IAClB,CAAgB,CAAC;EACnB;EAEAqE,YAAYA,CAACC,KAAU,EAAE;IACvB,MAAMC,SAAS,GAAGD,KAAK;IACvB,MAAMvF,KAAK,GAAG,IAAI,CAACQ,KAAK,CAACR,KAAK;IAC9B,IAAIA,KAAK,CAAC0E,OAAO,EAAE;MACjB,MAAM1B,WAAW,GAAGwC,SAAS,IAAIxG,cAAc,CAACwG,SAAS,EAAExF,KAAK,CAAC0E,OAAO,EAAE1E,KAAK,CAACyF,KAAK,EAAEzF,KAAK,CAAC0F,OAAO,EAAE1F,KAAK,CAAC2F,UAAU,EAAE,IAAI,CAAC;MAC7H,IAAI,CAAC5E,WAAW,CAAC;QACfiC,WAAW,EAAEA;MACf,CAAC,EAAiB,MAAM;QAAA,IAAA4C,kBAAA;QACtB,CAAAA,kBAAA,OAAI,CAACC,YAAY,cAAAD,kBAAA,eAAjBA,kBAAA,CAAmBjB,KAAK,CAAC,CAAC;MAC5B,CAAC,CAAC;IACJ;EACF;EAEOmB,gBAAgBA,CAACC,IAAY,EAAEC,IAAS,EAAEC,IAAS,EAAE;IAC1D,KAAK,CAACH,gBAAgB,CAACC,IAAI,EAAEC,IAAI,EAAEC,IAAI,CAAC;IACxC,MAAMjG,KAAK,GAAG,IAAI,CAACQ,KAAK,CAACR,KAAK;IAC9B,QAAQ+F,IAAI;MACV,KAAK,iBAAiB;QACpB,IAAIC,IAAI,EAAE;UACR,IAAI,CAACxB,eAAe,CAAC,CAAC;QACxB;QACA;MACF,KAAK,SAAS;QACZ,IAAI,IAAI,CAAChE,KAAK,CAACR,KAAK,CAAC0E,OAAO,EAAE;UAC5B,IAAI,CAACY,YAAY,CAACU,IAAI,CAAC;QACzB,CAAC,MAAM;UACL,IAAI,EAAEC,IAAI,IAAIA,IAAI,CAACnF,MAAM,CAAC,IACrBkF,IAAI,IAAIA,IAAI,CAAClF,MAAM,IACnB,IAAI,CAAC2C,gBAAgB,EAAE;YAC1B,IAAI,CAAC1C,WAAW,CAAC;cACff,KAAK,EAAE;gBACLO,OAAO,EAAE,CAAC,GAAGyF,IAAI;cACnB;YACF,CAAgB,CAAC;UACnB;UACA,MAAM7C,IAAI,GAAG1E,OAAO,CAACuH,IAAI,CAAC,GAAGA,IAAI,GAAI,CAACtH,OAAO,CAACsH,IAAI,CAAC,IAAI9G,SAAS,CAAC8G,IAAI,CAAC,GAAG,CAACA,IAAI,CAAC,GAAG,EAAG;UACrF,IAAIhG,KAAK,CAAC0F,OAAO,EAAE;YACjB,MAAMQ,WAAW,GAAG/C,IAAI,IAAInE,cAAc,CAACmE,IAAI,EAAEnD,KAAK,CAAC0E,OAAO,EAAE1E,KAAK,CAACyF,KAAK,EAAEzF,KAAK,CAAC0F,OAAO,EAAE1F,KAAK,CAAC2F,UAAU,EAAE,IAAI,CAAC;YACnH,IAAI,CAAC5E,WAAW,CAAC;cACfiC,WAAW,EAAGkD,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC9B7C,GAAG,EAAE,KAAK;gBACVF,IAAI,EAAE+C,WAAW,CAAC,CAAC,CAAC,CAAC/C;cACvB,CAAC,CAAC,GAAG;YACP,CAAC,EAAiB,MAAM;cAAA,IAAAgD,mBAAA;cACtB,CAAAA,mBAAA,OAAI,CAACN,YAAY,cAAAM,mBAAA,eAAjBA,mBAAA,CAAmBxB,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC;UACJ,CAAC,MAAM;YACL,IAAI,CAAC5D,WAAW,CAAC;cACfiC,WAAW,EAAGG,IAAI,CAAC,CAAC,CAAC,IAAInD,KAAK,CAAC8C,SAAS,KAAK,YAAY,GAAG,CAAC;gBAC3DO,GAAG,EAAE,KAAK;gBACVF,IAAI,EAAEA;cACR,CAAC,CAAC,GAAG;YACP,CAAC,EAAiB,MAAM;cAAA,IAAAiD,mBAAA;cACtB,CAAAA,mBAAA,OAAI,CAACP,YAAY,cAAAO,mBAAA,eAAjBA,mBAAA,CAAmBzB,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC;UACJ;QACF;QACA,IAAI,CAAC9B,WAAW,GAAG,EAAE;QACrB,IAAI7C,KAAK,CAACqG,eAAe,EAAE;UACzB,IAAI,CAAC7B,eAAe,CAAC,CAAC;QACxB,CAAC,MAAM;UACL,IAAI,CAACa,WAAW,CAAC,CAAC;QACpB;QACA;MACF,KAAK,SAAS;MACd,KAAK,OAAO;QACV,IAAI,CAACC,YAAY,CAAC,IAAI,CAAC9E,KAAK,CAACR,KAAK,CAACO,OAAO,CAAC;QAC3C;MACF,KAAK,aAAa;QAChB,IAAIyF,IAAI,EAAE;UACR,IAAI,CAACvH,OAAO,CAAC,IAAI,CAAC+B,KAAK,CAACR,KAAK,CAACgB,YAAY,CAAC,EAAE;YAC3C,IAAI,CAACR,KAAK,CAACR,KAAK,CAACgB,YAAY,GAAG,IAAI,CAACR,KAAK,CAACR,KAAK,CAACgB,YAAY,GAC3D,CAAC,IAAI,CAACR,KAAK,CAACR,KAAK,CAACgB,YAAY,CAAC,GAAG,EAAE;UACxC;QACF,CAAC,MAAM,IAAIvC,OAAO,CAAC,IAAI,CAAC+B,KAAK,CAACR,KAAK,CAACgB,YAAY,CAAC,EAAE;UACjD,IAAI,CAACR,KAAK,CAACR,KAAK,CAACgB,YAAY,GAAG,IAAI,CAACR,KAAK,CAACR,KAAK,CAACgB,YAAY,CAACsF,GAAG,CAAC,CAAC;QACrE;QACA;MACF,KAAK,aAAa;QAChB,IAAI,CAACvF,WAAW,CAAC;UACf6C,WAAW,EAAEoC,IAAI,IAAI,IAAI,CAACxF,KAAK,CAACoD;QAClC,CAAgB,CAAC;QACjB;MACF,KAAK,cAAc;QACjB,IAAIoC,IAAI,IAAIC,IAAI,IAAIrH,QAAQ,CAACoH,IAAI,CAAC,EAAE;UAClC,IAAI,CAACO,UAAU,CAAC,IAAI,CAAC/F,KAAK,CAACR,KAAK,CAACO,OAAO,CAACyF,IAAI,CAAC,CAAC;QACjD;QACA;IACJ;EACF;EAEAQ,iBAAiBA,CAAA,EAAG;IAAA,IAAAC,cAAA;IAClB,MAAMzG,KAAK,GAAG,IAAI,CAACQ,KAAK,CAACR,KAAK;IAC9B,IAAI,IAAI,CAACQ,KAAK,CAACR,KAAK,CAACqG,eAAe,KAAAI,cAAA,GAAIzG,KAAK,CAACO,OAAO,cAAAkG,cAAA,eAAbA,cAAA,CAAe3F,MAAM,EAAE;MAC7D+C,UAAU,CAAC,MAAM;QACf,IAAI,CAACpD,QAAQ,CAACT,KAAK,CAACO,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;MACpC,CAAC,CAAC;IACJ;IACA,IAAI,CAACmG,SAAS,CAAC,QAAQ,EAAGC,KAAU,IAAK;MACvC,MAAMC,cAAc,GAAGD,KAAK,CAACE,WAAW,CAACC,aAAa,CAACC,CAAC,GAAGJ,KAAK,CAACE,WAAW,CAACG,iBAAiB,CAACC,MAAM;MACrG,IAAIL,cAAc,GAAG,IAAI,CAACM,YAAY,IAAI,IAAI,CAAC1G,KAAK,CAACR,KAAK,CAAC8C,SAAS,KAAK,UAAU,EAAE;QACnF,IAAI,CAACa,QAAQ,CAAC,CAAC;MACjB;IACF,CAAC,CAAC;IACF,KAAK,CAAC6C,iBAAiB,CAAC,CAAC;EAC3B;EAEAW,kBAAkBA,CAACC,SAAsB,EAAEC,SAAsB,EAAEC,QAAc,EAAE;IACjF,KAAK,CAACH,kBAAkB,IAAI,KAAK,CAACA,kBAAkB,CAACC,SAAS,EAAEC,SAAS,EAAEC,QAAQ,CAAC;IACpF,IAAIF,SAAS,CAACG,yBAAyB,KAAK,IAAI,IAAI,IAAI,CAACC,QAAQ,CAAC,CAAC,EAAE;MACnE,IAAI,CAAC/E,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAACjC,KAAK,CAACR,KAAK,CAACO,OAAO,CAAC,CAAC;IACxE;EACF;EAEAkH,gBAAgBA,CAAA,EAAG;IACjB,MAAMhG,YAAY,GAAG,IAAI,CAACjB,KAAK,CAACR,KAAK,CAAC8C,SAAS,KAAK,YAAY;IAChE,OAAO,IAAI,CAAC4E,KAAK,CAACC,QAAQ,CAAC,GAAG,IAAI,CAACC,YAAY,IAAInG,YAAY,GAAG,qBAAqB,GAAG,mBAAmB,EAAE,CAAC;EAClH;EAEAoG,QAAQA,CAACvH,IAAS,EAAE;IAClB,OAAO,IAAI,CAACE,KAAK,CAACR,KAAK,CAACO,OAAO,CAACI,OAAO,CAACL,IAAI,CAAC;EAC/C;EAEQwH,eAAeA,CAACxH,IAAS,EAAEI,KAAa,EAAEV,KAAkB,EAAE;IACpE,IAAIA,KAAK,CAAC+H,OAAO,IAAIzH,IAAI,IAAI,CAAC,IAAI,CAAC0H,aAAa,EAAE;MAChD,OAAOhI,KAAK,CAAC+H,OAAO,CAACzH,IAAI,EAAEI,KAAK,CAAC;IACnC;IACA,OAAO,YAAY,GAAG,IAAI,CAACmF,YAAY,CAACoC,MAAM,CAAC3H,IAAI,EAAE,IAAI,CAAC;EAC5D;EAEQ4H,UAAUA,CAAC5H,IAAS,EAAEI,KAAa,EAAEV,KAAkB,EAAE;IAC/D,MAAMmI,IAAI,GAAG,IAAI,CAACC,cAAc,CAAC,CAAC;IAClC,MAAM3G,YAAY,GAAIzB,KAAK,CAAC8C,SAAS,KAAK,YAAa;IAEvD,MAAMuF,MAAM,GAAG,IAAI,CAACL,aAAa,GAAG;MAClC,GAAG,IAAI,CAACK,MAAM,CAAC/H,IAAI;MACnB,GAAG,IAAI,CAAC+H,MAAM,CAACC,QAAQ,CAACC;IAC1B,CAAC,GAAG,IAAI,CAACF,MAAM,CAAC/H,IAAW;IAE3B,MAAMkI,cAAc,GAAGL,IAAI,GAAG;MAAEM,KAAK,EAAE5J,KAAK,CAAC,GAAG,GAACsJ,IAAI,CAAC,GAAG,GAAG;MAAGO,IAAI,EAAE;IAAI,CAAC,GAAG,CAAC,CAAC;IAE/E,OAAQhI,KAAK,GAAG,IAAI,CAACF,KAAK,CAACsB,gBAAgB,IAAKL,YAAY,IAAI,IAAI,CAACjB,KAAK,CAACR,KAAK,CAAC2I,yBAAyB,KAAK,KAAM,GACrH,CAAC3I,KAAK,CAAC4I,WAAW,gBACjBzK,KAAA,CAAA+B,aAAA,CAAC3B,IAAI;MAACsK,KAAK,EAAEL;IAAsB,gBACjCrK,KAAA,CAAA+B,aAAA,CAAC3B,IAAI;MAACsK,KAAK,EAAE,CACZR,MAAM,EACNrI,KAAK,CAAC8I,SAAS,GAAG,IAAI,CAACpB,KAAK,CAACC,QAAQ,CAAC3H,KAAK,CAAC8I,SAAS,CAACxI,IAAI,EAAEI,KAAK,CAAC,CAAC,GAAG,IAAI,EAC1E,IAAI,CAACsB,UAAU,CAAC1B,IAAI,CAAC,GAAG,IAAI,CAAC+H,MAAM,CAACnG,YAAY,GAAG,CAAC,CAAC;IAAE,GACtDmG,MAAM,CAACU,eAAe,gBACrB5K,KAAA,CAAA+B,aAAA,CAACR,mBAAmB;MACpBsJ,KAAK,EAAEX,MAAM,CAACU,eAAgB;MAC9BE,QAAQ,EAAEZ,MAAM,CAACa,kBAAkB,IAAI,QAAS;MAChDC,IAAI,EAAEd,MAAM,CAACe,cAAc,IAAI,OAAQ;MACvCC,MAAM,EAAEhB,MAAM,CAACiB,gBAAgB,IAAI,WAAY;MAC/CC,UAAU,EAAElB,MAAM,CAACmB,oBAAoB,IAAI,OAAQ;MACnDX,KAAK,EAAE;QAAEY,YAAY,EAAE,IAAI,CAACpB,MAAM,CAAC/H,IAAI,CAACmJ;MAAa;IAAE,CACxD,CAAC,GACE,IAAI,eACRtL,KAAA,CAAA+B,aAAA,CAACf,QAAQ,EAAAuK,QAAA,KACH,IAAI,CAACC,qBAAqB,CAAC,OAAOjJ,KAAK,EAAE,CAAC;MAC9CkJ,kBAAkB,EAAE,IAAI,CAACpJ,KAAK,CAACR,KAAK,CAAC6J,kBAAmB;MACxDC,KAAK,EAAG1H,MAAM,IAAK,IAAI,CAAC3B,QAAQ,CAACH,IAAI,EAAEI,KAAK,EAAE0B,MAAM,CAAE;MACtD2H,SAAS,EAAEA,CAAA,KAAM,IAAI,CAACtH,mBAAmB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,CAACE,KAAK,CAAC,CAAE;MAC3EqH,WAAW,EAAEA,CAAA,KAAM,IAAI,CAACvH,mBAAmB,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,CAACE,KAAK,CAAC,CAAE;MAC/E0F,MAAM,EACJ,CAAC;QAAC4B,OAAO,EAAE,MAAM;QAAEC,aAAa,EAAG;MAAK,CAAC,EACvC/B,IAAI,GAAG;QACLM,KAAK,EAAE;MACT,CAAC,GAAG,IAAI,EACPN,IAAI,IAAIA,IAAI,GAAG,CAAC,IAAK1G,YAAY,GAAG;QACnC0I,YAAY,EAAE,CAACxL,KAAK,CAAC,IAAI,CAAC0J,MAAM,CAAC/H,IAAI,CAAC8J,WAAW,CAAC,GAC9C,IAAI,CAAC/B,MAAM,CAAC/H,IAAI,CAAC+J,MAAM,GAAG,IAAI,CAAChC,MAAM,CAAC/H,IAAI,CAAC8J,WAAW,KAAK;MACjE,CAAC,GAAG,IAAI,EACR,IAAI,CAAC/B,MAAM,CAACiC,aAAa;IAE5B,IACAtK,KAAK,CAACkI,UAAU,CAAC5H,IAAI,EAAEI,KAAK,EAAE,IAAI,CAAC,EACnC,IAAI,CAACsB,UAAU,CAAC1B,IAAI,CAAC,gBACpBnC,KAAA,CAAA+B,aAAA,CAACZ,MAAM;MAACiL,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,MAAM,GAAG9J,KAAK,CAAE;MAAC+J,SAAS,EAAC,oBAAoB;MAACpC,MAAM,EAAE,IAAI,CAACA,MAAM,CAACqC;IAAa,CAAE,CAAC,GAC7G,IACI,CACN,CACD,CAAC,gBAGNvM,KAAA,CAAA+B,aAAA,CAACX,SAAS;MACVoL,iBAAiB,EAAEA,CAAA,KAAM,IAAI,CAACA,iBAAiB,CAAC,CAAE;MAClDC,kBAAkB,EAAEA,CAAA,KAAM,IAAI,CAACA,kBAAkB,CAAC,CAAE;MAACpC,cAAc,EAAEA;IAAsB,gBAC3FrK,KAAA,CAAA+B,aAAA,CAAC3B,IAAI;MAACsK,KAAK,EAAE,CACXR,MAAM,EACNrI,KAAK,CAAC8I,SAAS,GAAG,IAAI,CAACpB,KAAK,CAACC,QAAQ,CAAC3H,KAAK,CAAC8I,SAAS,CAACxI,IAAI,EAAEI,KAAK,CAAC,CAAC,GAAG,IAAI,EAC1E,IAAI,CAACsB,UAAU,CAAC1B,IAAI,CAAC,GAAG,IAAI,CAAC+H,MAAM,CAACnG,YAAY,GAAG,CAAC,CAAC;IAAE,GACtDmG,MAAM,CAACU,eAAe,gBACrB5K,KAAA,CAAA+B,aAAA,CAACR,mBAAmB;MACpBsJ,KAAK,EAAEX,MAAM,CAACU,eAAgB;MAC9BE,QAAQ,EAAEZ,MAAM,CAACa,kBAAkB,IAAI,QAAS;MAChDC,IAAI,EAAEd,MAAM,CAACe,cAAc,IAAI,OAAQ;MACvCC,MAAM,EAAEhB,MAAM,CAACiB,gBAAgB,IAAI,WAAY;MAC/CC,UAAU,EAAElB,MAAM,CAACmB,oBAAoB,IAAI,OAAQ;MACnDX,KAAK,EAAE;QAAEY,YAAY,EAAE,IAAI,CAACpB,MAAM,CAAC/H,IAAI,CAACmJ;MAAa;IAAE,CACxD,CAAC,GACE,IAAI,eACRtL,KAAA,CAAA+B,aAAA,CAACf,QAAQ,EAAAuK,QAAA,KACH,IAAI,CAACC,qBAAqB,CAAC,OAAOjJ,KAAK,EAAE,CAAC;MAC9CkJ,kBAAkB,EAAE,IAAI,CAACpJ,KAAK,CAACR,KAAK,CAAC6J,kBAAmB;MACxDC,KAAK,EAAG1H,MAAM,IAAK,IAAI,CAAC3B,QAAQ,CAACH,IAAI,EAAEI,KAAK,EAAE0B,MAAM,CAAE;MACtD2H,SAAS,EAAEA,CAAA,KAAM,IAAI,CAACtH,mBAAmB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,CAACE,KAAK,CAAC,CAAE;MAC3EqH,WAAW,EAAEA,CAAA,KAAM,IAAI,CAACvH,mBAAmB,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,CAACE,KAAK,CAAC,CAAE;MAC/E0F,MAAM,EACJ,CAAC;QAAC4B,OAAO,EAAE,MAAM;QAAEC,aAAa,EAAG;MAAK,CAAC,EACvC/B,IAAI,GAAG;QACLM,KAAK,EAAE;MACT,CAAC,GAAG,IAAI,EACPN,IAAI,IAAIA,IAAI,GAAG,CAAC,IAAK1G,YAAY,GAAG;QACnC0I,YAAY,EAAE,CAACxL,KAAK,CAAC,IAAI,CAAC0J,MAAM,CAAC/H,IAAI,CAAC8J,WAAW,CAAC,GAC9C,IAAI,CAAC/B,MAAM,CAAC/H,IAAI,CAAC+J,MAAM,GAAG,IAAI,CAAChC,MAAM,CAAC/H,IAAI,CAAC8J,WAAW,KAAK;MACjE,CAAC,GAAG,IAAI,EACR,IAAI,CAAC/B,MAAM,CAACiC,aAAa;IAE1B,IACAtK,KAAK,CAACkI,UAAU,CAAC5H,IAAI,EAAEI,KAAK,EAAE,IAAI,CAAC,EACnC,IAAI,CAACsB,UAAU,CAAC1B,IAAI,CAAC,gBACpBnC,KAAA,CAAA+B,aAAA,CAACZ,MAAM;MAACiL,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,MAAM,GAAG9J,KAAK,CAAE;MAAC+J,SAAS,EAAEzK,KAAK,CAAC6K,gBAAgB,GAAG7K,KAAK,CAAC6K,gBAAgB,GAAG,oBAAqB;MAACxC,MAAM,EAAE,IAAI,CAACA,MAAM,CAACqC;IAAa,CAAE,CAAC,GACjK,IACI,CACN,CACG,CACZ,GAAG,IAAI;EACV;EAEQI,YAAYA,CAAC9K,KAAkB,EAAE+K,KAAa,EAAE;IACtD,OAAO/K,KAAK,CAAC0E,OAAO,gBAClBvG,KAAA,CAAA+B,aAAA,CAAC5B,IAAI;MAACuK,KAAK,EAAE,IAAI,CAACR,MAAM,CAAC2C,YAAa;MAACC,iBAAiB,EAAC;IAAQ,GAAEF,KAAY,CAAC,GAC7E/K,KAAK,CAACyK,SAAS,IAAIzK,KAAK,CAAC+K,KAAK,IAAI/K,KAAK,CAACkL,UAAU,gBACrD/M,KAAA,CAAA+B,aAAA,CAAC3B,IAAI;MAACsK,KAAK,EAAE,IAAI,CAACR,MAAM,CAAC8C;IAAQ,gBAC/BhN,KAAA,CAAA+B,aAAA,CAAC3B,IAAI;MAACsK,KAAK,EAAE;QAAEH,IAAI,EAAE,CAAC;QAAEwB,aAAa,EAAE;MAAM;IAAE,gBAC7C/L,KAAA,CAAA+B,aAAA,CAACZ,MAAM;MAACiL,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,MAAM,CAAE;MAACnC,MAAM,EAAE,IAAI,CAACA,MAAM,CAAC+C,QAAS;MAACX,SAAS,EAAEzK,KAAK,CAACyK;IAAU,CAAS,CAAC,eACvGtM,KAAA,CAAA+B,aAAA,CAAC3B,IAAI,qBACHJ,KAAA,CAAA+B,aAAA,CAACb,OAAO;MAACkL,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,OAAO,CAAE;MAACnC,MAAM,EAAE,IAAI,CAACA,MAAM,CAAC0C,KAAM;MAACM,OAAO,EAAErL,KAAK,CAAC+K,KAAM;MAACO,iBAAiB,EAAC;IAAQ,CAAU,CAAC,eAC5HnN,KAAA,CAAA+B,aAAA,CAACb,OAAO;MAACkL,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,YAAY,CAAE;MAACnC,MAAM,EAAE,IAAI,CAACA,MAAM,CAAC6C,UAAW;MAACG,OAAO,EAAErL,KAAK,CAACkL;IAAW,CAAU,CAC3G,CACF,CACF,CAAC,GAAI,IAAI;EACnB;EAEQK,kBAAkBA,CAAC9J,YAAqB,EAAEnB,IAAS,EAAEI,KAAU,EAAEV,KAAkB,EAAE;IAC3F,oBAAQ7B,KAAA,CAAA+B,aAAA,CAACb,OAAO;MAACkL,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,UAAU,CAAE;MAACnC,MAAM,EAAE,IAAI,CAACA,MAAM,CAACmD,YAAa;MAACH,OAAO,EAAErL,KAAK,CAAC2B;IAAc,CAAU,CAAC;EAC7H;EAEQ8J,iBAAiBA,CAACzL,KAAkB,EAAE;IAC5C,OAAOA,KAAK,CAAC0L,WAAW,gBAAIvN,KAAA,CAAA+B,aAAA,CAACZ,MAAM;MACjCiL,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,aAAa,CAAE;MAClCnC,MAAM,EAAE,IAAI,CAACA,MAAM,CAACsD,WAAY;MAChClB,SAAS,EAAEzK,KAAK,CAAC0L,WAAY;MAC7BL,OAAO,EAAErL,KAAK,CAAC4L;IAAe,CAAS,CAAC,gBAEtCzN,KAAA,CAAA+B,aAAA,CAAC9B,iBAAiB;MAACyN,KAAK,EAAE,IAAI,CAACxD,MAAM,CAACsD,WAAW,CAACG,IAAI,CAACD;IAAM,CAAoB,CAClF;EACL;EAEOzD,cAAcA,CAAA,EAAG;IACtB,MAAMpI,KAAK,GAAG,IAAI,CAACQ,KAAK,CAACR,KAAK;IAC9B,IAAIA,KAAK,CAAC8C,SAAS,KAAK,UAAU,EAAE;MAClC,OAAO9C,KAAK,CAAC+L,WAAW,CAACC,EAAE;IAC7B;IACA,OAAO,CAAC;EACV;EAEQC,cAAcA,CAACC,CAAoB,EAAE;IAC3C,MAAMC,CAAC,GAAGD,CAAC,CAACrF,WAAW,CAACuF,MAAM;IAC9B,IAAI,CAAClF,YAAY,GAAGiF,CAAC,CAAClF,MAAM,GAAGkF,CAAC,CAACpF,CAAC,GAAG,GAAG;IACxC,IAAI,CAAC,IAAI,CAACG,YAAY,EAAE;MACtB,IAAI,CAACA,YAAY,GAAG,CAAC,CAAC;IACxB;EACF;EAqBQmF,kBAAkBA,CAACrM,KAAkB,EAAEyB,YAAY,GAAG,KAAK,EAAE;IAEnE,oBACEtD,KAAA,CAAA+B,aAAA,CAAC3B,IAAI;MAACsK,KAAK,EAAE,IAAI,CAACR,MAAM,CAACE,IAAK;MAAC+D,QAAQ,EAAEJ,CAAC,IAAI,IAAI,CAACD,cAAc,CAACC,CAAC;IAAE,GAClE,CAACxN,OAAO,CAAC,IAAI,CAAC8B,KAAK,CAACwC,WAAW,CAAC,GAAG,IAAI,CAACxC,KAAK,CAACwC,WAAW,CAACiC,GAAG,CAAC,CAACsH,CAAM,EAAEC,CAAC;MAAA,IAAAC,IAAA;MAAA,oBACvEtO,KAAA,CAAA+B,aAAA,CAAC3B,IAAI;QAACsK,KAAK,EAAE,IAAI,CAACR,MAAM,CAACnF,KAAM;QAACG,GAAG,EAAEkJ,CAAC,CAAClJ,GAAG,IAAI,IAAI,CAACwC,YAAY,CAACoC,MAAM,CAACsE,CAAC,EAAE,IAAI;MAAE,GAC7E,IAAI,CAACzB,YAAY,CAAC9K,KAAK,EAAEuM,CAAC,CAAClJ,GAAG,CAAC,eAChClF,KAAA,CAAA+B,aAAA,CAAC1B,QAAQ,EAAAkL,QAAA;QACPgD,GAAG,EAAGA,GAAG,IAAK;UAAE,IAAI,CAACrL,YAAY,CAACkL,CAAC,CAAClJ,GAAG,IAAI,MAAM,CAAC,GAAGqJ,GAAG;QAAE,CAAE;QAC5DC,MAAM,EAAE,IAAI,CAACnC,SAAS,CAAC,WAAW,CAAE;QACpCnH,GAAG,EAAErD,KAAK,CAAC+F,IAAI,GAAG,GAAG,IAAItE,YAAY,GAAG,GAAG,GAAG,GAAG,CAAC,GAAGzB,KAAK,CAAC+L,WAAW,CAACC,EAAG;QAC1EnG,YAAY,EAAEA,CAACvF,IAAI,EAAEkM,CAAC,KAAK,IAAI,CAAC1E,eAAe,CAACxH,IAAI,EAAEkM,CAAC,EAAExM,KAAK,CAAE;QAChE4M,aAAa,EAAEnL,YAAa;QAC5BoL,UAAU,EAAEpL,YAAa;QACzB0B,IAAI,EAAE,IAAI,CAAC6E,aAAa,GAAG,CAAC,GAAG/I,uBAAuB,EAAAwN,IAAA,GAAC,IAAI,CAACzM,KAAK,CAAC8M,qBAAqB,cAAAL,IAAA,cAAAA,IAAA,GAAc,CAAC,CAAC,CAAC,GAAI/N,OAAO,CAAC6N,CAAC,CAACpJ,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAGoJ,CAAC,CAACpJ,IAAM;QAC9I4J,kBAAkB,EAAGC,QAAQ,IAAK,IAAI,CAACzB,kBAAkB,CAAC9J,YAAY,EAAEuL,QAAQ,CAAC1M,IAAI,EAAE0M,QAAQ,CAACtM,KAAK,EAAEV,KAAK,CAAE;QAC9GkI,UAAU,EAAG8E,QAAQ,IAAK,IAAI,CAAC9E,UAAU,CAAC8E,QAAQ,CAAC1M,IAAI,EAAE0M,QAAQ,CAACtM,KAAK,EAAEV,KAAK;MAAE,GAC3EyB,YAAY,GAAG;QAAEwL,8BAA8B,EAAE,CAACjN,KAAK,CAACkN;MAAwB,CAAC,GAAG;QAAEC,UAAU,EAAE,IAAI,CAAC/E,cAAc,CAAC;MAAE,CAAC,CACtH,CAAC,EACV,IAAI,CAAC3E,gBAAgB,IAAK8I,CAAC,CAACpJ,IAAI,CAACrC,MAAM,GAAG,IAAI,CAACN,KAAK,CAACsB,gBAAgB,IAAK9B,KAAK,CAAC0D,UAAU,KAAK,MAAO,GACtG,IAAI,CAAClD,KAAK,CAACoD,WAAW,GAAG,IAAI,CAAC6H,iBAAiB,CAACzL,KAAK,CAAC,gBACtD7B,KAAA,CAAA+B,aAAA,CAACb,OAAO;QAACkL,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,iBAAiB,CAAE;QAChDnC,MAAM,EAAE,IAAI,CAACA,MAAM,CAAC+E,eAAgB;QACrC/B,OAAO,EAAE,IAAI,CAACgC,UAAU,CAAE5L,YAAY,EAAE8K,CAAC,CAACpJ,IAAI,CAAE;QACjD2G,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACnG,QAAQ,CAAC;MAAE,CAAU,CAAE,GAAG,IACtC,CAAC;IAAA,CACP,CAAC,GAAG,IAAI,CAAC4H,kBAAkB,CAAC9J,YAAY,EAAE,IAAI,EAAE,IAAI,EAAEzB,KAAK,CAEzD,CAAC;EACX;EAEQsN,kBAAkBA,CAACtN,KAAkB,EAAE;IAC7C,IAAI,IAAI,CAACgI,aAAa,EAAE;MAAA,IAAAuF,KAAA;MACtB,OAAO,CAAC;QACNlK,GAAG,EAAE,EAAE;QACPF,IAAI,EAAE,CAAC,GAAGlE,uBAAuB,EAAAsO,KAAA,GAAC,IAAI,CAACvN,KAAK,CAAC8M,qBAAqB,cAAAS,KAAA,cAAAA,KAAA,GAAc,CAAC,CAAC;MACpF,CAAC,CAAC;IACJ,CAAC,MAAM,IAAI,IAAI,CAAC/M,KAAK,CAACwC,WAAW,IAC5B,IAAI,CAACxC,KAAK,CAACwC,WAAW,CAAC,CAAC,CAAC,IACzB,IAAI,CAACxC,KAAK,CAACwC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAClC,MAAM,EAAE;MAC7C,OAAO,IAAI,CAACN,KAAK,CAACwC,WAAW;IAC/B;IACA,OAAO,EAAE;EACX;EAEQwK,qBAAqBA,CAACxN,KAAkB,EAAEyB,YAAY,GAAG,KAAK,EAAE;IACtE,oBACEtD,KAAA,CAAA+B,aAAA,CAAC7B,WAAW;MACVwH,YAAY,EAAEA,CAACvF,IAAI,EAAEkM,CAAC,KAAK,IAAI,CAAC1E,eAAe,CAACxH,IAAI,EAAEkM,CAAC,EAAExM,KAAK,CAAE;MAChE6M,UAAU,EAAEpL,YAAa;MACzBgM,qBAAqB,EAAE,IAAI,CAACpF,MAAM,CAACE,IAAK;MACxCmF,QAAQ,EAAE,IAAI,CAACJ,kBAAkB,CAACtN,KAAK,CAAE;MACzC2N,mBAAmB,EAAEA,CAAC;QAAEC,OAAO,EAAE;UAAEvK,GAAG;UAAEF;QAAK;MAAE,CAAC,KAAK;QACnD,OAAO,IAAI,CAAC2H,YAAY,CAAC9K,KAAK,EAAEqD,GAAG,CAAC;MACtC,CAAE;MACFwK,mBAAmB,EAAEA,CAAA,KAAM7N,KAAK,CAAC+D,WAAW,GAAG,IAAI,CAAC0H,iBAAiB,CAACzL,KAAK,CAAC,GAAG,IAAK;MACpF+M,kBAAkB,EAAGC,QAAQ,IAAK,IAAI,CAACzB,kBAAkB,CAAC9J,YAAY,EAAEuL,QAAQ,CAAC1M,IAAI,EAAE0M,QAAQ,CAACtM,KAAK,EAAEV,KAAK,CAAE;MAC9GkI,UAAU,EAAG8E,QAAQ,IAAK,IAAI,CAAC9E,UAAU,CAAC8E,QAAQ,CAAC1M,IAAI,EAAE0M,QAAQ,CAACtM,KAAK,EAAEV,KAAK;IAAE,CACrE,CAAC;EAElB;EAEA8N,YAAYA,CAAC9N,KAAkB,EAAE;IAC/B,IAAI,CAACyC,mBAAmB,CAAC,oBAAoB,EAAE,CAAC,IAAI,EAAE,IAAI,CAACjC,KAAK,CAACR,KAAK,CAACO,OAAO,CAAC,CAAC;IAChF,MAAMkB,YAAY,GAAIzB,KAAK,CAAC8C,SAAS,KAAK,YAAa;IAEvD,oBACE3E,KAAA,CAAA+B,aAAA,CAAC3B,IAAI;MACHsK,KAAK,EAAEpH,YAAY,GAAG,IAAI,GAAG;QAAEgH,KAAK,EAAE;MAAO,CAAE;MAC/C6D,QAAQ,EAAG3F,KAAK,IAAK,IAAI,CAACoH,YAAY,CAACpH,KAAK;IAAE,GAE7C,IAAI,CAACqH,WAAW,EACfvM,YAAY,IAAI,CAACzB,KAAK,CAAC0E,OAAO,GAC9B,IAAI,CAAC2H,kBAAkB,CAACrM,KAAK,EAAEyB,YAAY,CAAC,GAC1C,IAAI,CAAC+L,qBAAqB,CAACxN,KAAK,EAAEyB,YAAY,CAC9C,CAAC;EAEX;AACF","ignoreList":[]}
@@ -4,7 +4,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
4
4
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
5
5
  import React from 'react';
6
6
  import { View, Text, TouchableOpacity, Animated, Dimensions } from 'react-native';
7
- import { debounce, isNil, isArray, isString, last, isEqual } from 'lodash';
7
+ import { debounce, isNil, isArray, isString, last, isEqual, isObject } from 'lodash';
8
8
  import { Gesture, GestureDetector } from 'react-native-gesture-handler';
9
9
  import { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';
10
10
  import WmTooltip from '@wavemaker/app-rn-runtime/components/basic/tooltip/tooltip.component';
@@ -88,6 +88,8 @@ export default class WmSlider extends BaseDatasetComponent {
88
88
  _defineProperty(this, "highKnobGesture", Gesture.Pan());
89
89
  _defineProperty(this, "scale", null);
90
90
  _defineProperty(this, "uiScale", null);
91
+ _defineProperty(this, "positionRefMaksudai", /*#__PURE__*/React.createRef());
92
+ _defineProperty(this, "tempPosition", /*#__PURE__*/React.createRef());
91
93
  _defineProperty(this, "onSliderChange", debounce((value, gestureType) => {
92
94
  const dataValue = this.getScaledDataValue();
93
95
  const isRangeSlider = this.state.props.range && isArray(dataValue);
@@ -132,10 +134,36 @@ export default class WmSlider extends BaseDatasetComponent {
132
134
  this.computePosition(this.getScaledDataValue()[0], 'track');
133
135
  });
134
136
  });
137
+ _defineProperty(this, "getLabel", (data, displayFiled, indexOfMarker) => {
138
+ let title = "";
139
+ if (isString(data)) {
140
+ let formattedData = data.replace(/ ,/g, ',').replace(/, /g, ',');
141
+ title = this.getLabel(formattedData.split(','), displayFiled, indexOfMarker);
142
+ } else if (data && isArray(data) && data[indexOfMarker]) {
143
+ if (isObject(data[indexOfMarker]) && data[indexOfMarker].title) {
144
+ title = `${data[indexOfMarker].title}`;
145
+ } else if (!isObject(data[indexOfMarker])) {
146
+ title = `${data[indexOfMarker]}`;
147
+ }
148
+ } else {
149
+ title = `${displayFiled}`;
150
+ }
151
+ return title;
152
+ });
153
+ _defineProperty(this, "getLabelPosition", (data, indexOfMarker) => {
154
+ let position = "up";
155
+ if (data && isArray(data) && data[indexOfMarker]) {
156
+ if (isObject(data[indexOfMarker]) && data[indexOfMarker].position) {
157
+ position = data[indexOfMarker].position;
158
+ }
159
+ }
160
+ return position;
161
+ });
135
162
  this.initScale();
136
163
  this.configureGesture(this.trackGesture, 'track');
137
164
  this.configureGesture(this.knobGesture, 'lowThumb');
138
165
  this.configureGesture(this.highKnobGesture, 'highThumb');
166
+ this.positionRefMaksudai.current = 0;
139
167
  }
140
168
  getValueFromGesture(positionX) {
141
169
  var _this$scale;
@@ -147,14 +175,21 @@ export default class WmSlider extends BaseDatasetComponent {
147
175
  }
148
176
  configureGesture(gesture, gestureType) {
149
177
  gesture.maxPointers(1).minDistance(0).onChange(e => {
150
- const value = this.getValueFromGesture(e.absoluteX);
151
- this.computePosition(value, gestureType);
152
- this.forceUpdate();
178
+ var _this$uiScale2, _this$uiScale3;
179
+ const tickLastIndex = this.scale.ticks.length - 1;
180
+ const max = (_this$uiScale2 = this.uiScale) === null || _this$uiScale2 === void 0 || (_this$uiScale2 = _this$uiScale2.ticks[tickLastIndex]) === null || _this$uiScale2 === void 0 ? void 0 : _this$uiScale2.markValue;
181
+ const min = (_this$uiScale3 = this.uiScale) === null || _this$uiScale3 === void 0 || (_this$uiScale3 = _this$uiScale3.ticks[0]) === null || _this$uiScale3 === void 0 ? void 0 : _this$uiScale3.markValue;
182
+ let newValue = this.positionRefMaksudai.current + e.translationX;
183
+ newValue = newValue > max ? max : newValue;
184
+ newValue = newValue < min ? min : newValue;
185
+ this.position.setValue(newValue);
186
+ this.tempPosition.current = newValue;
153
187
  }).onEnd(e => {
154
188
  if (this.state.track) {
155
- const value = this.getValueFromGesture(e.absoluteX);
189
+ const value = this.getValueFromGesture(this.tempPosition.current);
190
+ this.positionRefMaksudai.current = this.tempPosition.current;
191
+ this.computePosition(value, gestureType);
156
192
  this.onSliderChange(value, gestureType);
157
- this.forceUpdate();
158
193
  }
159
194
  });
160
195
  }
@@ -238,7 +273,6 @@ export default class WmSlider extends BaseDatasetComponent {
238
273
  computePosition(from, gestureType) {
239
274
  const state = this.state;
240
275
  const datavalue = this.getScaledDataValue();
241
-
242
276
  // * single thumb slider
243
277
  if (!state.props.range) {
244
278
  var _this$position;
@@ -365,6 +399,7 @@ export default class WmSlider extends BaseDatasetComponent {
365
399
  }
366
400
  renderMarkers(props) {
367
401
  var _this$state$track;
402
+ const markerlabeltext = props.markerlabeltext;
368
403
  const width = ((_this$state$track = this.state.track) === null || _this$state$track === void 0 ? void 0 : _this$state$track.width) || 0;
369
404
  return /*#__PURE__*/React.createElement(View, {
370
405
  style: {
@@ -373,15 +408,19 @@ export default class WmSlider extends BaseDatasetComponent {
373
408
  }, /*#__PURE__*/React.createElement(View, null, width ? this.scale.ticks.map((t, i) => {
374
409
  const markWidth = 10;
375
410
  const stepwiseLeft = this.getPositionFromValue(t.markValue);
376
- const labelText = t.displayfield;
411
+ const labelText = this.getLabel(markerlabeltext, t.displayfield, i);
412
+ const marketLabelPosition = this.getLabelPosition(markerlabeltext, i);
377
413
  return /*#__PURE__*/React.createElement(View, {
378
414
  key: i,
379
415
  style: [this.styles.markerWrapper, {
380
416
  left: stepwiseLeft,
381
- bottom: markWidth / 2
417
+ bottom: markWidth / 2,
418
+ alignItems: 'center'
382
419
  }]
383
420
  }, /*#__PURE__*/React.createElement(Text, {
384
- style: [this.styles.markerLabel, {
421
+ style: [this.styles.markerLabel, marketLabelPosition === 'down' ? {
422
+ bottom: (markWidth / 2 + 10 + markWidth) * -1
423
+ } : {
385
424
  bottom: markWidth / 2 + 10
386
425
  }, this.styles.markerLabelStyle, i === 0 ? this.styles.minimumValue : null, i === this.scale.ticks.length - 1 ? this.styles.maximumValue : null]
387
426
  }, labelText), /*#__PURE__*/React.createElement(View, {
@@ -420,7 +459,9 @@ export default class WmSlider extends BaseDatasetComponent {
420
459
  transform: [{
421
460
  translateX: this.position
422
461
  }]
423
- }, this.styles.activeTrackStyle]
462
+ }, this.styles.activeTrackStyle, {
463
+ backgroundColor: 'rgb(162, 162, 162)'
464
+ }]
424
465
  }), isRangeSlider && this.highPosition ? /*#__PURE__*/React.createElement(Animated.View, {
425
466
  style: [this.styles.maximumTrack, {
426
467
  width: width,