@wavemaker/app-rn-runtime 11.5.4-rc.5501 → 11.5.4-rc.5507

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.
@@ -211,6 +211,8 @@ export default class WmFormField extends BaseComponent {
211
211
  return /*#__PURE__*/React.cloneElement(child, {
212
212
  datavalue: props.datavalue,
213
213
  isValid: this.state.isValid,
214
+ maskchar: props.maskchar,
215
+ displayformat: props.displayformat,
214
216
  invokeEvent: this.invokeEventCallback.bind(this),
215
217
  triggerValidation: this.validateFormField.bind(this),
216
218
  onFieldChange: this.onFieldChangeEvt.bind(this),
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","isEqual","get","find","cloneDeep","forEach","keys","WmFormFieldProps","DEFAULT_CLASS","PERFORMANCE_LOGGER","WmFormFieldState","constructor","arguments","_defineProperty","WmFormField","props","onFieldChangeEvt","name","$new","$old","isDefault","notifyChanges","validateFormField","updateState","datavalue","invokeEventCallback","undefined","form","updateDataOutput","call","observeOn","fields","field","formfield","formFields","f","proxy","notifyForFields","push","formwidget","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","cloneElement","invokeEvent","triggerValidation","onFieldChange","formRef","createElement","style","styles","root","_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, 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 }\n\n onFieldChangeEvt(name: string, $new: any, $old: any, isDefault: boolean) {\n this.notifyChanges();\n this.validateFormField();\n if (!isEqual($old, $new)) {\n this.updateState({ props: { datavalue: $new }} as WmFormFieldState, () => {\n !isDefault && this.invokeEventCallback('onChange', [undefined, this, $new, $old]);\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 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,\n isValid: this.state.isValid,\n invokeEvent: this.invokeEventCallback.bind(this),\n triggerValidation: this.validateFormField.bind(this),\n onFieldChange: this.onFieldChangeEvt.bind(this),\n formRef: props.formRef });\n });\n return (\n <View style={this.styles.root}>{this._background}{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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"}
1
+ {"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","isEqual","get","find","cloneDeep","forEach","keys","WmFormFieldProps","DEFAULT_CLASS","PERFORMANCE_LOGGER","WmFormFieldState","constructor","arguments","_defineProperty","WmFormField","props","onFieldChangeEvt","name","$new","$old","isDefault","notifyChanges","validateFormField","updateState","datavalue","invokeEventCallback","undefined","form","updateDataOutput","call","observeOn","fields","field","formfield","formFields","f","proxy","notifyForFields","push","formwidget","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","cloneElement","maskchar","displayformat","invokeEvent","triggerValidation","onFieldChange","formRef","createElement","style","styles","root","_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, 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 }\n\n onFieldChangeEvt(name: string, $new: any, $old: any, isDefault: boolean) {\n this.notifyChanges();\n this.validateFormField();\n if (!isEqual($old, $new)) {\n this.updateState({ props: { datavalue: $new }} as WmFormFieldState, () => {\n !isDefault && this.invokeEventCallback('onChange', [undefined, this, $new, $old]);\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 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,\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 });\n return (\n <View style={this.styles.root}>{this._background}{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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"}
@@ -25,6 +25,8 @@ export default class WmFormFieldProps extends BaseProps {
25
25
  _defineProperty(this, "isDataSetBound", false);
26
26
  _defineProperty(this, "readonly", false);
27
27
  _defineProperty(this, "onValidate", void 0);
28
+ _defineProperty(this, "maskchar", null);
29
+ _defineProperty(this, "displayformat", null);
28
30
  }
29
31
  }
30
32
  //# sourceMappingURL=form-field.props.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","WmFormFieldProps","constructor","arguments","_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 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}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,gBAAgB,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,oBAIlC,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;EAAA;AAE3B"}
1
+ {"version":3,"names":["BaseProps","WmFormFieldProps","constructor","arguments","_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 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 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;IAAA,SAAAC,SAAA;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,oBAIlC,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,mBAEN,IAAI;IAAAA,eAAA,wBACC,IAAI;EAAA;AAC9B"}
@@ -13,6 +13,10 @@ export default class WmDialogcontent extends BaseComponent {
13
13
  contentContainerStyle: [this.styles.root, {
14
14
  maxHeight: undefined
15
15
  }],
16
+ onScroll: event => {
17
+ this.notify('scroll', [event]);
18
+ },
19
+ scrollEventThrottle: 48,
16
20
  style: {
17
21
  maxHeight: this.styles.root.maxHeight
18
22
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","ScrollView","BaseComponent","BaseComponentState","WmDialogcontentProps","DEFAULT_CLASS","WmDialogcontentState","WmDialogcontent","constructor","props","renderWidget","createElement","contentContainerStyle","styles","root","maxHeight","undefined","style","_background","children"],"sources":["dialogcontent.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ScrollView } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmDialogcontentProps from './dialogcontent.props';\nimport { DEFAULT_CLASS, WmDialogcontentStyles } from './dialogcontent.styles';\n\nexport class WmDialogcontentState extends BaseComponentState<WmDialogcontentProps> {}\n\nexport default class WmDialogcontent extends BaseComponent<WmDialogcontentProps, WmDialogcontentState, WmDialogcontentStyles> {\n\n constructor(props: WmDialogcontentProps) {\n super(props, DEFAULT_CLASS, new WmDialogcontentProps());\n }\n\n renderWidget(props: WmDialogcontentProps) {\n return (<ScrollView\n contentContainerStyle={[this.styles.root, {maxHeight: undefined}]}\n style={{maxHeight: this.styles.root.maxHeight}}>\n {this._background}\n {props.children}\n </ScrollView>);\n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,oBAAoB,MAAM,uBAAuB;AACxD,SAASC,aAAa,QAA+B,wBAAwB;AAE7E,OAAO,MAAMC,oBAAoB,SAASH,kBAAkB,CAAuB;AAEnF,eAAe,MAAMI,eAAe,SAASL,aAAa,CAAoE;EAE5HM,WAAWA,CAACC,KAA2B,EAAE;IACvC,KAAK,CAACA,KAAK,EAAEJ,aAAa,EAAE,IAAID,oBAAoB,CAAC,CAAC,CAAC;EACzD;EAEAM,YAAYA,CAACD,KAA2B,EAAE;IACxC,oBAAQT,KAAA,CAAAW,aAAA,CAACV,UAAU;MACjBW,qBAAqB,EAAE,CAAC,IAAI,CAACC,MAAM,CAACC,IAAI,EAAE;QAACC,SAAS,EAAEC;MAAS,CAAC,CAAE;MAClEC,KAAK,EAAE;QAACF,SAAS,EAAE,IAAI,CAACF,MAAM,CAACC,IAAI,CAACC;MAAS;IAAE,GAC5C,IAAI,CAACG,WAAW,EAChBT,KAAK,CAACU,QACC,CAAC;EACf;AACF"}
1
+ {"version":3,"names":["React","ScrollView","BaseComponent","BaseComponentState","WmDialogcontentProps","DEFAULT_CLASS","WmDialogcontentState","WmDialogcontent","constructor","props","renderWidget","createElement","contentContainerStyle","styles","root","maxHeight","undefined","onScroll","event","notify","scrollEventThrottle","style","_background","children"],"sources":["dialogcontent.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ScrollView } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmDialogcontentProps from './dialogcontent.props';\nimport { DEFAULT_CLASS, WmDialogcontentStyles } from './dialogcontent.styles';\n\nexport class WmDialogcontentState extends BaseComponentState<WmDialogcontentProps> {}\n\nexport default class WmDialogcontent extends BaseComponent<WmDialogcontentProps, WmDialogcontentState, WmDialogcontentStyles> {\n\n constructor(props: WmDialogcontentProps) {\n super(props, DEFAULT_CLASS, new WmDialogcontentProps());\n }\n\n renderWidget(props: WmDialogcontentProps) {\n return (<ScrollView\n contentContainerStyle={[this.styles.root, {maxHeight: undefined}]}\n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}\n style={{maxHeight: this.styles.root.maxHeight}}>\n {this._background}\n {props.children}\n </ScrollView>);\n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,oBAAoB,MAAM,uBAAuB;AACxD,SAASC,aAAa,QAA+B,wBAAwB;AAE7E,OAAO,MAAMC,oBAAoB,SAASH,kBAAkB,CAAuB;AAEnF,eAAe,MAAMI,eAAe,SAASL,aAAa,CAAoE;EAE5HM,WAAWA,CAACC,KAA2B,EAAE;IACvC,KAAK,CAACA,KAAK,EAAEJ,aAAa,EAAE,IAAID,oBAAoB,CAAC,CAAC,CAAC;EACzD;EAEAM,YAAYA,CAACD,KAA2B,EAAE;IACxC,oBAAQT,KAAA,CAAAW,aAAA,CAACV,UAAU;MACjBW,qBAAqB,EAAE,CAAC,IAAI,CAACC,MAAM,CAACC,IAAI,EAAE;QAACC,SAAS,EAAEC;MAAS,CAAC,CAAE;MAClEC,QAAQ,EAAGC,KAAK,IAAK;QAAC,IAAI,CAACC,MAAM,CAAC,QAAQ,EAAE,CAACD,KAAK,CAAC,CAAC;MAAA,CAAE;MACtDE,mBAAmB,EAAE,EAAG;MACxBC,KAAK,EAAE;QAACN,SAAS,EAAE,IAAI,CAACF,MAAM,CAACC,IAAI,CAACC;MAAS;IAAE,GAC5C,IAAI,CAACO,WAAW,EAChBb,KAAK,CAACc,QACC,CAAC;EACf;AACF"}
@@ -113,7 +113,7 @@ export class BaseInputComponent extends BaseComponent {
113
113
  onBlur(event) {
114
114
  Injector.FOCUSED_ELEMENT.remove();
115
115
  this.isTouched = true;
116
- let newVal = event.target.value || this.state.textValue;
116
+ let newVal = this.state.textValue;
117
117
  let oldVal = this.state.props.datavalue || '';
118
118
  this.validate(newVal);
119
119
  if (newVal === '') {
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_CLASS","BaseComponent","BaseComponentState","isString","Platform","validateField","Injector","BaseInputState","constructor","arguments","_defineProperty","BaseInputComponent","props","defaultClass","length","undefined","defaultProps","defaultState","focus","_this$widgetRef","widgetRef","blur","_this$widgetRef2","_this$widgetRef3","onPropertyChange","name","$new","$old","keyboardType","type","updateState","textValue","isDefault","state","onFieldChange","bind","onChange","event","updateon","updateDatavalue","target","value","onChangeText","validate","invokeChange","e","OS","cursor","selectionStart","setState","source","oldValue","datavalue","autotrim","trim","invokeEventCallback","proxy","onBlur","FOCUSED_ELEMENT","remove","isTouched","newVal","oldVal","setTimeout","triggerValidation","validationObj","isValid","errorType","onFocus","set","onKeyPress"],"sources":["baseinput.component.ts"],"sourcesContent":["import { DEFAULT_CLASS } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport BaseInputProps from './baseinput.props';\nimport { isString } from 'lodash';\nimport { BaseInputStyles } from './baseinput.styles';\nimport { Platform, TextInput } from 'react-native';\nimport { validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport Injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class BaseInputState <T extends BaseInputProps> extends BaseComponentState<T> {\n keyboardType: any = 'default';\n isValid: boolean = true;\n textValue: string = '';\n isDefault = false;\n errorType: string = '';\n}\nexport abstract class BaseInputComponent< T extends BaseInputProps, S extends BaseInputState<T>, L extends BaseInputStyles> extends BaseComponent<T, S, L> {\n public widgetRef: TextInput | null = null;\n isTouched: boolean = false;\n private cursor: any = 0;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n blur() {\n this?.widgetRef?.blur && this?.widgetRef?.blur();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'type':\n let keyboardType;\n if (this.props.type === 'number') {\n keyboardType = 'numeric';\n } else if (this.props.type === 'tel') {\n keyboardType = 'phone-pad';\n } else if (this.props.type === 'email') {\n keyboardType = 'email-address';\n }\n this.updateState({\n keyboardType: keyboardType,\n } as S);\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new\n } as S\n );\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n }\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }\n }\n\n onChangeText(value: any) {\n this.updateState({\n textValue: value\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n }\n );\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n\n // autotrim\n if (props.autotrim && props.datavalue && isString(props.datavalue)) {\n value = value.trim();\n }\n\n this.updateState({\n props: {\n datavalue: value\n }\n } as S, () => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, value, oldValue]);\n if (source === 'blur') {\n this.invokeEventCallback('onBlur', [ event, this.proxy]);\n }\n })\n\n }\n\n onBlur(event: any) {\n Injector.FOCUSED_ELEMENT.remove();\n this.isTouched = true;\n let newVal = event.target.value || this.state.textValue;\n let oldVal = this.state.props.datavalue || '';\n this.validate(newVal);\n if (newVal === '') {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n })\n }\n if (this.state.props.updateon === 'blur') {\n if (oldVal !== newVal) {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n }\n\n onFocus(event: any) {\n // When input widgets are inside list widget and try to focus the field, list is selecting but unable to enter values in input fields\n // because on tap event of list is triggering after 200ms timeout So added 250ms timeout here\n setTimeout(() => {\n Injector.FOCUSED_ELEMENT.set(this);\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n }, 250);\n\n }\n\n onKeyPress(event: any) {\n this.invokeEventCallback('onKeypress', [ event, this.proxy]);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["DEFAULT_CLASS","BaseComponent","BaseComponentState","isString","Platform","validateField","Injector","BaseInputState","constructor","arguments","_defineProperty","BaseInputComponent","props","defaultClass","length","undefined","defaultProps","defaultState","focus","_this$widgetRef","widgetRef","blur","_this$widgetRef2","_this$widgetRef3","onPropertyChange","name","$new","$old","keyboardType","type","updateState","textValue","isDefault","state","onFieldChange","bind","onChange","event","updateon","updateDatavalue","target","value","onChangeText","validate","invokeChange","e","OS","cursor","selectionStart","setState","source","oldValue","datavalue","autotrim","trim","invokeEventCallback","proxy","onBlur","FOCUSED_ELEMENT","remove","isTouched","newVal","oldVal","setTimeout","triggerValidation","validationObj","isValid","errorType","onFocus","set","onKeyPress"],"sources":["baseinput.component.ts"],"sourcesContent":["import { DEFAULT_CLASS } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport BaseInputProps from './baseinput.props';\nimport { isString } from 'lodash';\nimport { BaseInputStyles } from './baseinput.styles';\nimport { Platform, TextInput } from 'react-native';\nimport { validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport Injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class BaseInputState <T extends BaseInputProps> extends BaseComponentState<T> {\n keyboardType: any = 'default';\n isValid: boolean = true;\n textValue: string = '';\n isDefault = false;\n errorType: string = '';\n}\nexport abstract class BaseInputComponent< T extends BaseInputProps, S extends BaseInputState<T>, L extends BaseInputStyles> extends BaseComponent<T, S, L> {\n public widgetRef: TextInput | null = null;\n isTouched: boolean = false;\n private cursor: any = 0;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n blur() {\n this?.widgetRef?.blur && this?.widgetRef?.blur();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'type':\n let keyboardType;\n if (this.props.type === 'number') {\n keyboardType = 'numeric';\n } else if (this.props.type === 'tel') {\n keyboardType = 'phone-pad';\n } else if (this.props.type === 'email') {\n keyboardType = 'email-address';\n }\n this.updateState({\n keyboardType: keyboardType,\n } as S);\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new\n } as S\n );\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n }\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }\n }\n\n onChangeText(value: any) {\n this.updateState({\n textValue: value\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n }\n );\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n\n // autotrim\n if (props.autotrim && props.datavalue && isString(props.datavalue)) {\n value = value.trim();\n }\n\n this.updateState({\n props: {\n datavalue: value\n }\n } as S, () => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, value, oldValue]);\n if (source === 'blur') {\n this.invokeEventCallback('onBlur', [ event, this.proxy]);\n }\n })\n\n }\n\n onBlur(event: any) {\n Injector.FOCUSED_ELEMENT.remove();\n this.isTouched = true;\n let newVal = this.state.textValue;\n let oldVal = this.state.props.datavalue || '';\n this.validate(newVal);\n if (newVal === '') {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n })\n }\n if (this.state.props.updateon === 'blur') {\n if (oldVal !== newVal) {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n }\n\n onFocus(event: any) {\n // When input widgets are inside list widget and try to focus the field, list is selecting but unable to enter values in input fields\n // because on tap event of list is triggering after 200ms timeout So added 250ms timeout here\n setTimeout(() => {\n Injector.FOCUSED_ELEMENT.set(this);\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n }, 250);\n\n }\n\n onKeyPress(event: any) {\n this.invokeEventCallback('onKeypress', [ event, this.proxy]);\n }\n}\n"],"mappings":"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"}
@@ -18,6 +18,8 @@ export default class BaseInputProps extends BaseProps {
18
18
  _defineProperty(this, "checkFormField", void 0);
19
19
  _defineProperty(this, "onFieldChange", void 0);
20
20
  _defineProperty(this, "triggerValidation", void 0);
21
+ _defineProperty(this, "maskchar", null);
22
+ _defineProperty(this, "displayformat", null);
21
23
  }
22
24
  }
23
25
  //# sourceMappingURL=baseinput.props.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","BaseInputProps","constructor","arguments","_defineProperty"],"sources":["baseinput.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class BaseInputProps extends BaseProps {\n autofocus: boolean = null as any;\n autocomplete: boolean = true;\n autotrim: boolean = true;\n datavalue: any;\n maxchars: number = null as any;\n readonly: boolean = null as any;\n regexp: string = null as any;\n type: string = 'text';\n updateon: string = 'blur' as any;\n required?: boolean = false as any;\n checkFormField?: any;\n onFieldChange?: any;\n triggerValidation?: any;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,oBAC/B,IAAI;IAAAA,eAAA,uBACD,IAAI;IAAAA,eAAA,mBACR,IAAI;IAAAA,eAAA;IAAAA,eAAA,mBAEL,IAAI;IAAAA,eAAA,mBACH,IAAI;IAAAA,eAAA,iBACP,IAAI;IAAAA,eAAA,eACN,MAAM;IAAAA,eAAA,mBACF,MAAM;IAAAA,eAAA,mBACJ,KAAK;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;EAAA;AAI5B"}
1
+ {"version":3,"names":["BaseProps","BaseInputProps","constructor","arguments","_defineProperty"],"sources":["baseinput.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class BaseInputProps extends BaseProps {\n autofocus: boolean = null as any;\n autocomplete: boolean = true;\n autotrim: boolean = true;\n datavalue: any;\n maxchars: number = null as any;\n readonly: boolean = null as any;\n regexp: string = null as any;\n type: string = 'text';\n updateon: string = 'blur' as any;\n required?: boolean = false as any;\n checkFormField?: any;\n onFieldChange?: any;\n triggerValidation?: any;\n maskchar: string = null as any;\n displayformat: string = null as any;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,oBAC/B,IAAI;IAAAA,eAAA,uBACD,IAAI;IAAAA,eAAA,mBACR,IAAI;IAAAA,eAAA;IAAAA,eAAA,mBAEL,IAAI;IAAAA,eAAA,mBACH,IAAI;IAAAA,eAAA,iBACP,IAAI;IAAAA,eAAA,eACN,MAAM;IAAAA,eAAA,mBACF,MAAM;IAAAA,eAAA,mBACJ,KAAK;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,mBAIP,IAAI;IAAAA,eAAA,wBACC,IAAI;EAAA;AAC9B"}
@@ -38,12 +38,14 @@ export default class WmText extends BaseInputComponent {
38
38
  floatingLabelStyle: this.styles.floatingLabel,
39
39
  activeFloatingLabelStyle: this.styles.activeFloatingLabel,
40
40
  placeholderTextColor: this.styles.placeholderText.color,
41
- style: [this.styles.root, this.state.isValid ? {} : this.styles.invalid],
41
+ style: [this.styles.root, this.styles.text, this.state.isValid ? {} : this.styles.invalid],
42
42
  keyboardType: this.state.keyboardType,
43
43
  autoComplete: props.autocomplete ? 'username' : 'off',
44
44
  autoFocus: props.autofocus,
45
45
  editable: props.disabled || props.readonly ? false : true,
46
- secureTextEntry: props.type === 'password' ? true : false,
46
+ secureTextEntry: props.type === 'password' && !props.maskchar ? true : false,
47
+ displayformat: props.displayformat,
48
+ maskchar: props.maskchar,
47
49
  maxLength: props.maxchars,
48
50
  placeholder: props.placeholder,
49
51
  onBlur: this.onBlur.bind(this),
@@ -1 +1 @@
1
- {"version":3,"names":["React","Platform","WmTextProps","DEFAULT_CLASS","WMTextInput","BaseInputComponent","BaseInputState","isNull","WmTextState","WmText","constructor","props","getStyleClassName","classes","state","floatinglabel","push","join","renderWidget","_this$state$textValue","opts","valueExpr","OS","textValue","toString","createElement","_extends","getTestPropsForInput","ref","widgetRef","selectionStart","selectionEnd","cursor","floatingLabel","floatingLabelStyle","styles","activeFloatingLabelStyle","activeFloatingLabel","placeholderTextColor","placeholderText","color","style","root","isValid","invalid","keyboardType","autoComplete","autocomplete","autoFocus","autofocus","editable","disabled","readonly","secureTextEntry","type","maxLength","maxchars","placeholder","onBlur","bind","onFocus","onKeyPress","onChangeText","onChange","invokeChange","allowContentSelection","text","userSelect"],"sources":["text.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform } from 'react-native';\n\nimport WmTextProps from './text.props';\nimport { DEFAULT_CLASS, WmTextStyles } from './text.styles';\nimport { WMTextInput } from '@wavemaker/app-rn-runtime/core/components/textinput.component';\nimport { BaseInputComponent, BaseInputState } from \"@wavemaker/app-rn-runtime/components/input/baseinput/baseinput.component\";\nimport { isNull } from 'lodash';\n\nexport class WmTextState extends BaseInputState<WmTextProps> {\n}\n\nexport default class WmText extends BaseInputComponent<WmTextProps, WmTextState, WmTextStyles> {\n\n constructor(props: WmTextProps) {\n super(props, DEFAULT_CLASS, new WmTextProps(), new WmTextState());\n }\n\n public getStyleClassName(): string | undefined {\n const classes = [];\n if (this.state.props.floatinglabel) {\n classes.push('app-text-with-label'); \n }\n classes.push(super.getStyleClassName());\n return classes.join(' ');\n }\n\n renderWidget(props: WmTextProps) {\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.textValue?.toString() || '';\n return (\n <WMTextInput\n {...this.getTestPropsForInput()}\n ref={(ref: any) => {this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }}}\n {...opts}\n floatingLabel={props.floatinglabel}\n floatingLabelStyle={this.styles.floatingLabel}\n activeFloatingLabelStyle={this.styles.activeFloatingLabel}\n placeholderTextColor={this.styles.placeholderText.color as any}\n style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid]}\n keyboardType={this.state.keyboardType}\n autoComplete={props.autocomplete ? 'username' : 'off'}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n secureTextEntry={props.type === 'password' ? true : false}\n maxLength={props.maxchars}\n placeholder={props.placeholder}\n onBlur={this.onBlur.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onKeyPress={this.onKeyPress.bind(this)}\n onChangeText={this.onChangeText.bind(this)}\n onChange={this.invokeChange.bind(this)}\n allowContentSelection={this.styles.text.userSelect === 'text'}\n />\n );\n }\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,cAAc;AAEvC,OAAOC,WAAW,MAAM,cAAc;AACtC,SAASC,aAAa,QAAsB,eAAe;AAC3D,SAASC,WAAW,QAAQ,+DAA+D;AAC3F,SAASC,kBAAkB,EAAEC,cAAc,QAAQ,0EAA0E;AAC7H,SAASC,MAAM,QAAQ,QAAQ;AAE/B,OAAO,MAAMC,WAAW,SAASF,cAAc,CAAc;AAG7D,eAAe,MAAMG,MAAM,SAASJ,kBAAkB,CAAyC;EAE7FK,WAAWA,CAACC,KAAkB,EAAE;IAC9B,KAAK,CAACA,KAAK,EAAER,aAAa,EAAE,IAAID,WAAW,CAAC,CAAC,EAAE,IAAIM,WAAW,CAAC,CAAC,CAAC;EACnE;EAEOI,iBAAiBA,CAAA,EAAuB;IAC7C,MAAMC,OAAO,GAAG,EAAE;IAClB,IAAI,IAAI,CAACC,KAAK,CAACH,KAAK,CAACI,aAAa,EAAE;MAClCF,OAAO,CAACG,IAAI,CAAC,qBAAqB,CAAC;IACrC;IACAH,OAAO,CAACG,IAAI,CAAC,KAAK,CAACJ,iBAAiB,CAAC,CAAC,CAAC;IACvC,OAAOC,OAAO,CAACI,IAAI,CAAC,GAAG,CAAC;EAC1B;EAEAC,YAAYA,CAACP,KAAkB,EAAE;IAAA,IAAAQ,qBAAA;IAC/B,IAAIC,IAAS,GAAG,CAAC,CAAC;IAClB,MAAMC,SAAS,GAAGpB,QAAQ,CAACqB,EAAE,KAAK,KAAK,GAAG,OAAO,GAAG,cAAc;IAClEF,IAAI,CAACC,SAAS,CAAC,GAAG,EAAAF,qBAAA,OAAI,CAACL,KAAK,CAACS,SAAS,cAAAJ,qBAAA,uBAApBA,qBAAA,CAAsBK,QAAQ,CAAC,CAAC,KAAI,EAAE;IACxD,oBACIxB,KAAA,CAAAyB,aAAA,CAACrB,WAAW,EAAAsB,QAAA,KACN,IAAI,CAACC,oBAAoB,CAAC,CAAC;MAC/BC,GAAG,EAAGA,GAAQ,IAAK;QAAC,IAAI,CAACC,SAAS,GAAGD,GAAG;QACtC;QACF,IAAIA,GAAG,IAAI,CAACrB,MAAM,CAACqB,GAAG,CAACE,cAAc,CAAC,IAAI,CAACvB,MAAM,CAACqB,GAAG,CAACG,YAAY,CAAC,EAAE;UACnE;UACAH,GAAG,CAACE,cAAc,GAAGF,GAAG,CAACG,YAAY,GAAG,IAAI,CAACC,MAAM;QACrD;MAAC;IAAE,GACCZ,IAAI;MACRa,aAAa,EAAEtB,KAAK,CAACI,aAAc;MACnCmB,kBAAkB,EAAE,IAAI,CAACC,MAAM,CAACF,aAAc;MAC9CG,wBAAwB,EAAE,IAAI,CAACD,MAAM,CAACE,mBAAoB;MAC1DC,oBAAoB,EAAE,IAAI,CAACH,MAAM,CAACI,eAAe,CAACC,KAAa;MAC/DC,KAAK,EAAE,CAAC,IAAI,CAACN,MAAM,CAACO,IAAI,EAAE,IAAI,CAAC5B,KAAK,CAAC6B,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAACR,MAAM,CAACS,OAAO,CAAE;MACzEC,YAAY,EAAE,IAAI,CAAC/B,KAAK,CAAC+B,YAAa;MACtCC,YAAY,EAAEnC,KAAK,CAACoC,YAAY,GAAG,UAAU,GAAG,KAAM;MACtDC,SAAS,EAAErC,KAAK,CAACsC,SAAU;MAC3BC,QAAQ,EAAEvC,KAAK,CAACwC,QAAQ,IAAIxC,KAAK,CAACyC,QAAQ,GAAG,KAAK,GAAG,IAAK;MAC1DC,eAAe,EAAE1C,KAAK,CAAC2C,IAAI,KAAK,UAAU,GAAG,IAAI,GAAG,KAAM;MAC1DC,SAAS,EAAE5C,KAAK,CAAC6C,QAAS;MAC1BC,WAAW,EAAE9C,KAAK,CAAC8C,WAAY;MAC/BC,MAAM,EAAE,IAAI,CAACA,MAAM,CAACC,IAAI,CAAC,IAAI,CAAE;MAC/BC,OAAO,EAAE,IAAI,CAACA,OAAO,CAACD,IAAI,CAAC,IAAI,CAAE;MACjCE,UAAU,EAAE,IAAI,CAACA,UAAU,CAACF,IAAI,CAAC,IAAI,CAAE;MACvCG,YAAY,EAAE,IAAI,CAACA,YAAY,CAACH,IAAI,CAAC,IAAI,CAAE;MAC3CI,QAAQ,EAAE,IAAI,CAACC,YAAY,CAACL,IAAI,CAAC,IAAI,CAAE;MACvCM,qBAAqB,EAAE,IAAI,CAAC9B,MAAM,CAAC+B,IAAI,CAACC,UAAU,KAAK;IAAO,EAC/D,CAAC;EAER;AACF"}
1
+ {"version":3,"names":["React","Platform","WmTextProps","DEFAULT_CLASS","WMTextInput","BaseInputComponent","BaseInputState","isNull","WmTextState","WmText","constructor","props","getStyleClassName","classes","state","floatinglabel","push","join","renderWidget","_this$state$textValue","opts","valueExpr","OS","textValue","toString","createElement","_extends","getTestPropsForInput","ref","widgetRef","selectionStart","selectionEnd","cursor","floatingLabel","floatingLabelStyle","styles","activeFloatingLabelStyle","activeFloatingLabel","placeholderTextColor","placeholderText","color","style","root","text","isValid","invalid","keyboardType","autoComplete","autocomplete","autoFocus","autofocus","editable","disabled","readonly","secureTextEntry","type","maskchar","displayformat","maxLength","maxchars","placeholder","onBlur","bind","onFocus","onKeyPress","onChangeText","onChange","invokeChange","allowContentSelection","userSelect"],"sources":["text.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform } from 'react-native';\n\nimport WmTextProps from './text.props';\nimport { DEFAULT_CLASS, WmTextStyles } from './text.styles';\nimport { WMTextInput } from '@wavemaker/app-rn-runtime/core/components/textinput.component';\nimport { BaseInputComponent, BaseInputState } from \"@wavemaker/app-rn-runtime/components/input/baseinput/baseinput.component\";\nimport { isNull } from 'lodash';\n\nexport class WmTextState extends BaseInputState<WmTextProps> {\n}\n\nexport default class WmText extends BaseInputComponent<WmTextProps, WmTextState, WmTextStyles> {\n\n constructor(props: WmTextProps) {\n super(props, DEFAULT_CLASS, new WmTextProps(), new WmTextState());\n }\n\n public getStyleClassName(): string | undefined {\n const classes = [];\n if (this.state.props.floatinglabel) {\n classes.push('app-text-with-label'); \n }\n classes.push(super.getStyleClassName());\n return classes.join(' ');\n }\n\n renderWidget(props: WmTextProps) {\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.textValue?.toString() || '';\n return (\n <WMTextInput\n {...this.getTestPropsForInput()}\n ref={(ref: any) => {this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }}}\n {...opts}\n floatingLabel={props.floatinglabel}\n floatingLabelStyle={this.styles.floatingLabel}\n activeFloatingLabelStyle={this.styles.activeFloatingLabel}\n placeholderTextColor={this.styles.placeholderText.color as any}\n style={[this.styles.root, this.styles.text, this.state.isValid ? {} : this.styles.invalid]}\n keyboardType={this.state.keyboardType}\n autoComplete={props.autocomplete ? 'username' : 'off'}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n secureTextEntry={props.type === 'password' && !props.maskchar ? true : false}\n displayformat={props.displayformat}\n maskchar={props.maskchar}\n maxLength={props.maxchars}\n placeholder={props.placeholder}\n onBlur={this.onBlur.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onKeyPress={this.onKeyPress.bind(this)}\n onChangeText={this.onChangeText.bind(this)}\n onChange={this.invokeChange.bind(this)}\n allowContentSelection={this.styles.text.userSelect === 'text'}\n />\n );\n }\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,cAAc;AAEvC,OAAOC,WAAW,MAAM,cAAc;AACtC,SAASC,aAAa,QAAsB,eAAe;AAC3D,SAASC,WAAW,QAAQ,+DAA+D;AAC3F,SAASC,kBAAkB,EAAEC,cAAc,QAAQ,0EAA0E;AAC7H,SAASC,MAAM,QAAQ,QAAQ;AAE/B,OAAO,MAAMC,WAAW,SAASF,cAAc,CAAc;AAG7D,eAAe,MAAMG,MAAM,SAASJ,kBAAkB,CAAyC;EAE7FK,WAAWA,CAACC,KAAkB,EAAE;IAC9B,KAAK,CAACA,KAAK,EAAER,aAAa,EAAE,IAAID,WAAW,CAAC,CAAC,EAAE,IAAIM,WAAW,CAAC,CAAC,CAAC;EACnE;EAEOI,iBAAiBA,CAAA,EAAuB;IAC7C,MAAMC,OAAO,GAAG,EAAE;IAClB,IAAI,IAAI,CAACC,KAAK,CAACH,KAAK,CAACI,aAAa,EAAE;MAClCF,OAAO,CAACG,IAAI,CAAC,qBAAqB,CAAC;IACrC;IACAH,OAAO,CAACG,IAAI,CAAC,KAAK,CAACJ,iBAAiB,CAAC,CAAC,CAAC;IACvC,OAAOC,OAAO,CAACI,IAAI,CAAC,GAAG,CAAC;EAC1B;EAEAC,YAAYA,CAACP,KAAkB,EAAE;IAAA,IAAAQ,qBAAA;IAC/B,IAAIC,IAAS,GAAG,CAAC,CAAC;IAClB,MAAMC,SAAS,GAAGpB,QAAQ,CAACqB,EAAE,KAAK,KAAK,GAAG,OAAO,GAAG,cAAc;IAClEF,IAAI,CAACC,SAAS,CAAC,GAAG,EAAAF,qBAAA,OAAI,CAACL,KAAK,CAACS,SAAS,cAAAJ,qBAAA,uBAApBA,qBAAA,CAAsBK,QAAQ,CAAC,CAAC,KAAI,EAAE;IACxD,oBACIxB,KAAA,CAAAyB,aAAA,CAACrB,WAAW,EAAAsB,QAAA,KACN,IAAI,CAACC,oBAAoB,CAAC,CAAC;MAC/BC,GAAG,EAAGA,GAAQ,IAAK;QAAC,IAAI,CAACC,SAAS,GAAGD,GAAG;QACtC;QACF,IAAIA,GAAG,IAAI,CAACrB,MAAM,CAACqB,GAAG,CAACE,cAAc,CAAC,IAAI,CAACvB,MAAM,CAACqB,GAAG,CAACG,YAAY,CAAC,EAAE;UACnE;UACAH,GAAG,CAACE,cAAc,GAAGF,GAAG,CAACG,YAAY,GAAG,IAAI,CAACC,MAAM;QACrD;MAAC;IAAE,GACCZ,IAAI;MACRa,aAAa,EAAEtB,KAAK,CAACI,aAAc;MACnCmB,kBAAkB,EAAE,IAAI,CAACC,MAAM,CAACF,aAAc;MAC9CG,wBAAwB,EAAE,IAAI,CAACD,MAAM,CAACE,mBAAoB;MAC1DC,oBAAoB,EAAE,IAAI,CAACH,MAAM,CAACI,eAAe,CAACC,KAAa;MAC/DC,KAAK,EAAE,CAAC,IAAI,CAACN,MAAM,CAACO,IAAI,EAAE,IAAI,CAACP,MAAM,CAACQ,IAAI,EAAE,IAAI,CAAC7B,KAAK,CAAC8B,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAACT,MAAM,CAACU,OAAO,CAAE;MAC3FC,YAAY,EAAE,IAAI,CAAChC,KAAK,CAACgC,YAAa;MACtCC,YAAY,EAAEpC,KAAK,CAACqC,YAAY,GAAG,UAAU,GAAG,KAAM;MACtDC,SAAS,EAAEtC,KAAK,CAACuC,SAAU;MAC3BC,QAAQ,EAAExC,KAAK,CAACyC,QAAQ,IAAIzC,KAAK,CAAC0C,QAAQ,GAAG,KAAK,GAAG,IAAK;MAC1DC,eAAe,EAAE3C,KAAK,CAAC4C,IAAI,KAAK,UAAU,IAAI,CAAC5C,KAAK,CAAC6C,QAAQ,GAAG,IAAI,GAAG,KAAM;MAC7EC,aAAa,EAAE9C,KAAK,CAAC8C,aAAc;MACnCD,QAAQ,EAAE7C,KAAK,CAAC6C,QAAS;MACzBE,SAAS,EAAE/C,KAAK,CAACgD,QAAS;MAC1BC,WAAW,EAAEjD,KAAK,CAACiD,WAAY;MAC/BC,MAAM,EAAE,IAAI,CAACA,MAAM,CAACC,IAAI,CAAC,IAAI,CAAE;MAC/BC,OAAO,EAAE,IAAI,CAACA,OAAO,CAACD,IAAI,CAAC,IAAI,CAAE;MACjCE,UAAU,EAAE,IAAI,CAACA,UAAU,CAACF,IAAI,CAAC,IAAI,CAAE;MACvCG,YAAY,EAAE,IAAI,CAACA,YAAY,CAACH,IAAI,CAAC,IAAI,CAAE;MAC3CI,QAAQ,EAAE,IAAI,CAACC,YAAY,CAACL,IAAI,CAAC,IAAI,CAAE;MACvCM,qBAAqB,EAAE,IAAI,CAACjC,MAAM,CAACQ,IAAI,CAAC0B,UAAU,KAAK;IAAO,EAC/D,CAAC;EAER;AACF"}
@@ -105,7 +105,11 @@ export default class WmPopover extends BaseComponent {
105
105
  onTap: this.showPopover
106
106
  }), this.state.isOpened ? /*#__PURE__*/React.createElement(ModalConsumer, null, modalService => {
107
107
  modalService.showModal(this.prepareModalOptions( /*#__PURE__*/React.createElement(ScrollView, {
108
- style: this.theme.mergeStyle(styles.popover, dimensions)
108
+ style: this.theme.mergeStyle(styles.popover, dimensions),
109
+ onScroll: event => {
110
+ this.notify('scroll', [event]);
111
+ },
112
+ scrollEventThrottle: 48
109
113
  }, props.title ? /*#__PURE__*/React.createElement(Text, {
110
114
  style: styles.title
111
115
  }, props.title) : null, /*#__PURE__*/React.createElement(TouchableOpacity, _extends({}, this.getTestPropsForAction('outercontent'), {
@@ -1 +1 @@
1
- {"version":3,"names":["React","isString","TouchableOpacity","Text","View","ScrollView","Dimensions","BaseComponent","BaseComponentState","ModalConsumer","WmAnchor","WmPopoverProps","DEFAULT_CLASS","WmContainer","WmPopoverState","constructor","arguments","_defineProperty","WmPopover","props","e","position","state","type","windowDimensions","get","view","measure","x","y","width","height","px","py","popoverwidth","parseInt","left","top","updateState","setState","isOpened","invokeEventCallback","stopPropagation","prepareModalOptions","content","styles","modalService","o","modalOptions","modalStyle","modal","contentStyle","modalContent","isModal","autoclose","centered","animation","contentanimation","onClose","hide","isPartialLoaded","hideModal","renderWidget","dimensions","theme","mergeStyle","getStyle","popoverheight","createElement","style","root","onLayout","computePosition","ref","_background","id","getTestId","caption","badgevalue","iconclass","iconposition","link","onTap","showPopover","showModal","popover","title","_extends","getTestPropsForAction","activeOpacity","onPress","popoverContent","onLoad","renderPartial","p","children"],"sources":["popover.component.tsx"],"sourcesContent":["import React from 'react';\nimport { isString } from 'lodash-es';\nimport { LayoutChangeEvent, TouchableOpacity, Text, View, ScrollView, Dimensions } from 'react-native';\nimport { BaseComponent, BaseComponentState, BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport { TapEvent } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\n\nimport WmPopoverProps from './popover.props';\nimport { DEFAULT_CLASS, WmPopoverStyles } from './popover.styles';\nimport WmContainer from '../../container/container.component';\n\nexport class WmPopoverState extends BaseComponentState<WmPopoverProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n position = {} as PopoverPosition;\n isPartialLoaded = false;\n}\n\nexport interface PopoverPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmPopover extends BaseComponent<WmPopoverProps, WmPopoverState, WmPopoverStyles> {\n\n view: View = null as any;\n\n constructor(props: WmPopoverProps) {\n super(props, DEFAULT_CLASS, new WmPopoverProps(), new WmPopoverState());\n }\n\n private computePosition = (e: LayoutChangeEvent) => {\n const position = {} as PopoverPosition;\n if (this.state.props.type === 'dropdown') {\n const windowDimensions = Dimensions.get('window');\n this.view.measure((x, y, width, height, px, py) => {\n let popoverwidth = this.state.props.popoverwidth as any;\n if (popoverwidth && isString(popoverwidth)) {\n popoverwidth = parseInt(popoverwidth);\n }\n position.left = px;\n if (px + popoverwidth > windowDimensions.width) {\n position.left = px + width - popoverwidth;\n }\n position.top = py + height;\n this.updateState({position: position} as WmPopoverState);\n });\n }\n };\n\n public showPopover = (e?: TapEvent) => {\n this.setState({ isOpened: true });\n this.invokeEventCallback('onShow', [e, this]);\n e?.stopPropagation();\n };\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmPopoverStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent, ...this.state.position};\n o.content = content;\n o.isModal = this.state.props.autoclose !== 'disabled';\n o.centered = true;\n o.animation = this.state.props.contentanimation || 'slideInUp';\n o.onClose = () => {\n this.hide = () => {};\n this.setState({ isOpened: false, isPartialLoaded: false, modalOptions: {} as ModalOptions });\n this.invokeEventCallback('onHide', [null, this]);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n renderWidget(props: WmPopoverProps) {\n let dimensions = {} as any;\n const styles = this.theme.mergeStyle(this.theme.getStyle('popover-' + props.type), this.styles);\n if (props.type === 'dropdown') {\n if (props.popoverwidth) {\n dimensions.width = props.popoverwidth;\n styles.modalContent.width = props.popoverwidth;\n }\n if (props.popoverheight) {\n dimensions.height = props.popoverheight;\n }\n }\n return (\n <View style={styles.root} onLayout={this.computePosition} ref={ref => {this.view = ref as View}}>\n {this._background}\n <WmAnchor\n id={this.getTestId('trigger')}\n animation={props.animation}\n caption={props.caption}\n badgevalue={props.badgevalue}\n iconclass={props.iconclass}\n iconposition={props.iconposition}\n styles={styles.link}\n onTap={this.showPopover}></WmAnchor>\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions((\n <ScrollView style={this.theme.mergeStyle(styles.popover, dimensions)}>\n {props.title ? (<Text style={styles.title}>{props.title}</Text>): null}\n <TouchableOpacity \n {...this.getTestPropsForAction('outercontent')}\n activeOpacity={1} onPress={() => {\n props.autoclose === 'always' && this.hide()\n }} style={styles.popoverContent.root}>\n <WmContainer\n styles={styles.popoverContent}\n onLoad={() => this.invokeEventCallback('onLoad', [this])}\n {... props.renderPartial ? {\n renderPartial : (p: any, onLoad: Function) => {\n return props.renderPartial && props.renderPartial(props, onLoad);\n }\n } : {}}>\n {props.renderPartial ? null : props.children}\n </WmContainer>\n </TouchableOpacity>\n </ScrollView>\n ), styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","isString","TouchableOpacity","Text","View","ScrollView","Dimensions","BaseComponent","BaseComponentState","ModalConsumer","WmAnchor","WmPopoverProps","DEFAULT_CLASS","WmContainer","WmPopoverState","constructor","arguments","_defineProperty","WmPopover","props","e","position","state","type","windowDimensions","get","view","measure","x","y","width","height","px","py","popoverwidth","parseInt","left","top","updateState","setState","isOpened","invokeEventCallback","stopPropagation","prepareModalOptions","content","styles","modalService","o","modalOptions","modalStyle","modal","contentStyle","modalContent","isModal","autoclose","centered","animation","contentanimation","onClose","hide","isPartialLoaded","hideModal","renderWidget","dimensions","theme","mergeStyle","getStyle","popoverheight","createElement","style","root","onLayout","computePosition","ref","_background","id","getTestId","caption","badgevalue","iconclass","iconposition","link","onTap","showPopover","showModal","popover","onScroll","event","notify","scrollEventThrottle","title","_extends","getTestPropsForAction","activeOpacity","onPress","popoverContent","onLoad","renderPartial","p","children"],"sources":["popover.component.tsx"],"sourcesContent":["import React from 'react';\nimport { isString } from 'lodash-es';\nimport { LayoutChangeEvent, TouchableOpacity, Text, View, ScrollView, Dimensions } from 'react-native';\nimport { BaseComponent, BaseComponentState, BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport { TapEvent } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\n\nimport WmPopoverProps from './popover.props';\nimport { DEFAULT_CLASS, WmPopoverStyles } from './popover.styles';\nimport WmContainer from '../../container/container.component';\n\nexport class WmPopoverState extends BaseComponentState<WmPopoverProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n position = {} as PopoverPosition;\n isPartialLoaded = false;\n}\n\nexport interface PopoverPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmPopover extends BaseComponent<WmPopoverProps, WmPopoverState, WmPopoverStyles> {\n\n view: View = null as any;\n\n constructor(props: WmPopoverProps) {\n super(props, DEFAULT_CLASS, new WmPopoverProps(), new WmPopoverState());\n }\n\n private computePosition = (e: LayoutChangeEvent) => {\n const position = {} as PopoverPosition;\n if (this.state.props.type === 'dropdown') {\n const windowDimensions = Dimensions.get('window');\n this.view.measure((x, y, width, height, px, py) => {\n let popoverwidth = this.state.props.popoverwidth as any;\n if (popoverwidth && isString(popoverwidth)) {\n popoverwidth = parseInt(popoverwidth);\n }\n position.left = px;\n if (px + popoverwidth > windowDimensions.width) {\n position.left = px + width - popoverwidth;\n }\n position.top = py + height;\n this.updateState({position: position} as WmPopoverState);\n });\n }\n };\n\n public showPopover = (e?: TapEvent) => {\n this.setState({ isOpened: true });\n this.invokeEventCallback('onShow', [e, this]);\n e?.stopPropagation();\n };\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmPopoverStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent, ...this.state.position};\n o.content = content;\n o.isModal = this.state.props.autoclose !== 'disabled';\n o.centered = true;\n o.animation = this.state.props.contentanimation || 'slideInUp';\n o.onClose = () => {\n this.hide = () => {};\n this.setState({ isOpened: false, isPartialLoaded: false, modalOptions: {} as ModalOptions });\n this.invokeEventCallback('onHide', [null, this]);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n renderWidget(props: WmPopoverProps) {\n let dimensions = {} as any;\n const styles = this.theme.mergeStyle(this.theme.getStyle('popover-' + props.type), this.styles);\n if (props.type === 'dropdown') {\n if (props.popoverwidth) {\n dimensions.width = props.popoverwidth;\n styles.modalContent.width = props.popoverwidth;\n }\n if (props.popoverheight) {\n dimensions.height = props.popoverheight;\n }\n }\n return (\n <View style={styles.root} onLayout={this.computePosition} ref={ref => {this.view = ref as View}}>\n {this._background}\n <WmAnchor\n id={this.getTestId('trigger')}\n animation={props.animation}\n caption={props.caption}\n badgevalue={props.badgevalue}\n iconclass={props.iconclass}\n iconposition={props.iconposition}\n styles={styles.link}\n onTap={this.showPopover}></WmAnchor>\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions((\n <ScrollView style={this.theme.mergeStyle(styles.popover, dimensions)} \n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}>\n {props.title ? (<Text style={styles.title}>{props.title}</Text>): null}\n <TouchableOpacity \n {...this.getTestPropsForAction('outercontent')}\n activeOpacity={1} onPress={() => {\n props.autoclose === 'always' && this.hide()\n }} style={styles.popoverContent.root}>\n <WmContainer\n styles={styles.popoverContent}\n onLoad={() => this.invokeEventCallback('onLoad', [this])}\n {... props.renderPartial ? {\n renderPartial : (p: any, onLoad: Function) => {\n return props.renderPartial && props.renderPartial(props, onLoad);\n }\n } : {}}>\n {props.renderPartial ? null : props.children}\n </WmContainer>\n </TouchableOpacity>\n </ScrollView>\n ), styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>);\n }\n}\n"],"mappings":"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"}
@@ -34,6 +34,10 @@ export default class WmLeftPanel extends BaseComponent {
34
34
  }
35
35
  renderWidget(props) {
36
36
  return /*#__PURE__*/React.createElement(ScrollView, {
37
+ onScroll: event => {
38
+ this.notify('scroll', [event]);
39
+ },
40
+ scrollEventThrottle: 48,
37
41
  contentContainerStyle: this.styles.root
38
42
  }, this._background, this.renderContent(props));
39
43
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","BaseComponent","BaseComponentState","WmLeftPanelProps","DEFAULT_CLASS","ScrollView","WmLeftPanelState","constructor","arguments","_defineProperty","WmLeftPanel","props","onPartialLoad","invokeEventCallback","renderContent","renderPartial","state","isPartialLoaded","setTimeout","updateState","bind","children","renderWidget","createElement","contentContainerStyle","styles","root","_background"],"sources":["left-panel.component.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmLeftPanelProps from './left-panel.props';\nimport { DEFAULT_CLASS, WmLeftPanelStyles } from './left-panel.styles';\nimport { ScrollView } from 'react-native';\n\nexport class WmLeftPanelState extends BaseComponentState<WmLeftPanelProps> {\n isPartialLoaded = false;\n}\n\nexport default class WmLeftPanel extends BaseComponent<WmLeftPanelProps, WmLeftPanelState, WmLeftPanelStyles> {\n\n constructor(props: WmLeftPanelProps) {\n super(props, DEFAULT_CLASS, new WmLeftPanelProps());\n }\n\n onPartialLoad() {\n this.invokeEventCallback('onLoad', [null, this]);\n }\n\n renderContent(props: WmLeftPanelProps) {\n if (props.renderPartial) {\n if (!this.state.isPartialLoaded) {\n setTimeout(() => {\n this.updateState({\n isPartialLoaded: true\n } as WmLeftPanelState);\n });\n }\n return props.renderPartial(props, this.onPartialLoad.bind(this));\n }\n return props.children;\n }\n\n renderWidget(props: WmLeftPanelProps) {\n return (\n <ScrollView contentContainerStyle={this.styles.root}>\n {this._background}\n {this.renderContent(props)}\n </ScrollView>\n );\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,SAASC,aAAa,QAA2B,qBAAqB;AACtE,SAASC,UAAU,QAAQ,cAAc;AAEzC,OAAO,MAAMC,gBAAgB,SAASJ,kBAAkB,CAAmB;EAAAK,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,0BACvD,KAAK;EAAA;AACzB;AAEA,eAAe,MAAMC,WAAW,SAAST,aAAa,CAAwD;EAE5GM,WAAWA,CAACI,KAAuB,EAAE;IACnC,KAAK,CAACA,KAAK,EAAEP,aAAa,EAAE,IAAID,gBAAgB,CAAC,CAAC,CAAC;EACrD;EAEAS,aAAaA,CAAA,EAAG;IACd,IAAI,CAACC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;EAClD;EAEAC,aAAaA,CAACH,KAAuB,EAAE;IACrC,IAAIA,KAAK,CAACI,aAAa,EAAE;MACvB,IAAI,CAAC,IAAI,CAACC,KAAK,CAACC,eAAe,EAAE;QAC/BC,UAAU,CAAC,MAAM;UACf,IAAI,CAACC,WAAW,CAAC;YACfF,eAAe,EAAE;UACnB,CAAqB,CAAC;QACxB,CAAC,CAAC;MACJ;MACA,OAAON,KAAK,CAACI,aAAa,CAACJ,KAAK,EAAE,IAAI,CAACC,aAAa,CAACQ,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE;IACA,OAAOT,KAAK,CAACU,QAAQ;EACvB;EAEAC,YAAYA,CAACX,KAAuB,EAAE;IACpC,oBACEX,KAAA,CAAAuB,aAAA,CAAClB,UAAU;MAACmB,qBAAqB,EAAE,IAAI,CAACC,MAAM,CAACC;IAAK,GACjD,IAAI,CAACC,WAAW,EAChB,IAAI,CAACb,aAAa,CAACH,KAAK,CACf,CAAC;EAEjB;AACF"}
1
+ {"version":3,"names":["React","BaseComponent","BaseComponentState","WmLeftPanelProps","DEFAULT_CLASS","ScrollView","WmLeftPanelState","constructor","arguments","_defineProperty","WmLeftPanel","props","onPartialLoad","invokeEventCallback","renderContent","renderPartial","state","isPartialLoaded","setTimeout","updateState","bind","children","renderWidget","createElement","onScroll","event","notify","scrollEventThrottle","contentContainerStyle","styles","root","_background"],"sources":["left-panel.component.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmLeftPanelProps from './left-panel.props';\nimport { DEFAULT_CLASS, WmLeftPanelStyles } from './left-panel.styles';\nimport { ScrollView } from 'react-native';\n\nexport class WmLeftPanelState extends BaseComponentState<WmLeftPanelProps> {\n isPartialLoaded = false;\n}\n\nexport default class WmLeftPanel extends BaseComponent<WmLeftPanelProps, WmLeftPanelState, WmLeftPanelStyles> {\n\n constructor(props: WmLeftPanelProps) {\n super(props, DEFAULT_CLASS, new WmLeftPanelProps());\n }\n\n onPartialLoad() {\n this.invokeEventCallback('onLoad', [null, this]);\n }\n\n renderContent(props: WmLeftPanelProps) {\n if (props.renderPartial) {\n if (!this.state.isPartialLoaded) {\n setTimeout(() => {\n this.updateState({\n isPartialLoaded: true\n } as WmLeftPanelState);\n });\n }\n return props.renderPartial(props, this.onPartialLoad.bind(this));\n }\n return props.children;\n }\n\n renderWidget(props: WmLeftPanelProps) {\n return (\n <ScrollView \n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}\n contentContainerStyle={this.styles.root}>\n {this._background}\n {this.renderContent(props)}\n </ScrollView>\n );\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,SAASC,aAAa,QAA2B,qBAAqB;AACtE,SAASC,UAAU,QAAQ,cAAc;AAEzC,OAAO,MAAMC,gBAAgB,SAASJ,kBAAkB,CAAmB;EAAAK,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,0BACvD,KAAK;EAAA;AACzB;AAEA,eAAe,MAAMC,WAAW,SAAST,aAAa,CAAwD;EAE5GM,WAAWA,CAACI,KAAuB,EAAE;IACnC,KAAK,CAACA,KAAK,EAAEP,aAAa,EAAE,IAAID,gBAAgB,CAAC,CAAC,CAAC;EACrD;EAEAS,aAAaA,CAAA,EAAG;IACd,IAAI,CAACC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;EAClD;EAEAC,aAAaA,CAACH,KAAuB,EAAE;IACrC,IAAIA,KAAK,CAACI,aAAa,EAAE;MACvB,IAAI,CAAC,IAAI,CAACC,KAAK,CAACC,eAAe,EAAE;QAC/BC,UAAU,CAAC,MAAM;UACf,IAAI,CAACC,WAAW,CAAC;YACfF,eAAe,EAAE;UACnB,CAAqB,CAAC;QACxB,CAAC,CAAC;MACJ;MACA,OAAON,KAAK,CAACI,aAAa,CAACJ,KAAK,EAAE,IAAI,CAACC,aAAa,CAACQ,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE;IACA,OAAOT,KAAK,CAACU,QAAQ;EACvB;EAEAC,YAAYA,CAACX,KAAuB,EAAE;IACpC,oBACEX,KAAA,CAAAuB,aAAA,CAAClB,UAAU;MACTmB,QAAQ,EAAGC,KAAK,IAAK;QAAC,IAAI,CAACC,MAAM,CAAC,QAAQ,EAAE,CAACD,KAAK,CAAC,CAAC;MAAA,CAAE;MACtDE,mBAAmB,EAAE,EAAG;MACxBC,qBAAqB,EAAE,IAAI,CAACC,MAAM,CAACC;IAAK,GACvC,IAAI,CAACC,WAAW,EAChB,IAAI,CAACjB,aAAa,CAACH,KAAK,CACf,CAAC;EAEjB;AACF"}
@@ -1,13 +1,82 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
- import React, { useCallback, useRef, useState } from 'react';
3
- import { Platform, TextInput } from 'react-native';
2
+ import React, { useCallback, useEffect, useRef, useState } from 'react';
3
+ import { Animated, Platform, Text, TextInput, View } from 'react-native';
4
+ import { isArray } from 'lodash';
5
+ import IMask from 'imask';
4
6
  import { FloatingLabel } from './floatinglabel.component';
7
+ const WmCursor = /*#__PURE__*/React.memo(props => {
8
+ const opacityAnimation = useRef(new Animated.Value(0.5)).current;
9
+ const runAnimation = useCallback(() => {
10
+ Animated.timing(opacityAnimation, {
11
+ toValue: 0.2,
12
+ duration: 500,
13
+ useNativeDriver: true
14
+ }).start(() => {
15
+ Animated.timing(opacityAnimation, {
16
+ toValue: 0.6,
17
+ duration: 500,
18
+ useNativeDriver: true
19
+ }).start(runAnimation);
20
+ });
21
+ }, []);
22
+ useEffect(() => {
23
+ runAnimation();
24
+ }, []);
25
+ return /*#__PURE__*/React.createElement(Animated.View, {
26
+ style: {
27
+ backgroundColor: props.color,
28
+ width: 2,
29
+ marginHorizontal: 1,
30
+ height: props.height,
31
+ opacity: opacityAnimation
32
+ }
33
+ });
34
+ });
5
35
  export const WMTextInput = /*#__PURE__*/React.forwardRef((props, ref) => {
6
- var _props$value, _props$defaultValue;
7
36
  const [selectRange, setSelectRange] = useState(null);
8
37
  const [isInputFocused, setIsInputFocused] = useState(false);
38
+ const [iMask, setIMask] = useState(null);
39
+ const [displayCursor, setDisplayCursor] = useState(false);
9
40
  const value = useRef(props.value || '');
10
- const animateLabelText = props.floatingLabel && (Platform.OS === 'web' ? Number((_props$value = props.value) === null || _props$value === void 0 ? void 0 : _props$value.length) > 0 : Number((_props$defaultValue = props.defaultValue) === null || _props$defaultValue === void 0 ? void 0 : _props$defaultValue.length) > 0);
41
+ const [x, forceUpdate] = useState(1);
42
+ const [displayValue, setDisplayValue] = useState('');
43
+ const element = useRef(null);
44
+ // iMask initialization
45
+ useEffect(() => {
46
+ const iMask = props.displayformat ? new IMask.MaskedPattern({
47
+ mask: props.displayformat,
48
+ skipInvalid: true,
49
+ lazy: false,
50
+ definitions: {
51
+ '9': /\d/,
52
+ 'A': /[a-zA-Z]/,
53
+ 'a': /[a-z]/,
54
+ '*': /\w/
55
+ }
56
+ }) : null;
57
+ if (iMask) {
58
+ iMask.typedValue = value;
59
+ setDisplayValue(iMask.displayValue);
60
+ setIMask(iMask);
61
+ }
62
+ }, [props.displayformat]);
63
+ // set default value
64
+ useEffect(() => {
65
+ const defaultValue = props.defaultValue || props.value || '';
66
+ if (!value.current) {
67
+ value.current = defaultValue;
68
+ onChangeText(defaultValue);
69
+ }
70
+ }, [props.defaultValue, props.value]);
71
+ // set cursor position in windows
72
+ useEffect(() => {
73
+ setTimeout(() => {
74
+ if (Platform.OS === 'web' && (props.displayformat || props.maskchar)) {
75
+ var _element$current;
76
+ element === null || element === void 0 || (_element$current = element.current) === null || _element$current === void 0 ? void 0 : _element$current.setSelectionRange(value.current.length, value.current.length);
77
+ }
78
+ }, 100);
79
+ }, [value.current, props]);
11
80
  const onSelectionChange = useCallback(e => {
12
81
  var _e$nativeEvent;
13
82
  if (Platform.OS !== 'android') {
@@ -22,39 +91,103 @@ export const WMTextInput = /*#__PURE__*/React.forwardRef((props, ref) => {
22
91
  } else if (selectRange && selectRange.end > 0) {
23
92
  setSelectRange(null);
24
93
  }
25
- }, [props.allowContentSelection, value.current]);
94
+ }, [props.allowContentSelection, value]);
95
+ // when text changes
26
96
  const onChangeText = useCallback(text => {
27
- value.current = text;
28
- }, []);
97
+ if (!(iMask || props.maskchar)) {
98
+ value.current = text;
99
+ props.onChangeText && props.onChangeText(text);
100
+ return;
101
+ }
102
+ let _value = value.current || '';
103
+ if (value.current.length - text.length > 0) {
104
+ _value = _value.substring(0, _value.length - (value.current.length - text.length));
105
+ } else if (text.length - value.current.length > 0) {
106
+ _value += text.slice(-1 * (text.length - value.current.length));
107
+ }
108
+ let formattedValue = _value;
109
+ if (props.maskchar) {
110
+ formattedValue = _value.replace(/./g, props.maskchar);
111
+ }
112
+ if (iMask) {
113
+ iMask.typedValue = _value;
114
+ formattedValue = iMask.displayValue;
115
+ }
116
+ if (formattedValue !== displayValue) {
117
+ value.current = _value;
118
+ props.onChangeText && props.onChangeText(_value);
119
+ }
120
+ forceUpdate(x + 1);
121
+ setDisplayValue(formattedValue);
122
+ }, [iMask, value, displayValue, props.onChangeText]);
123
+ const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';
124
+ const opts = {};
125
+ opts[valueExpr] = value.current;
126
+ const textStyle = Object.assign({}, ...(isArray(props.style) ? props.style : [props.style]));
127
+ const hideInput = props.displayformat || props.maskchar;
29
128
  return /*#__PURE__*/React.createElement(React.Fragment, null, props.floatingLabel ? /*#__PURE__*/React.createElement(FloatingLabel, {
30
- moveUp: !!(value.current || isInputFocused),
129
+ moveUp: !!(value.current || isInputFocused || displayValue),
31
130
  label: props.floatingLabel ?? props.placeholder,
32
131
  style: {
33
132
  ...(props.floatingLabelStyle || []),
34
133
  ...(isInputFocused ? props.activeFloatingLabelStyle || {} : {})
35
134
  }
36
- }) : null, /*#__PURE__*/React.createElement(TextInput, _extends({}, props, {
37
- placeholder: props.floatingLabel ? '' : props.placeholder,
38
- style: props.style,
135
+ }) : null, /*#__PURE__*/React.createElement(TextInput, _extends({}, props, hideInput ? opts : {}, {
136
+ placeholder: props.floatingLabel || displayValue ? '' : props.placeholder,
137
+ style: [props.style, hideInput ? {
138
+ color: 'transparent',
139
+ backgroundColor: 'transparent',
140
+ borderColor: 'transparent',
141
+ zIndex: 1
142
+ } : {}],
39
143
  onFocus: e => {
40
144
  var _props$onFocus;
41
145
  (_props$onFocus = props.onFocus) === null || _props$onFocus === void 0 ? void 0 : _props$onFocus.call(props, e);
42
146
  setIsInputFocused(true);
147
+ setDisplayCursor(true);
148
+ element.current = e.target;
43
149
  },
44
150
  onBlur: e => {
45
151
  var _props$onBlur;
46
152
  props === null || props === void 0 || (_props$onBlur = props.onBlur) === null || _props$onBlur === void 0 ? void 0 : _props$onBlur.call(props, e);
47
153
  setIsInputFocused(false);
154
+ setDisplayCursor(false);
48
155
  },
49
156
  ref: ref,
50
157
  selection: selectRange,
51
158
  onSelectionChange: onSelectionChange,
52
159
  caretHidden: !!(selectRange !== null && selectRange !== void 0 && selectRange.end),
53
160
  onChangeText: text => {
54
- props.onChangeText && props.onChangeText(text);
55
161
  onChangeText(text);
56
- },
162
+ }
163
+ }, hideInput ? {
164
+ selectionColor: 'transparent',
165
+ cursorColor: 'transparent',
166
+ onChange: () => {}
167
+ } : {}, {
57
168
  contextMenuHidden: !props.allowContentSelection
58
- })));
169
+ })), hideInput ? /*#__PURE__*/React.createElement(View, {
170
+ style: [props.style, {
171
+ display: 'flex',
172
+ flexDirection: 'row',
173
+ alignItems: 'center',
174
+ marginTop: -1 * (textStyle.height || textStyle.minHeight || 0) + (textStyle.marginTop || 0)
175
+ }]
176
+ }, /*#__PURE__*/React.createElement(Text, {
177
+ style: {
178
+ width: undefined,
179
+ backgroundColor: 'transparent',
180
+ borderColor: 'transparent',
181
+ padding: 0,
182
+ display: 'flex',
183
+ color: textStyle.color,
184
+ fontFamily: textStyle.fontFamily,
185
+ fontSize: textStyle.fontSize,
186
+ fontWeight: textStyle.fontWeight
187
+ }
188
+ }, displayValue), displayCursor && !props.displayformat ? /*#__PURE__*/React.createElement(WmCursor, {
189
+ color: textStyle.color || '#000000',
190
+ height: textStyle.fontSize || 14
191
+ }) : null) : null);
59
192
  });
60
193
  //# sourceMappingURL=textinput.component.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useRef","useState","Platform","TextInput","FloatingLabel","WMTextInput","forwardRef","props","ref","_props$value","_props$defaultValue","selectRange","setSelectRange","isInputFocused","setIsInputFocused","value","animateLabelText","floatingLabel","OS","Number","length","defaultValue","onSelectionChange","e","_e$nativeEvent","selection","nativeEvent","allowContentSelection","end","start","current","onChangeText","text","createElement","Fragment","moveUp","label","placeholder","style","floatingLabelStyle","activeFloatingLabelStyle","_extends","onFocus","_props$onFocus","call","onBlur","_props$onBlur","caretHidden","contextMenuHidden"],"sources":["textinput.component.tsx"],"sourcesContent":["import React, { ForwardedRef, useCallback, useRef, useState } from 'react';\nimport { Platform, TextInput, TextInputProps, TextStyle } from 'react-native';\nimport { FloatingLabel } from './floatinglabel.component';\n\ninterface SelectRange {\n start: number,\n end: number\n}\n\nexport const WMTextInput = React.forwardRef((props: (TextInputProps & \n {allowContentSelection: boolean, \n floatingLabel: string\n floatingLabelStyle: TextStyle,\n activeFloatingLabelStyle: TextStyle\n }), \n ref: ForwardedRef<TextInput>) => {\n const [selectRange, setSelectRange] = useState<SelectRange>(null as any);\n const [isInputFocused, setIsInputFocused] = useState(false);\n const value = useRef(props.value || '');\n \n const animateLabelText = props.floatingLabel && ( Platform.OS === 'web' ? Number(props.value?.length) > 0 : Number(props.defaultValue?.length) > 0);\n\n const onSelectionChange = useCallback((e: any) => {\n if (Platform.OS !== 'android') {\n return;\n }\n const selection = e?.nativeEvent?.selection;\n if (!props.allowContentSelection\n && selection\n && selection.end - selection.start > 0) {\n setSelectRange({\n start: value.current.length + 2,\n end: value.current.length + 2\n });\n } else if (selectRange && selectRange.end > 0){\n setSelectRange(null as any);\n }\n }, [props.allowContentSelection, value.current]);\n const onChangeText = useCallback((text: string) => {\n value.current = text;\n }, []);\n\n return (\n <>\n {props.floatingLabel ? (\n <FloatingLabel\n moveUp={!!(value.current || isInputFocused)}\n label={props.floatingLabel ?? props.placeholder} \n style={{\n ...(props.floatingLabelStyle || []),\n ...(isInputFocused ? (props.activeFloatingLabelStyle || {}) : {})\n }}/>\n ) : null}\n <TextInput\n {...props}\n placeholder={props.floatingLabel ? '' : props.placeholder }\n style={props.style}\n onFocus={(e) => {\n props.onFocus?.(e);\n setIsInputFocused(true);\n }}\n onBlur={(e) => {\n props?.onBlur?.(e);\n setIsInputFocused(false);\n }}\n ref={ref}\n selection={selectRange}\n onSelectionChange={onSelectionChange}\n caretHidden={!!selectRange?.end}\n onChangeText={(text) => {\n props.onChangeText && props.onChangeText(text);\n onChangeText(text);\n }}\n contextMenuHidden={!props.allowContentSelection}\n ></TextInput>\n </>\n );\n});"],"mappings":"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"}
1
+ {"version":3,"names":["React","useCallback","useEffect","useRef","useState","Animated","Platform","Text","TextInput","View","isArray","IMask","FloatingLabel","WmCursor","memo","props","opacityAnimation","Value","current","runAnimation","timing","toValue","duration","useNativeDriver","start","createElement","style","backgroundColor","color","width","marginHorizontal","height","opacity","WMTextInput","forwardRef","ref","selectRange","setSelectRange","isInputFocused","setIsInputFocused","iMask","setIMask","displayCursor","setDisplayCursor","value","x","forceUpdate","displayValue","setDisplayValue","element","displayformat","MaskedPattern","mask","skipInvalid","lazy","definitions","typedValue","defaultValue","onChangeText","setTimeout","OS","maskchar","_element$current","setSelectionRange","length","onSelectionChange","e","_e$nativeEvent","selection","nativeEvent","allowContentSelection","end","text","_value","substring","slice","formattedValue","replace","valueExpr","opts","textStyle","Object","assign","hideInput","Fragment","floatingLabel","moveUp","label","placeholder","floatingLabelStyle","activeFloatingLabelStyle","_extends","borderColor","zIndex","onFocus","_props$onFocus","call","target","onBlur","_props$onBlur","caretHidden","selectionColor","cursorColor","onChange","contextMenuHidden","display","flexDirection","alignItems","marginTop","minHeight","undefined","padding","fontFamily","fontSize","fontWeight"],"sources":["textinput.component.tsx"],"sourcesContent":["import React, { ForwardedRef, useCallback, useEffect, useRef, useState } from 'react';\nimport { Animated, Platform, Text, TextInput, TextInputProps, TextStyle, View } from 'react-native';\nimport { isArray } from 'lodash';\nimport IMask from 'imask';\nimport { FloatingLabel } from './floatinglabel.component';\n\ninterface SelectRange {\n start: number,\n end: number\n}\n\nconst WmCursor = React.memo((props: {\n color: string,\n height: number\n}) => {\n const opacityAnimation = useRef(new Animated.Value(0.5)).current;\n const runAnimation = useCallback(() => {\n Animated.timing(opacityAnimation, {\n toValue: 0.2,\n duration: 500,\n useNativeDriver: true\n }).start(() => {\n Animated.timing(opacityAnimation, {\n toValue: 0.6,\n duration: 500,\n useNativeDriver: true\n }).start(runAnimation);\n });\n }, []);\n useEffect(() => {\n runAnimation();\n }, []);\n return (\n <Animated.View style={{\n backgroundColor: props.color,\n width: 2,\n marginHorizontal: 1,\n height: props.height,\n opacity: opacityAnimation\n }}></Animated.View>\n );\n});\n\nexport const WMTextInput = React.forwardRef((props: (TextInputProps & \n {allowContentSelection: boolean,\n displayformat: string,\n maskchar: string,\n floatingLabel: string\n floatingLabelStyle: TextStyle,\n activeFloatingLabelStyle: TextStyle\n }), \n ref: ForwardedRef<TextInput>) => {\n const [selectRange, setSelectRange] = useState<SelectRange>(null as any);\n const [isInputFocused, setIsInputFocused] = useState(false);\n const [iMask, setIMask] = useState(null as any);\n const [displayCursor, setDisplayCursor] = useState(false);\n const value = useRef(props.value || '');\n const [x, forceUpdate] = useState(1);\n const [displayValue, setDisplayValue] = useState('');\n const element = useRef(null as any);\n // iMask initialization\n useEffect(() => {\n const iMask: any = props.displayformat ? new IMask.MaskedPattern({\n mask: props.displayformat,\n skipInvalid: true,\n lazy: false,\n definitions: {\n '9': /\\d/,\n 'A': /[a-zA-Z]/,\n 'a': /[a-z]/,\n '*': /\\w/\n }\n }) : null;\n if (iMask) {\n iMask.typedValue = value;\n setDisplayValue(iMask.displayValue)\n setIMask(iMask);\n }\n },[props.displayformat]);\n // set default value\n useEffect(() => {\n const defaultValue = props.defaultValue || props.value || '';\n if (!value.current) {\n value.current = defaultValue;\n onChangeText(defaultValue);\n }\n },[props.defaultValue, props.value]);\n // set cursor position in windows\n useEffect(() => {\n setTimeout(() => {\n if (Platform.OS === 'web' && (props.displayformat || props.maskchar)) {\n element?.current?.setSelectionRange(value.current.length, value.current.length);\n }\n }, 100);\n }, [value.current, props]);\n const onSelectionChange = useCallback((e: any) => {\n if (Platform.OS !== 'android') {\n return;\n }\n const selection = e?.nativeEvent?.selection;\n if (!props.allowContentSelection\n && selection\n && selection.end - selection.start > 0) {\n setSelectRange({\n start: value.current.length + 2,\n end: value.current.length + 2\n });\n } else if (selectRange && selectRange.end > 0){\n setSelectRange(null as any);\n }\n }, [props.allowContentSelection, value]);\n // when text changes\n const onChangeText = useCallback((text: string) => {\n if (!(iMask || props.maskchar)) {\n value.current = text;\n props.onChangeText && props.onChangeText(text);\n return;\n }\n let _value = value.current || '';\n if (value.current.length - text.length > 0) {\n _value = _value.substring(0, _value.length - (value.current.length - text.length));\n } else if (text.length - value.current.length > 0) {\n _value += text.slice(-1 * (text.length - value.current.length));\n }\n let formattedValue = _value;\n if(props.maskchar) {\n formattedValue = (_value.replace(/./g, props.maskchar));\n }\n if (iMask) {\n iMask.typedValue = _value;\n formattedValue = iMask.displayValue;\n }\n if (formattedValue !== displayValue) {\n value.current = _value;\n props.onChangeText && props.onChangeText(_value);\n }\n forceUpdate(x+ 1);\n setDisplayValue(formattedValue);\n }, [iMask, value, displayValue, props.onChangeText]);\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n const opts = {} as any;\n opts[valueExpr] = value.current;\n const textStyle = Object.assign({}, ...isArray(props.style) ? props.style: [props.style]);\n const hideInput = props.displayformat || props.maskchar;\n return (\n <>\n {props.floatingLabel ? (\n <FloatingLabel\n moveUp={!!(value.current || isInputFocused || displayValue)}\n label={props.floatingLabel ?? props.placeholder} \n style={{\n ...(props.floatingLabelStyle || []),\n ...(isInputFocused ? (props.activeFloatingLabelStyle || {}) : {})\n }}/>\n ) : null}\n <TextInput\n {...props}\n {...hideInput ? opts: {}}\n placeholder={props.floatingLabel || displayValue ? '' : props.placeholder }\n style={[props.style, hideInput ? {\n color: 'transparent', \n backgroundColor: 'transparent',\n borderColor: 'transparent',\n zIndex: 1\n } : {}]}\n onFocus={(e) => {\n props.onFocus?.(e);\n setIsInputFocused(true);\n setDisplayCursor(true);\n element.current = e.target;\n }}\n onBlur={(e) => {\n props?.onBlur?.(e);\n setIsInputFocused(false);\n setDisplayCursor(false);\n }}\n ref={ref}\n selection={selectRange}\n onSelectionChange={onSelectionChange}\n caretHidden={!!selectRange?.end}\n onChangeText={(text) => {\n onChangeText(text);\n }}\n {...hideInput ? {\n selectionColor: 'transparent',\n cursorColor: 'transparent',\n onChange : () => {}\n }: {}}\n contextMenuHidden={!props.allowContentSelection}\n ></TextInput>\n {\n hideInput ? (\n <View style={[props.style, {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n marginTop: -1 * (textStyle.height || textStyle.minHeight || 0)\n + (textStyle.marginTop || 0)}]}>\n <Text style={{ \n width: undefined,\n backgroundColor: 'transparent', \n borderColor: 'transparent',\n padding: 0,\n display: 'flex',\n color: textStyle.color,\n fontFamily: textStyle.fontFamily,\n fontSize: textStyle.fontSize,\n fontWeight: textStyle.fontWeight\n }}>\n {displayValue}\n </Text>\n {\n (displayCursor && !props.displayformat) ? React.createElement(WmCursor, {\n color: textStyle.color || '#000000',\n height: textStyle.fontSize || 14\n }) : null\n }\n </View>\n ) : null\n }\n </>\n );\n});"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/app-rn-runtime",
3
- "version": "11.5.4-rc.5501",
3
+ "version": "11.5.4-rc.5507",
4
4
  "description": "''",
5
5
  "main": "index",
6
6
  "module": "index",
@@ -49,7 +49,7 @@
49
49
  "@react-navigation/native": "6.1.7",
50
50
  "@react-navigation/stack": "^6.3.7",
51
51
  "@types/lodash-es": "^4.17.6",
52
- "@wavemaker/variables": "11.5.4-rc.5501",
52
+ "@wavemaker/variables": "11.5.4-rc.5507",
53
53
  "axios": "^1.4.0",
54
54
  "color": "4.2.3",
55
55
  "cross-env": "^5.2.0",
@@ -60,6 +60,7 @@
60
60
  "expo-linear-gradient": "12.3.0",
61
61
  "expo-modules-core": "~1.1.0",
62
62
  "fast-xml-parser": "^3.17.6",
63
+ "imask": "^7.5.0",
63
64
  "lodash-es": "^4.17.21",
64
65
  "lottie-react-native": "5.1.6",
65
66
  "moment": "^2.29.1",
@@ -130,7 +131,7 @@
130
131
  "typescript": "^5.1.3",
131
132
  "victory-native": "36.6.11",
132
133
  "yargs": "^16.2.0",
133
- "@wavemaker/variables": "11.5.4-rc.5501"
134
+ "@wavemaker/variables": "11.5.4-rc.5507"
134
135
  },
135
136
  "jest": {
136
137
  "preset": "react-native",