@wavemaker/app-rn-runtime 11.5.2-next.26257 → 11.5.2-next.40904

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. app-rn-runtime/actions/notification-action.js +1 -0
  2. app-rn-runtime/actions/notification-action.js.map +1 -1
  3. app-rn-runtime/components/chart/stack-chart/stack-chart.component.js +27 -8
  4. app-rn-runtime/components/chart/stack-chart/stack-chart.component.js.map +1 -1
  5. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +2 -1
  6. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  7. app-rn-runtime/components/container/wizard/wizard.component.js +2 -2
  8. app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
  9. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js +1 -1
  10. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
  11. app-rn-runtime/components/data/form/form.component.js +9 -6
  12. app-rn-runtime/components/data/form/form.component.js.map +1 -1
  13. app-rn-runtime/components/input/basenumber/basenumber.component.js +3 -4
  14. app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
  15. app-rn-runtime/components/input/checkboxset/checkboxset.component.js +7 -0
  16. app-rn-runtime/components/input/checkboxset/checkboxset.component.js.map +1 -1
  17. app-rn-runtime/components/input/chips/chips.component.js +7 -0
  18. app-rn-runtime/components/input/chips/chips.component.js.map +1 -1
  19. app-rn-runtime/components/input/switch/switch.component.js +2 -1
  20. app-rn-runtime/components/input/switch/switch.component.js.map +1 -1
  21. app-rn-runtime/components/page/tabbar/tabbar.props.js +1 -0
  22. app-rn-runtime/components/page/tabbar/tabbar.props.js.map +1 -1
  23. app-rn-runtime/core/toast.service.js.map +1 -1
  24. app-rn-runtime/package.json +3 -3
  25. app-rn-runtime/runtime/App.js +23 -19
  26. app-rn-runtime/runtime/App.js.map +1 -1
  27. app-rn-runtime/runtime/base-page.component.js +8 -2
  28. app-rn-runtime/runtime/base-page.component.js.map +1 -1
  29. app-rn-runtime/runtime/services/app-modal.service.js +1 -1
  30. app-rn-runtime/runtime/services/app-modal.service.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","BaseComponent","BaseComponentState","isDefined","debounce","find","forEach","get","set","WmLabel","WmIcon","WmMessage","ToastConsumer","WmFormProps","DEFAULT_CLASS","isDataSetWidget","WmFormState","constructor","arguments","_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","updateFormFieldDefaultValue","dv","defaultvalue","_formField$props2","invokeEventCallback","bind","undefined","formreset","ff","id","_widget","isValid","reset","submit","_debouncedSubmitForm","onPropertyChange","$new","$old","_this$formFields2","setPrimaryKey","fieldName","primaryKey","indexOf","push","validateFieldsOnSubmit","val","onValidate","required","generator","msg","defaultValidatorMessages","validationmessage","validate","event","preventDefault","onBeforesubmit","proxy","formSubmit","data","onResultCb","error","response","status","onSuccess","postmessage","toggleMessage","onError","errormessage","updateDataOutput","Object","assign","type","message","messagelayout","showInlineMsg","toaster","showToast","placement","styles","bottom","text","hideOnClick","onMsgClose","renderWidget","createElement","toastService","style","root","_background","iconclass","title","subheading","heading","flex","flexDirection","getTestId","listIcon","caption","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, get, set } 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 WmSkeleton, { createSkeleton } from '../../basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.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}\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 (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 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 forEach(this.formFields, (ff: WmFormField) => {\n ff.updateState({\n props : {\n datavalue: ''\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: ''\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 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 }\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.state.props.generator === 'assigned') {\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 = 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(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 });\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}>\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}></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.children}\n </View>\n }\n }\n </ToastConsumer>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","View","BaseComponent","BaseComponentState","isDefined","debounce","find","forEach","isNil","get","set","cloneDeep","WmLabel","WmIcon","WmMessage","ToastConsumer","WmFormProps","DEFAULT_CLASS","isDataSetWidget","WmFormState","constructor","arguments","_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","updateFormFieldDefaultValue","dv","defaultvalue","_formField$props2","invokeEventCallback","bind","undefined","formreset","ff","defaultValue","id","_widget","isValid","reset","submit","_debouncedSubmitForm","onPropertyChange","$new","$old","_this$formFields2","setPrimaryKey","fieldName","primaryKey","indexOf","push","validateFieldsOnSubmit","val","onValidate","required","msg","defaultValidatorMessages","validationmessage","validate","event","preventDefault","onBeforesubmit","proxy","formSubmit","data","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","_background","iconclass","title","subheading","heading","flex","flexDirection","getTestId","listIcon","caption","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 } 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 WmSkeleton, { createSkeleton } from '../../basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.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}\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 (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 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 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 }\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) {\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(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}>\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}></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.children}\n </View>\n }\n }\n </ToastConsumer>\n );\n }\n}\n"],"mappings":"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"}
@@ -294,10 +294,9 @@ export class BaseNumberComponent extends BaseComponent {
294
294
  }
295
295
  break;
296
296
  case 'datavalue':
297
- // ? why here
298
- // this.updateState({
299
- // textValue: $new,
300
- // } as S);
297
+ this.updateState({
298
+ textValue: $new
299
+ });
301
300
  const isDefault = this.state.isDefault;
302
301
  if (isDefault) {
303
302
  this.updateState({
@@ -1 +1 @@
1
- {"version":3,"names":["includes","intersection","isNaN","isFinite","toArray","BaseComponent","BaseComponentState","DEFAULT_CLASS","Platform","countDecimalDigits","validateField","BaseNumberState","constructor","arguments","_defineProperty","BaseNumberComponent","props","defaultClass","length","undefined","defaultProps","defaultState","DECIMAL","GROUP","onChange","event","state","updateon","updateDatavalue","target","value","focus","_this$widgetRef","widgetRef","validateOnDevice","type","isCurrencyField","isValidText","test","Number","onChangeText","isValidTextOnDevice","decimalPlacesInNumber","decimalPlaces","updateState","textValue","validate","invokeChange","e","OS","cursor","selectionStart","setState","validationObj","isValid","errorType","handleValidation","regexp","condition","RegExp","parseNumber","val","parts","split","NaN","number","join","decimal","sum","parseFloat","toFixed","Object","is","source","model","toString","oldValue","datavalue","validNumber","isValidNumber","invokeEventCallback","proxy","onFieldChange","onBlur","newVal","setTimeout","triggerValidation","oldVal","onFocus","countDecimals","decimalValue","validateInputEntry","$event","ctrlKey","key","validity","inputValue","step","preventDefault","getValueInRange","minvalue","maxvalue","required","isInteger","resetValidations","onPropertyChange","name","$new","$old","isDefault","bind"],"sources":["basenumber.component.ts"],"sourcesContent":["import { includes, intersection, isNaN, isFinite, toArray } 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 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 // * check for alphabets\n if (/[a-zA-Z]/.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 // * 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') {\n const isValidTextOnDevice = this.validateOnDevice(value, type);\n if (!isValidTextOnDevice) {\n return;\n }\n\n const decimalPlacesInNumber = countDecimalDigits(value);\n\n if (this.props.decimalPlaces < decimalPlacesInNumber) {\n return;\n }\n\n this.updateState({\n textValue: value\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n }\n );\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n 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);\n if (!validNumber) {\n this.invokeEventCallback('onError', [ event, this.proxy, value, oldValue ]);\n return;\n }\n\n this.updateState({\n props: {\n datavalue: model\n }\n } as S, () => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, value, oldValue]);\n if (source === 'blur') {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n });\n }\n\n onBlur(event: any) {\n let newVal = event.target.value || this.state.textValue;\n this.validate(newVal);\n if (newVal === '') {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n })\n }\n if (this.state.props.updateon === 'blur') {\n let oldVal = this.state.props.datavalue || '';\n if (oldVal !== newVal) {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n }\n }\n\n onFocus(event: any) {\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\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 (!isNaN(props.minvalue) && value < props.minvalue) {\n this.updateState({ errorType: 'minvalue'} as S);\n return props.minvalue;\n\n }\n if (!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 // ? why here\n // this.updateState({\n // textValue: $new,\n // } as S);\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["includes","intersection","isNaN","isFinite","toArray","BaseComponent","BaseComponentState","DEFAULT_CLASS","Platform","countDecimalDigits","validateField","BaseNumberState","constructor","arguments","_defineProperty","BaseNumberComponent","props","defaultClass","length","undefined","defaultProps","defaultState","DECIMAL","GROUP","onChange","event","state","updateon","updateDatavalue","target","value","focus","_this$widgetRef","widgetRef","validateOnDevice","type","isCurrencyField","isValidText","test","Number","onChangeText","isValidTextOnDevice","decimalPlacesInNumber","decimalPlaces","updateState","textValue","validate","invokeChange","e","OS","cursor","selectionStart","setState","validationObj","isValid","errorType","handleValidation","regexp","condition","RegExp","parseNumber","val","parts","split","NaN","number","join","decimal","sum","parseFloat","toFixed","Object","is","source","model","toString","oldValue","datavalue","validNumber","isValidNumber","invokeEventCallback","proxy","onFieldChange","onBlur","newVal","setTimeout","triggerValidation","oldVal","onFocus","countDecimals","decimalValue","validateInputEntry","$event","ctrlKey","key","validity","inputValue","step","preventDefault","getValueInRange","minvalue","maxvalue","required","isInteger","resetValidations","onPropertyChange","name","$new","$old","isDefault","bind"],"sources":["basenumber.component.ts"],"sourcesContent":["import { includes, intersection, isNaN, isFinite, toArray } 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 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 // * check for alphabets\n if (/[a-zA-Z]/.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 // * 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') {\n const isValidTextOnDevice = this.validateOnDevice(value, type);\n if (!isValidTextOnDevice) {\n return;\n }\n\n const decimalPlacesInNumber = countDecimalDigits(value);\n\n if (this.props.decimalPlaces < decimalPlacesInNumber) {\n return;\n }\n\n this.updateState({\n textValue: value\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n }\n );\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n 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);\n if (!validNumber) {\n this.invokeEventCallback('onError', [ event, this.proxy, value, oldValue ]);\n return;\n }\n\n this.updateState({\n props: {\n datavalue: model\n }\n } as S, () => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, value, oldValue]);\n if (source === 'blur') {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n });\n }\n\n onBlur(event: any) {\n let newVal = event.target.value || this.state.textValue;\n this.validate(newVal);\n if (newVal === '') {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n })\n }\n if (this.state.props.updateon === 'blur') {\n let oldVal = this.state.props.datavalue || '';\n if (oldVal !== newVal) {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n }\n }\n\n onFocus(event: any) {\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\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 (!isNaN(props.minvalue) && value < props.minvalue) {\n this.updateState({ errorType: 'minvalue'} as S);\n return props.minvalue;\n\n }\n if (!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.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n }\n }\n}\n"],"mappings":"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"}
@@ -59,6 +59,13 @@ export default class WmCheckboxset extends BaseDatasetComponent {
59
59
  style: this.styles.checkboxLabel
60
60
  }), displayText));
61
61
  }
62
+ computeDisplayValue() {
63
+ this.updateState({
64
+ props: {
65
+ displayValue: (this.state.dataItems || []).filter(item => item.selected).map(item => item.displayexp || item.displayfield) || ''
66
+ }
67
+ });
68
+ }
62
69
  updateDatavalue(value) {
63
70
  this.updateState({
64
71
  props: {
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","TouchableOpacity","find","forEach","isEqual","Checkbox","WmCheckboxsetProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmCheckboxsetState","constructor","arguments","_defineProperty","WmCheckboxset","props","onPress","item","invokeEventCallback","proxy","state","disabled","readonly","selected","selectedValue","selectedItem","dataItems","d","key","oldValue","datavalue","push","datafield","validate","updateState","computeDisplayValue","undefined","renderChild","index","displayText","displayexp","displayfield","createElement","_extends","getTestPropsForAction","style","styles","checkboxHead","bind","Android","status","color","text","getTestPropsForLabel","checkboxLabel","updateDatavalue","value","Promise","resolve","renderGroupby","groupedData","length","map","groupObj","groupHeaderTitle","renderCheckboxses","data","items","renderWidget","root","groupby"],"sources":["checkboxset.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, TouchableOpacity } from 'react-native';\nimport { find, forEach, isEqual } from 'lodash';\nimport { Checkbox } from 'react-native-paper';\n\nimport WmCheckboxsetProps from './checkboxset.props';\nimport {\n DEFAULT_CLASS,\n \n WmCheckboxsetStyles,\n} from './checkboxset.styles';\nimport {\n BaseDatasetComponent,\n BaseDatasetState,\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmSkeleton, { createSkeleton } from '../../basic/skeleton/skeleton.component';\n\nexport class WmCheckboxsetState extends BaseDatasetState<WmCheckboxsetProps> {\n isValid: boolean = true;\n}\n\nexport default class WmCheckboxset extends BaseDatasetComponent<WmCheckboxsetProps, WmCheckboxsetState, WmCheckboxsetStyles> {\n constructor(props: WmCheckboxsetProps) {\n super(props, DEFAULT_CLASS, new WmCheckboxsetProps());\n }\n\n onPress(item: any) {\n this.invokeEventCallback('onTap', [null, this.proxy]);\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n item.selected = !item.selected;\n const selectedValue: any = [];\n const selectedItem = find(this.state.dataItems, d => isEqual(d.key, item.key));\n const oldValue = this.state.props.datavalue;\n selectedItem.selected = item.selected;\n forEach(this.state.dataItems, (item) => {\n if (item.selected) {\n selectedValue.push(item.datafield);\n }\n });\n this.validate(selectedValue);\n this.updateState({ props: { datavalue: selectedValue }} as WmCheckboxsetState,\n () => {\n this.computeDisplayValue();\n this.invokeEventCallback('onChange', [ undefined, this.proxy, selectedValue, oldValue ]);\n });\n }\n\n renderChild(item: any, index: any) {\n const props = this.state.props;\n const displayText = item.displayexp || item.displayfield;\n return (\n <TouchableOpacity {...this.getTestPropsForAction(index + '')} style={this.styles.checkboxHead} onPress={this.onPress.bind(this, item)} key={item.key}>\n <Checkbox.Android status={item.selected ? 'checked' : 'unchecked'} color={this.styles.text.color as string} disabled={props.readonly || props.disabled}/>\n <Text {...this.getTestPropsForLabel(index + '')} style={this.styles.checkboxLabel}>{displayText}</Text>\n </TouchableOpacity>)\n }\n\n updateDatavalue(value: any) {\n this.updateState({ props: { datavalue: value }} as WmCheckboxsetState);\n return Promise.resolve();\n }\n\n renderGroupby() {\n const groupedData = this.state.groupedData;\n return (\n <View>\n {groupedData && groupedData.length\n ? groupedData.map((groupObj: any, index: any) => {\n return(\n <View key={groupObj.key}>\n <Text style={this.styles.groupHeaderTitle}>{groupObj.key}</Text>\n {this.renderCheckboxses(groupObj.data)}\n </View>)\n })\n : null}\n </View>\n );\n }\n\n renderCheckboxses(items: any) {\n const props = this.state.props;\n return(<View>\n {items && items.length\n ? items.map((item: any, index: any) => this.renderChild(item, index))\n : null}\n </View>)\n }\n renderWidget(props: WmCheckboxsetProps) {\n const items = this.state.dataItems;\n return (\n <View style={this.styles.root}>\n {props.groupby && this.renderGroupby()}\n {!props.groupby && this.renderCheckboxses(items)}\n </View>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Text","View","TouchableOpacity","find","forEach","isEqual","Checkbox","WmCheckboxsetProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmCheckboxsetState","constructor","arguments","_defineProperty","WmCheckboxset","props","onPress","item","invokeEventCallback","proxy","state","disabled","readonly","selected","selectedValue","selectedItem","dataItems","d","key","oldValue","datavalue","push","datafield","validate","updateState","computeDisplayValue","undefined","renderChild","index","displayText","displayexp","displayfield","createElement","_extends","getTestPropsForAction","style","styles","checkboxHead","bind","Android","status","color","text","getTestPropsForLabel","checkboxLabel","displayValue","filter","map","updateDatavalue","value","Promise","resolve","renderGroupby","groupedData","length","groupObj","groupHeaderTitle","renderCheckboxses","data","items","renderWidget","root","groupby"],"sources":["checkboxset.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, TouchableOpacity } from 'react-native';\nimport { find, forEach, isEqual } from 'lodash';\nimport { Checkbox } from 'react-native-paper';\n\nimport WmCheckboxsetProps from './checkboxset.props';\nimport {\n DEFAULT_CLASS,\n \n WmCheckboxsetStyles,\n} from './checkboxset.styles';\nimport {\n BaseDatasetComponent,\n BaseDatasetState,\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmSkeleton, { createSkeleton } from '../../basic/skeleton/skeleton.component';\n\nexport class WmCheckboxsetState extends BaseDatasetState<WmCheckboxsetProps> {\n isValid: boolean = true;\n}\n\nexport default class WmCheckboxset extends BaseDatasetComponent<WmCheckboxsetProps, WmCheckboxsetState, WmCheckboxsetStyles> {\n constructor(props: WmCheckboxsetProps) {\n super(props, DEFAULT_CLASS, new WmCheckboxsetProps());\n }\n\n onPress(item: any) {\n this.invokeEventCallback('onTap', [null, this.proxy]);\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n item.selected = !item.selected;\n const selectedValue: any = [];\n const selectedItem = find(this.state.dataItems, d => isEqual(d.key, item.key));\n const oldValue = this.state.props.datavalue;\n selectedItem.selected = item.selected;\n forEach(this.state.dataItems, (item) => {\n if (item.selected) {\n selectedValue.push(item.datafield);\n }\n });\n this.validate(selectedValue);\n this.updateState({ props: { datavalue: selectedValue }} as WmCheckboxsetState,\n () => {\n this.computeDisplayValue();\n this.invokeEventCallback('onChange', [ undefined, this.proxy, selectedValue, oldValue ]);\n });\n }\n\n renderChild(item: any, index: any) {\n const props = this.state.props;\n const displayText = item.displayexp || item.displayfield;\n return (\n <TouchableOpacity {...this.getTestPropsForAction(index + '')} style={this.styles.checkboxHead} onPress={this.onPress.bind(this, item)} key={item.key}>\n <Checkbox.Android status={item.selected ? 'checked' : 'unchecked'} color={this.styles.text.color as string} disabled={props.readonly || props.disabled}/>\n <Text {...this.getTestPropsForLabel(index + '')} style={this.styles.checkboxLabel}>{displayText}</Text>\n </TouchableOpacity>)\n }\n\n computeDisplayValue() {\n this.updateState({\n props: {\n displayValue: ((this.state.dataItems || [] as any)\n .filter((item: any) => item.selected)\n .map((item: any) => item.displayexp || item.displayfield)) || ''\n }\n } as WmCheckboxsetState);\n }\n\n updateDatavalue(value: any) {\n this.updateState({ props: { datavalue: value }} as WmCheckboxsetState);\n return Promise.resolve();\n }\n\n renderGroupby() {\n const groupedData = this.state.groupedData;\n return (\n <View>\n {groupedData && groupedData.length\n ? groupedData.map((groupObj: any, index: any) => {\n return(\n <View key={groupObj.key}>\n <Text style={this.styles.groupHeaderTitle}>{groupObj.key}</Text>\n {this.renderCheckboxses(groupObj.data)}\n </View>)\n })\n : null}\n </View>\n );\n }\n\n renderCheckboxses(items: any) {\n const props = this.state.props;\n return(<View>\n {items && items.length\n ? items.map((item: any, index: any) => this.renderChild(item, index))\n : null}\n </View>)\n }\n renderWidget(props: WmCheckboxsetProps) {\n const items = this.state.dataItems;\n return (\n <View style={this.styles.root}>\n {props.groupby && this.renderGroupby()}\n {!props.groupby && this.renderCheckboxses(items)}\n </View>\n );\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,gBAAgB,QAAQ,cAAc;AAC3D,SAASC,IAAI,EAAEC,OAAO,EAAEC,OAAO,QAAQ,QAAQ;AAC/C,SAASC,QAAQ,QAAQ,oBAAoB;AAE7C,OAAOC,kBAAkB,MAAM,qBAAqB;AACpD,SACEC,aAAa,QAGR,sBAAsB;AAC7B,SACEC,oBAAoB,EACpBC,gBAAgB,QACX,8EAA8E;AAGrF,OAAO,MAAMC,kBAAkB,SAASD,gBAAgB,CAAqB;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,kBACxD,IAAI;EAAA;AACzB;AAEA,eAAe,MAAMC,aAAa,SAASN,oBAAoB,CAA8D;EAC3HG,WAAWA,CAACI,KAAyB,EAAE;IACrC,KAAK,CAACA,KAAK,EAAER,aAAa,EAAE,IAAID,kBAAkB,CAAC,CAAC,CAAC;EACvD;EAEAU,OAAOA,CAACC,IAAS,EAAE;IACjB,IAAI,CAACC,mBAAmB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;IACrD,IAAI,IAAI,CAACC,KAAK,CAACL,KAAK,CAACM,QAAQ,IAAI,IAAI,CAACD,KAAK,CAACL,KAAK,CAACO,QAAQ,EAAE;MAC1D;IACF;IACAL,IAAI,CAACM,QAAQ,GAAG,CAACN,IAAI,CAACM,QAAQ;IAC9B,MAAMC,aAAkB,GAAG,EAAE;IAC7B,MAAMC,YAAY,GAAGvB,IAAI,CAAC,IAAI,CAACkB,KAAK,CAACM,SAAS,EAAEC,CAAC,IAAIvB,OAAO,CAACuB,CAAC,CAACC,GAAG,EAAEX,IAAI,CAACW,GAAG,CAAC,CAAC;IAC9E,MAAMC,QAAQ,GAAG,IAAI,CAACT,KAAK,CAACL,KAAK,CAACe,SAAS;IAC3CL,YAAY,CAACF,QAAQ,GAAGN,IAAI,CAACM,QAAQ;IACrCpB,OAAO,CAAC,IAAI,CAACiB,KAAK,CAACM,SAAS,EAAGT,IAAI,IAAK;MACpC,IAAIA,IAAI,CAACM,QAAQ,EAAE;QACjBC,aAAa,CAACO,IAAI,CAACd,IAAI,CAACe,SAAS,CAAC;MACpC;IACJ,CAAC,CAAC;IACF,IAAI,CAACC,QAAQ,CAACT,aAAa,CAAC;IAC5B,IAAI,CAACU,WAAW,CAAC;MAAEnB,KAAK,EAAE;QAAEe,SAAS,EAAEN;MAAc;IAAC,CAAC,EACrD,MAAM;MACJ,IAAI,CAACW,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACjB,mBAAmB,CAAC,UAAU,EAAE,CAAEkB,SAAS,EAAE,IAAI,CAACjB,KAAK,EAAEK,aAAa,EAAEK,QAAQ,CAAE,CAAC;IAC1F,CAAC,CAAC;EACN;EAEAQ,WAAWA,CAACpB,IAAS,EAAEqB,KAAU,EAAE;IACjC,MAAMvB,KAAK,GAAG,IAAI,CAACK,KAAK,CAACL,KAAK;IAC9B,MAAMwB,WAAW,GAAGtB,IAAI,CAACuB,UAAU,IAAIvB,IAAI,CAACwB,YAAY;IACxD,oBACE3C,KAAA,CAAA4C,aAAA,CAACzC,gBAAgB,EAAA0C,QAAA,KAAK,IAAI,CAACC,qBAAqB,CAACN,KAAK,GAAG,EAAE,CAAC;MAAEO,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC,YAAa;MAAC/B,OAAO,EAAE,IAAI,CAACA,OAAO,CAACgC,IAAI,CAAC,IAAI,EAAE/B,IAAI,CAAE;MAACW,GAAG,EAAEX,IAAI,CAACW;IAAI,iBACnJ9B,KAAA,CAAA4C,aAAA,CAACrC,QAAQ,CAAC4C,OAAO;MAACC,MAAM,EAAEjC,IAAI,CAACM,QAAQ,GAAI,SAAS,GAAG,WAAY;MAAC4B,KAAK,EAAE,IAAI,CAACL,MAAM,CAACM,IAAI,CAACD,KAAgB;MAAC9B,QAAQ,EAAEN,KAAK,CAACO,QAAQ,IAAIP,KAAK,CAACM;IAAS,CAAC,CAAC,eAC1JvB,KAAA,CAAA4C,aAAA,CAAC3C,IAAI,EAAA4C,QAAA,KAAK,IAAI,CAACU,oBAAoB,CAACf,KAAK,GAAG,EAAE,CAAC;MAAEO,KAAK,EAAE,IAAI,CAACC,MAAM,CAACQ;IAAc,IAAEf,WAAkB,CACtF,CAAC;EACvB;EAEAJ,mBAAmBA,CAAA,EAAG;IACpB,IAAI,CAACD,WAAW,CAAC;MACfnB,KAAK,EAAE;QACLwC,YAAY,EAAG,CAAC,IAAI,CAACnC,KAAK,CAACM,SAAS,IAAI,EAAS,EAC9C8B,MAAM,CAAEvC,IAAS,IAAKA,IAAI,CAACM,QAAQ,CAAC,CACpCkC,GAAG,CAAExC,IAAS,IAAKA,IAAI,CAACuB,UAAU,IAAIvB,IAAI,CAACwB,YAAY,CAAC,IAAK;MAClE;IACF,CAAuB,CAAC;EAC1B;EAEAiB,eAAeA,CAACC,KAAU,EAAE;IAC1B,IAAI,CAACzB,WAAW,CAAC;MAAEnB,KAAK,EAAE;QAAEe,SAAS,EAAE6B;MAAM;IAAC,CAAuB,CAAC;IACtE,OAAOC,OAAO,CAACC,OAAO,CAAC,CAAC;EAC1B;EAEAC,aAAaA,CAAA,EAAG;IACd,MAAMC,WAAW,GAAG,IAAI,CAAC3C,KAAK,CAAC2C,WAAW;IAC1C,oBACEjE,KAAA,CAAA4C,aAAA,CAAC1C,IAAI,QACF+D,WAAW,IAAIA,WAAW,CAACC,MAAM,GAC9BD,WAAW,CAACN,GAAG,CAAC,CAACQ,QAAa,EAAE3B,KAAU,KAAK;MAC/C,oBACExC,KAAA,CAAA4C,aAAA,CAAC1C,IAAI;QAAC4B,GAAG,EAAEqC,QAAQ,CAACrC;MAAI,gBACtB9B,KAAA,CAAA4C,aAAA,CAAC3C,IAAI;QAAC8C,KAAK,EAAE,IAAI,CAACC,MAAM,CAACoB;MAAiB,GAAED,QAAQ,CAACrC,GAAU,CAAC,EAC/D,IAAI,CAACuC,iBAAiB,CAACF,QAAQ,CAACG,IAAI,CACjC,CAAC;IACX,CAAC,CAAC,GACA,IACA,CAAC;EAEX;EAEAD,iBAAiBA,CAACE,KAAU,EAAE;IAC5B,MAAMtD,KAAK,GAAG,IAAI,CAACK,KAAK,CAACL,KAAK;IAC9B,oBAAOjB,KAAA,CAAA4C,aAAA,CAAC1C,IAAI,QACTqE,KAAK,IAAIA,KAAK,CAACL,MAAM,GAClBK,KAAK,CAACZ,GAAG,CAAC,CAACxC,IAAS,EAAEqB,KAAU,KAAK,IAAI,CAACD,WAAW,CAACpB,IAAI,EAAEqB,KAAK,CAAC,CAAC,GACnE,IACA,CAAC;EACT;EACAgC,YAAYA,CAACvD,KAAyB,EAAE;IACtC,MAAMsD,KAAK,GAAG,IAAI,CAACjD,KAAK,CAACM,SAAS;IAClC,oBACE5B,KAAA,CAAA4C,aAAA,CAAC1C,IAAI;MAAC6C,KAAK,EAAE,IAAI,CAACC,MAAM,CAACyB;IAAK,GAC3BxD,KAAK,CAACyD,OAAO,IAAI,IAAI,CAACV,aAAa,CAAC,CAAC,EACrC,CAAC/C,KAAK,CAACyD,OAAO,IAAI,IAAI,CAACL,iBAAiB,CAACE,KAAK,CAC3C,CAAC;EAEX;AACF"}
@@ -81,6 +81,13 @@ export default class WmChips extends BaseDatasetComponent {
81
81
  isFormFieldWidget ? (_this$props2 = this.props) === null || _this$props2 === void 0 ? void 0 : _this$props2.invokeEvent('onAdd', [null, this, widget.queryModel]) : this.invokeEventCallback('onAdd', [null, this, widget.queryModel]);
82
82
  this.resetSearchModel();
83
83
  }
84
+ computeDisplayValue() {
85
+ this.updateState({
86
+ props: {
87
+ displayValue: (this.state.dataItems || []).filter(item => item.selected).map(item => item.displayexp || item.displayfield) || ''
88
+ }
89
+ });
90
+ }
84
91
  selectChip(chipItem) {
85
92
  if (!chipItem.selected && this.state.props.maxsize > 0 && this.state.chipsList.length === this.state.props.maxsize) {
86
93
  return;
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","TouchableOpacity","Text","clone","findIndex","get","isUndefined","pull","forEach","filter","find","isEqual","merge","WmChipsProps","DEFAULT_CLASS","WmSearch","BaseDatasetComponent","BaseDatasetState","WmIcon","WmPicture","WmChipsState","constructor","arguments","_defineProperty","WmChips","props","onComponentInit","c","searchRef","val","onPropertyChange","name","$new","$old","length","updateState","chipsList","reset","_this$searchRef","state","query","onDataItemsUpdate","isDefaultQuery","updateDefaultQueryModel","addItem","$event","widget","_this$props","_this$props2","newChipList","allowAdd","push","queryModel","isFormFieldWidget","isDuplicate","resetSearchModel","invokeEvent","invokeEventCallback","toBoolean","setDatavalue","selectChip","chipItem","selected","maxsize","selectedItem","dataItems","d","key","item","dataValue","map","datafield","updateDatavalue","updateMaxSize","prevDatavalue","createCustomDataModel","dataObject","displayfield","isCustom","clearSearch","chipListLength","saturate","removeItem","index","allowRemove","isDefaultView","_this$state$dataItems","searchable","renderChip","isSelected","createElement","_extends","getTestPropsForAction","style","styles","chip","activeChip","onPress","disabled","iconclass","iconsize","doneIcon","icon","color","activeChipLabel","id","getTestId","imageStyles","picturesource","imgSrc","shape","chipLabel","displayexp","clearIcon","onTap","selectedItems","componentDidMount","componentDidUpdate","prevProps","prevState","_this$searchRef2","computePosition","renderWidget","chips","root","chipsWrapper","searchContainer","flexDirection","inputposition","search","placeholder","maxSizeReached","listener","dataset","searchkey","minchars","autofocus","readonly","displayexpression","getDisplayExpression","displayimagesrc","onSubmit","bind","onChange","_this$props$listener","_this$props$listener2","onComponentChange","showSearchIcon","showclear","type","flexWrap"],"sources":["chips.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, TouchableOpacity, Text } from 'react-native';\nimport { LifecycleListener } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { clone, findIndex, get, isUndefined, pull, forEach, filter, find, isEqual, merge } from 'lodash';\nimport WmChipsProps from './chips.props';\nimport { DEFAULT_CLASS, WmChipsStyles } from './chips.styles';\nimport WmSearch from '@wavemaker/app-rn-runtime/components/basic/search/search.component';\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\n\nexport class WmChipsState extends BaseDatasetState<WmChipsProps> {\n chipsList: any = [];\n saturate: any;\n}\n\nexport default class WmChips extends BaseDatasetComponent<WmChipsProps, WmChipsState, WmChipsStyles> {\n constructor(props: WmChipsProps) {\n super(props, DEFAULT_CLASS, new WmChipsProps(), new WmChipsState());\n }\n\n private searchRef: WmSearch = null as any;\n private maxSizeReached = 'Max size reached';\n private isDefaultQuery: boolean = true;\n private prevDatavalue: any;\n\n private listener: LifecycleListener = {\n onComponentInit: (c) => {\n if (c instanceof WmSearch) {\n this.searchRef = c;\n }\n }\n };\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'datavalue':\n if (!$new || $new.length === 0) {\n this.updateState({\n chipsList : []\n } as WmChipsState);\n }\n }\n }\n\n reset() {\n if (this.searchRef?.state.props.query) {\n this.searchRef.reset();\n }\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.isDefaultQuery = true;\n this.updateDefaultQueryModel();\n }\n\n addItem($event: any, widget: any) {\n let newChipList = clone(this.state.chipsList),\n allowAdd;\n newChipList.push(widget.queryModel);\n const isFormFieldWidget = get(this.props, 'formfield');\n if (this.isDuplicate(widget.queryModel)) {\n this.resetSearchModel();\n return;\n }\n\n // @ts-ignore\n allowAdd = isFormFieldWidget ? this.props?.invokeEvent('onBeforeadd', [null, this, widget.queryModel]) : this.invokeEventCallback('onBeforeadd', [null, this, widget.queryModel]);\n\n if (!isUndefined(allowAdd) && !this.toBoolean(allowAdd)) {\n return;\n }\n\n this.updateState({\n chipsList: newChipList\n } as WmChipsState);\n\n this.setDatavalue(newChipList);\n\n // @ts-ignore\n isFormFieldWidget ? this.props?.invokeEvent('onAdd', [null, this, widget.queryModel]) : this.invokeEventCallback('onAdd', [null, this, widget.queryModel]);\n this.resetSearchModel();\n }\n\n selectChip(chipItem: any) {\n if (!chipItem.selected && this.state.props.maxsize > 0 && (this.state.chipsList.length === this.state.props.maxsize)) {\n return;\n }\n chipItem.selected = !chipItem.selected;\n const newChipList: any = [];\n const selectedItem = find(this.state.dataItems, d => isEqual(d.key, chipItem.key));\n selectedItem.selected = chipItem.selected;\n forEach(this.state.dataItems, (item) => {\n if (item.selected) {\n newChipList.push(item);\n }\n });\n this.updateState({\n chipsList: newChipList\n } as WmChipsState);\n\n this.setDatavalue(newChipList);\n }\n\n setDatavalue(newChipList: any) {\n const dataValue = newChipList.map((item: any) => item.datafield);\n this.updateDatavalue(dataValue);\n this.updateMaxSize(newChipList.length);\n if (!this.props.invokeEvent) {\n this.invokeEventCallback('onChange', [null, this, dataValue, this.prevDatavalue])\n }\n this.prevDatavalue = dataValue;\n }\n\n toBoolean = (val: any) => ((val && val !== 'false') ? true : false);\n\n // Prepare datavalue object from a string(junk) value when datafield is allFields.\n createCustomDataModel(val: string) {\n return {\n key: `${this.state.props.name}_item${this.state.chipsList.length}`,\n dataObject: val,\n displayfield: val,\n datafield: val,\n isCustom: true\n }\n }\n\n resetSearchModel() {\n (this as any).searchRef.isDefaultQuery = false;\n this.searchRef.clearSearch();\n }\n\n isDuplicate(item: any) {\n return findIndex(this.state.chipsList, {datafield: item.datafield}) > -1;\n }\n\n // Check if max size is reached\n private updateMaxSize(chipListLength: number) {\n const saturate = this.state.props.maxsize > 0 && (chipListLength || this.state.chipsList.length) === this.state.props.maxsize;\n this.updateState({\n saturate: saturate\n } as WmChipsState);\n }\n\n removeItem(item: any, index: any) {\n let newChipList = clone(this.state.chipsList);\n const isFormFieldWidget = get(this.props, 'formfield');\n newChipList = pull(newChipList, item);\n // prevent deletion if the before-remove event callback returns false\n // @ts-ignore\n const allowRemove = isFormFieldWidget ? this.props.invokeEvent('onBeforeremove',[null, this, item]) : this.invokeEventCallback('onBeforeremove',[null, this, item]);\n if (!isUndefined(allowRemove) && !this.toBoolean(allowRemove)) {\n return;\n }\n this.updateState({\n chipsList: newChipList\n } as WmChipsState);\n this.setDatavalue(newChipList);\n // @ts-ignore\n isFormFieldWidget ? this.props.invokeEvent('onRemove', [null, this, item]) : this.invokeEventCallback('onRemove', [null, this, item]);\n }\n\n private isDefaultView() {\n return !this.state.props.searchable && this.state.dataItems?.length <= 10;\n }\n\n renderChip(item: any, index: any) {\n const isSelected = this.isDefaultView() ? item.selected : true;\n return (\n <TouchableOpacity\n {...this.getTestPropsForAction('chip'+ index)}\n style={[this.styles.chip, isSelected ? this.styles.activeChip : null]}\n key={'chipitem_'+ index}\n onPress={() => {\n if (this.state.props.disabled) {\n return;\n }\n if (this.isDefaultView()) {\n this.selectChip(item);\n }\n if (get(this.props, 'formfield')) {\n // @ts-ignore\n this.props.invokeEvent('onChipclick', [null, this, item]);\n // @ts-ignore\n this.props.invokeEvent('onChipselect', [null, this, item]);\n } else {\n this.invokeEventCallback('onChipclick', [null, this, item]);\n this.invokeEventCallback('onChipselect', [null, this, item]);\n }\n }}>\n {isSelected && this.isDefaultView() ? <WmIcon iconclass={'wm-sl-l sl-check'} iconsize={16} styles={merge({}, this.styles.doneIcon, {icon: {color: isSelected ? this.styles.activeChipLabel.color : null}})}></WmIcon> : null}\n <WmPicture id={this.getTestId('picture')} styles={this.styles.imageStyles} picturesource={item.imgSrc} shape='circle'></WmPicture>\n <Text {...this.getTestPropsForAction('chip'+ index+'label')}style={[this.styles.chipLabel, isSelected ? this.styles.activeChipLabel : null]}>{item.displayexp || item.displayfield}</Text>\n {!this.isDefaultView() && !this.state.props.disabled ? <WmIcon id={this.getTestId('clearbtn')} iconclass={'wi wi-clear'} iconsize={16} styles={this.styles.clearIcon} onTap={() => this.removeItem(item, index)}></WmIcon> : null}\n </TouchableOpacity>\n )\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultQuery) {\n const selectedItems = filter(this.state.dataItems, (item) => item.selected);\n if (selectedItems.length) {\n this.updateState({\n chipsList: selectedItems\n } as WmChipsState);\n }\n this.isDefaultQuery = false;\n }\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n componentDidUpdate(prevProps: WmChipsProps, prevState: WmChipsState) {\n super.componentDidUpdate(prevProps, prevState);\n if (prevState.chipsList !== this.state.chipsList) {\n this.searchRef?.computePosition();\n }\n }\n\n renderWidget(props: WmChipsProps) {\n const chips = this.state.chipsList;\n return (<View style={this.styles.root}>\n\n <View style={this.styles.chipsWrapper}>\n {\n this.isDefaultView() ? this.state.dataItems.map((item: any, index: any) => this.renderChip(item, index)) : null\n }\n { props.searchable || !this.isDefaultView() ?\n <View style={[this.styles.searchContainer, {flexDirection: props.inputposition === 'first' ? 'column' : 'column-reverse'}]}>\n <WmSearch\n id={this.getTestId('search')}\n name=\"app-chip-search\"\n styles={this.styles.search}\n placeholder={this.state.saturate ? this.maxSizeReached : props.placeholder}\n listener={this.listener}\n dataset={props.dataset}\n searchkey={props.searchkey}\n minchars={props.minchars}\n autofocus={props.autofocus}\n disabled={props.disabled || props.readonly || this.state.saturate}\n readonly={props.readonly}\n displayexpression={props.displayexpression}\n getDisplayExpression={props.getDisplayExpression}\n displayimagesrc={props.displayimagesrc}\n displayfield={props.displayfield}\n datafield={props.datafield}\n onSubmit={this.addItem.bind(this)}\n onChange={() => {\n this.isDefaultQuery = false;\n this.props.listener?.onComponentChange && this.props.listener?.onComponentChange(this)\n }}\n showSearchIcon={false}\n showclear={false}\n type={props.minchars === 0 ? 'autocomplete' : 'search'}/>\n <View style={{ flexDirection: 'row', flexWrap: 'wrap'}}>\n {chips && chips.length ?\n chips.map((item: any, index: any) => this.renderChip(item, index))\n : null}\n </View>\n </View>\n : null }\n </View>\n </View>);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","View","TouchableOpacity","Text","clone","findIndex","get","isUndefined","pull","forEach","filter","find","isEqual","merge","WmChipsProps","DEFAULT_CLASS","WmSearch","BaseDatasetComponent","BaseDatasetState","WmIcon","WmPicture","WmChipsState","constructor","arguments","_defineProperty","WmChips","props","onComponentInit","c","searchRef","val","onPropertyChange","name","$new","$old","length","updateState","chipsList","reset","_this$searchRef","state","query","onDataItemsUpdate","isDefaultQuery","updateDefaultQueryModel","addItem","$event","widget","_this$props","_this$props2","newChipList","allowAdd","push","queryModel","isFormFieldWidget","isDuplicate","resetSearchModel","invokeEvent","invokeEventCallback","toBoolean","setDatavalue","computeDisplayValue","displayValue","dataItems","item","selected","map","displayexp","displayfield","selectChip","chipItem","maxsize","selectedItem","d","key","dataValue","datafield","updateDatavalue","updateMaxSize","prevDatavalue","createCustomDataModel","dataObject","isCustom","clearSearch","chipListLength","saturate","removeItem","index","allowRemove","isDefaultView","_this$state$dataItems","searchable","renderChip","isSelected","createElement","_extends","getTestPropsForAction","style","styles","chip","activeChip","onPress","disabled","iconclass","iconsize","doneIcon","icon","color","activeChipLabel","id","getTestId","imageStyles","picturesource","imgSrc","shape","chipLabel","clearIcon","onTap","selectedItems","componentDidMount","componentDidUpdate","prevProps","prevState","_this$searchRef2","computePosition","renderWidget","chips","root","chipsWrapper","searchContainer","flexDirection","inputposition","search","placeholder","maxSizeReached","listener","dataset","searchkey","minchars","autofocus","readonly","displayexpression","getDisplayExpression","displayimagesrc","onSubmit","bind","onChange","_this$props$listener","_this$props$listener2","onComponentChange","showSearchIcon","showclear","type","flexWrap"],"sources":["chips.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, TouchableOpacity, Text } from 'react-native';\nimport { LifecycleListener } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { clone, findIndex, get, isUndefined, pull, forEach, filter, find, isEqual, merge } from 'lodash';\nimport WmChipsProps from './chips.props';\nimport { DEFAULT_CLASS, WmChipsStyles } from './chips.styles';\nimport WmSearch from '@wavemaker/app-rn-runtime/components/basic/search/search.component';\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\n\nexport class WmChipsState extends BaseDatasetState<WmChipsProps> {\n chipsList: any = [];\n saturate: any;\n}\n\nexport default class WmChips extends BaseDatasetComponent<WmChipsProps, WmChipsState, WmChipsStyles> {\n constructor(props: WmChipsProps) {\n super(props, DEFAULT_CLASS, new WmChipsProps(), new WmChipsState());\n }\n\n private searchRef: WmSearch = null as any;\n private maxSizeReached = 'Max size reached';\n private isDefaultQuery: boolean = true;\n private prevDatavalue: any;\n\n private listener: LifecycleListener = {\n onComponentInit: (c) => {\n if (c instanceof WmSearch) {\n this.searchRef = c;\n }\n }\n };\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'datavalue':\n if (!$new || $new.length === 0) {\n this.updateState({\n chipsList : []\n } as WmChipsState);\n }\n }\n }\n\n reset() {\n if (this.searchRef?.state.props.query) {\n this.searchRef.reset();\n }\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.isDefaultQuery = true;\n this.updateDefaultQueryModel();\n }\n\n addItem($event: any, widget: any) {\n let newChipList = clone(this.state.chipsList),\n allowAdd;\n newChipList.push(widget.queryModel);\n const isFormFieldWidget = get(this.props, 'formfield');\n if (this.isDuplicate(widget.queryModel)) {\n this.resetSearchModel();\n return;\n }\n\n // @ts-ignore\n allowAdd = isFormFieldWidget ? this.props?.invokeEvent('onBeforeadd', [null, this, widget.queryModel]) : this.invokeEventCallback('onBeforeadd', [null, this, widget.queryModel]);\n\n if (!isUndefined(allowAdd) && !this.toBoolean(allowAdd)) {\n return;\n }\n\n this.updateState({\n chipsList: newChipList\n } as WmChipsState);\n\n this.setDatavalue(newChipList);\n\n // @ts-ignore\n isFormFieldWidget ? this.props?.invokeEvent('onAdd', [null, this, widget.queryModel]) : this.invokeEventCallback('onAdd', [null, this, widget.queryModel]);\n this.resetSearchModel();\n }\n\n computeDisplayValue() {\n this.updateState({\n props: {\n displayValue: ((this.state.dataItems || [] as any)\n .filter((item: any) => item.selected)\n .map((item: any) => item.displayexp || item.displayfield)) || ''\n }\n } as WmChipsState);\n }\n\n selectChip(chipItem: any) {\n if (!chipItem.selected && this.state.props.maxsize > 0 && (this.state.chipsList.length === this.state.props.maxsize)) {\n return;\n }\n chipItem.selected = !chipItem.selected;\n const newChipList: any = [];\n const selectedItem = find(this.state.dataItems, d => isEqual(d.key, chipItem.key));\n selectedItem.selected = chipItem.selected;\n forEach(this.state.dataItems, (item) => {\n if (item.selected) {\n newChipList.push(item);\n }\n });\n this.updateState({\n chipsList: newChipList\n } as WmChipsState);\n\n this.setDatavalue(newChipList);\n }\n\n setDatavalue(newChipList: any) {\n const dataValue = newChipList.map((item: any) => item.datafield);\n this.updateDatavalue(dataValue);\n this.updateMaxSize(newChipList.length);\n if (!this.props.invokeEvent) {\n this.invokeEventCallback('onChange', [null, this, dataValue, this.prevDatavalue])\n }\n this.prevDatavalue = dataValue;\n }\n\n toBoolean = (val: any) => ((val && val !== 'false') ? true : false);\n\n // Prepare datavalue object from a string(junk) value when datafield is allFields.\n createCustomDataModel(val: string) {\n return {\n key: `${this.state.props.name}_item${this.state.chipsList.length}`,\n dataObject: val,\n displayfield: val,\n datafield: val,\n isCustom: true\n }\n }\n\n resetSearchModel() {\n (this as any).searchRef.isDefaultQuery = false;\n this.searchRef.clearSearch();\n }\n\n isDuplicate(item: any) {\n return findIndex(this.state.chipsList, {datafield: item.datafield}) > -1;\n }\n\n // Check if max size is reached\n private updateMaxSize(chipListLength: number) {\n const saturate = this.state.props.maxsize > 0 && (chipListLength || this.state.chipsList.length) === this.state.props.maxsize;\n this.updateState({\n saturate: saturate\n } as WmChipsState);\n }\n\n removeItem(item: any, index: any) {\n let newChipList = clone(this.state.chipsList);\n const isFormFieldWidget = get(this.props, 'formfield');\n newChipList = pull(newChipList, item);\n // prevent deletion if the before-remove event callback returns false\n // @ts-ignore\n const allowRemove = isFormFieldWidget ? this.props.invokeEvent('onBeforeremove',[null, this, item]) : this.invokeEventCallback('onBeforeremove',[null, this, item]);\n if (!isUndefined(allowRemove) && !this.toBoolean(allowRemove)) {\n return;\n }\n this.updateState({\n chipsList: newChipList\n } as WmChipsState);\n this.setDatavalue(newChipList);\n // @ts-ignore\n isFormFieldWidget ? this.props.invokeEvent('onRemove', [null, this, item]) : this.invokeEventCallback('onRemove', [null, this, item]);\n }\n\n private isDefaultView() {\n return !this.state.props.searchable && this.state.dataItems?.length <= 10;\n }\n\n renderChip(item: any, index: any) {\n const isSelected = this.isDefaultView() ? item.selected : true;\n return (\n <TouchableOpacity\n {...this.getTestPropsForAction('chip'+ index)}\n style={[this.styles.chip, isSelected ? this.styles.activeChip : null]}\n key={'chipitem_'+ index}\n onPress={() => {\n if (this.state.props.disabled) {\n return;\n }\n if (this.isDefaultView()) {\n this.selectChip(item);\n }\n if (get(this.props, 'formfield')) {\n // @ts-ignore\n this.props.invokeEvent('onChipclick', [null, this, item]);\n // @ts-ignore\n this.props.invokeEvent('onChipselect', [null, this, item]);\n } else {\n this.invokeEventCallback('onChipclick', [null, this, item]);\n this.invokeEventCallback('onChipselect', [null, this, item]);\n }\n }}>\n {isSelected && this.isDefaultView() ? <WmIcon iconclass={'wm-sl-l sl-check'} iconsize={16} styles={merge({}, this.styles.doneIcon, {icon: {color: isSelected ? this.styles.activeChipLabel.color : null}})}></WmIcon> : null}\n <WmPicture id={this.getTestId('picture')} styles={this.styles.imageStyles} picturesource={item.imgSrc} shape='circle'></WmPicture>\n <Text {...this.getTestPropsForAction('chip'+ index+'label')}style={[this.styles.chipLabel, isSelected ? this.styles.activeChipLabel : null]}>{item.displayexp || item.displayfield}</Text>\n {!this.isDefaultView() && !this.state.props.disabled ? <WmIcon id={this.getTestId('clearbtn')} iconclass={'wi wi-clear'} iconsize={16} styles={this.styles.clearIcon} onTap={() => this.removeItem(item, index)}></WmIcon> : null}\n </TouchableOpacity>\n )\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultQuery) {\n const selectedItems = filter(this.state.dataItems, (item) => item.selected);\n if (selectedItems.length) {\n this.updateState({\n chipsList: selectedItems\n } as WmChipsState);\n }\n this.isDefaultQuery = false;\n }\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n componentDidUpdate(prevProps: WmChipsProps, prevState: WmChipsState) {\n super.componentDidUpdate(prevProps, prevState);\n if (prevState.chipsList !== this.state.chipsList) {\n this.searchRef?.computePosition();\n }\n }\n\n renderWidget(props: WmChipsProps) {\n const chips = this.state.chipsList;\n return (<View style={this.styles.root}>\n\n <View style={this.styles.chipsWrapper}>\n {\n this.isDefaultView() ? this.state.dataItems.map((item: any, index: any) => this.renderChip(item, index)) : null\n }\n { props.searchable || !this.isDefaultView() ?\n <View style={[this.styles.searchContainer, {flexDirection: props.inputposition === 'first' ? 'column' : 'column-reverse'}]}>\n <WmSearch\n id={this.getTestId('search')}\n name=\"app-chip-search\"\n styles={this.styles.search}\n placeholder={this.state.saturate ? this.maxSizeReached : props.placeholder}\n listener={this.listener}\n dataset={props.dataset}\n searchkey={props.searchkey}\n minchars={props.minchars}\n autofocus={props.autofocus}\n disabled={props.disabled || props.readonly || this.state.saturate}\n readonly={props.readonly}\n displayexpression={props.displayexpression}\n getDisplayExpression={props.getDisplayExpression}\n displayimagesrc={props.displayimagesrc}\n displayfield={props.displayfield}\n datafield={props.datafield}\n onSubmit={this.addItem.bind(this)}\n onChange={() => {\n this.isDefaultQuery = false;\n this.props.listener?.onComponentChange && this.props.listener?.onComponentChange(this)\n }}\n showSearchIcon={false}\n showclear={false}\n type={props.minchars === 0 ? 'autocomplete' : 'search'}/>\n <View style={{ flexDirection: 'row', flexWrap: 'wrap'}}>\n {chips && chips.length ?\n chips.map((item: any, index: any) => this.renderChip(item, index))\n : null}\n </View>\n </View>\n : null }\n </View>\n </View>);\n }\n}\n"],"mappings":"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"}
@@ -16,6 +16,7 @@ export default class WmSwitch extends BaseDatasetComponent {
16
16
  if (!value) {
17
17
  return;
18
18
  }
19
+ const oldVal = this.state.props.datavalue;
19
20
  this.validate(value);
20
21
  if (this.state.props.datafield === 'All Fields') {
21
22
  const selectedItem = find(this.state.dataItems, item => isEqual(item.key, value));
@@ -29,7 +30,7 @@ export default class WmSwitch extends BaseDatasetComponent {
29
30
  isDefault: false
30
31
  }, () => {
31
32
  if (!this.props.invokeEvent) {
32
- this.invokeEventCallback('onChange', [undefined, this.proxy, value, this.state.props.datavalue]);
33
+ this.invokeEventCallback('onChange', [undefined, this.proxy, value, oldVal]);
33
34
  }
34
35
  });
35
36
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","isEqual","find","WmSwitchProps","DEFAULT_CLASS","WmIcon","BaseDatasetComponent","BaseDatasetState","Tappable","WmSwitchState","WmSwitch","constructor","props","onChange","value","validate","state","datafield","selectedItem","dataItems","item","key","dataObject","updateState","datavalue","isDefault","invokeEvent","invokeEventCallback","undefined","proxy","onTap","event","getItemKey","renderChild","index","btnClass","length","displayText","displayexp","displayfield","isSelected","createElement","_extends","getTestPropsForAction","disabled","bind","styles","button","selectedButton","iconclass","id","getTestId","loadingIcon","icon","caption","getTestPropsForLabel","style","text","color","renderWidget","items","root","map"],"sources":["switch.component.tsx"],"sourcesContent":["import React from 'react';\nimport {Text, View} from \"react-native\";\nimport { isEqual, find } from 'lodash';\n\nimport WmSwitchProps from './switch.props';\nimport { DEFAULT_CLASS, WmSwitchStyles } from './switch.styles';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { BaseDatasetComponent, BaseDatasetState } from '../basedataset/basedataset.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\n\nexport class WmSwitchState extends BaseDatasetState<WmSwitchProps> {}\n\nexport default class WmSwitch extends BaseDatasetComponent<WmSwitchProps, WmSwitchState, WmSwitchStyles> {\n constructor(props: WmSwitchProps) {\n super(props, DEFAULT_CLASS, new WmSwitchProps());\n }\n\n onChange(value: any) {\n if (!value) {\n return;\n }\n this.validate(value);\n if (this.state.props.datafield === 'All Fields') {\n const selectedItem = find(this.state.dataItems, (item) => isEqual(item.key, value));\n value = selectedItem && selectedItem.dataObject;\n }\n // @ts-ignore\n this.updateState({props: {datavalue: value}, isDefault: false},\n () => {\n if (!this.props.invokeEvent) {\n this.invokeEventCallback('onChange', [undefined, this.proxy, value, this.state.props.datavalue])\n }\n });\n }\n\n onTap(event: any, item: any) {\n const value = this.state.props.datafield === 'All Fields' ? this.getItemKey(item.datafield) : item.datafield;\n this.onChange(value);\n this.invokeEventCallback('onTap', [ event, this.proxy ]);\n }\n\n renderChild(item: any, index: any) {\n let btnClass = 'button';\n const props = this.state.props;\n if(index === 0) {\n btnClass = 'firstButton';\n } else if (index+1 === this.state.dataItems.length) {\n btnClass = 'lastButton';\n }\n const displayText = item.displayexp || item.displayfield;\n const isSelected = this.state.props.datafield === 'All Fields' ? isEqual(props.datavalue, item.datafield) : this.state.props.datavalue === item.datafield;\n return (\n <Tappable \n {...this.getTestPropsForAction(index + '')}\n onTap={this.state.props.disabled ? undefined : this.onTap.bind(this, null, item)}\n styles={[\n this.styles.button,\n this.styles[btnClass],\n isSelected ? this.styles.selectedButton : null]}\n key={item.key}>\n {this.state.props.iconclass ?\n (<WmIcon \n id={this.getTestId('icon' + index)}\n styles={this.styles.loadingIcon}\n iconclass={item.icon}\n caption={displayText}></WmIcon>)\n : (<View>\n <Text \n {...this.getTestPropsForLabel('' + index)}\n style={[this.styles.text, \n {color: isSelected ? this.styles.selectedButton.color : this.styles.button.color }]}>\n {displayText}\n </Text>\n </View>)}\n </Tappable>\n );\n };\n\n renderWidget(props: WmSwitchProps) {\n const items = this.state.dataItems;\n return (<View style={this.styles.root}>\n {items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index)): null}\n </View>);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Text","View","isEqual","find","WmSwitchProps","DEFAULT_CLASS","WmIcon","BaseDatasetComponent","BaseDatasetState","Tappable","WmSwitchState","WmSwitch","constructor","props","onChange","value","oldVal","state","datavalue","validate","datafield","selectedItem","dataItems","item","key","dataObject","updateState","isDefault","invokeEvent","invokeEventCallback","undefined","proxy","onTap","event","getItemKey","renderChild","index","btnClass","length","displayText","displayexp","displayfield","isSelected","createElement","_extends","getTestPropsForAction","disabled","bind","styles","button","selectedButton","iconclass","id","getTestId","loadingIcon","icon","caption","getTestPropsForLabel","style","text","color","renderWidget","items","root","map"],"sources":["switch.component.tsx"],"sourcesContent":["import React from 'react';\nimport {Text, View} from \"react-native\";\nimport { isEqual, find } from 'lodash';\n\nimport WmSwitchProps from './switch.props';\nimport { DEFAULT_CLASS, WmSwitchStyles } from './switch.styles';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { BaseDatasetComponent, BaseDatasetState } from '../basedataset/basedataset.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\n\nexport class WmSwitchState extends BaseDatasetState<WmSwitchProps> {}\n\nexport default class WmSwitch extends BaseDatasetComponent<WmSwitchProps, WmSwitchState, WmSwitchStyles> {\n constructor(props: WmSwitchProps) {\n super(props, DEFAULT_CLASS, new WmSwitchProps());\n }\n\n onChange(value: any) {\n if (!value) {\n return;\n }\n const oldVal = this.state.props.datavalue;\n this.validate(value);\n if (this.state.props.datafield === 'All Fields') {\n const selectedItem = find(this.state.dataItems, (item) => isEqual(item.key, value));\n value = selectedItem && selectedItem.dataObject;\n }\n // @ts-ignore\n this.updateState({props: {datavalue: value}, isDefault: false},\n () => {\n if (!this.props.invokeEvent) {\n this.invokeEventCallback('onChange', [undefined, this.proxy, value, oldVal]);\n }\n });\n }\n\n onTap(event: any, item: any) {\n const value = this.state.props.datafield === 'All Fields' ? this.getItemKey(item.datafield) : item.datafield;\n this.onChange(value);\n this.invokeEventCallback('onTap', [ event, this.proxy ]);\n }\n\n renderChild(item: any, index: any) {\n let btnClass = 'button';\n const props = this.state.props;\n if(index === 0) {\n btnClass = 'firstButton';\n } else if (index+1 === this.state.dataItems.length) {\n btnClass = 'lastButton';\n }\n const displayText = item.displayexp || item.displayfield;\n const isSelected = this.state.props.datafield === 'All Fields' ? isEqual(props.datavalue, item.datafield) : this.state.props.datavalue === item.datafield;\n return (\n <Tappable \n {...this.getTestPropsForAction(index + '')}\n onTap={this.state.props.disabled ? undefined : this.onTap.bind(this, null, item)}\n styles={[\n this.styles.button,\n this.styles[btnClass],\n isSelected ? this.styles.selectedButton : null]}\n key={item.key}>\n {this.state.props.iconclass ?\n (<WmIcon \n id={this.getTestId('icon' + index)}\n styles={this.styles.loadingIcon}\n iconclass={item.icon}\n caption={displayText}></WmIcon>)\n : (<View>\n <Text \n {...this.getTestPropsForLabel('' + index)}\n style={[this.styles.text, \n {color: isSelected ? this.styles.selectedButton.color : this.styles.button.color }]}>\n {displayText}\n </Text>\n </View>)}\n </Tappable>\n );\n };\n\n renderWidget(props: WmSwitchProps) {\n const items = this.state.dataItems;\n return (<View style={this.styles.root}>\n {items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index)): null}\n </View>);\n }\n}\n"],"mappings":"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"}
@@ -7,6 +7,7 @@ export default class WmTabbarProps extends BaseNavProps {
7
7
  super(...arguments);
8
8
  _defineProperty(this, "morebuttoniconclass", 'wi wi-more-horiz');
9
9
  _defineProperty(this, "morebuttonlabel", 'more');
10
+ _defineProperty(this, "itemchildren", 'children');
10
11
  _defineProperty(this, "isActive", item => false);
11
12
  _defineProperty(this, "dataset", [{
12
13
  'label': 'Home',
@@ -1 +1 @@
1
- {"version":3,"names":["BaseNavProps","WmTabbarProps","constructor","arguments","_defineProperty","item"],"sources":["tabbar.props.ts"],"sourcesContent":["import { BaseNavProps } from '../../navigation/basenav/basenav.props';\n\nexport default class WmTabbarProps extends BaseNavProps {\n morebuttoniconclass = 'wi wi-more-horiz';\n morebuttonlabel = 'more';\n isActive = (item: any) => false;\n dataset?: any = [{\n 'label' : 'Home',\n 'icon' : 'wm-sl-r sl-home'\n },{\n 'label' : 'Analytics',\n 'icon' : 'wm-sl-r sl-graph-ascend'\n },{\n 'label' : 'Alerts',\n 'icon' : 'wm-sl-r sl-alarm-bell'\n },{\n 'label' : 'Settings',\n 'icon' : 'wm-sl-r sl-settings'\n }]\n}\n"],"mappings":";;;AAAA,SAASA,YAAY,QAAQ,wCAAwC;AAErE,eAAe,MAAMC,aAAa,SAASD,YAAY,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,8BAChC,kBAAkB;IAAAA,eAAA,0BACtB,MAAM;IAAAA,eAAA,mBACZC,IAAS,IAAK,KAAK;IAAAD,eAAA,kBACf,CAAC;MACb,OAAO,EAAG,MAAM;MAChB,MAAM,EAAI;IACZ,CAAC,EAAC;MACA,OAAO,EAAG,WAAW;MACrB,MAAM,EAAI;IACZ,CAAC,EAAC;MACA,OAAO,EAAG,QAAQ;MAClB,MAAM,EAAI;IACZ,CAAC,EAAC;MACA,OAAO,EAAG,UAAU;MACpB,MAAM,EAAI;IACZ,CAAC,CAAC;EAAA;AACN"}
1
+ {"version":3,"names":["BaseNavProps","WmTabbarProps","constructor","arguments","_defineProperty","item"],"sources":["tabbar.props.ts"],"sourcesContent":["import { BaseNavProps } from '../../navigation/basenav/basenav.props';\n\nexport default class WmTabbarProps extends BaseNavProps {\n morebuttoniconclass = 'wi wi-more-horiz';\n morebuttonlabel = 'more';\n itemchildren?: string = 'children';\n isActive = (item: any) => false;\n dataset?: any = [{\n 'label' : 'Home',\n 'icon' : 'wm-sl-r sl-home'\n },{\n 'label' : 'Analytics',\n 'icon' : 'wm-sl-r sl-graph-ascend'\n },{\n 'label' : 'Alerts',\n 'icon' : 'wm-sl-r sl-alarm-bell'\n },{\n 'label' : 'Settings',\n 'icon' : 'wm-sl-r sl-settings'\n }]\n}\n"],"mappings":";;;AAAA,SAASA,YAAY,QAAQ,wCAAwC;AAErE,eAAe,MAAMC,aAAa,SAASD,YAAY,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,8BAChC,kBAAkB;IAAAA,eAAA,0BACtB,MAAM;IAAAA,eAAA,uBACA,UAAU;IAAAA,eAAA,mBACtBC,IAAS,IAAK,KAAK;IAAAD,eAAA,kBACf,CAAC;MACb,OAAO,EAAG,MAAM;MAChB,MAAM,EAAI;IACZ,CAAC,EAAC;MACA,OAAO,EAAG,WAAW;MACrB,MAAM,EAAI;IACZ,CAAC,EAAC;MACA,OAAO,EAAG,QAAQ;MAClB,MAAM,EAAI;IACZ,CAAC,EAAC;MACA,OAAO,EAAG,UAAU;MACpB,MAAM,EAAI;IACZ,CAAC,CAAC;EAAA;AACN"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","ToastContext","createContext","ToastProvider","Provider","ToastConsumer","Consumer"],"sources":["toast.service.ts"],"sourcesContent":["import React from 'react';\n\nexport interface ToastOptions {\n elevationIndex: number;\n content?: React.ReactNode;\n onClick?: () => void;\n onClose?: () => void;\n text: string;\n type: 'success' | 'warning' | 'error' | 'info' | 'loading';\n placement: string;\n duration?: number;\n name: string;\n styles: any;\n hideOnClick?: boolean;\n}\n\nexport interface ToastService {\n showToast: (options: ToastOptions) => void;\n hideToast: (options: ToastOptions) => void;\n}\n\nconst ToastContext = React.createContext<ToastService>(null as any);\n\nexport const ToastProvider = ToastContext.Provider;\nexport const ToastConsumer = ToastContext.Consumer;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAqBzB,MAAMC,YAAY,gBAAGD,KAAK,CAACE,aAAa,CAAe,IAAW,CAAC;AAEnE,OAAO,MAAMC,aAAa,GAAGF,YAAY,CAACG,QAAQ;AAClD,OAAO,MAAMC,aAAa,GAAGJ,YAAY,CAACK,QAAQ"}
1
+ {"version":3,"names":["React","ToastContext","createContext","ToastProvider","Provider","ToastConsumer","Consumer"],"sources":["toast.service.ts"],"sourcesContent":["import React from 'react';\n\nexport interface ToastOptions {\n elevationIndex: number;\n content?: React.ReactNode;\n onClick?: () => void;\n onClose?: () => void;\n text: string;\n type: 'success' | 'warning' | 'error' | 'info' | 'loading';\n placement: string;\n duration?: number;\n name: string;\n styles: any;\n classname: string;\n hideOnClick?: boolean;\n}\n\nexport interface ToastService {\n showToast: (options: ToastOptions) => void;\n hideToast: (options: ToastOptions) => void;\n}\n\nconst ToastContext = React.createContext<ToastService>(null as any);\n\nexport const ToastProvider = ToastContext.Provider;\nexport const ToastConsumer = ToastContext.Consumer;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAsBzB,MAAMC,YAAY,gBAAGD,KAAK,CAACE,aAAa,CAAe,IAAW,CAAC;AAEnE,OAAO,MAAMC,aAAa,GAAGF,YAAY,CAACG,QAAQ;AAClD,OAAO,MAAMC,aAAa,GAAGJ,YAAY,CAACK,QAAQ"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/app-rn-runtime",
3
- "version": "11.5.2-next.26257",
3
+ "version": "11.5.2-next.40904",
4
4
  "description": "''",
5
5
  "main": "index",
6
6
  "module": "index",
@@ -49,7 +49,7 @@
49
49
  "@react-navigation/native": "6.1.7",
50
50
  "@react-navigation/stack": "^6.3.7",
51
51
  "@types/lodash-es": "^4.17.6",
52
- "@wavemaker/variables": "11.5.2-next.26257",
52
+ "@wavemaker/variables": "11.5.2-next.40904",
53
53
  "axios": "^1.4.0",
54
54
  "color": "4.2.3",
55
55
  "cross-env": "^5.2.0",
@@ -128,7 +128,7 @@
128
128
  "typescript": "^5.1.3",
129
129
  "victory-native": "36.6.11",
130
130
  "yargs": "^16.2.0",
131
- "@wavemaker/variables": "11.5.2-next.26257"
131
+ "@wavemaker/variables": "11.5.2-next.40904"
132
132
  },
133
133
  "jest": {
134
134
  "preset": "react-native",