@wavemaker/app-rn-runtime 11.14.1-20.6468 → 11.14.1-21.64739
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/basic/bottomsheet/bottomsheet.component.js +0 -12
- package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
- package/components/basic/progress-circle/progress-circle.component.js +3 -3
- package/components/basic/progress-circle/progress-circle.component.js.map +1 -1
- package/components/chart/area-chart/area-chart.component.js +9 -26
- package/components/chart/area-chart/area-chart.component.js.map +1 -1
- package/components/chart/bar-chart/bar-chart.component.js +6 -38
- package/components/chart/bar-chart/bar-chart.component.js.map +1 -1
- package/components/chart/bar-chart/bar-chart.props.js +0 -1
- package/components/chart/bar-chart/bar-chart.props.js.map +1 -1
- package/components/chart/basechart.component.js +15 -8
- package/components/chart/basechart.component.js.map +1 -1
- package/components/chart/basechart.props.js +0 -1
- package/components/chart/basechart.props.js.map +1 -1
- package/components/chart/bubble-chart/bubble-chart.component.js +5 -22
- package/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
- package/components/chart/line-chart/line-chart.component.js +5 -22
- package/components/chart/line-chart/line-chart.component.js.map +1 -1
- package/components/chart/pie-chart/pie-chart.component.js +3 -14
- package/components/chart/pie-chart/pie-chart.component.js.map +1 -1
- package/components/container/tabs/tabs.component.js +29 -62
- package/components/container/tabs/tabs.component.js.map +1 -1
- package/components/container/tabs/tabs.props.js +0 -1
- package/components/container/tabs/tabs.props.js.map +1 -1
- package/components/container/wizard/wizard.component.js +1 -1
- package/components/container/wizard/wizard.component.js.map +1 -1
- package/components/container/wizard/wizard.props.js +1 -0
- package/components/container/wizard/wizard.props.js.map +1 -1
- package/components/container/wizard/wizardstep/wizardstep.component.js +2 -2
- package/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
- package/components/data/form/form-field/form-field.component.js +0 -1
- package/components/data/form/form-field/form-field.component.js.map +1 -1
- package/components/data/form/form-field/form-field.props.js +0 -1
- package/components/data/form/form-field/form-field.props.js.map +1 -1
- package/components/data/form/form.component.js +1 -4
- package/components/data/form/form.component.js.map +1 -1
- package/components/dialogs/dialogcontent/dialogcontent.component.js +2 -1
- package/components/dialogs/dialogcontent/dialogcontent.component.js.map +1 -1
- package/components/input/baseinput/baseinput.component.js +3 -21
- package/components/input/baseinput/baseinput.component.js.map +1 -1
- package/components/input/baseinput/baseinput.props.js +0 -1
- package/components/input/baseinput/baseinput.props.js.map +1 -1
- package/components/input/basenumber/basenumber.component.js +3 -18
- package/components/input/basenumber/basenumber.component.js.map +1 -1
- package/components/input/basenumber/basenumber.props.js +0 -1
- package/components/input/basenumber/basenumber.props.js.map +1 -1
- package/components/input/checkboxset/checkboxset.component.js +1 -1
- package/components/input/checkboxset/checkboxset.component.js.map +1 -1
- package/components/input/currency/currency.component.js +0 -2
- package/components/input/currency/currency.component.js.map +1 -1
- package/components/input/currency/currency.styles.js +1 -10
- package/components/input/currency/currency.styles.js.map +1 -1
- package/components/input/number/number.component.js +0 -2
- package/components/input/number/number.component.js.map +1 -1
- package/components/input/number/number.styles.js +0 -4
- package/components/input/number/number.styles.js.map +1 -1
- package/components/input/radioset/radioset.component.js +4 -2
- package/components/input/radioset/radioset.component.js.map +1 -1
- package/components/input/text/text.component.js +0 -2
- package/components/input/text/text.component.js.map +1 -1
- package/components/input/text/text.props.js +1 -0
- package/components/input/text/text.props.js.map +1 -1
- package/components/input/text/text.styles.js +0 -17
- package/components/input/text/text.styles.js.map +1 -1
- package/components/input/textarea/textarea.component.js +0 -1
- package/components/input/textarea/textarea.component.js.map +1 -1
- package/components/input/textarea/textarea.styles.js +0 -4
- package/components/input/textarea/textarea.styles.js.map +1 -1
- package/components/navigation/popover/popover.component.js +3 -3
- package/components/navigation/popover/popover.component.js.map +1 -1
- package/core/AppConfig.js.map +1 -1
- package/core/advanced-promise-rejection-tracker.js +207 -0
- package/core/advanced-promise-rejection-tracker.js.map +1 -0
- package/core/base.component.js +5 -0
- package/core/base.component.js.map +1 -1
- package/core/components/error-fallback/error-fallback.component.js +50 -18
- package/core/components/error-fallback/error-fallback.component.js.map +1 -1
- package/core/components/error-fallback/error-fallback.styles.js +4 -1
- package/core/components/error-fallback/error-fallback.styles.js.map +1 -1
- package/core/components/textinput.component.js +4 -25
- package/core/components/textinput.component.js.map +1 -1
- package/core/error-boundary.component.js +46 -2
- package/core/error-boundary.component.js.map +1 -1
- package/core/fixed-view.component.js +2 -19
- package/core/fixed-view.component.js.map +1 -1
- package/core/global-error-handler.service.js +177 -0
- package/core/global-error-handler.service.js.map +1 -0
- package/core/tappable.component.js +1 -1
- package/core/tappable.component.js.map +1 -1
- package/core/viewport.js +8 -13
- package/core/viewport.js.map +1 -1
- package/gestures/carousel-swipe.animation.js +1 -0
- package/gestures/carousel-swipe.animation.js.map +1 -1
- package/npm-shrinkwrap.json +9553 -8521
- package/package-lock.json +9553 -8521
- package/package.json +2 -2
- package/runtime/App.js +174 -12
- package/runtime/App.js.map +1 -1
- package/runtime/base-page.component.js +11 -2
- package/runtime/base-page.component.js.map +1 -1
- package/runtime/navigator/stack.navigator.js +6 -0
- package/runtime/navigator/stack.navigator.js.map +1 -1
- package/styles/theme.js +0 -6
- package/styles/theme.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","BaseComponent","BaseComponentState","isDefined","debounce","find","forEach","isNil","get","set","cloneDeep","isEmpty","WmLabel","WmIcon","WmMessage","ToastConsumer","WmFormProps","DEFAULT_CLASS","isDataSetWidget","WmFormState","constructor","args","_defineProperty","WmForm","props","handleSubmit","componentDidMount","getParentFormRef","parentForm","pformName","current","parent","parentFormRef","setReadonlyFields","_this$formFields","formFields","field","setReadOnlyState","state","isUpdateMode","setReadonlyState","updateMode","updateState","setTimeout","showActions","edit","new","cancel","delete","registerFormFields","formWidgets","w","form","formwidget","formKey","name","f","formfields","applyFormData","applyDefaultValue","formdataoutput","datavalue","dataoutput","_this$buttonArray","buttonArray","action","show","registerFormActions","formActions","_updateFieldOnDataSourceChange","isDataSetBound","widget","isRelated","relatedData","_this$parentFormRef","formData","formdata","formField","_formField$props","fw","key","setState","isDefault","Array","isArray","updateFormFieldDefaultValue","dv","defaultvalue","_formField$props2","invokeEventCallback","bind","undefined","formreset","ff","defaultValue","id","_widget","isValid","reset","submit","_debouncedSubmitForm","generateFormFields","userFields","fields","metadata","data","onBeforerender","proxy","dynamicForm","generateComponent","layoutposition","onPropertyChange","$new","$old","_this$formFields2","setPrimaryKey","fieldName","primaryKey","indexOf","push","validateFieldsOnSubmit","val","onValidate","required","generator","msg","defaultValidatorMessages","validationmessage","validate","event","preventDefault","onBeforesubmit","formSubmit","onResultCb","error","response","status","onSuccess","postmessage","toggleMessage","onError","errormessage","updateDataOutput","Object","assign","type","message","messagelayout","showInlineMsg","toaster","showToast","placement","styles","bottom","text","hideOnClick","duration","onMsgClose","renderWidget","createElement","toastService","style","root","onLayout","handleLayout","_background","iconclass","title","subheading","heading","flex","flexDirection","getTestId","listIcon","caption","accessibilityrole","hideclose","onClose","children"],"sources":["form.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { isDefined, widgetsWithUndefinedValue } from '@wavemaker/app-rn-runtime/core/utils';\nimport { debounce, find, forEach, isNil, get, set, cloneDeep, isEmpty } from 'lodash';\n\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmFormField, { WmFormFieldState } from '@wavemaker/app-rn-runtime/components/data/form/form-field/form-field.component';\nimport WmMessage from '@wavemaker/app-rn-runtime/components/basic/message/message.component';\nimport { ToastConsumer, ToastService } from '@wavemaker/app-rn-runtime/core/toast.service';\n\nimport WmFormProps from './form.props';\nimport { DEFAULT_CLASS, WmFormStyles } from './form.styles';\nimport { isDataSetWidget } from '@wavemaker/app-rn-runtime/core/utils';\nimport WmFormAction, {\n WmFormActionState\n} from '@wavemaker/app-rn-runtime/components/data/form/form-action/form-action.component';\n\nexport class WmFormState extends BaseComponentState<WmFormProps> {\n isValid = false;\n type: 'success' | 'warning' | 'error' | 'info' | 'loading' | undefined = 'success';\n message: string = '';\n showInlineMsg: boolean = false;\n isUpdateMode: boolean = true;\n dynamicForm: any;\n}\nexport default class WmForm extends BaseComponent<WmFormProps, WmFormState, WmFormStyles> {\n public formFields: Array<WmFormField> = []; // contains array of direct widget elements [WmText, WmNumber, WmCurrent]\n public parentFormRef: any;\n public formfields: {[key: string]: WmFormField} = {};\n public formdataoutput: any;\n private toaster: any;\n public formActions: Array<WmFormAction> = [];\n primaryKey = [];\n buttonArray: Array<WmFormAction> = [];\n formWidgets: { [key: string]: BaseComponent<any, any, any> } = {}; // object containing key as name of formField and value as WmFormField proxy.\n constructor(props: WmFormProps) {\n super(props, DEFAULT_CLASS, new WmFormProps(), new WmFormState());\n }\n\n private _debouncedSubmitForm = debounce(this.handleSubmit, 250);\n\n componentDidMount() {\n super.componentDidMount();\n this.getParentFormRef(this.props.parentForm);\n }\n\n getParentFormRef(pformName: string) {\n let current = this.parent;\n while (current) {\n if (pformName && (get(current, 'props.name') === pformName)) {\n this.parentFormRef = current;\n break;\n }\n current = current.parent;\n }\n }\n\n setReadonlyFields() {\n this.formFields?.forEach((field: any) => {\n field.setReadOnlyState(this.state.isUpdateMode);\n });\n }\n\n setReadonlyState(updateMode: any) {\n this.updateState({\n isUpdateMode: updateMode,\n } as WmFormState);\n setTimeout(() => {\n this.showActions();\n this.setReadonlyFields();\n }, 100);\n }\n\n edit() {\n this.setReadonlyState(true);\n }\n\n new() {\n this.setReadonlyState(true);\n }\n\n cancel() {\n this.setReadonlyState(false);\n }\n\n delete() { }\n\n registerFormFields(\n formFields: Array<WmFormField>,\n formWidgets: { [key: string]: BaseComponent<any, any, any> }\n ) {\n forEach(formFields, (w: WmFormField) => {\n if (!w.form) {\n w.form = this;\n w.formwidget = (w.props.formKey && formWidgets[w.props.formKey])\n || (w.props.name && formWidgets[w.props.name]);\n }\n });\n\n this.formFields = formFields;\n this.formWidgets = formWidgets;\n\n formFields?.forEach((f: WmFormField) => {\n if (f.props.name) {\n set(this.formfields, f.props.name, f);\n }\n })\n\n this.setReadonlyFields();\n\n this.applyFormData();\n this.applyDefaultValue();\n\n // setting default form dataoutput.\n if (!this.formdataoutput) {\n this.formdataoutput = {};\n formFields?.forEach((w: WmFormField) => {\n const name = get(w.props, 'formKey') || w.props.name;\n if (name) {\n set(this.formdataoutput, name, w.props.datavalue);\n }\n });\n this.updateState({\n props: {\n dataoutput: this.formdataoutput\n }\n } as WmFormState);\n }\n }\n\n showActions () {\n this.buttonArray?.forEach((action: any) => {\n action.updateState({\n props: {\n show: action.updateMode === this.state.isUpdateMode\n }} as WmFormActionState);\n });\n }\n\n registerFormActions(formActions: Array<WmFormAction>) {\n this.buttonArray = formActions;\n this.showActions();\n }\n\n private _updateFieldOnDataSourceChange(field: WmFormField, formFields: Array<WmFormField>) {\n if (!field.state.props.isDataSetBound && isDataSetWidget(field.props.widget)) {\n if (field.state.props.isRelated) {\n field.updateState({\n props: {\n isDataSetBound: true\n }} as WmFormFieldState);\n this.props.relatedData && this.props.relatedData(field);\n }\n }\n }\n\n applyFormData() {\n let formData = this.state.props.formdata || this.parentFormRef?.state.props.formdata;\n if (!formData || (this.parentFormRef && this.state.props.formdata)) {\n return;\n }\n forEach(this.formFields, (formField: WmFormField) => {\n let fw = formField.props?.name && this.formWidgets[formField.props.name];\n if (!fw) {\n fw = find(this.formWidgets, (fw: BaseComponent<any, any, any>) => {\n return get(fw, 'formfieldname') === formField.props.name\n });\n }\n let key = get(formField, 'formKey') || get(fw, 'props.name');\n fw && fw.setState({ isDefault: true });\n if(Array.isArray(formData)){\n formData = formData[0];\n }\n formField.updateState({\n props: {\n datavalue: get(formData, key)\n }\n } as WmFormFieldState);\n });\n }\n\n updateFormFieldDefaultValue(formField: WmFormField) {\n if (formField) {\n const dv = formField.state.props.defaultvalue;\n if (isDefined(dv) && dv !== null && this.formFields) {\n let field = formField.props?.name && this.formWidgets[formField.props.name];\n if (!field) {\n field = find(this.formWidgets, (fw: BaseComponent<any, any, any>) => {\n return get(fw, 'formfieldname') === formField.props.name\n });\n }\n if (field) {\n field.setState({ isDefault: true });\n field.updateState({\n props: {\n datavalue: dv\n }\n }, this.invokeEventCallback.bind(formField, 'onFieldChange', [undefined, formField, dv]));\n }\n }\n }\n }\n\n get dataoutput() {\n return this.formdataoutput;\n }\n\n applyDefaultValue(formField?: WmFormField) {\n if (formField) {\n this.updateFormFieldDefaultValue(formField);\n return;\n }\n forEach(this.formFields, (w: WmFormField) => {\n this.updateFormFieldDefaultValue(w);\n });\n }\n\n formreset() {\n this.formdataoutput = {};\n forEach(this.formFields, (ff: WmFormField) => {\n const defaultValue = isNil(ff.state.props.defaultvalue) ? '' : ff.state.props.defaultvalue;\n ff.updateState({\n props : {\n datavalue: defaultValue\n }\n } as WmFormFieldState, () => {\n const id = ff.props.formKey || ff.props.name;\n if (id) {\n let widget: BaseComponent<any, any, any> | undefined | any = this.formWidgets[id];\n if (!widget) {\n widget = find(this.formWidgets, (fw: BaseComponent<any, any, any>) => {\n return get(fw, 'formfieldname') === ff.props.name\n });\n }\n widget.updateState({\n isValid: true,\n props : {\n datavalue: defaultValue\n }\n }, () => ff.updateState({\n isValid: true\n } as WmFormFieldState));\n widget?.reset();\n }\n }\n );\n });\n }\n\n submit() {\n this._debouncedSubmitForm();\n }\n\n // Function to generate and compile the form fields from the metadata\n generateFormFields() {\n let userFields;\n let fields = this.state.props.metadata ? this.state.props.metadata.data || this.state.props.metadata : [];\n\n if (isEmpty(fields)) {\n return;\n }\n\n if (this.props.onBeforerender) {\n userFields = this.invokeEventCallback('onBeforerender', [fields, this.proxy]);\n if (userFields) {\n fields = userFields;\n }\n }\n\n this.updateState({\n dynamicForm: this.props.generateComponent(fields, this.props.name, this.proxy, this.state.props.layoutposition === 'horizontal')\n } as WmFormState);\n\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'formdata':\n if ($new) {\n this.applyFormData();\n }\n break;\n case 'defaultmode':\n this.updateState({\n isUpdateMode: $new && $new === 'Edit' ? true : false,\n } as WmFormState);\n break;\n case 'dataset':\n this.formFields?.forEach((w: WmFormField) => {\n this._updateFieldOnDataSourceChange(w, this.formFields);\n });\n break;\n case 'metadata':\n // wait until addPageScript is called\n setTimeout(() => {\n this.generateFormFields();\n }, 0);\n break;\n }\n }\n setPrimaryKey(fieldName: string) {\n /*Store the primary key of data*/\n this.primaryKey = this.primaryKey || [];\n // @ts-ignore\n if (this.primaryKey.indexOf(fieldName) === -1) {\n // @ts-ignore\n this.primaryKey.push(fieldName);\n }\n }\n // Disable the form submit if form is in invalid state. Highlight all the invalid fields if validation type is default\n validateFieldsOnSubmit() {\n let isValid = true;\n forEach(this.formFields, (field) => {\n const val = field?.state.props.datavalue;\n\n const onValidate = get(field, 'props.onValidate');\n onValidate && onValidate(field);\n if (!val && field?.state.props.required && ((field?.props.primaryKey && field?.props.generator === 'assigned') || !field?.props.primaryKey)) {\n isValid = false;\n const msg = get(field.defaultValidatorMessages, 'required') || field.state.props.validationmessage;\n field.updateState({ isValid: isValid, props: {\n validationmessage: msg\n }} as WmFormFieldState);\n field.formwidget.validate && field.formwidget.validate(val);\n }\n // check for isvalid state of formwidget\n if (field.formwidget.state.isValid === false) {\n isValid = false;\n }\n });\n return isValid;\n }\n\n // @ts-ignore\n handleSubmit(event?: any) {\n event?.preventDefault();\n const formData = cloneDeep(this.state.props.dataoutput || this.formdataoutput);\n\n if (!this.validateFieldsOnSubmit()) {\n return false;\n }\n if (this.props.onBeforesubmit) {\n this.invokeEventCallback('onBeforesubmit', [ null, this.proxy, formData ]);\n }\n if (this.props.formSubmit) {\n this.props.formSubmit(formData, ((data: any) => {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n this.onResultCb(get(data, 'params'), 'success');\n }), ((error: any) => {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n this.onResultCb(error, '');\n }));\n } else {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n }\n }\n\n onResultCb(response: any, status: string, event?: any) {\n this.invokeEventCallback('onResult', [ null, this.proxy, response ]);\n if (status) {\n this.invokeEventCallback('onSuccess', [ null, this.proxy, response ]);\n !this.props.onSuccess && this.state.props.postmessage && this.toggleMessage('success', this.state.props.postmessage);\n } else {\n this.invokeEventCallback('onError', [ null, this.proxy, response ]);\n !this.props.onError && this.toggleMessage('error', this.state.props.errormessage || get(response, 'message'));\n }\n }\n\n updateDataOutput(key: string, val: any) {\n const current = this.formdataoutput || {};\n if (key) {\n set(current, key, val);\n } else {\n Object.assign(current, val)\n }\n this.formdataoutput = current;\n this.updateState({ props: { dataoutput: current }} as WmFormState);\n this.parentFormRef && this.parentFormRef.updateDataOutput && this.parentFormRef.updateDataOutput(undefined, this.formdataoutput);\n this.updateState({\n props: {\n dataoutput: this.formdataoutput\n }\n } as WmFormState);\n }\n\n toggleMessage(\n type: 'success' | 'warning' | 'error' | 'info' | 'loading' | undefined,\n message: string\n ) {\n if (this.state.props.messagelayout === 'Inline') {\n this.setState({\n type: type,\n message: message,\n showInlineMsg: true\n } as WmFormState)\n return;\n }\n this.toaster.showToast({\n name: this, placement: \"\", styles: {bottom: 0},\n text: message,\n type: type,\n hideOnClick: true,\n duration: 5000\n });\n }\n\n onMsgClose() {\n this.setState({\n showInlineMsg: false\n } as WmFormState)\n }\n\n renderWidget(props: WmFormProps) {\n return (\n <ToastConsumer>\n {(toastService: ToastService) => {\n this.toaster = toastService;\n return <View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n {this._background}\n {props.iconclass || props.title || props.subheading ? (\n <View style={this.styles.heading}>\n <View style={{flex: 1, flexDirection: 'row'}}>\n <WmIcon id={this.getTestId('icon')} styles={this.styles.listIcon} iconclass={props.iconclass}></WmIcon>\n <View>\n <WmLabel id={this.getTestId('title')} styles={this.styles.title} caption={props.title} accessibilityrole='header'></WmLabel>\n <WmLabel id={this.getTestId('description')} styles={this.styles.subheading} caption={props.subheading}></WmLabel>\n </View>\n </View>\n </View>\n ) : null}\n {this.state.showInlineMsg ? <WmMessage type={this.state.type} caption={this.state.message} hideclose={false} onClose={this.onMsgClose.bind(this)}></WmMessage> : null\n }\n { props.metadata && this.state.dynamicForm }\n { props.children}\n </View>\n }\n }\n </ToastConsumer>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","View","BaseComponent","BaseComponentState","isDefined","debounce","find","forEach","isNil","get","set","cloneDeep","isEmpty","WmLabel","WmIcon","WmMessage","ToastConsumer","WmFormProps","DEFAULT_CLASS","isDataSetWidget","WmFormState","constructor","args","_defineProperty","WmForm","props","handleSubmit","componentDidMount","getParentFormRef","parentForm","pformName","current","parent","parentFormRef","setReadonlyFields","_this$formFields","formFields","field","setReadOnlyState","state","isUpdateMode","setReadonlyState","updateMode","updateState","setTimeout","showActions","edit","new","cancel","delete","registerFormFields","formWidgets","w","form","formwidget","formKey","name","f","formfields","applyFormData","applyDefaultValue","formdataoutput","datavalue","dataoutput","_this$buttonArray","buttonArray","action","show","registerFormActions","formActions","_updateFieldOnDataSourceChange","isDataSetBound","widget","isRelated","relatedData","_this$parentFormRef","formData","formdata","formField","_formField$props","fw","key","setState","isDefault","Array","isArray","updateFormFieldDefaultValue","dv","defaultvalue","_formField$props2","invokeEventCallback","bind","undefined","formreset","ff","defaultValue","id","_widget","isValid","reset","submit","_debouncedSubmitForm","generateFormFields","userFields","fields","metadata","data","onBeforerender","proxy","dynamicForm","generateComponent","layoutposition","onPropertyChange","$new","$old","_this$formFields2","setPrimaryKey","fieldName","primaryKey","indexOf","push","validateFieldsOnSubmit","val","onValidate","required","generator","msg","defaultValidatorMessages","validationmessage","validate","event","preventDefault","onBeforesubmit","formSubmit","onResultCb","error","response","status","onSuccess","postmessage","toggleMessage","onError","errormessage","updateDataOutput","Object","assign","type","message","messagelayout","showInlineMsg","toaster","showToast","placement","styles","bottom","text","hideOnClick","duration","onMsgClose","renderWidget","createElement","toastService","style","root","onLayout","handleLayout","_background","iconclass","title","subheading","heading","flex","flexDirection","getTestId","listIcon","caption","accessibilityrole","hideclose","onClose","children"],"sources":["form.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { isDefined, widgetsWithUndefinedValue } from '@wavemaker/app-rn-runtime/core/utils';\nimport { debounce, find, forEach, isNil, get, set, cloneDeep, isEmpty } from 'lodash';\n\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmFormField, { WmFormFieldState } from '@wavemaker/app-rn-runtime/components/data/form/form-field/form-field.component';\nimport WmMessage from '@wavemaker/app-rn-runtime/components/basic/message/message.component';\nimport { ToastConsumer, ToastService } from '@wavemaker/app-rn-runtime/core/toast.service';\n\nimport WmFormProps from './form.props';\nimport { DEFAULT_CLASS, WmFormStyles } from './form.styles';\nimport { isDataSetWidget } from '@wavemaker/app-rn-runtime/core/utils';\nimport WmFormAction, {\n WmFormActionState\n} from '@wavemaker/app-rn-runtime/components/data/form/form-action/form-action.component';\n\nexport class WmFormState extends BaseComponentState<WmFormProps> {\n isValid = false;\n type: 'success' | 'warning' | 'error' | 'info' | 'loading' | undefined = 'success';\n message: string = '';\n showInlineMsg: boolean = false;\n isUpdateMode: boolean = true;\n dynamicForm: any;\n}\nexport default class WmForm extends BaseComponent<WmFormProps, WmFormState, WmFormStyles> {\n public formFields: Array<WmFormField> = []; // contains array of direct widget elements [WmText, WmNumber, WmCurrent]\n public parentFormRef: any;\n public formfields: {[key: string]: WmFormField} = {};\n public formdataoutput: any;\n private toaster: any;\n public formActions: Array<WmFormAction> = [];\n primaryKey = [];\n buttonArray: Array<WmFormAction> = [];\n formWidgets: { [key: string]: BaseComponent<any, any, any> } = {}; // object containing key as name of formField and value as WmFormField proxy.\n constructor(props: WmFormProps) {\n super(props, DEFAULT_CLASS, new WmFormProps(), new WmFormState());\n }\n\n private _debouncedSubmitForm = debounce(this.handleSubmit, 250);\n\n componentDidMount() {\n super.componentDidMount();\n this.getParentFormRef(this.props.parentForm);\n }\n\n getParentFormRef(pformName: string) {\n let current = this.parent;\n while (current) {\n if (pformName && (get(current, 'props.name') === pformName)) {\n this.parentFormRef = current;\n break;\n }\n current = current.parent;\n }\n }\n\n setReadonlyFields() {\n this.formFields?.forEach((field: any) => {\n field.setReadOnlyState(this.state.isUpdateMode);\n });\n }\n\n setReadonlyState(updateMode: any) {\n this.updateState({\n isUpdateMode: updateMode,\n } as WmFormState);\n setTimeout(() => {\n this.showActions();\n this.setReadonlyFields();\n }, 100);\n }\n\n edit() {\n this.setReadonlyState(true);\n }\n\n new() {\n this.setReadonlyState(true);\n }\n\n cancel() {\n this.setReadonlyState(false);\n }\n\n delete() { }\n\n registerFormFields(\n formFields: Array<WmFormField>,\n formWidgets: { [key: string]: BaseComponent<any, any, any> }\n ) {\n forEach(formFields, (w: WmFormField) => {\n if (!w.form) {\n w.form = this;\n w.formwidget = (w.props.formKey && formWidgets[w.props.formKey])\n || (w.props.name && formWidgets[w.props.name]);\n }\n });\n\n this.formFields = formFields;\n this.formWidgets = formWidgets;\n\n formFields?.forEach((f: WmFormField) => {\n if (f.props.name) {\n set(this.formfields, f.props.name, f);\n }\n })\n\n this.setReadonlyFields();\n\n this.applyFormData();\n this.applyDefaultValue();\n\n // setting default form dataoutput.\n if (!this.formdataoutput) {\n this.formdataoutput = {};\n formFields?.forEach((w: WmFormField) => {\n const name = get(w.props, 'formKey') || w.props.name;\n if (name) {\n set(this.formdataoutput, name, w.props.datavalue);\n }\n });\n this.updateState({\n props: {\n dataoutput: this.formdataoutput\n }\n } as WmFormState);\n }\n }\n\n showActions () {\n this.buttonArray?.forEach((action: any) => {\n action.updateState({\n props: {\n show: action.updateMode === this.state.isUpdateMode\n }} as WmFormActionState);\n });\n }\n\n registerFormActions(formActions: Array<WmFormAction>) {\n this.buttonArray = formActions;\n this.showActions();\n }\n\n private _updateFieldOnDataSourceChange(field: WmFormField, formFields: Array<WmFormField>) {\n if (!field.state.props.isDataSetBound && isDataSetWidget(field.props.widget)) {\n if (field.state.props.isRelated) {\n field.updateState({\n props: {\n isDataSetBound: true\n }} as WmFormFieldState);\n this.props.relatedData && this.props.relatedData(field);\n }\n }\n }\n\n applyFormData() {\n let formData = this.state.props.formdata || this.parentFormRef?.state.props.formdata;\n if (!formData || (this.parentFormRef && this.state.props.formdata)) {\n return;\n }\n forEach(this.formFields, (formField: WmFormField) => {\n let fw = formField.props?.name && this.formWidgets[formField.props.name];\n if (!fw) {\n fw = find(this.formWidgets, (fw: BaseComponent<any, any, any>) => {\n return get(fw, 'formfieldname') === formField.props.name\n });\n }\n let key = get(formField, 'formKey') || get(fw, 'props.name');\n fw && fw.setState({ isDefault: true });\n if(Array.isArray(formData)){\n formData = formData[0];\n }\n formField.updateState({\n props: {\n datavalue: get(formData, key)\n }\n } as WmFormFieldState);\n });\n }\n\n updateFormFieldDefaultValue(formField: WmFormField) {\n if (formField) {\n const dv = formField.state.props.defaultvalue;\n if (isDefined(dv) && dv !== null && this.formFields) {\n let field = formField.props?.name && this.formWidgets[formField.props.name];\n if (!field) {\n field = find(this.formWidgets, (fw: BaseComponent<any, any, any>) => {\n return get(fw, 'formfieldname') === formField.props.name\n });\n }\n if (field) {\n field.setState({ isDefault: true });\n field.updateState({\n props: {\n datavalue: dv\n }\n }, this.invokeEventCallback.bind(formField, 'onFieldChange', [undefined, formField, dv]));\n }\n }\n }\n }\n\n get dataoutput() {\n return this.formdataoutput;\n }\n\n applyDefaultValue(formField?: WmFormField) {\n if (formField) {\n this.updateFormFieldDefaultValue(formField);\n return;\n }\n forEach(this.formFields, (w: WmFormField) => {\n this.updateFormFieldDefaultValue(w);\n });\n }\n\n formreset() {\n this.formdataoutput = {};\n forEach(this.formFields, (ff: WmFormField) => {\n const defaultValue = isNil(ff.state.props.defaultvalue) ? '' : ff.state.props.defaultvalue;\n ff.updateState({\n props : {\n datavalue: defaultValue\n }\n } as WmFormFieldState, () => {\n const id = ff.props.formKey || ff.props.name;\n if (id) {\n let widget: BaseComponent<any, any, any> | undefined | any = this.formWidgets[id];\n if (!widget) {\n widget = find(this.formWidgets, (fw: BaseComponent<any, any, any>) => {\n return get(fw, 'formfieldname') === ff.props.name\n });\n }\n widget.updateState({\n isValid: true,\n props : {\n datavalue: defaultValue\n }\n }, () => ff.updateState({\n isValid: true\n } as WmFormFieldState));\n widget?.reset();\n }\n }\n );\n });\n }\n\n submit() {\n this._debouncedSubmitForm();\n }\n\n // Function to generate and compile the form fields from the metadata\n generateFormFields() {\n let userFields;\n let fields = this.state.props.metadata ? this.state.props.metadata.data || this.state.props.metadata : [];\n\n if (isEmpty(fields)) {\n return;\n }\n\n if (this.props.onBeforerender) {\n userFields = this.invokeEventCallback('onBeforerender', [fields, this.proxy]);\n if (userFields) {\n fields = userFields;\n }\n }\n\n this.updateState({\n dynamicForm: this.props.generateComponent(fields, this.props.name, this.proxy, this.state.props.layoutposition === 'horizontal')\n } as WmFormState);\n\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'formdata':\n if ($new) {\n this.applyFormData();\n }\n break;\n case 'defaultmode':\n this.updateState({\n isUpdateMode: $new && $new === 'Edit' ? true : false,\n } as WmFormState);\n break;\n case 'dataset':\n this.formFields?.forEach((w: WmFormField) => {\n this._updateFieldOnDataSourceChange(w, this.formFields);\n });\n break;\n case 'metadata':\n this.generateFormFields();\n break;\n }\n }\n setPrimaryKey(fieldName: string) {\n /*Store the primary key of data*/\n this.primaryKey = this.primaryKey || [];\n // @ts-ignore\n if (this.primaryKey.indexOf(fieldName) === -1) {\n // @ts-ignore\n this.primaryKey.push(fieldName);\n }\n }\n // Disable the form submit if form is in invalid state. Highlight all the invalid fields if validation type is default\n validateFieldsOnSubmit() {\n let isValid = true;\n forEach(this.formFields, (field) => {\n const val = field?.state.props.datavalue;\n\n const onValidate = get(field, 'props.onValidate');\n onValidate && onValidate(field);\n if (!val && field?.state.props.required && ((field?.props.primaryKey && field?.props.generator === 'assigned') || !field?.props.primaryKey)) {\n isValid = false;\n const msg = get(field.defaultValidatorMessages, 'required') || field.state.props.validationmessage;\n field.updateState({ isValid: isValid, props: {\n validationmessage: msg\n }} as WmFormFieldState);\n field.formwidget.validate && field.formwidget.validate(val);\n }\n // check for isvalid state of formwidget\n if (field.formwidget.state.isValid === false) {\n isValid = false;\n }\n });\n return isValid;\n }\n\n // @ts-ignore\n handleSubmit(event?: any) {\n event?.preventDefault();\n const formData = cloneDeep(this.state.props.dataoutput || this.formdataoutput);\n\n if (!this.validateFieldsOnSubmit()) {\n return false;\n }\n if (this.props.onBeforesubmit) {\n this.invokeEventCallback('onBeforesubmit', [ null, this.proxy, formData ]);\n }\n if (this.props.formSubmit) {\n this.props.formSubmit(formData, ((data: any) => {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n this.onResultCb(get(data, 'params'), 'success');\n }), ((error: any) => {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n this.onResultCb(error, '');\n }));\n } else {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n }\n }\n\n onResultCb(response: any, status: string, event?: any) {\n this.invokeEventCallback('onResult', [ null, this.proxy, response ]);\n if (status) {\n this.invokeEventCallback('onSuccess', [ null, this.proxy, response ]);\n !this.props.onSuccess && this.state.props.postmessage && this.toggleMessage('success', this.state.props.postmessage);\n } else {\n this.invokeEventCallback('onError', [ null, this.proxy, response ]);\n !this.props.onError && this.toggleMessage('error', this.state.props.errormessage || get(response, 'message'));\n }\n }\n\n updateDataOutput(key: string, val: any) {\n const current = this.formdataoutput || {};\n if (key) {\n set(current, key, val);\n } else {\n Object.assign(current, val)\n }\n this.formdataoutput = current;\n this.updateState({ props: { dataoutput: current }} as WmFormState);\n this.parentFormRef && this.parentFormRef.updateDataOutput && this.parentFormRef.updateDataOutput(undefined, this.formdataoutput);\n this.updateState({\n props: {\n dataoutput: this.formdataoutput\n }\n } as WmFormState);\n }\n\n toggleMessage(\n type: 'success' | 'warning' | 'error' | 'info' | 'loading' | undefined,\n message: string\n ) {\n if (this.state.props.messagelayout === 'Inline') {\n this.setState({\n type: type,\n message: message,\n showInlineMsg: true\n } as WmFormState)\n return;\n }\n this.toaster.showToast({\n name: this, placement: \"\", styles: {bottom: 0},\n text: message,\n type: type,\n hideOnClick: true,\n duration: 5000\n });\n }\n\n onMsgClose() {\n this.setState({\n showInlineMsg: false\n } as WmFormState)\n }\n\n renderWidget(props: WmFormProps) {\n return (\n <ToastConsumer>\n {(toastService: ToastService) => {\n this.toaster = toastService;\n return <View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n {this._background}\n {props.iconclass || props.title || props.subheading ? (\n <View style={this.styles.heading}>\n <View style={{flex: 1, flexDirection: 'row'}}>\n <WmIcon id={this.getTestId('icon')} styles={this.styles.listIcon} iconclass={props.iconclass}></WmIcon>\n <View>\n <WmLabel id={this.getTestId('title')} styles={this.styles.title} caption={props.title} accessibilityrole='header'></WmLabel>\n <WmLabel id={this.getTestId('description')} styles={this.styles.subheading} caption={props.subheading}></WmLabel>\n </View>\n </View>\n </View>\n ) : null}\n {this.state.showInlineMsg ? <WmMessage type={this.state.type} caption={this.state.message} hideclose={false} onClose={this.onMsgClose.bind(this)}></WmMessage> : null\n }\n { props.metadata && this.state.dynamicForm }\n { props.children}\n </View>\n }\n }\n </ToastConsumer>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -24,7 +24,8 @@ export default class WmDialogcontent extends BaseComponent {
|
|
|
24
24
|
maxHeight: this.styles.root.maxHeight
|
|
25
25
|
}
|
|
26
26
|
}, this._background, /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
27
|
-
activeOpacity: 1
|
|
27
|
+
activeOpacity: 1,
|
|
28
|
+
accessible: false
|
|
28
29
|
}, /*#__PURE__*/React.createElement(React.Fragment, null, props.children)));
|
|
29
30
|
}
|
|
30
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","TouchableOpacity","ScrollView","BaseComponent","BaseComponentState","WmDialogcontentProps","DEFAULT_CLASS","WmDialogcontentState","WmDialogcontent","constructor","props","renderWidget","createElement","onLayout","event","handleLayout","contentContainerStyle","styles","root","maxHeight","undefined","onScroll","notify","scrollEventThrottle","showsVerticalScrollIndicator","style","_background","activeOpacity","Fragment","children"],"sources":["dialogcontent.component.tsx"],"sourcesContent":["import React from 'react';\nimport { TouchableOpacity } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\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 onLayout={(event) => this.handleLayout(event)}\n contentContainerStyle={[this.styles.root, {maxHeight: undefined}]}\n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}\n showsVerticalScrollIndicator={false}\n style={{maxHeight: this.styles.root.maxHeight}}>\n {this._background}\n\n {/* *IMPORTANT: Pan responder in WmDialog interfering with scroll of ScrollView [https://github.com/facebook/react-native/issues/11206] */}\n <TouchableOpacity \n activeOpacity={1}\n >\n <>\n {props.children}\n </>\n </TouchableOpacity>\n </ScrollView>);\n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,QAAQ,cAAc;AAC/C,SAASC,UAAU,QAAQ,8BAA8B;AACzD,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,oBAAQV,KAAA,CAAAY,aAAA,CAACV,UAAU;MACjBW,QAAQ,EAAGC,KAAK,IAAK,IAAI,CAACC,YAAY,CAACD,KAAK,CAAE;MAC9CE,qBAAqB,EAAE,CAAC,IAAI,CAACC,MAAM,CAACC,IAAI,EAAE;QAACC,SAAS,EAAEC;MAAS,CAAC,CAAE;MAClEC,QAAQ,EAAGP,KAAK,IAAK;QAAC,IAAI,CAACQ,MAAM,CAAC,QAAQ,EAAE,CAACR,KAAK,CAAC,CAAC;MAAA,CAAE;MACtDS,mBAAmB,EAAE,EAAG;MACxBC,4BAA4B,EAAE,KAAM;MACpCC,KAAK,EAAE;QAACN,SAAS,EAAE,IAAI,CAACF,MAAM,CAACC,IAAI,CAACC;MAAS;IAAE,GAC5C,IAAI,CAACO,WAAW,eAGjB1B,KAAA,CAAAY,aAAA,CAACX,gBAAgB;MACf0B,aAAa,EAAE;
|
|
1
|
+
{"version":3,"names":["React","TouchableOpacity","ScrollView","BaseComponent","BaseComponentState","WmDialogcontentProps","DEFAULT_CLASS","WmDialogcontentState","WmDialogcontent","constructor","props","renderWidget","createElement","onLayout","event","handleLayout","contentContainerStyle","styles","root","maxHeight","undefined","onScroll","notify","scrollEventThrottle","showsVerticalScrollIndicator","style","_background","activeOpacity","accessible","Fragment","children"],"sources":["dialogcontent.component.tsx"],"sourcesContent":["import React from 'react';\nimport { TouchableOpacity } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\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 onLayout={(event) => this.handleLayout(event)}\n contentContainerStyle={[this.styles.root, {maxHeight: undefined}]}\n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}\n showsVerticalScrollIndicator={false}\n style={{maxHeight: this.styles.root.maxHeight}}>\n {this._background}\n\n {/* *IMPORTANT: Pan responder in WmDialog interfering with scroll of ScrollView [https://github.com/facebook/react-native/issues/11206] */}\n <TouchableOpacity \n activeOpacity={1}\n accessible={false}\n >\n <>\n {props.children}\n </>\n </TouchableOpacity>\n </ScrollView>);\n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,QAAQ,cAAc;AAC/C,SAASC,UAAU,QAAQ,8BAA8B;AACzD,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,oBAAQV,KAAA,CAAAY,aAAA,CAACV,UAAU;MACjBW,QAAQ,EAAGC,KAAK,IAAK,IAAI,CAACC,YAAY,CAACD,KAAK,CAAE;MAC9CE,qBAAqB,EAAE,CAAC,IAAI,CAACC,MAAM,CAACC,IAAI,EAAE;QAACC,SAAS,EAAEC;MAAS,CAAC,CAAE;MAClEC,QAAQ,EAAGP,KAAK,IAAK;QAAC,IAAI,CAACQ,MAAM,CAAC,QAAQ,EAAE,CAACR,KAAK,CAAC,CAAC;MAAA,CAAE;MACtDS,mBAAmB,EAAE,EAAG;MACxBC,4BAA4B,EAAE,KAAM;MACpCC,KAAK,EAAE;QAACN,SAAS,EAAE,IAAI,CAACF,MAAM,CAACC,IAAI,CAACC;MAAS;IAAE,GAC5C,IAAI,CAACO,WAAW,eAGjB1B,KAAA,CAAAY,aAAA,CAACX,gBAAgB;MACf0B,aAAa,EAAE,CAAE;MACjBC,UAAU,EAAE;IAAM,gBAElB5B,KAAA,CAAAY,aAAA,CAAAZ,KAAA,CAAA6B,QAAA,QACGnB,KAAK,CAACoB,QACP,CACc,CACV,CAAC;EACf;AACF","ignoreList":[]}
|
|
@@ -26,7 +26,6 @@ export class BaseInputComponent extends BaseComponent {
|
|
|
26
26
|
_defineProperty(this, "isTouched", false);
|
|
27
27
|
_defineProperty(this, "cursor", 0);
|
|
28
28
|
_defineProperty(this, "timer", null);
|
|
29
|
-
_defineProperty(this, "_submitEditingTriggered", false);
|
|
30
29
|
_defineProperty(this, "charlength", 0);
|
|
31
30
|
}
|
|
32
31
|
focus() {
|
|
@@ -166,12 +165,10 @@ export class BaseInputComponent extends BaseComponent {
|
|
|
166
165
|
this.props.triggerValidation && this.props.triggerValidation();
|
|
167
166
|
}, 10);
|
|
168
167
|
}
|
|
169
|
-
const skipBlurCallback = this._submitEditingTriggered;
|
|
170
|
-
this._submitEditingTriggered = false;
|
|
171
168
|
if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {
|
|
172
169
|
if (oldVal !== newVal && this.state.props.updateon === 'blur') {
|
|
173
|
-
this.updateDatavalue(newVal, event,
|
|
174
|
-
} else
|
|
170
|
+
this.updateDatavalue(newVal, event, 'blur');
|
|
171
|
+
} else {
|
|
175
172
|
this.invokeEventCallback('onBlur', [event, this.proxy]);
|
|
176
173
|
}
|
|
177
174
|
this.setState({
|
|
@@ -200,22 +197,7 @@ export class BaseInputComponent extends BaseComponent {
|
|
|
200
197
|
});
|
|
201
198
|
}
|
|
202
199
|
onKeyPress(event) {
|
|
203
|
-
|
|
204
|
-
event === null || event === void 0 || (_event$persist = event.persist) === null || _event$persist === void 0 || _event$persist.call(event);
|
|
205
|
-
const key = (_event$nativeEvent = event.nativeEvent) === null || _event$nativeEvent === void 0 ? void 0 : _event$nativeEvent.key;
|
|
206
|
-
if (key === 'Enter' && !!((_props = this.props) !== null && _props !== void 0 && _props.onSubmitediting)) {
|
|
207
|
-
return;
|
|
208
|
-
}
|
|
209
|
-
this.invokeEventCallback('onKeypress', [event, this.proxy, key]);
|
|
210
|
-
}
|
|
211
|
-
onSubmitEditing(event) {
|
|
212
|
-
var _event$persist2;
|
|
213
|
-
event === null || event === void 0 || (_event$persist2 = event.persist) === null || _event$persist2 === void 0 || _event$persist2.call(event);
|
|
214
|
-
this._submitEditingTriggered = true;
|
|
215
|
-
this.updateDatavalue(this.state.textValue, null);
|
|
216
|
-
setTimeout(() => {
|
|
217
|
-
this.invokeEventCallback('onSubmitediting', [event, this.proxy]);
|
|
218
|
-
}, 100);
|
|
200
|
+
this.invokeEventCallback('onKeypress', [event, this.proxy]);
|
|
219
201
|
}
|
|
220
202
|
}
|
|
221
203
|
//# sourceMappingURL=baseinput.component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DEFAULT_CLASS","BaseComponent","BaseComponentState","isString","Platform","validateField","Injector","BaseInputState","constructor","args","_defineProperty","BaseInputComponent","props","defaultClass","defaultProps","defaultState","focus","_this$widgetRef","widgetRef","blur","_this$widgetRef2","_this$widgetRef3","onPropertyChange","name","$new","$old","keyboardType","type","updateState","textValue","isDefault","state","isdefault","skipscripteventtrigger","onFieldChange","bind","onChange","event","updateon","updateDatavalue","target","value","timer","clearTimeout","setTimeout","onChangeText","charlength","length","validate","invokeChange","e","OS","cursor","selectionStart","setState","source","oldValue","datavalue","autotrim","trim","Promise","resolve","hastwowaybinding","setProp","then","invokeEventCallback","proxy","onBlur","FOCUSED_ELEMENT","remove","isTouched","newVal","oldVal","undefined","triggerValidation","skipBlurCallback","_submitEditingTriggered","isInputFocused","validationObj","isValid","errorType","onFocus","_this$closestTappable","set","closestTappable","triggerTap","onKeyPress","_event$persist","_event$nativeEvent","_props","persist","call","key","nativeEvent","onSubmitediting","onSubmitEditing","_event$persist2"],"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 isInputFocused: boolean = false;\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 private timer: ReturnType<typeof setTimeout> | null = null;\n private _submitEditingTriggered = false;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n public charlength:number = 0;\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 \n const isDefault = this.state.props.isdefault;\n if (isDefault) {\n this.updateState(\n { props: {isdefault: false} } as S, \n !this.state.props.skipscripteventtrigger && this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault)\n );\n } \n else {\n !this.state.props.skipscripteventtrigger && 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 }else if(this.state.props.updateon === 'lazy') {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.updateDatavalue(event.target.value, event);\n }, 300)\n }\n }\n\n onChangeText(value: any) {\n this.charlength = value?.length;\n if(this.state.props.updateon === 'lazy') {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.updateState({\n textValue: value\n } as S, () => {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n );\n }, 300)\n }\n else {\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\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 new Promise((resolve) => {\n if (props.hastwowaybinding) {\n this.setProp(\"datavalue\", value);\n this.updateState({props: { \"datavalue\": value }} as S);\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: value\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n if(!this.props.onFieldChange && value !== oldValue){\n this.invokeEventCallback('onChange', [event, this.proxy, value, oldValue]);\n }else if(this.state.props.skipscripteventtrigger && this.props.onFieldChange){\n this.props.onFieldChange('datavalue', value, oldValue, false);\n }\n if (source === 'blur') {\n setTimeout(() => {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }, 10);\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 === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n\n const skipBlurCallback = this._submitEditingTriggered;\n this._submitEditingTriggered = false;\n\n if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {\n if (oldVal !== newVal && this.state.props.updateon === 'blur') {\n this.updateDatavalue(newVal, event, skipBlurCallback ? undefined : 'blur');\n } else if (!skipBlurCallback) {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n this.setState({ isInputFocused: false })\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 this.closestTappable?.triggerTap();\n }, 250);\n this.setState({ isInputFocused: true })\n }\n\n onKeyPress(event: any) {\n event?.persist?.();\n const key = event.nativeEvent?.key;\n if (key === 'Enter' && !!(this as any).props?.onSubmitediting) {\n return;\n }\n this.invokeEventCallback('onKeypress', [event, this.proxy, key]);\n }\n\n onSubmitEditing(event: any) {\n event?.persist?.();\n this._submitEditingTriggered = true;\n this.updateDatavalue(this.state.textValue, null);\n setTimeout(() => {\n this.invokeEventCallback('onSubmitediting', [event, this.proxy]);\n }, 100);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["DEFAULT_CLASS","BaseComponent","BaseComponentState","isString","Platform","validateField","Injector","BaseInputState","constructor","args","_defineProperty","BaseInputComponent","props","defaultClass","defaultProps","defaultState","focus","_this$widgetRef","widgetRef","blur","_this$widgetRef2","_this$widgetRef3","onPropertyChange","name","$new","$old","keyboardType","type","updateState","textValue","isDefault","state","isdefault","skipscripteventtrigger","onFieldChange","bind","onChange","event","updateon","updateDatavalue","target","value","timer","clearTimeout","setTimeout","onChangeText","charlength","length","validate","invokeChange","e","OS","cursor","selectionStart","setState","source","oldValue","datavalue","autotrim","trim","Promise","resolve","hastwowaybinding","setProp","then","invokeEventCallback","proxy","onBlur","FOCUSED_ELEMENT","remove","isTouched","newVal","oldVal","undefined","triggerValidation","isInputFocused","validationObj","isValid","errorType","onFocus","_this$closestTappable","set","closestTappable","triggerTap","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 isInputFocused: boolean = false;\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 private timer: ReturnType<typeof setTimeout> | null = null;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n public charlength:number = 0;\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 \n const isDefault = this.state.props.isdefault;\n if (isDefault) {\n this.updateState(\n { props: {isdefault: false} } as S, \n !this.state.props.skipscripteventtrigger && this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault)\n );\n } \n else {\n !this.state.props.skipscripteventtrigger && 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 }else if(this.state.props.updateon === 'lazy') {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.updateDatavalue(event.target.value, event);\n }, 300)\n }\n }\n\n onChangeText(value: any) {\n this.charlength = value?.length;\n if(this.state.props.updateon === 'lazy') {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.updateState({\n textValue: value\n } as S, () => {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n );\n }, 300)\n }\n else {\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\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 new Promise((resolve) => {\n if (props.hastwowaybinding) {\n this.setProp(\"datavalue\", value);\n this.updateState({props: { \"datavalue\": value }} as S);\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: value\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n if(!this.props.onFieldChange && value !== oldValue){\n this.invokeEventCallback('onChange', [event, this.proxy, value, oldValue]);\n }else if(this.state.props.skipscripteventtrigger && this.props.onFieldChange){\n this.props.onFieldChange('datavalue', value, oldValue, false);\n }\n if (source === 'blur') {\n setTimeout(() => {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }, 10);\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 === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {\n if (oldVal !== newVal && this.state.props.updateon === 'blur') {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n this.setState({ isInputFocused: false })\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 this.closestTappable?.triggerTap();\n }, 250);\n this.setState({ isInputFocused: true })\n }\n\n onKeyPress(event: any) {\n this.invokeEventCallback('onKeypress', [ event, this.proxy]);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -20,7 +20,6 @@ export default class BaseInputProps extends BaseProps {
|
|
|
20
20
|
_defineProperty(this, "checkFormField", void 0);
|
|
21
21
|
_defineProperty(this, "onFieldChange", void 0);
|
|
22
22
|
_defineProperty(this, "triggerValidation", void 0);
|
|
23
|
-
_defineProperty(this, "onSubmitEditing", void 0);
|
|
24
23
|
_defineProperty(this, "accessibilitylabel", undefined);
|
|
25
24
|
_defineProperty(this, "hint", undefined);
|
|
26
25
|
_defineProperty(this, "accessibilityrole", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseProps","BaseInputProps","constructor","args","_defineProperty","undefined"],"sources":["baseinput.props.ts"],"sourcesContent":["import {AccessibilityRole} from \"react-native\";\nimport { 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 autocomplete: string = \"username\";\n autotrim: boolean = true;\n datavalue: any;\n hastwowaybinding = false;\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
|
|
1
|
+
{"version":3,"names":["BaseProps","BaseInputProps","constructor","args","_defineProperty","undefined"],"sources":["baseinput.props.ts"],"sourcesContent":["import {AccessibilityRole} from \"react-native\";\nimport { 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 autocomplete: string = \"username\";\n autotrim: boolean = true;\n datavalue: any;\n hastwowaybinding = false;\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 accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole;\n accessibilitylabelledby?: string = undefined;\n maskchar: string = null as any;\n displayformat: string = null as any;\n skipscripteventtrigger: boolean = false;\n}\n"],"mappings":";;;AACA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,oBAC/B,IAAI;IACzB;IAAAA,eAAA,uBACuB,UAAU;IAAAA,eAAA,mBACb,IAAI;IAAAA,eAAA;IAAAA,eAAA,2BAEL,KAAK;IAAAA,eAAA,mBACL,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,6BAIIC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA;IAAAA,eAAA,kCAEUC,SAAS;IAAAD,eAAA,mBACzB,IAAI;IAAAA,eAAA,wBACC,IAAI;IAAAA,eAAA,iCACM,KAAK;EAAA;AACzC","ignoreList":[]}
|
|
@@ -24,7 +24,6 @@ export class BaseNumberComponent extends BaseComponent {
|
|
|
24
24
|
_defineProperty(this, "GROUP", void 0);
|
|
25
25
|
_defineProperty(this, "widgetRef", null);
|
|
26
26
|
_defineProperty(this, "cursor", 0);
|
|
27
|
-
_defineProperty(this, "_submitEditingTriggered", false);
|
|
28
27
|
this.DECIMAL = '.';
|
|
29
28
|
this.GROUP = ',';
|
|
30
29
|
}
|
|
@@ -202,13 +201,11 @@ export class BaseNumberComponent extends BaseComponent {
|
|
|
202
201
|
this.props.triggerValidation && this.props.triggerValidation();
|
|
203
202
|
}, 10);
|
|
204
203
|
}
|
|
205
|
-
const skipBlurCallback = this._submitEditingTriggered;
|
|
206
|
-
this._submitEditingTriggered = false;
|
|
207
204
|
if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {
|
|
208
205
|
let oldVal = this.state.props.datavalue || '';
|
|
209
206
|
if (oldVal !== newVal && this.state.props.updateon === 'blur') {
|
|
210
|
-
this.updateDatavalue(newVal, event,
|
|
211
|
-
} else
|
|
207
|
+
this.updateDatavalue(newVal, event, 'blur');
|
|
208
|
+
} else {
|
|
212
209
|
this.invokeEventCallback('onBlur', [event, this.proxy]);
|
|
213
210
|
}
|
|
214
211
|
this.setState({
|
|
@@ -222,15 +219,6 @@ export class BaseNumberComponent extends BaseComponent {
|
|
|
222
219
|
isInputFocused: true
|
|
223
220
|
});
|
|
224
221
|
}
|
|
225
|
-
onSubmitEditing(event) {
|
|
226
|
-
var _event$persist;
|
|
227
|
-
event === null || event === void 0 || (_event$persist = event.persist) === null || _event$persist === void 0 || _event$persist.call(event);
|
|
228
|
-
this._submitEditingTriggered = true;
|
|
229
|
-
this.updateDatavalue(this.state.textValue, null);
|
|
230
|
-
setTimeout(() => {
|
|
231
|
-
this.invokeEventCallback('onSubmitediting', [event, this.proxy]);
|
|
232
|
-
}, 100);
|
|
233
|
-
}
|
|
234
222
|
|
|
235
223
|
/**
|
|
236
224
|
* returns the number of decimal places a number have.
|
|
@@ -245,7 +233,6 @@ export class BaseNumberComponent extends BaseComponent {
|
|
|
245
233
|
return 0;
|
|
246
234
|
}
|
|
247
235
|
validateInputEntry($event) {
|
|
248
|
-
var _$event$persist, _$event$nativeEvent;
|
|
249
236
|
const props = this.state.props;
|
|
250
237
|
|
|
251
238
|
// allow actions if control key is pressed or if backspace is pressed. (for Mozilla).
|
|
@@ -273,9 +260,7 @@ export class BaseNumberComponent extends BaseComponent {
|
|
|
273
260
|
if ((includes(inputValue, '+') || includes(inputValue, '-')) && ($event.key === '+' || $event.key === '-')) {
|
|
274
261
|
$event.preventDefault();
|
|
275
262
|
}
|
|
276
|
-
|
|
277
|
-
const key = (_$event$nativeEvent = $event.nativeEvent) === null || _$event$nativeEvent === void 0 ? void 0 : _$event$nativeEvent.key;
|
|
278
|
-
this.invokeEventCallback('onKeypress', [$event, this.proxy, key]);
|
|
263
|
+
this.invokeEventCallback('onKeypress', [$event, this.proxy]);
|
|
279
264
|
}
|
|
280
265
|
|
|
281
266
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["includes","intersection","isNaN","isFinite","toArray","isNil","BaseComponent","BaseComponentState","DEFAULT_CLASS","Platform","countDecimalDigits","validateField","BaseNumberState","constructor","args","_defineProperty","BaseNumberComponent","props","defaultClass","defaultProps","defaultState","DECIMAL","GROUP","onChange","event","state","updateon","updateDatavalue","target","value","focus","_this$widgetRef","widgetRef","validateOnDevice","type","_value$match","isCurrencyField","isValidText","test","Number","match","length","onChangeText","shouldFormateToNumber","newValue","parseNumber","replace","isValidTextOnDevice","decimalPlacesInNumber","decimalPlaces","updateState","textValue","validate","invokeChange","e","OS","cursor","selectionStart","setState","validationObj","isValid","errorType","handleValidation","regexp","condition","RegExp","val","parts","split","NaN","number","join","decimal","sum","parseFloat","toFixed","Object","is","source","model","toString","oldValue","datavalue","validNumber","isValidNumber","invokeEventCallback","proxy","Promise","resolve","hastwowaybinding","newProps","setImmediate","setProp","then","onFieldChange","skipscripteventtrigger","setTimeout","onBlur","isDisplayValuePresent","textVal","newVal","undefined","triggerValidation","skipBlurCallback","_submitEditingTriggered","oldVal","isInputFocused","onFocus","onSubmitEditing","_event$persist","persist","call","countDecimals","decimalValue","validateInputEntry","$event","_$event$persist","_$event$nativeEvent","ctrlKey","key","validity","inputValue","step","preventDefault","nativeEvent","getValueInRange","minvalue","maxvalue","required","isInteger","resetValidations","onPropertyChange","name","$new","$old","isDefault","isdefault","bind","displayValue"],"sources":["basenumber.component.ts"],"sourcesContent":["import { includes, intersection, isNaN, isFinite, toArray, isNil } from 'lodash';\nimport BaseNumberProps from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.props';\nimport { BaseComponent, BaseComponentState } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport { BaseNumberStyles } from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.styles';\nimport { DEFAULT_CLASS } from \"@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles\";\nimport { Platform, TextInput } from 'react-native';\nimport { countDecimalDigits, validateField } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class BaseNumberState <T extends BaseNumberProps> extends BaseComponentState<T> {\n isValid: boolean = true;\n isInputFocused: boolean = false;\n textValue: string = '';\n isDefault = false;\n errorType = '';\n}\n\nexport abstract class BaseNumberComponent< T extends BaseNumberProps, S extends BaseNumberState<T>, L extends BaseNumberStyles> extends BaseComponent<T, S, L> {\n private DECIMAL;\n private GROUP;\n public widgetRef: TextInput | null = null;\n private cursor: any = 0;\n private _submitEditingTriggered = false;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n this.DECIMAL = '.';\n this.GROUP = ',';\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n validateOnDevice(value: string, type: 'number' | 'currency') {\n const isCurrencyField = type === 'currency';\n let isValidText = true;\n\n // * no alphabets except E, may contain E only once\n if (/[a-df-zA-DF-Z]/.test(value) || !/^[^eE]*[eE]?[^eE]*$/.test(value)) {\n isValidText = false;\n }\n\n // * currency only: check for negative number\n if (isCurrencyField && (Number(value) < 0 || /-/g.test(value))) {\n isValidText = false;\n }\n\n // * number only: not more than one minus and doesn't end with minus (-)\n if (!isCurrencyField && (Number(value.match(/-/g)?.length) > 1) || /\\w-/.test(value)) {\n isValidText = false;\n }\n\n // * check for more than one decimal point\n if (/^\\d*\\.\\d*\\..*$/.test(value)) {\n isValidText = false;\n }\n\n // * check for spaces and comma\n if (/[\\s,]/.test(value)) {\n isValidText = false;\n }\n\n return isValidText;\n }\n\n onChangeText(value: string, type: 'number' | 'currency', shouldFormateToNumber?: boolean) {\n const newValue = shouldFormateToNumber ? `${this.parseNumber(value.replace(/[^0-9.]/g, ''))}` : value;\n const isValidTextOnDevice = this.validateOnDevice(newValue, type);\n if (!isValidTextOnDevice) {\n return;\n }\n\n const decimalPlacesInNumber = countDecimalDigits(newValue);\n\n if (this.props.decimalPlaces < decimalPlacesInNumber) {\n return;\n }\n\n this.updateState({\n textValue: newValue\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(newValue);\n this.updateDatavalue(newValue, 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 validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.updateState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n\n }\n\n handleValidation(value: any) {\n const props = this.state.props;\n if (props.regexp) {\n const condition = new RegExp(props.regexp, 'g');\n return condition.test(value);\n }\n return true;\n }\n\n /**\n * Method parses the Localized number(string) to a valid number.\n * if the string dose not result to a valid number then returns NaN.\n * @param {string} val Localized number.\n * @returns {number}\n */\n private parseNumber(val: string): any {\n // splits string into two parts. decimal and number.\n const parts = val.split(this.DECIMAL);\n if (!parts.length) {\n return;\n }\n if (parts.length > 2) {\n return NaN;\n }\n // If number have decimal point and not have a decimal value then return.\n if (parts[1] === '') {\n return NaN;\n }\n // replaces all group separators form the number.\n const number = Number(parts[0].split(this.GROUP).join(''));\n const decimal = Number(`0.${parts[1] || 0}`);\n if (Number.isNaN(number) || Number.isNaN(decimal)) {\n return NaN;\n }\n const sum = parts.length > 1 ? parseFloat((number + decimal).toFixed(parts[1].length)) : number + decimal;\n // if the number is negative then calculate the number as number - decimal\n // Ex: number = -123 and decimal = 0.45 then number - decimal = -123-045 = -123.45\n // If entered number is -0.1 to -0.9 then the number is -0 and decimal is 0.1 to 0.9. Now calaculate the number as number-decimal\n // Ex: number = -0 and decimal = 0.1 then number-decimal = -0-0.1 = -0.1\n if (number === 0) {\n return Object.is(0, number) ? sum : number - decimal;\n }\n return number > 0 ? sum : number - decimal;\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const model = value && this.parseNumber(value.toString());\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n const validNumber = this.isValidNumber(model) || value === oldValue + '.';\n if (!validNumber) {\n this.invokeEventCallback('onError', [ event, this.proxy, value, oldValue ]);\n return;\n }\n\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n const newProps: any = {\n props: {\n datavalue: model || Number(value)\n }\n }\n if(this.state.props.updateon === 'blur'){\n newProps.textValue = model || Number(value)\n }\n\n this.updateState({...newProps} as S)\n\n setImmediate(()=> this.setProp(\"datavalue\", value));\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: model || Number(value)\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n if(!this.props.onFieldChange && value !== oldValue){\n this.invokeEventCallback('onChange', [event, this.proxy, value, oldValue]);\n }else if(this.state.props.skipscripteventtrigger && this.props.onFieldChange){\n this.props.onFieldChange('datavalue', value, oldValue, false);\n }\n\n if (source === 'blur') {\n setTimeout(() => {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }, 10);\n }\n });\n }\n\n onBlur(event: any, isDisplayValuePresent?: boolean) {\n const textVal = this.state.textValue || '';\n let newVal = isDisplayValuePresent ? textVal : event.target.value || textVal;\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n\n const skipBlurCallback = this._submitEditingTriggered;\n this._submitEditingTriggered = false;\n\n if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {\n let oldVal = this.state.props.datavalue || '';\n if (oldVal !== newVal && this.state.props.updateon === 'blur') {\n this.updateDatavalue(newVal, event, skipBlurCallback ? undefined : 'blur');\n } else if (!skipBlurCallback) {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n this.setState({ isInputFocused: false});\n }\n }\n\n onFocus(event: any) {\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n this.setState({ isInputFocused: true});\n }\n\n onSubmitEditing(event: any) {\n event?.persist?.();\n this._submitEditingTriggered = true;\n this.updateDatavalue(this.state.textValue, null);\n setTimeout(() => {\n this.invokeEventCallback('onSubmitediting', [event, this.proxy]);\n }, 100);\n }\n\n /**\n * returns the number of decimal places a number have.\n * @param value: number\n * @returns {number}\n */\n private countDecimals(value: any) {\n if (value && ((value % 1) !== 0)) {\n const decimalValue = value.toString().split('.')[1];\n return decimalValue && decimalValue.length;\n }\n return 0;\n }\n\n public validateInputEntry($event: any) {\n const props = this.state.props;\n\n // allow actions if control key is pressed or if backspace is pressed. (for Mozilla).\n if ($event.ctrlKey || includes(['Backspace', 'ArrowRight', 'ArrowLeft', 'Tab', 'Enter', 'Delete'], $event.key)) {\n return;\n }\n\n const validity = new RegExp(`^[\\\\d\\\\s-,.e+${this.GROUP}${this.DECIMAL}]$`, 'i');\n const inputValue = $event.target.value;\n // validates entering of decimal values only when user provides decimal limit(i.e step contains decimal values).\n if (inputValue && this.countDecimals(props.step) && (this.countDecimals(inputValue) >= this.countDecimals(props.step))) {\n $event.preventDefault();\n }\n // validates if user entered an invalid character.\n if (!validity.test($event.key)) {\n $event.preventDefault();\n }\n // a decimal value can be entered only once in the input.\n if (includes(inputValue, this.DECIMAL) && $event.key === this.DECIMAL) {\n $event.preventDefault();\n }\n // 'e' can be entered only once in the input.\n if (intersection(toArray(inputValue), ['e', 'E']).length && includes('eE', $event.key)) {\n $event.preventDefault();\n }\n if ((includes(inputValue, '+') || includes(inputValue, '-')) && ($event.key === '+' || $event.key === '-')) {\n $event.preventDefault();\n }\n $event?.persist?.();\n const key = $event.nativeEvent?.key;\n this.invokeEventCallback('onKeypress', [$event, this.proxy, key]);\n }\n\n /**\n * returns a valid number by validating the minimum and maximum values.\n * @param {number} value\n * @returns {number}\n */\n private getValueInRange(value: number): number {\n const props = this.state.props;\n if (props.minvalue && !isNil(value) && !isNaN(props.minvalue) && value < props.minvalue) {\n this.updateState({ errorType: 'minvalue'} as S);\n return props.minvalue;\n }\n if (props.maxvalue && !isNil(value) && !isNaN(props.maxvalue) && value > props.maxvalue) {\n this.updateState({ errorType: 'maxvalue'} as S);\n return props.maxvalue;\n }\n return value;\n }\n\n /**\n * Adds validations for the number before updating the widget model. like validating min and max value for the widget.\n * @param {number} val number to be validated\n * @returns {number}\n */\n private isValidNumber(val: number): boolean {\n const props = this.state.props;\n\n //empty number widget should not show validation error when required is false\n // @ts-ignore\n if (this.state.props.required === false && val === '') {\n return true;\n }\n // id number is infinite then consider it as invalid value\n if (isNaN(val) || !isFinite(val) || (!Number.isInteger(props.step) &&\n this.countDecimals(val) > this.countDecimals(props.step))) {\n this.updateState({\n isValid: false,\n } as S);\n return false;\n }\n if (val !== this.getValueInRange(val)) {\n this.updateState({\n isValid: false,\n } as S);\n return true;\n }\n this.resetValidations();\n return true;\n }\n\n // resets all the flags related to the widget's validation.\n protected resetValidations() {\n this.updateState({\n isValid: true,\n } as S);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'minvalue':\n case 'maxvalue':\n if ($new|| $old) {\n this.isValidNumber($new);\n }\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new,\n } as S);\n const isDefault = this.state.props.isdefault;\n if (isDefault) {\n this.updateState(\n { props: {isdefault: false} } as S, \n !this.state.props.skipscripteventtrigger && this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault)\n );\n } \n else {\n if($new === $old || ($new && $old && $new.toString() === $old.toString())) {\n break;\n }\n !this.state.props.skipscripteventtrigger && this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n break;\n case 'displayValue': \n this.updateState({\n displayValue: $new,\n } as any)\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["includes","intersection","isNaN","isFinite","toArray","isNil","BaseComponent","BaseComponentState","DEFAULT_CLASS","Platform","countDecimalDigits","validateField","BaseNumberState","constructor","args","_defineProperty","BaseNumberComponent","props","defaultClass","defaultProps","defaultState","DECIMAL","GROUP","onChange","event","state","updateon","updateDatavalue","target","value","focus","_this$widgetRef","widgetRef","validateOnDevice","type","_value$match","isCurrencyField","isValidText","test","Number","match","length","onChangeText","shouldFormateToNumber","newValue","parseNumber","replace","isValidTextOnDevice","decimalPlacesInNumber","decimalPlaces","updateState","textValue","validate","invokeChange","e","OS","cursor","selectionStart","setState","validationObj","isValid","errorType","handleValidation","regexp","condition","RegExp","val","parts","split","NaN","number","join","decimal","sum","parseFloat","toFixed","Object","is","source","model","toString","oldValue","datavalue","validNumber","isValidNumber","invokeEventCallback","proxy","Promise","resolve","hastwowaybinding","newProps","setImmediate","setProp","then","onFieldChange","skipscripteventtrigger","setTimeout","onBlur","isDisplayValuePresent","textVal","newVal","undefined","triggerValidation","oldVal","isInputFocused","onFocus","countDecimals","decimalValue","validateInputEntry","$event","ctrlKey","key","validity","inputValue","step","preventDefault","getValueInRange","minvalue","maxvalue","required","isInteger","resetValidations","onPropertyChange","name","$new","$old","isDefault","isdefault","bind","displayValue"],"sources":["basenumber.component.ts"],"sourcesContent":["import { includes, intersection, isNaN, isFinite, toArray, isNil } from 'lodash';\nimport BaseNumberProps from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.props';\nimport { BaseComponent, BaseComponentState } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport { BaseNumberStyles } from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.styles';\nimport { DEFAULT_CLASS } from \"@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles\";\nimport { Platform, TextInput } from 'react-native';\nimport { countDecimalDigits, validateField } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class BaseNumberState <T extends BaseNumberProps> extends BaseComponentState<T> {\n isValid: boolean = true;\n isInputFocused: boolean = false;\n textValue: string = '';\n isDefault = false;\n errorType = '';\n}\n\nexport abstract class BaseNumberComponent< T extends BaseNumberProps, S extends BaseNumberState<T>, L extends BaseNumberStyles> extends BaseComponent<T, S, L> {\n private DECIMAL;\n private GROUP;\n public widgetRef: TextInput | null = null;\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 this.DECIMAL = '.';\n this.GROUP = ',';\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n validateOnDevice(value: string, type: 'number' | 'currency') {\n const isCurrencyField = type === 'currency';\n let isValidText = true;\n\n // * no alphabets except E, may contain E only once\n if (/[a-df-zA-DF-Z]/.test(value) || !/^[^eE]*[eE]?[^eE]*$/.test(value)) {\n isValidText = false;\n }\n\n // * currency only: check for negative number\n if (isCurrencyField && (Number(value) < 0 || /-/g.test(value))) {\n isValidText = false;\n }\n\n // * number only: not more than one minus and doesn't end with minus (-)\n if (!isCurrencyField && (Number(value.match(/-/g)?.length) > 1) || /\\w-/.test(value)) {\n isValidText = false;\n }\n\n // * check for more than one decimal point\n if (/^\\d*\\.\\d*\\..*$/.test(value)) {\n isValidText = false;\n }\n\n // * check for spaces and comma\n if (/[\\s,]/.test(value)) {\n isValidText = false;\n }\n\n return isValidText;\n }\n\n onChangeText(value: string, type: 'number' | 'currency', shouldFormateToNumber?: boolean) {\n const newValue = shouldFormateToNumber ? `${this.parseNumber(value.replace(/[^0-9.]/g, ''))}` : value;\n const isValidTextOnDevice = this.validateOnDevice(newValue, type);\n if (!isValidTextOnDevice) {\n return;\n }\n\n const decimalPlacesInNumber = countDecimalDigits(newValue);\n\n if (this.props.decimalPlaces < decimalPlacesInNumber) {\n return;\n }\n\n this.updateState({\n textValue: newValue\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(newValue);\n this.updateDatavalue(newValue, 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 validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.updateState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n\n }\n\n handleValidation(value: any) {\n const props = this.state.props;\n if (props.regexp) {\n const condition = new RegExp(props.regexp, 'g');\n return condition.test(value);\n }\n return true;\n }\n\n /**\n * Method parses the Localized number(string) to a valid number.\n * if the string dose not result to a valid number then returns NaN.\n * @param {string} val Localized number.\n * @returns {number}\n */\n private parseNumber(val: string): any {\n // splits string into two parts. decimal and number.\n const parts = val.split(this.DECIMAL);\n if (!parts.length) {\n return;\n }\n if (parts.length > 2) {\n return NaN;\n }\n // If number have decimal point and not have a decimal value then return.\n if (parts[1] === '') {\n return NaN;\n }\n // replaces all group separators form the number.\n const number = Number(parts[0].split(this.GROUP).join(''));\n const decimal = Number(`0.${parts[1] || 0}`);\n if (Number.isNaN(number) || Number.isNaN(decimal)) {\n return NaN;\n }\n const sum = parts.length > 1 ? parseFloat((number + decimal).toFixed(parts[1].length)) : number + decimal;\n // if the number is negative then calculate the number as number - decimal\n // Ex: number = -123 and decimal = 0.45 then number - decimal = -123-045 = -123.45\n // If entered number is -0.1 to -0.9 then the number is -0 and decimal is 0.1 to 0.9. Now calaculate the number as number-decimal\n // Ex: number = -0 and decimal = 0.1 then number-decimal = -0-0.1 = -0.1\n if (number === 0) {\n return Object.is(0, number) ? sum : number - decimal;\n }\n return number > 0 ? sum : number - decimal;\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const model = value && this.parseNumber(value.toString());\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n const validNumber = this.isValidNumber(model) || value === oldValue + '.';\n if (!validNumber) {\n this.invokeEventCallback('onError', [ event, this.proxy, value, oldValue ]);\n return;\n }\n\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n const newProps: any = {\n props: {\n datavalue: model || Number(value)\n }\n }\n if(this.state.props.updateon === 'blur'){\n newProps.textValue = model || Number(value)\n }\n\n this.updateState({...newProps} as S)\n\n setImmediate(()=> this.setProp(\"datavalue\", value));\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: model || Number(value)\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n if(!this.props.onFieldChange && value !== oldValue){\n this.invokeEventCallback('onChange', [event, this.proxy, value, oldValue]);\n }else if(this.state.props.skipscripteventtrigger && this.props.onFieldChange){\n this.props.onFieldChange('datavalue', value, oldValue, false);\n }\n\n if (source === 'blur') {\n setTimeout(() => {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }, 10);\n }\n });\n }\n\n onBlur(event: any, isDisplayValuePresent?: boolean) {\n const textVal = this.state.textValue || '';\n let newVal = isDisplayValuePresent ? textVal : event.target.value || textVal;\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {\n let oldVal = this.state.props.datavalue || '';\n if (oldVal !== newVal && this.state.props.updateon === 'blur') {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n this.setState({ isInputFocused: false});\n }\n }\n\n onFocus(event: any) {\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n this.setState({ isInputFocused: true});\n }\n\n /**\n * returns the number of decimal places a number have.\n * @param value: number\n * @returns {number}\n */\n private countDecimals(value: any) {\n if (value && ((value % 1) !== 0)) {\n const decimalValue = value.toString().split('.')[1];\n return decimalValue && decimalValue.length;\n }\n return 0;\n }\n\n public validateInputEntry($event: any) {\n const props = this.state.props;\n\n // allow actions if control key is pressed or if backspace is pressed. (for Mozilla).\n if ($event.ctrlKey || includes(['Backspace', 'ArrowRight', 'ArrowLeft', 'Tab', 'Enter', 'Delete'], $event.key)) {\n return;\n }\n\n const validity = new RegExp(`^[\\\\d\\\\s-,.e+${this.GROUP}${this.DECIMAL}]$`, 'i');\n const inputValue = $event.target.value;\n // validates entering of decimal values only when user provides decimal limit(i.e step contains decimal values).\n if (inputValue && this.countDecimals(props.step) && (this.countDecimals(inputValue) >= this.countDecimals(props.step))) {\n $event.preventDefault();\n }\n // validates if user entered an invalid character.\n if (!validity.test($event.key)) {\n $event.preventDefault();\n }\n // a decimal value can be entered only once in the input.\n if (includes(inputValue, this.DECIMAL) && $event.key === this.DECIMAL) {\n $event.preventDefault();\n }\n // 'e' can be entered only once in the input.\n if (intersection(toArray(inputValue), ['e', 'E']).length && includes('eE', $event.key)) {\n $event.preventDefault();\n }\n if ((includes(inputValue, '+') || includes(inputValue, '-')) && ($event.key === '+' || $event.key === '-')) {\n $event.preventDefault();\n }\n this.invokeEventCallback('onKeypress', [ $event, this.proxy]);\n }\n\n /**\n * returns a valid number by validating the minimum and maximum values.\n * @param {number} value\n * @returns {number}\n */\n private getValueInRange(value: number): number {\n const props = this.state.props;\n if (props.minvalue && !isNil(value) && !isNaN(props.minvalue) && value < props.minvalue) {\n this.updateState({ errorType: 'minvalue'} as S);\n return props.minvalue;\n }\n if (props.maxvalue && !isNil(value) && !isNaN(props.maxvalue) && value > props.maxvalue) {\n this.updateState({ errorType: 'maxvalue'} as S);\n return props.maxvalue;\n }\n return value;\n }\n\n /**\n * Adds validations for the number before updating the widget model. like validating min and max value for the widget.\n * @param {number} val number to be validated\n * @returns {number}\n */\n private isValidNumber(val: number): boolean {\n const props = this.state.props;\n\n //empty number widget should not show validation error when required is false\n // @ts-ignore\n if (this.state.props.required === false && val === '') {\n return true;\n }\n // id number is infinite then consider it as invalid value\n if (isNaN(val) || !isFinite(val) || (!Number.isInteger(props.step) &&\n this.countDecimals(val) > this.countDecimals(props.step))) {\n this.updateState({\n isValid: false,\n } as S);\n return false;\n }\n if (val !== this.getValueInRange(val)) {\n this.updateState({\n isValid: false,\n } as S);\n return true;\n }\n this.resetValidations();\n return true;\n }\n\n // resets all the flags related to the widget's validation.\n protected resetValidations() {\n this.updateState({\n isValid: true,\n } as S);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'minvalue':\n case 'maxvalue':\n if ($new|| $old) {\n this.isValidNumber($new);\n }\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new,\n } as S);\n const isDefault = this.state.props.isdefault;\n if (isDefault) {\n this.updateState(\n { props: {isdefault: false} } as S, \n !this.state.props.skipscripteventtrigger && this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault)\n );\n } \n else {\n if($new === $old || ($new && $old && $new.toString() === $old.toString())) {\n break;\n }\n !this.state.props.skipscripteventtrigger && this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n break;\n case 'displayValue': \n this.updateState({\n displayValue: $new,\n } as any)\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -17,7 +17,6 @@ export default class BaseNumberProps extends BaseProps {
|
|
|
17
17
|
_defineProperty(this, "required", false);
|
|
18
18
|
_defineProperty(this, "triggerValidation", void 0);
|
|
19
19
|
_defineProperty(this, "decimalPlaces", 2);
|
|
20
|
-
_defineProperty(this, "onSubmitEditing", void 0);
|
|
21
20
|
_defineProperty(this, "accessibilitylabel", undefined);
|
|
22
21
|
_defineProperty(this, "hint", undefined);
|
|
23
22
|
_defineProperty(this, "accessibilityrole", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseProps","BaseNumberProps","constructor","args","_defineProperty","undefined"],"sources":["basenumber.props.ts"],"sourcesContent":["import {AccessibilityRole} from \"react-native\";\nimport { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class BaseNumberProps extends BaseProps {\n datavalue: any;\n hastwowaybinding = false;\n minvalue: number = null as any;\n maxvalue: number = null as any;\n step: number = 1;\n updateon: string = 'blur' as any;\n readonly: boolean = null as any;\n regexp: string = null as any;\n onFieldChange: any;\n required: boolean = false;\n triggerValidation: any;\n decimalPlaces: number = 2;\n
|
|
1
|
+
{"version":3,"names":["BaseProps","BaseNumberProps","constructor","args","_defineProperty","undefined"],"sources":["basenumber.props.ts"],"sourcesContent":["import {AccessibilityRole} from \"react-native\";\nimport { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class BaseNumberProps extends BaseProps {\n datavalue: any;\n hastwowaybinding = false;\n minvalue: number = null as any;\n maxvalue: number = null as any;\n step: number = 1;\n updateon: string = 'blur' as any;\n readonly: boolean = null as any;\n regexp: string = null as any;\n onFieldChange: any;\n required: boolean = false;\n triggerValidation: any;\n decimalPlaces: number = 2;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole;\n accessibilitylabelledby?: string = undefined;\n displayValue?: string;\n skipscripteventtrigger: boolean = false;\n}\n"],"mappings":";;;AACA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,eAAe,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA,2BAElC,KAAK;IAAAA,eAAA,mBACL,IAAI;IAAAA,eAAA,mBACJ,IAAI;IAAAA,eAAA,eACR,CAAC;IAAAA,eAAA,mBACG,MAAM;IAAAA,eAAA,mBACL,IAAI;IAAAA,eAAA,iBACP,IAAI;IAAAA,eAAA;IAAAA,eAAA,mBAED,KAAK;IAAAA,eAAA;IAAAA,eAAA,wBAED,CAAC;IAAAA,eAAA,6BACKC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA;IAAAA,eAAA,kCAEUC,SAAS;IAAAD,eAAA;IAAAA,eAAA,iCAEV,KAAK;EAAA;AACzC","ignoreList":[]}
|
|
@@ -72,7 +72,7 @@ export default class WmCheckboxset extends BaseDatasetComponent {
|
|
|
72
72
|
disabled: props.readonly || props.disabled,
|
|
73
73
|
id: this.getTestId('item' + index),
|
|
74
74
|
accessible: false
|
|
75
|
-
}), !isEmpty(this.state.template) && this.props.renderitempartial ? this.props.renderitempartial(item.dataObject, index, this.state.template) : /*#__PURE__*/React.createElement(Text, _extends({}, this.getTestPropsForLabel(
|
|
75
|
+
}), !isEmpty(this.state.template) && this.props.renderitempartial ? this.props.renderitempartial(item.dataObject, index, this.state.template) : /*#__PURE__*/React.createElement(Text, _extends({}, this.getTestPropsForLabel("label" + index), {
|
|
76
76
|
style: [this.styles.text, item.selected ? this.styles.selectedLabel : null],
|
|
77
77
|
importantForAccessibility: "no"
|
|
78
78
|
}), displayText));
|