@wavemaker/app-rn-runtime 11.14.1-22.647577 → 11.14.1-23.647643

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 (56) hide show
  1. package/components/basic/bottomsheet/bottomsheet.component.js +32 -218
  2. package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
  3. package/components/basic/bottomsheet/bottomsheet.styles.js +3 -0
  4. package/components/basic/bottomsheet/bottomsheet.styles.js.map +1 -1
  5. package/components/container/container.component.js +13 -206
  6. package/components/container/container.component.js.map +1 -1
  7. package/components/container/container.props.js +0 -6
  8. package/components/container/container.props.js.map +1 -1
  9. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +1 -25
  10. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
  11. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.props.js +0 -1
  12. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.props.js.map +1 -1
  13. package/components/container/wizard/wizard.component.js +4 -2
  14. package/components/container/wizard/wizard.component.js.map +1 -1
  15. package/components/container/wizard/wizard.styles.js +1 -3
  16. package/components/container/wizard/wizard.styles.js.map +1 -1
  17. package/components/container/wizard/wizardstep/wizardstep.component.js +22 -3
  18. package/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
  19. package/components/container/wizard/wizardstep/wizardstep.props.js +2 -0
  20. package/components/container/wizard/wizardstep/wizardstep.props.js.map +1 -1
  21. package/components/data/form/form-field/form-field.component.js +0 -2
  22. package/components/data/form/form-field/form-field.component.js.map +1 -1
  23. package/components/data/form/form-field/form-field.props.js +0 -2
  24. package/components/data/form/form-field/form-field.props.js.map +1 -1
  25. package/components/input/baseinput/baseinput.component.js +0 -7
  26. package/components/input/baseinput/baseinput.component.js.map +1 -1
  27. package/components/input/calendar/calendar.component.js +0 -4
  28. package/components/input/calendar/calendar.component.js.map +1 -1
  29. package/components/input/calendar/views/month-view.js +1 -8
  30. package/components/input/calendar/views/month-view.js.map +1 -1
  31. package/components/input/radioset/radioset.component.js +3 -1
  32. package/components/input/radioset/radioset.component.js.map +1 -1
  33. package/components/input/text/text.component.js +2 -10
  34. package/components/input/text/text.component.js.map +1 -1
  35. package/components/input/text/text.props.js +0 -1
  36. package/components/input/text/text.props.js.map +1 -1
  37. package/components/input/textarea/textarea.component.js +2 -2
  38. package/components/input/textarea/textarea.component.js.map +1 -1
  39. package/components/navigation/popover/popover.component.js +3 -3
  40. package/components/navigation/popover/popover.component.js.map +1 -1
  41. package/core/AppConfig.js.map +1 -1
  42. package/core/components/textinput.component.js +3 -0
  43. package/core/components/textinput.component.js.map +1 -1
  44. package/core/tappable.component.js +15 -109
  45. package/core/tappable.component.js.map +1 -1
  46. package/npm-shrinkwrap.json +272 -351
  47. package/package-lock.json +272 -351
  48. package/package.json +2 -2
  49. package/runtime/navigator/drawer.navigator.js +0 -2
  50. package/runtime/navigator/drawer.navigator.js.map +1 -1
  51. package/runtime/navigator/stack.navigator.js +1 -13
  52. package/runtime/navigator/stack.navigator.js.map +1 -1
  53. package/runtime/services/device/scan-service.js +34 -12
  54. package/runtime/services/device/scan-service.js.map +1 -1
  55. package/styles/theme.variables.js +0 -2
  56. package/styles/theme.variables.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","WmFormFieldProps","constructor","args","_defineProperty"],"sources":["form-field.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmFormFieldProps extends BaseProps {\n children: any;\n formRef: any;\n placeholder?: string;\n defaultvalue: any;\n generator: string = '';\n datavalue: any;\n onChange: any;\n renderFormFields: any;\n validationmessage: any;\n required: Boolean = false;\n primaryKey: Boolean = false;\n isRelated: any;\n widget: any;\n onFieldChange: any;\n formKey: string = '';\n dataset: any;\n displayfield: any;\n datafield: string = '';\n isDataSetBound: boolean = false;\n readonly: boolean = false;\n onValidate?: Function;\n formScope?: Function = () => {};\n maskchar: string = null as any;\n displayformat: string = null as any;\n autocomplete: string = \"username\";\n autocapitalize?: string = 'none';\n uppercase?: boolean = false;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,gBAAgB,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,oBAKlC,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,mBAKF,KAAK;IAAAA,eAAA,qBACH,KAAK;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,kBAIT,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,oBAGA,EAAE;IAAAA,eAAA,yBACI,KAAK;IAAAA,eAAA,mBACX,KAAK;IAAAA,eAAA;IAAAA,eAAA,oBAEF,MAAM,CAAC,CAAC;IAAAA,eAAA,mBACZ,IAAI;IAAAA,eAAA,wBACC,IAAI;IAAAA,eAAA,uBACL,UAAU;IAAAA,eAAA,yBACP,MAAM;IAAAA,eAAA,oBACV,KAAK;EAAA;AAC7B","ignoreList":[]}
1
+ {"version":3,"names":["BaseProps","WmFormFieldProps","constructor","args","_defineProperty"],"sources":["form-field.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmFormFieldProps extends BaseProps {\n children: any;\n formRef: any;\n placeholder?: string;\n defaultvalue: any;\n generator: string = '';\n datavalue: any;\n onChange: any;\n renderFormFields: any;\n validationmessage: any;\n required: Boolean = false;\n primaryKey: Boolean = false;\n isRelated: any;\n widget: any;\n onFieldChange: any;\n formKey: string = '';\n dataset: any;\n displayfield: any;\n datafield: string = '';\n isDataSetBound: boolean = false;\n readonly: boolean = false;\n onValidate?: Function;\n formScope?: Function = () => {};\n maskchar: string = null as any;\n displayformat: string = null as any;\n autocomplete: string = \"username\";\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,gBAAgB,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,oBAKlC,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,mBAKF,KAAK;IAAAA,eAAA,qBACH,KAAK;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,kBAIT,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,oBAGA,EAAE;IAAAA,eAAA,yBACI,KAAK;IAAAA,eAAA,mBACX,KAAK;IAAAA,eAAA;IAAAA,eAAA,oBAEF,MAAM,CAAC,CAAC;IAAAA,eAAA,mBACZ,IAAI;IAAAA,eAAA,wBACC,IAAI;IAAAA,eAAA,uBACL,UAAU;EAAA;AACnC","ignoreList":[]}
@@ -55,13 +55,6 @@ export class BaseInputComponent extends BaseComponent {
55
55
  this.updateState({
56
56
  textValue: $new
57
57
  });
58
- if (!this.state.isValid) {
59
- const validationObj = validateField(this.state.props, $new);
60
- this.updateState({
61
- isValid: validationObj.isValid,
62
- errorType: validationObj.errorType || ''
63
- });
64
- }
65
58
  const isDefault = this.state.props.isdefault;
66
59
  if (isDefault) {
67
60
  this.updateState({
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_CLASS","BaseComponent","BaseComponentState","isString","Platform","validateField","Injector","BaseInputState","constructor","args","_defineProperty","BaseInputComponent","props","defaultClass","defaultProps","defaultState","focus","_this$widgetRef","widgetRef","blur","_this$widgetRef2","_this$widgetRef3","onPropertyChange","name","$new","$old","keyboardType","type","updateState","textValue","state","isValid","validationObj","errorType","isDefault","isdefault","skipscripteventtrigger","onFieldChange","bind","onChange","event","updateon","updateDatavalue","target","value","timer","clearTimeout","setTimeout","onChangeText","charlength","length","validate","invokeChange","e","OS","cursor","selectionStart","setState","source","oldValue","datavalue","autotrim","trim","Promise","resolve","hastwowaybinding","setProp","then","invokeEventCallback","proxy","onBlur","FOCUSED_ELEMENT","remove","isTouched","newVal","oldVal","undefined","triggerValidation","isInputFocused","onFocus","_this$closestTappable","set","closestTappable","triggerTap","onKeyPress"],"sources":["baseinput.component.ts"],"sourcesContent":["import { DEFAULT_CLASS } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport BaseInputProps from './baseinput.props';\nimport { isString } from 'lodash';\nimport { BaseInputStyles } from './baseinput.styles';\nimport { Platform, TextInput } from 'react-native';\nimport { validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport Injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class BaseInputState <T extends BaseInputProps> extends BaseComponentState<T> {\n keyboardType: any = 'default';\n isValid: boolean = true;\n isInputFocused: boolean = false;\n textValue: string = '';\n isDefault = false;\n errorType: string = '';\n}\nexport abstract class BaseInputComponent< T extends BaseInputProps, S extends BaseInputState<T>, L extends BaseInputStyles> extends BaseComponent<T, S, L> {\n public widgetRef: TextInput | null = null;\n isTouched: boolean = false;\n private cursor: any = 0;\n private timer: ReturnType<typeof setTimeout> | null = null;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n public charlength:number = 0;\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n blur() {\n this?.widgetRef?.blur && this?.widgetRef?.blur();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'type':\n let keyboardType;\n if (this.props.type === 'number') {\n keyboardType = 'numeric';\n } else if (this.props.type === 'tel') {\n keyboardType = 'phone-pad';\n } else if (this.props.type === 'email') {\n keyboardType = 'email-address';\n }\n this.updateState({\n keyboardType: keyboardType,\n } as S);\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new\n } as S\n );\n if (!this.state.isValid) {\n const validationObj = validateField(this.state.props, $new);\n this.updateState({ isValid: validationObj.isValid, errorType: validationObj.errorType || '' } as S);\n }\n\n const isDefault = this.state.props.isdefault;\n if (isDefault) {\n this.updateState(\n { props: {isdefault: false} } as S, \n !this.state.props.skipscripteventtrigger && this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault)\n );\n } \n else {\n !this.state.props.skipscripteventtrigger && this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n }\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }else if(this.state.props.updateon === 'lazy') {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.updateDatavalue(event.target.value, event);\n }, 300)\n }\n }\n\n onChangeText(value: any) {\n this.charlength = value?.length;\n if(this.state.props.updateon === 'lazy') {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.updateState({\n textValue: value\n } as S, () => {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n );\n }, 300)\n }\n else {\n this.updateState({\n textValue: value\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n }\n );\n }\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n\n // autotrim\n if (props.autotrim && props.datavalue && isString(props.datavalue)) {\n value = value.trim();\n }\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n this.setProp(\"datavalue\", value);\n this.updateState({props: { \"datavalue\": value }} as S);\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: value\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n if(!this.props.onFieldChange && value !== oldValue){\n this.invokeEventCallback('onChange', [event, this.proxy, value, oldValue]);\n }else if(this.state.props.skipscripteventtrigger && this.props.onFieldChange){\n this.props.onFieldChange('datavalue', value, oldValue, false);\n }\n if (source === 'blur') {\n setTimeout(() => {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }, 10);\n }\n })\n }\n\n onBlur(event: any) {\n Injector.FOCUSED_ELEMENT.remove();\n this.isTouched = true;\n let newVal = this.state.textValue || '';\n let oldVal = this.state.props.datavalue || '';\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {\n if (oldVal !== newVal && this.state.props.updateon === 'blur') {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n this.setState({ isInputFocused: false })\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n }\n\n onFocus(event: any) {\n // When input widgets are inside list widget and try to focus the field, list is selecting but unable to enter values in input fields\n // because on tap event of list is triggering after 200ms timeout So added 250ms timeout here\n setTimeout(() => {\n Injector.FOCUSED_ELEMENT.set(this);\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n this.closestTappable?.triggerTap();\n }, 250);\n this.setState({ isInputFocused: true })\n }\n\n onKeyPress(event: any) {\n this.invokeEventCallback('onKeypress', [ event, this.proxy]);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DEFAULT_CLASS","BaseComponent","BaseComponentState","isString","Platform","validateField","Injector","BaseInputState","constructor","args","_defineProperty","BaseInputComponent","props","defaultClass","defaultProps","defaultState","focus","_this$widgetRef","widgetRef","blur","_this$widgetRef2","_this$widgetRef3","onPropertyChange","name","$new","$old","keyboardType","type","updateState","textValue","isDefault","state","isdefault","skipscripteventtrigger","onFieldChange","bind","onChange","event","updateon","updateDatavalue","target","value","timer","clearTimeout","setTimeout","onChangeText","charlength","length","validate","invokeChange","e","OS","cursor","selectionStart","setState","source","oldValue","datavalue","autotrim","trim","Promise","resolve","hastwowaybinding","setProp","then","invokeEventCallback","proxy","onBlur","FOCUSED_ELEMENT","remove","isTouched","newVal","oldVal","undefined","triggerValidation","isInputFocused","validationObj","isValid","errorType","onFocus","_this$closestTappable","set","closestTappable","triggerTap","onKeyPress"],"sources":["baseinput.component.ts"],"sourcesContent":["import { DEFAULT_CLASS } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport BaseInputProps from './baseinput.props';\nimport { isString } from 'lodash';\nimport { BaseInputStyles } from './baseinput.styles';\nimport { Platform, TextInput } from 'react-native';\nimport { validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport Injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class BaseInputState <T extends BaseInputProps> extends BaseComponentState<T> {\n keyboardType: any = 'default';\n isValid: boolean = true;\n isInputFocused: boolean = false;\n textValue: string = '';\n isDefault = false;\n errorType: string = '';\n}\nexport abstract class BaseInputComponent< T extends BaseInputProps, S extends BaseInputState<T>, L extends BaseInputStyles> extends BaseComponent<T, S, L> {\n public widgetRef: TextInput | null = null;\n isTouched: boolean = false;\n private cursor: any = 0;\n private timer: ReturnType<typeof setTimeout> | null = null;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n public charlength:number = 0;\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n blur() {\n this?.widgetRef?.blur && this?.widgetRef?.blur();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'type':\n let keyboardType;\n if (this.props.type === 'number') {\n keyboardType = 'numeric';\n } else if (this.props.type === 'tel') {\n keyboardType = 'phone-pad';\n } else if (this.props.type === 'email') {\n keyboardType = 'email-address';\n }\n this.updateState({\n keyboardType: keyboardType,\n } as S);\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new\n } as S\n );\n \n const isDefault = this.state.props.isdefault;\n if (isDefault) {\n this.updateState(\n { props: {isdefault: false} } as S, \n !this.state.props.skipscripteventtrigger && this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault)\n );\n } \n else {\n !this.state.props.skipscripteventtrigger && this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n }\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }else if(this.state.props.updateon === 'lazy') {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.updateDatavalue(event.target.value, event);\n }, 300)\n }\n }\n\n onChangeText(value: any) {\n this.charlength = value?.length;\n if(this.state.props.updateon === 'lazy') {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.updateState({\n textValue: value\n } as S, () => {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n );\n }, 300)\n }\n else {\n this.updateState({\n textValue: value\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n }\n );\n }\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n\n // autotrim\n if (props.autotrim && props.datavalue && isString(props.datavalue)) {\n value = value.trim();\n }\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n this.setProp(\"datavalue\", value);\n this.updateState({props: { \"datavalue\": value }} as S);\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: value\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n if(!this.props.onFieldChange && value !== oldValue){\n this.invokeEventCallback('onChange', [event, this.proxy, value, oldValue]);\n }else if(this.state.props.skipscripteventtrigger && this.props.onFieldChange){\n this.props.onFieldChange('datavalue', value, oldValue, false);\n }\n if (source === 'blur') {\n setTimeout(() => {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }, 10);\n }\n })\n }\n\n onBlur(event: any) {\n Injector.FOCUSED_ELEMENT.remove();\n this.isTouched = true;\n let newVal = this.state.textValue || '';\n let oldVal = this.state.props.datavalue || '';\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {\n if (oldVal !== newVal && this.state.props.updateon === 'blur') {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n this.setState({ isInputFocused: false })\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n }\n\n onFocus(event: any) {\n // When input widgets are inside list widget and try to focus the field, list is selecting but unable to enter values in input fields\n // because on tap event of list is triggering after 200ms timeout So added 250ms timeout here\n setTimeout(() => {\n Injector.FOCUSED_ELEMENT.set(this);\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n this.closestTappable?.triggerTap();\n }, 250);\n this.setState({ isInputFocused: true })\n }\n\n onKeyPress(event: any) {\n this.invokeEventCallback('onKeypress', [ event, this.proxy]);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -33,9 +33,6 @@ export default class WmCalendar extends BaseComponent {
33
33
  });
34
34
  this.invokeEventCallback('onSelect', [d, d, this, dateWindow === null || dateWindow === void 0 ? void 0 : dateWindow.events]);
35
35
  });
36
- _defineProperty(this, "onDateClick", () => {
37
- this.invokeEventCallback('onDateclick', [null, this]);
38
- });
39
36
  _defineProperty(this, "renderDay", date => {
40
37
  const dateWindow = this.state.calendar.get(moment(date).format(DEFAULT_DATE_FORMAT));
41
38
  if (dateWindow) {
@@ -127,7 +124,6 @@ export default class WmCalendar extends BaseComponent {
127
124
  }, this._background, /*#__PURE__*/React.createElement(MonthView, {
128
125
  date: this.state.selectedDate,
129
126
  selectDate: this.onDateChange,
130
- onDateClick: this.onDateClick,
131
127
  format: DEFAULT_DATE_FORMAT,
132
128
  renderChildDay: this.renderDay,
133
129
  containerStyle: this.styles.calendar,
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","isString","moment","BaseComponent","BaseComponentState","MonthView","WmCalendarProps","DEFAULT_CLASS","WmIcon","createSkeleton","WmCalendarState","constructor","args","_defineProperty","Map","DEFAULT_DATE_FORMAT","WmCalendar","props","date","d","format","dateWindow","state","calendar","get","updateState","datavalue","selectedDate","invokeEventCallback","events","createElement","iconclass","iconsize","styles","root","marginTop","alignSelf","icon","Math","min","length","Fragment","prepareDataset","dataset","eventStartKey","eventstart","forEach","startDate","has","set","push","onPropertyChange","name","$new","$old","componentDidUpdate","prevProps","prevState","snapshot","renderSkeleton","style","skeleton","headerSkeleton","theme","width","height","borderRadius","margin","renderWidget","onLayout","event","handleLayout","_background","selectDate","onDateChange","onDateClick","renderChildDay","renderDay","containerStyle","dateSelectedWarpDayStyle","selectedDay","selectedDayTextStyle","selectedDayText","warpRowWeekdays","weekDay","warpRowControlMonthYear","calendarHeader","weekdayStyle","weekDayText","warpDayStyle","dayWrapper","textDayStyle","day","yearTextStyle","yearText","monthTextStyle","monthText","currentDayStyle","today","currentDayTextStyle","todayText","notDayOfCurrentMonthStyle","notDayOfCurrentMonth","renderPrevYearButton","id","getTestId","prevYearBtn","accessibilitylabel","accessibilityrole","renderPrevMonthButton","prevMonthBtn","renderNextMonthButton","nextMonthBtn","renderNextYearButton","nextYearBtn"],"sources":["calendar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, View } from 'react-native';\nimport { isString } from 'lodash';\nimport moment, { Moment } from 'moment';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport { MonthView } from './views/month-view';\nimport WmCalendarProps from './calendar.props';\nimport { DEFAULT_CLASS, WmCalendarStyles } from './calendar.styles';\nimport WmIcon from '../../basic/icon/icon.component';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component'\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class WmCalendarState extends BaseComponentState<WmCalendarProps> {\n selectedDate: Moment = moment();\n calendar: Map<String, { date: number, events: any []}> = new Map();\n}\n\nconst DEFAULT_DATE_FORMAT = 'DD-MM-YYYY';\n\nexport default class WmCalendar extends BaseComponent<WmCalendarProps, WmCalendarState, WmCalendarStyles> {\n\n constructor(props: WmCalendarProps) {\n super(props, DEFAULT_CLASS, new WmCalendarProps(), new WmCalendarState());\n }\n\n onDateChange = (date: Moment) => {\n const d = moment(date).format(DEFAULT_DATE_FORMAT);\n const dateWindow = this.state.calendar.get(d);\n this.updateState({\n props: {datavalue: d},\n selectedDate: date\n } as WmCalendarState);\n this.invokeEventCallback('onSelect', [d, d, this, dateWindow?.events]);\n }\n\n onDateClick = () => {\n this.invokeEventCallback('onDateclick', [null, this]);\n }\n\n prepareDataset(dataset: any[]) {\n if (!dataset) {\n return;\n }\n const state = {\n calendar: new Map()\n } as WmCalendarState;\n const eventStartKey = this.state.props.eventstart;\n dataset.forEach(d => {\n let startDate = d[eventStartKey];\n if (!isString(startDate)) {\n startDate = moment(startDate).format(DEFAULT_DATE_FORMAT);\n }\n if (!state.calendar.has(startDate)) {\n state.calendar.set(startDate, {\n date: moment(startDate, DEFAULT_DATE_FORMAT).get('milliseconds'),\n events: []\n });\n }\n const dateWindow = state.calendar.get(startDate);\n dateWindow?.events.push(d);\n });\n this.updateState(state);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch(name) {\n case 'dataset':\n this.prepareDataset($new);\n break;\n case 'datavalue':\n if ($new) {\n this.updateState({\n selectedDate: isString($new) ? moment($new, DEFAULT_DATE_FORMAT) : moment($new)\n } as WmCalendarState)\n }\n }\n }\n\n renderDay = (date: Moment) => {\n const dateWindow = this.state.calendar.get(moment(date).format(DEFAULT_DATE_FORMAT));\n if (dateWindow) {\n return (\n <WmIcon\n iconclass=\"fa fa-circle\"\n iconsize={8}\n styles={{\n root: {marginTop: -8, alignSelf: 'flexStart'},\n icon: this.styles['eventDay' + Math.min(3, dateWindow.events.length)]}}></WmIcon>\n );\n }\n return (<></>);\n }\n\n componentDidUpdate(prevProps: WmCalendarProps, prevState: WmCalendarState, snapshot: any) {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n this.invokeEventCallback('onViewrender', [this, null]);\n }\n\n public renderSkeleton(props: WmCalendarProps): React.ReactNode {\n return (\n <View style={[this.styles.root, this.styles.skeleton.root]}>\n <View style={this.styles.headerSkeleton.root}>\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {width: '10%', height: 28,borderRadius: 4})}\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {width: '68%', height: 16, borderRadius: 4})}\n {createSkeleton(this.theme, {}as WmSkeletonStyles, {width: '10%', height: 28, borderRadius: 4})}\n </View>\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {width: '96%', margin: 8, height: 320, borderRadius: 4})}\n </View>)\n } \n\n renderWidget(props: WmCalendarProps) {\n this.invokeEventCallback('onBeforerender', [null, this]);\n return (\n <View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n {this._background}\n <MonthView\n date={this.state.selectedDate}\n selectDate={this.onDateChange}\n onDateClick={this.onDateClick}\n format={DEFAULT_DATE_FORMAT}\n renderChildDay={this.renderDay}\n containerStyle={this.styles.calendar}\n dateSelectedWarpDayStyle={this.styles.selectedDay}\n selectedDayTextStyle={this.styles.selectedDayText}\n warpRowWeekdays={this.styles.weekDay}\n warpRowControlMonthYear={this.styles.calendarHeader}\n weekdayStyle={this.styles.weekDayText}\n warpDayStyle={this.styles.dayWrapper}\n textDayStyle={this.styles.day}\n yearTextStyle={this.styles.yearText}\n monthTextStyle={this.styles.monthText}\n currentDayStyle={this.styles.today}\n currentDayTextStyle={this.styles.todayText}\n notDayOfCurrentMonthStyle={this.styles.notDayOfCurrentMonth}\n renderPrevYearButton={() =>\n (<WmIcon id={this.getTestId('prevyearicon')} iconclass=\"wi wi-angle-double-left\" styles={this.styles.prevYearBtn} accessibilitylabel='previous year' accessibilityrole='button'/>)}\n renderPrevMonthButton={() =>\n (<WmIcon id={this.getTestId('prevmonthicon')} iconclass=\"wi wi-chevron-left fa-2x\" styles={this.styles.prevMonthBtn} accessibilitylabel='previous month' accessibilityrole='button'/>)}\n renderNextMonthButton={() =>\n (<WmIcon id={this.getTestId('nextmonthicon')} iconclass=\"wi wi-chevron-right fa-2x\" styles={this.styles.nextMonthBtn} accessibilitylabel='next month' accessibilityrole='button'/>)}\n renderNextYearButton={() =>\n (<WmIcon id={this.getTestId('nextyearicon')} iconclass=\"wi wi-angle-double-right\" styles={this.styles.nextYearBtn} accessibilitylabel='next year' accessibilityrole='button'/>)}\n />\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","isString","moment","BaseComponent","BaseComponentState","MonthView","WmCalendarProps","DEFAULT_CLASS","WmIcon","createSkeleton","WmCalendarState","constructor","args","_defineProperty","Map","DEFAULT_DATE_FORMAT","WmCalendar","props","date","d","format","dateWindow","state","calendar","get","updateState","datavalue","selectedDate","invokeEventCallback","events","createElement","iconclass","iconsize","styles","root","marginTop","alignSelf","icon","Math","min","length","Fragment","prepareDataset","dataset","eventStartKey","eventstart","forEach","startDate","has","set","push","onPropertyChange","name","$new","$old","componentDidUpdate","prevProps","prevState","snapshot","renderSkeleton","style","skeleton","headerSkeleton","theme","width","height","borderRadius","margin","renderWidget","onLayout","event","handleLayout","_background","selectDate","onDateChange","renderChildDay","renderDay","containerStyle","dateSelectedWarpDayStyle","selectedDay","selectedDayTextStyle","selectedDayText","warpRowWeekdays","weekDay","warpRowControlMonthYear","calendarHeader","weekdayStyle","weekDayText","warpDayStyle","dayWrapper","textDayStyle","day","yearTextStyle","yearText","monthTextStyle","monthText","currentDayStyle","today","currentDayTextStyle","todayText","notDayOfCurrentMonthStyle","notDayOfCurrentMonth","renderPrevYearButton","id","getTestId","prevYearBtn","accessibilitylabel","accessibilityrole","renderPrevMonthButton","prevMonthBtn","renderNextMonthButton","nextMonthBtn","renderNextYearButton","nextYearBtn"],"sources":["calendar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, View } from 'react-native';\nimport { isString } from 'lodash';\nimport moment, { Moment } from 'moment';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport { MonthView } from './views/month-view';\nimport WmCalendarProps from './calendar.props';\nimport { DEFAULT_CLASS, WmCalendarStyles } from './calendar.styles';\nimport WmIcon from '../../basic/icon/icon.component';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component'\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class WmCalendarState extends BaseComponentState<WmCalendarProps> {\n selectedDate: Moment = moment();\n calendar: Map<String, { date: number, events: any []}> = new Map();\n}\n\nconst DEFAULT_DATE_FORMAT = 'DD-MM-YYYY';\n\nexport default class WmCalendar extends BaseComponent<WmCalendarProps, WmCalendarState, WmCalendarStyles> {\n\n constructor(props: WmCalendarProps) {\n super(props, DEFAULT_CLASS, new WmCalendarProps(), new WmCalendarState());\n }\n\n onDateChange = (date: Moment) => {\n const d = moment(date).format(DEFAULT_DATE_FORMAT);\n const dateWindow = this.state.calendar.get(d);\n this.updateState({\n props: {datavalue: d},\n selectedDate: date\n } as WmCalendarState);\n this.invokeEventCallback('onSelect', [d, d, this, dateWindow?.events]);\n }\n\n prepareDataset(dataset: any[]) {\n if (!dataset) {\n return;\n }\n const state = {\n calendar: new Map()\n } as WmCalendarState;\n const eventStartKey = this.state.props.eventstart;\n dataset.forEach(d => {\n let startDate = d[eventStartKey];\n if (!isString(startDate)) {\n startDate = moment(startDate).format(DEFAULT_DATE_FORMAT);\n }\n if (!state.calendar.has(startDate)) {\n state.calendar.set(startDate, {\n date: moment(startDate, DEFAULT_DATE_FORMAT).get('milliseconds'),\n events: []\n });\n }\n const dateWindow = state.calendar.get(startDate);\n dateWindow?.events.push(d);\n });\n this.updateState(state);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch(name) {\n case 'dataset':\n this.prepareDataset($new);\n break;\n case 'datavalue':\n if ($new) {\n this.updateState({\n selectedDate: isString($new) ? moment($new, DEFAULT_DATE_FORMAT) : moment($new)\n } as WmCalendarState)\n }\n }\n }\n\n renderDay = (date: Moment) => {\n const dateWindow = this.state.calendar.get(moment(date).format(DEFAULT_DATE_FORMAT));\n if (dateWindow) {\n return (\n <WmIcon\n iconclass=\"fa fa-circle\"\n iconsize={8}\n styles={{\n root: {marginTop: -8, alignSelf: 'flexStart'},\n icon: this.styles['eventDay' + Math.min(3, dateWindow.events.length)]}}></WmIcon>\n );\n }\n return (<></>);\n }\n\n componentDidUpdate(prevProps: WmCalendarProps, prevState: WmCalendarState, snapshot: any) {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n this.invokeEventCallback('onViewrender', [this, null]);\n }\n\n public renderSkeleton(props: WmCalendarProps): React.ReactNode {\n return (\n <View style={[this.styles.root, this.styles.skeleton.root]}>\n <View style={this.styles.headerSkeleton.root}>\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {width: '10%', height: 28,borderRadius: 4})}\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {width: '68%', height: 16, borderRadius: 4})}\n {createSkeleton(this.theme, {}as WmSkeletonStyles, {width: '10%', height: 28, borderRadius: 4})}\n </View>\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {width: '96%', margin: 8, height: 320, borderRadius: 4})}\n </View>)\n } \n\n renderWidget(props: WmCalendarProps) {\n this.invokeEventCallback('onBeforerender', [null, this]);\n return (\n <View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n {this._background}\n <MonthView\n date={this.state.selectedDate}\n selectDate={this.onDateChange}\n format={DEFAULT_DATE_FORMAT}\n renderChildDay={this.renderDay}\n containerStyle={this.styles.calendar}\n dateSelectedWarpDayStyle={this.styles.selectedDay}\n selectedDayTextStyle={this.styles.selectedDayText}\n warpRowWeekdays={this.styles.weekDay}\n warpRowControlMonthYear={this.styles.calendarHeader}\n weekdayStyle={this.styles.weekDayText}\n warpDayStyle={this.styles.dayWrapper}\n textDayStyle={this.styles.day}\n yearTextStyle={this.styles.yearText}\n monthTextStyle={this.styles.monthText}\n currentDayStyle={this.styles.today}\n currentDayTextStyle={this.styles.todayText}\n notDayOfCurrentMonthStyle={this.styles.notDayOfCurrentMonth}\n renderPrevYearButton={() =>\n (<WmIcon id={this.getTestId('prevyearicon')} iconclass=\"wi wi-angle-double-left\" styles={this.styles.prevYearBtn} accessibilitylabel='previous year' accessibilityrole='button'/>)}\n renderPrevMonthButton={() =>\n (<WmIcon id={this.getTestId('prevmonthicon')} iconclass=\"wi wi-chevron-left fa-2x\" styles={this.styles.prevMonthBtn} accessibilitylabel='previous month' accessibilityrole='button'/>)}\n renderNextMonthButton={() =>\n (<WmIcon id={this.getTestId('nextmonthicon')} iconclass=\"wi wi-chevron-right fa-2x\" styles={this.styles.nextMonthBtn} accessibilitylabel='next month' accessibilityrole='button'/>)}\n renderNextYearButton={() =>\n (<WmIcon id={this.getTestId('nextyearicon')} iconclass=\"wi wi-angle-double-right\" styles={this.styles.nextYearBtn} accessibilitylabel='next year' accessibilityrole='button'/>)}\n />\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -34,7 +34,6 @@ export class MonthViewProps {
34
34
  _defineProperty(this, "renderNextMonthButton", null);
35
35
  _defineProperty(this, "renderChildDay", day => /*#__PURE__*/React.createElement(React.Fragment, null));
36
36
  _defineProperty(this, "selectDate", day => {});
37
- _defineProperty(this, "onDateClick", () => {});
38
37
  //style
39
38
  _defineProperty(this, "getDayStyle", date => ({}));
40
39
  _defineProperty(this, "containerStyle", null);
@@ -105,10 +104,7 @@ export class MonthView extends Component {
105
104
  return /*#__PURE__*/React.createElement(TouchableOpacity, {
106
105
  testID: this.props.testID + '_' + day.format('yyyy_mm_dd'),
107
106
  accessibilityLabel: !_isScreenReaderEnabled ? this.props.testID + '_' + day.format('yyyy_mm_dd') : undefined,
108
- onPress: () => {
109
- this.selectDate(day);
110
- this.onDateClick();
111
- },
107
+ onPress: () => this.selectDate(day),
112
108
  style: [styles.warpDay, warpDayStyle, isCurrent ? currentDayStyle : {}, dateSelected ? {
113
109
  backgroundColor: '#2C1F23',
114
110
  ...dateSelectedWarpDayStyle
@@ -134,9 +130,6 @@ export class MonthView extends Component {
134
130
  this.props.selectDate && this.props.selectDate(date);
135
131
  }
136
132
  }
137
- onDateClick() {
138
- this.props.onDateClick && this.props.onDateClick();
139
- }
140
133
  yearMonthChange(unit, type) {
141
134
  this.selectDate((this.props.date || moment()).clone().add(unit, type).startOf('month'));
142
135
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","Text","View","FlatList","TouchableOpacity","AccessibilityInfo","moment","styles","_","_isScreenReaderEnabled","addEventListener","enabled","isScreenReaderEnabled","then","MonthViewProps","constructor","_defineProperty","day","createElement","Fragment","date","MonthViewState","selectedDate","MonthView","props","state","updateLocale","week","dow","doy","calendarArray","dates","currDate","clone","startOf","startDay","subtract","i","add","renderDay","_this$props$date","_this$props$date2","warpDayStyle","dateSelectedWarpDayStyle","renderChildDay","textDayStyle","currentDayStyle","currentDayTextStyle","notDayOfCurrentMonthStyle","selectedDayTextStyle","dateSelected","isSame","isCurrent","notCurrentMonth","dateStyle","getDayStyle","testID","format","accessibilityLabel","undefined","onPress","selectDate","onDateClick","style","warpDay","backgroundColor","containerStyle","flexDirection","justifyContent","alignItems","color","textStyle","get","isDateEnable","yearMonthChange","unit","type","minDate","maxDate","isSameOrBefore","isSameOrAfter","render","_this$props$date3","_this$props$date4","renderPrevYearButton","renderPrevMonthButton","renderNextYearButton","renderNextMonthButton","weekdayStyle","customWeekdays","warpRowWeekdays","warpRowControlMonthYear","monthTextStyle","yearTextStyle","weekdays","data","dayOfWeek","month","customMonth","year","forEach","element","push","key","container","txtHeaderDate","keyExtractor","item","toDate","getTime","renderItem","extraData","columnWrapperStyle","numColumns","padding"],"sources":["month-view.tsx"],"sourcesContent":["/****\n * Copied code from a repo with no active maintenance.\n * https://github.com/hungdev/react-native-customize-selected-date\n * That js lib was converted to ts and fixed bugs. \n */\nimport React, { Component } from 'react';\nimport {\n Text,\n View,\n FlatList,\n TouchableOpacity,\n ViewStyle,\n TextStyle,\n AccessibilityInfo\n} from 'react-native';\nimport moment, { Moment } from 'moment';\nimport styles from './month-view.styles'\nimport _ from 'lodash';\n\nlet _isScreenReaderEnabled = false;\n\nAccessibilityInfo.addEventListener('screenReaderChanged', (enabled) => {\n _isScreenReaderEnabled = enabled;\n});\n\nAccessibilityInfo.isScreenReaderEnabled().then((enabled) => {\n _isScreenReaderEnabled = enabled;\n});\n\nexport class MonthViewProps {\n testID?: string = null as any;\n accessibilityLabel?: string = null as any;\n date?: Moment = null as any;\n minDate? = moment('1990-01-01', 'YYYY-MM-DD');\n maxDate? = moment('2100-01-01', 'YYYY-MM-DD');\n customMonth?: string[] = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n customWeekdays?: string[] = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n renderPrevYearButton?: () => React.ReactNode = null as any;\n format?='YYYY-MM-DD';\n renderPrevMonthButton?: () => React.ReactNode = null as any;\n renderNextYearButton?: () => React.ReactNode = null as any;\n renderNextMonthButton?: () => React.ReactNode = null as any;\n renderChildDay? = (day: Moment) => (<></>);\n selectDate? = (day: Moment) => {};\n onDateClick? = () => {};\n //style\n getDayStyle? = (date: Moment) => ({});\n containerStyle?: ViewStyle = null as any;\n warpRowControlMonthYear?: ViewStyle = null as any;\n warpRowWeekdays?: ViewStyle = null as any;\n weekdayStyle?: TextStyle = null as any;\n textDayStyle?: TextStyle = null as any;\n currentDayStyle?: ViewStyle = null as any;\n currentDayTextStyle?: TextStyle = null as any;\n notDayOfCurrentMonthStyle?: ViewStyle = null as any;\n warpDayStyle?: ViewStyle = null as any;\n dateSelectedWarpDayStyle?: ViewStyle = null as any;\n selectedDayTextStyle?: TextStyle = null as any;\n monthTextStyle?: TextStyle = null as any;\n yearTextStyle?: TextStyle = null as any;\n}\n\nexport class MonthViewState {\n viewMode = 'day';\n currentYear: string = null as any;\n constructor(public selectedDate: Moment = moment()) {\n\n }\n}\n\nexport class MonthView extends Component<MonthViewProps, MonthViewState> {\n\n static defaultProps = new MonthViewProps();\n\n constructor(props: MonthViewProps) {\n super(props);\n this.state = new MonthViewState(this.props.date);\n // Set moment's locale to ensure week starts on Sunday\n moment.updateLocale('en', {\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 1, // First week of year must contain 1 January\n }\n });\n }\n\n calendarArray (date: Moment): Moment[] {\n const dates: Moment[] = [];\n // Ensure we're working with a clone and explicitly set to start of day\n const currDate = date.clone().startOf('month').startOf('day');\n // Get the day of week (0-6, 0 being Sunday)\n const startDay = currDate.day();\n // Move back to the first day of the week\n currDate.subtract(startDay, 'days');\n \n for (let i = 0; i < 42; i += 1) {\n dates[i] = currDate.clone();\n currDate.add(1, 'day');\n }\n return dates;\n }\n\n renderDay(day: Moment) {\n const { warpDayStyle, dateSelectedWarpDayStyle,\n renderChildDay, textDayStyle, currentDayStyle, currentDayTextStyle, notDayOfCurrentMonthStyle, selectedDayTextStyle } = this.props;\n const dateSelected = this.props.date?.isSame(day);\n const isCurrent = moment().isSame(day, 'date');\n const notCurrentMonth = !this.props.date?.isSame(day, 'month');\n const dateStyle = ((this.props.getDayStyle ? this.props.getDayStyle(day) : null) || {}) as any;\n return (\n <TouchableOpacity \n testID={this.props.testID + '_' + day.format('yyyy_mm_dd')}\n accessibilityLabel={!_isScreenReaderEnabled ? this.props.testID + '_' + day.format('yyyy_mm_dd') : undefined}\n onPress={() => {\n this.selectDate(day)\n this.onDateClick()\n }}\n style={[styles.warpDay, warpDayStyle,\n isCurrent ? currentDayStyle : {},\n dateSelected ? { backgroundColor: '#2C1F23', ...dateSelectedWarpDayStyle } : {},\n dateStyle.containerStyle]}\n >\n <View style={{flexDirection: 'column', justifyContent: 'center', alignItems: 'center'}}>\n <Text style={[styles.day, textDayStyle,\n isCurrent ? currentDayTextStyle : {},\n notCurrentMonth ? { color: '#493D40', ...notDayOfCurrentMonthStyle } : {},\n dateSelected ? { color: '#000', ...selectedDayTextStyle } : {},\n dateStyle.textStyle]}>\n {day.get('date')}\n </Text>\n {renderChildDay && renderChildDay(day)}\n </View>\n </TouchableOpacity>\n )\n }\n\n selectDate(date: Moment) {\n if (this.isDateEnable(date)) {\n this.props.selectDate && this.props.selectDate(date)\n }\n }\n onDateClick() {\n this.props.onDateClick && this.props.onDateClick();\n }\n\n yearMonthChange(unit: number, type: string) {\n this.selectDate((this.props.date || moment()).clone().add(unit, type as any).startOf('month'));\n }\n\n isDateEnable(date: Moment) {\n const { minDate, maxDate } = this.props;\n return minDate?.isSameOrBefore(date) && maxDate?.isSameOrAfter(date);\n }\n\n render() {\n const {\n renderPrevYearButton, renderPrevMonthButton,\n renderNextYearButton, renderNextMonthButton,\n weekdayStyle, customWeekdays, warpRowWeekdays,\n warpRowControlMonthYear, monthTextStyle, yearTextStyle\n } = this.props\n const weekdays = customWeekdays || ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']\n const data = this.calendarArray(this.props.date || moment())\n const dayOfWeek: React.ReactNode[] = [];\n const month = this.props.customMonth ? this.props.customMonth[this.props.date?.get('month') || 0]: 'Jan';\n const year = this.props.date?.get('year') || 1;\n _.forEach(weekdays, element => {\n dayOfWeek.push(<Text key={element} style={[styles.weekdays, weekdayStyle]}>{element}</Text>)\n })\n\n return (\n <View style={[styles.container, this.props.containerStyle]}>\n <View style={[{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }, warpRowControlMonthYear]}>\n {/*<TouchableOpacity onPress={() => this.yearMonthChange(-1, 'year')}>\n {renderPrevYearButton ? renderPrevYearButton() : <Text>{'<<'}</Text>}\n </TouchableOpacity>*/}\n <TouchableOpacity onPress={() => this.yearMonthChange(-1, 'month')}>\n {renderPrevMonthButton ? renderPrevMonthButton() : <Text>{'<'}</Text>}\n </TouchableOpacity>\n <View style={{flexDirection: 'row'}}>\n <Text style={[styles.txtHeaderDate, monthTextStyle]} >{month + ' '}</Text>\n <Text style={[styles.txtHeaderDate, yearTextStyle]} >{year}</Text>\n </View>\n <TouchableOpacity onPress={() => this.yearMonthChange(1, 'month')}>\n {renderNextMonthButton ? renderNextMonthButton() : <Text>{'>'}</Text>}\n </TouchableOpacity>\n {/*<TouchableOpacity onPress={() => this.yearMonthChange(1, 'year')}>\n {renderNextYearButton ? renderNextYearButton() : <Text>{'>>'}</Text>}\n </TouchableOpacity>*/}\n </View>\n <View style={[{ flexDirection: 'row', justifyContent: 'space-around' }, warpRowWeekdays]}>\n {dayOfWeek}\n </View>\n <FlatList\n data={data}\n keyExtractor={(item) => '' + item.toDate().getTime()}\n renderItem={({ item }) => this.renderDay(item)}\n extraData={this.state}\n columnWrapperStyle={{justifyContent: 'space-between'}}\n numColumns={7}\n style={{\n padding: 4\n }}\n />\n </View>\n )\n }\n}"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Component","Text","View","FlatList","TouchableOpacity","AccessibilityInfo","moment","styles","_","_isScreenReaderEnabled","addEventListener","enabled","isScreenReaderEnabled","then","MonthViewProps","constructor","_defineProperty","day","createElement","Fragment","date","MonthViewState","selectedDate","MonthView","props","state","updateLocale","week","dow","doy","calendarArray","dates","currDate","clone","startOf","startDay","subtract","i","add","renderDay","_this$props$date","_this$props$date2","warpDayStyle","dateSelectedWarpDayStyle","renderChildDay","textDayStyle","currentDayStyle","currentDayTextStyle","notDayOfCurrentMonthStyle","selectedDayTextStyle","dateSelected","isSame","isCurrent","notCurrentMonth","dateStyle","getDayStyle","testID","format","accessibilityLabel","undefined","onPress","selectDate","style","warpDay","backgroundColor","containerStyle","flexDirection","justifyContent","alignItems","color","textStyle","get","isDateEnable","yearMonthChange","unit","type","minDate","maxDate","isSameOrBefore","isSameOrAfter","render","_this$props$date3","_this$props$date4","renderPrevYearButton","renderPrevMonthButton","renderNextYearButton","renderNextMonthButton","weekdayStyle","customWeekdays","warpRowWeekdays","warpRowControlMonthYear","monthTextStyle","yearTextStyle","weekdays","data","dayOfWeek","month","customMonth","year","forEach","element","push","key","container","txtHeaderDate","keyExtractor","item","toDate","getTime","renderItem","extraData","columnWrapperStyle","numColumns","padding"],"sources":["month-view.tsx"],"sourcesContent":["/****\n * Copied code from a repo with no active maintenance.\n * https://github.com/hungdev/react-native-customize-selected-date\n * That js lib was converted to ts and fixed bugs. \n */\nimport React, { Component } from 'react';\nimport {\n Text,\n View,\n FlatList,\n TouchableOpacity,\n ViewStyle,\n TextStyle,\n AccessibilityInfo\n} from 'react-native';\nimport moment, { Moment } from 'moment';\nimport styles from './month-view.styles'\nimport _ from 'lodash';\n\nlet _isScreenReaderEnabled = false;\n\nAccessibilityInfo.addEventListener('screenReaderChanged', (enabled) => {\n _isScreenReaderEnabled = enabled;\n});\n\nAccessibilityInfo.isScreenReaderEnabled().then((enabled) => {\n _isScreenReaderEnabled = enabled;\n});\n\nexport class MonthViewProps {\n testID?: string = null as any;\n accessibilityLabel?: string = null as any;\n date?: Moment = null as any;\n minDate? = moment('1990-01-01', 'YYYY-MM-DD');\n maxDate? = moment('2100-01-01', 'YYYY-MM-DD');\n customMonth?: string[] = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n customWeekdays?: string[] = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n renderPrevYearButton?: () => React.ReactNode = null as any;\n format?='YYYY-MM-DD';\n renderPrevMonthButton?: () => React.ReactNode = null as any;\n renderNextYearButton?: () => React.ReactNode = null as any;\n renderNextMonthButton?: () => React.ReactNode = null as any;\n renderChildDay? = (day: Moment) => (<></>);\n selectDate? = (day: Moment) => {}; \n //style\n getDayStyle? = (date: Moment) => ({});\n containerStyle?: ViewStyle = null as any;\n warpRowControlMonthYear?: ViewStyle = null as any;\n warpRowWeekdays?: ViewStyle = null as any;\n weekdayStyle?: TextStyle = null as any;\n textDayStyle?: TextStyle = null as any;\n currentDayStyle?: ViewStyle = null as any;\n currentDayTextStyle?: TextStyle = null as any;\n notDayOfCurrentMonthStyle?: ViewStyle = null as any;\n warpDayStyle?: ViewStyle = null as any;\n dateSelectedWarpDayStyle?: ViewStyle = null as any;\n selectedDayTextStyle?: TextStyle = null as any;\n monthTextStyle?: TextStyle = null as any;\n yearTextStyle?: TextStyle = null as any;\n}\n\nexport class MonthViewState {\n viewMode = 'day';\n currentYear: string = null as any;\n constructor(public selectedDate: Moment = moment()) {\n\n }\n}\n\nexport class MonthView extends Component<MonthViewProps, MonthViewState> {\n\n static defaultProps = new MonthViewProps();\n\n constructor(props: MonthViewProps) {\n super(props);\n this.state = new MonthViewState(this.props.date);\n // Set moment's locale to ensure week starts on Sunday\n moment.updateLocale('en', {\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 1, // First week of year must contain 1 January\n }\n });\n }\n\n calendarArray (date: Moment): Moment[] {\n const dates: Moment[] = [];\n // Ensure we're working with a clone and explicitly set to start of day\n const currDate = date.clone().startOf('month').startOf('day');\n // Get the day of week (0-6, 0 being Sunday)\n const startDay = currDate.day();\n // Move back to the first day of the week\n currDate.subtract(startDay, 'days');\n \n for (let i = 0; i < 42; i += 1) {\n dates[i] = currDate.clone();\n currDate.add(1, 'day');\n }\n return dates;\n }\n\n renderDay(day: Moment) {\n const { warpDayStyle, dateSelectedWarpDayStyle,\n renderChildDay, textDayStyle, currentDayStyle, currentDayTextStyle, notDayOfCurrentMonthStyle, selectedDayTextStyle } = this.props;\n const dateSelected = this.props.date?.isSame(day);\n const isCurrent = moment().isSame(day, 'date');\n const notCurrentMonth = !this.props.date?.isSame(day, 'month');\n const dateStyle = ((this.props.getDayStyle ? this.props.getDayStyle(day) : null) || {}) as any;\n return (\n <TouchableOpacity \n testID={this.props.testID + '_' + day.format('yyyy_mm_dd')}\n accessibilityLabel={!_isScreenReaderEnabled ? this.props.testID + '_' + day.format('yyyy_mm_dd') : undefined}\n onPress={() => this.selectDate(day)}\n style={[styles.warpDay, warpDayStyle,\n isCurrent ? currentDayStyle : {},\n dateSelected ? { backgroundColor: '#2C1F23', ...dateSelectedWarpDayStyle } : {},\n dateStyle.containerStyle]}\n >\n <View style={{flexDirection: 'column', justifyContent: 'center', alignItems: 'center'}}>\n <Text style={[styles.day, textDayStyle,\n isCurrent ? currentDayTextStyle : {},\n notCurrentMonth ? { color: '#493D40', ...notDayOfCurrentMonthStyle } : {},\n dateSelected ? { color: '#000', ...selectedDayTextStyle } : {},\n dateStyle.textStyle]}>\n {day.get('date')}\n </Text>\n {renderChildDay && renderChildDay(day)}\n </View>\n </TouchableOpacity>\n )\n }\n\n selectDate(date: Moment) {\n if (this.isDateEnable(date)) {\n this.props.selectDate && this.props.selectDate(date)\n }\n }\n\n yearMonthChange(unit: number, type: string) {\n this.selectDate((this.props.date || moment()).clone().add(unit, type as any).startOf('month'));\n }\n\n isDateEnable(date: Moment) {\n const { minDate, maxDate } = this.props;\n return minDate?.isSameOrBefore(date) && maxDate?.isSameOrAfter(date);\n }\n\n render() {\n const {\n renderPrevYearButton, renderPrevMonthButton,\n renderNextYearButton, renderNextMonthButton,\n weekdayStyle, customWeekdays, warpRowWeekdays,\n warpRowControlMonthYear, monthTextStyle, yearTextStyle\n } = this.props\n const weekdays = customWeekdays || ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']\n const data = this.calendarArray(this.props.date || moment())\n const dayOfWeek: React.ReactNode[] = [];\n const month = this.props.customMonth ? this.props.customMonth[this.props.date?.get('month') || 0]: 'Jan';\n const year = this.props.date?.get('year') || 1;\n _.forEach(weekdays, element => {\n dayOfWeek.push(<Text key={element} style={[styles.weekdays, weekdayStyle]}>{element}</Text>)\n })\n\n return (\n <View style={[styles.container, this.props.containerStyle]}>\n <View style={[{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }, warpRowControlMonthYear]}>\n {/*<TouchableOpacity onPress={() => this.yearMonthChange(-1, 'year')}>\n {renderPrevYearButton ? renderPrevYearButton() : <Text>{'<<'}</Text>}\n </TouchableOpacity>*/}\n <TouchableOpacity onPress={() => this.yearMonthChange(-1, 'month')}>\n {renderPrevMonthButton ? renderPrevMonthButton() : <Text>{'<'}</Text>}\n </TouchableOpacity>\n <View style={{flexDirection: 'row'}}>\n <Text style={[styles.txtHeaderDate, monthTextStyle]} >{month + ' '}</Text>\n <Text style={[styles.txtHeaderDate, yearTextStyle]} >{year}</Text>\n </View>\n <TouchableOpacity onPress={() => this.yearMonthChange(1, 'month')}>\n {renderNextMonthButton ? renderNextMonthButton() : <Text>{'>'}</Text>}\n </TouchableOpacity>\n {/*<TouchableOpacity onPress={() => this.yearMonthChange(1, 'year')}>\n {renderNextYearButton ? renderNextYearButton() : <Text>{'>>'}</Text>}\n </TouchableOpacity>*/}\n </View>\n <View style={[{ flexDirection: 'row', justifyContent: 'space-around' }, warpRowWeekdays]}>\n {dayOfWeek}\n </View>\n <FlatList\n data={data}\n keyExtractor={(item) => '' + item.toDate().getTime()}\n renderItem={({ item }) => this.renderDay(item)}\n extraData={this.state}\n columnWrapperStyle={{justifyContent: 'space-between'}}\n numColumns={7}\n style={{\n padding: 4\n }}\n />\n </View>\n )\n }\n}"],"mappings":"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","ignoreList":[]}
@@ -123,7 +123,9 @@ export default class WmRadioset extends BaseDatasetComponent {
123
123
  return props.radiosetscroll ? /*#__PURE__*/React.createElement(ScrollView, {
124
124
  style: this.styles.root,
125
125
  onLayout: event => this.handleLayout(event),
126
- accessible: false
126
+ accessible: false,
127
+ bounces: false,
128
+ alwaysBounceVertical: false
127
129
  }, /*#__PURE__*/React.createElement(ScrollView, _extends({
128
130
  horizontal: true,
129
131
  style: this.isRTL && Platform.OS == 'android' ? {
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","TouchableOpacity","Platform","ScrollView","WmRadiosetProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","AccessibilityWidgetType","getAccessibilityProps","find","isEqual","isEmpty","WmLabel","getNumberOfEmptyObjects","WmRadiosetState","constructor","args","_defineProperty","WmRadioset","props","onPress","item","state","disabled","readonly","invokeEventCallback","proxy","selected","selectedValue","selectedItem","dataItems","d","key","oldValue","datavalue","datafield","validate","updateState","computeDisplayValue","undefined","renderChild","index","colWidth","displayText","displayexp","displayfield","value","getItemKey","itemStyle","width","styles","noscrollitem","accessibilityProps","accessibilityLabel","accessibilityRole","accessibilityState","createElement","_extends","style","bind","getTestPropsForAction","id","getTestId","iconclass","checkedRadio","uncheckedRadio","accessible","template","renderitempartial","dataObject","radioLabel","selectedLabel","getTestPropsForLabel","setTemplate","partialName","renderGroupby","groupedData","length","map","groupObj","groupHeaderTitle","renderRadioButtons","data","items","noOfColumns","itemsperrow","xs","Math","round","radiosetscroll","group","renderSkeleton","_ref","numberofskeletonitems","_","skeleton","renderWidget","root","onLayout","event","handleLayout","horizontal","isRTL","OS","transform","scaleX","contentContainerStyle","RADIOSET","groupby"],"sources":["radioset.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, DimensionValue, TouchableOpacity, Platform, AccessibilityRole } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\n\nimport WmRadiosetProps from './radioset.props';\nimport { DEFAULT_CLASS, WmRadiosetStyles } from './radioset.styles';\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 WmSkeleton, { createSkeleton } from '../../basic/skeleton/skeleton.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport { find, forEach, isEqual } from 'lodash-es';\nimport { isEmpty } from 'lodash';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport { getNumberOfEmptyObjects } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmRadiosetState extends BaseDatasetState<WmRadiosetProps> {\n template: string = '';\n}\n\nexport default class WmRadioset extends BaseDatasetComponent<WmRadiosetProps, WmRadiosetState, WmRadiosetStyles> {\n\n constructor(props: WmRadiosetProps) {\n super(props, DEFAULT_CLASS, new WmRadiosetProps());\n }\n\n onPress(item: any) {\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n this.invokeEventCallback('onTap', [null, this.proxy]);\n item.selected = true;\n let 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 selectedValue = selectedItem.selected ? selectedItem.datafield : null;\n this.validate(selectedValue);\n this.updateState({ props: { datavalue: selectedValue }} as WmRadiosetState,() => {\n this.computeDisplayValue();\n this.invokeEventCallback('onChange', [ undefined, this.proxy, selectedValue, oldValue ]);\n });\n }\n\n renderChild(item: any, index: any, colWidth?: DimensionValue) {\n const displayText = item.displayexp || item.displayfield;\n const value = this.state.props.datafield === 'All Fields' ? this.getItemKey(item.datafield) : item.datafield;\n const itemStyle = colWidth ? [{ width: colWidth }, this.styles.item] \n : [this.styles.noscrollitem];\n const accessibilityProps = { accessibilityLabel: displayText ,\n accessibilityRole: 'radio' as AccessibilityRole,\n accessibilityState: {\n disabled: this.props.readonly || this.props.disabled,\n selected: item.selected,\n }\n }\n return (\n <TouchableOpacity style={[\n itemStyle,\n item.selected ? this.styles.selectedItem : null]}\n onPress={this.onPress.bind(this, item)} key={item.key} {...accessibilityProps} {...this.getTestPropsForAction(\"radio\"+index)}>\n <WmIcon id={this.getTestId('radiobutton' + index)} iconclass=\"wi wi-fiber-manual-record\" styles={item.selected ? this.styles.checkedRadio : this.styles.uncheckedRadio} disabled={this.state.props.readonly || this.state.props.disabled} accessible={false}></WmIcon>\n {!isEmpty(this.state.template) && this.props.renderitempartial ?\n this.props.renderitempartial(item.dataObject, index, this.state.template) : <Text style={[this.styles.radioLabel, item.selected ? this.styles.selectedLabel : null]} {...this.getTestPropsForLabel('caption'+index)}>{displayText}</Text>}\n </TouchableOpacity>)\n }\n\n setTemplate(partialName: any) {\n this.updateState({ template: partialName } as WmRadiosetState);\n }\n\n renderGroupby() {\n const groupedData = this.state.groupedData;\n return (\n <View accessibilityRole='radiogroup'>\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.renderRadioButtons(groupObj.data)}\n </View>)\n })\n : null}\n </View>\n );\n }\n\n renderRadioButtons(items: any) {\n const props = this.state.props;\n const noOfColumns = props.itemsperrow.xs || 1;\n const colWidth = Math.round(100/ noOfColumns) + '%' as DimensionValue;\n return props.radiosetscroll ? (\n <View style={noOfColumns === 1 ? {} : this.styles.group}>\n {items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index, colWidth)): null}\n </View>\n ) : (\n <View style={[this.styles.group]}>\n {items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index)): null}\n </View>\n )\n }\n\n public renderSkeleton(props: WmRadiosetProps): React.ReactNode {\n const noOfColumns = props.itemsperrow.xs || 1;\n const colWidth = Math.round(100/ noOfColumns) + '%' as DimensionValue;\n\n return [...getNumberOfEmptyObjects(props.numberofskeletonitems as number ?? 5)].map(_ => {\n return <View style={[this.styles.item, {width: colWidth}]}>\n <WmIcon styles={this.styles.checkedRadio}/>\n <WmLabel styles={{ skeleton: this.styles.skeleton }}/>\n </View>\n })\n\n }\n\n renderWidget(props: WmRadiosetProps) {\n const items = this.state.dataItems;\n return props.radiosetscroll ? (\n <ScrollView style={this.styles.root} onLayout={(event) => this.handleLayout(event)} accessible={false}>\n <ScrollView horizontal={true}\n style={this.isRTL && Platform.OS == 'android' ? { transform: [{ scaleX: -1 }] } : {}}\n contentContainerStyle={this.isRTL && Platform.OS == 'android' ? { transform: [{ scaleX: -1 }] } : {}}\n {...getAccessibilityProps(AccessibilityWidgetType.RADIOSET, this.props)}\n accessible={false}\n >\n {props.groupby && this.renderGroupby()}\n {!props.groupby && this.renderRadioButtons(items)}\n </ScrollView>\n </ScrollView>\n ) : (\n <View style={[this.styles.root]} onLayout={(event) => this.handleLayout(event)} {...getAccessibilityProps(AccessibilityWidgetType.RADIOSET, this.props)}>\n {props.groupby && this.renderGroupby()}\n {!props.groupby && this.renderRadioButtons(items)}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Text","TouchableOpacity","Platform","ScrollView","WmRadiosetProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","AccessibilityWidgetType","getAccessibilityProps","find","isEqual","isEmpty","WmLabel","getNumberOfEmptyObjects","WmRadiosetState","constructor","args","_defineProperty","WmRadioset","props","onPress","item","state","disabled","readonly","invokeEventCallback","proxy","selected","selectedValue","selectedItem","dataItems","d","key","oldValue","datavalue","datafield","validate","updateState","computeDisplayValue","undefined","renderChild","index","colWidth","displayText","displayexp","displayfield","value","getItemKey","itemStyle","width","styles","noscrollitem","accessibilityProps","accessibilityLabel","accessibilityRole","accessibilityState","createElement","_extends","style","bind","getTestPropsForAction","id","getTestId","iconclass","checkedRadio","uncheckedRadio","accessible","template","renderitempartial","dataObject","radioLabel","selectedLabel","getTestPropsForLabel","setTemplate","partialName","renderGroupby","groupedData","length","map","groupObj","groupHeaderTitle","renderRadioButtons","data","items","noOfColumns","itemsperrow","xs","Math","round","radiosetscroll","group","renderSkeleton","_ref","numberofskeletonitems","_","skeleton","renderWidget","root","onLayout","event","handleLayout","bounces","alwaysBounceVertical","horizontal","isRTL","OS","transform","scaleX","contentContainerStyle","RADIOSET","groupby"],"sources":["radioset.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, DimensionValue, TouchableOpacity, Platform, AccessibilityRole } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\n\nimport WmRadiosetProps from './radioset.props';\nimport { DEFAULT_CLASS, WmRadiosetStyles } from './radioset.styles';\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 WmSkeleton, { createSkeleton } from '../../basic/skeleton/skeleton.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport { find, forEach, isEqual } from 'lodash-es';\nimport { isEmpty } from 'lodash';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport { getNumberOfEmptyObjects } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmRadiosetState extends BaseDatasetState<WmRadiosetProps> {\n template: string = '';\n}\n\nexport default class WmRadioset extends BaseDatasetComponent<WmRadiosetProps, WmRadiosetState, WmRadiosetStyles> {\n\n constructor(props: WmRadiosetProps) {\n super(props, DEFAULT_CLASS, new WmRadiosetProps());\n }\n\n onPress(item: any) {\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n this.invokeEventCallback('onTap', [null, this.proxy]);\n item.selected = true;\n let 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 selectedValue = selectedItem.selected ? selectedItem.datafield : null;\n this.validate(selectedValue);\n this.updateState({ props: { datavalue: selectedValue }} as WmRadiosetState,() => {\n this.computeDisplayValue();\n this.invokeEventCallback('onChange', [ undefined, this.proxy, selectedValue, oldValue ]);\n });\n }\n\n renderChild(item: any, index: any, colWidth?: DimensionValue) {\n const displayText = item.displayexp || item.displayfield;\n const value = this.state.props.datafield === 'All Fields' ? this.getItemKey(item.datafield) : item.datafield;\n const itemStyle = colWidth ? [{ width: colWidth }, this.styles.item] \n : [this.styles.noscrollitem];\n const accessibilityProps = { accessibilityLabel: displayText ,\n accessibilityRole: 'radio' as AccessibilityRole,\n accessibilityState: {\n disabled: this.props.readonly || this.props.disabled,\n selected: item.selected,\n }\n }\n return (\n <TouchableOpacity style={[\n itemStyle,\n item.selected ? this.styles.selectedItem : null]}\n onPress={this.onPress.bind(this, item)} key={item.key} {...accessibilityProps} {...this.getTestPropsForAction(\"radio\"+index)}>\n <WmIcon id={this.getTestId('radiobutton' + index)} iconclass=\"wi wi-fiber-manual-record\" styles={item.selected ? this.styles.checkedRadio : this.styles.uncheckedRadio} disabled={this.state.props.readonly || this.state.props.disabled} accessible={false}></WmIcon>\n {!isEmpty(this.state.template) && this.props.renderitempartial ?\n this.props.renderitempartial(item.dataObject, index, this.state.template) : <Text style={[this.styles.radioLabel, item.selected ? this.styles.selectedLabel : null]} {...this.getTestPropsForLabel('caption'+index)}>{displayText}</Text>}\n </TouchableOpacity>)\n }\n\n setTemplate(partialName: any) {\n this.updateState({ template: partialName } as WmRadiosetState);\n }\n\n renderGroupby() {\n const groupedData = this.state.groupedData;\n return (\n <View accessibilityRole='radiogroup'>\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.renderRadioButtons(groupObj.data)}\n </View>)\n })\n : null}\n </View>\n );\n }\n\n renderRadioButtons(items: any) {\n const props = this.state.props;\n const noOfColumns = props.itemsperrow.xs || 1;\n const colWidth = Math.round(100/ noOfColumns) + '%' as DimensionValue;\n return props.radiosetscroll ? (\n <View style={noOfColumns === 1 ? {} : this.styles.group}>\n {items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index, colWidth)): null}\n </View>\n ) : (\n <View style={[this.styles.group]}>\n {items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index)): null}\n </View>\n )\n }\n\n public renderSkeleton(props: WmRadiosetProps): React.ReactNode {\n const noOfColumns = props.itemsperrow.xs || 1;\n const colWidth = Math.round(100/ noOfColumns) + '%' as DimensionValue;\n\n return [...getNumberOfEmptyObjects(props.numberofskeletonitems as number ?? 5)].map(_ => {\n return <View style={[this.styles.item, {width: colWidth}]}>\n <WmIcon styles={this.styles.checkedRadio}/>\n <WmLabel styles={{ skeleton: this.styles.skeleton }}/>\n </View>\n })\n\n }\n\n renderWidget(props: WmRadiosetProps) {\n const items = this.state.dataItems;\n return props.radiosetscroll ? (\n <ScrollView style={this.styles.root} onLayout={(event) => this.handleLayout(event)} accessible={false}\n bounces={false}\n alwaysBounceVertical={false}\n >\n <ScrollView horizontal={true}\n style={this.isRTL && Platform.OS == 'android' ? { transform: [{ scaleX: -1 }] } : {}}\n contentContainerStyle={this.isRTL && Platform.OS == 'android' ? { transform: [{ scaleX: -1 }] } : {}}\n {...getAccessibilityProps(AccessibilityWidgetType.RADIOSET, this.props)}\n accessible={false}\n >\n {props.groupby && this.renderGroupby()}\n {!props.groupby && this.renderRadioButtons(items)}\n </ScrollView>\n </ScrollView>\n ) : (\n <View style={[this.styles.root]} onLayout={(event) => this.handleLayout(event)} {...getAccessibilityProps(AccessibilityWidgetType.RADIOSET, this.props)}>\n {props.groupby && this.renderGroupby()}\n {!props.groupby && this.renderRadioButtons(items)}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -21,14 +21,6 @@ export default class WmText extends BaseInputComponent {
21
21
  classes.push(super.getStyleClassName());
22
22
  return classes.join(' ');
23
23
  }
24
- onChangeText(text) {
25
- if (!this.props.uppercase) {
26
- super.onChangeText(text);
27
- return;
28
- }
29
- const s = text == null ? '' : String(text);
30
- super.onChangeText(s ? s.toUpperCase() : s);
31
- }
32
24
  renderSkeleton(props) {
33
25
  let skeletonWidth, skeletonHeight;
34
26
  if (this.props.skeletonwidth == "0") {
@@ -50,7 +42,7 @@ export default class WmText extends BaseInputComponent {
50
42
  });
51
43
  }
52
44
  renderWidget(props) {
53
- var _this$state$textValue;
45
+ var _this$state$textValue, _props$maxchars;
54
46
  let opts = {};
55
47
  const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';
56
48
  opts[valueExpr] = ((_this$state$textValue = this.state.textValue) === null || _this$state$textValue === void 0 ? void 0 : _this$state$textValue.toString()) || '';
@@ -78,7 +70,7 @@ export default class WmText extends BaseInputComponent {
78
70
  displayformat: props.displayformat,
79
71
  background: this._background,
80
72
  maskchar: props.maskchar,
81
- maxLength: props.maxchars,
73
+ maxLength: (_props$maxchars = props.maxchars) !== null && _props$maxchars !== void 0 ? _props$maxchars : undefined,
82
74
  placeholder: props.placeholder,
83
75
  onBlur: this.onBlur.bind(this),
84
76
  onFocus: this.onFocus.bind(this),
@@ -1 +1 @@
1
- {"version":3,"names":["React","Platform","WmTextProps","DEFAULT_CLASS","WMTextInput","BaseInputComponent","BaseInputState","isNull","AccessibilityWidgetType","getAccessibilityProps","createSkeleton","WmTextState","WmText","constructor","props","getStyleClassName","classes","state","floatinglabel","push","join","onChangeText","text","uppercase","s","String","toUpperCase","renderSkeleton","skeletonWidth","skeletonHeight","skeletonwidth","_this$styles$root","styles","root","width","skeletonheight","_this$styles$root2","height","theme","skeleton","renderWidget","_this$state$textValue","opts","valueExpr","OS","textValue","toString","createElement","_extends","getTestPropsForInput","TEXT","ref","widgetRef","selectionStart","selectionEnd","cursor","floatingLabel","floatingLabelStyle","activeFloatingLabelStyle","activeFloatingLabel","placeholderTextColor","placeholderText","color","isInputFocused","style","isValid","invalid","focused","keyboardType","autoComplete","autocomplete","autoFocus","autofocus","editable","disabled","readonly","secureTextEntry","type","maskchar","displayformat","background","_background","maxLength","maxchars","placeholder","onBlur","bind","onFocus","onKeyPress","onChange","invokeChange","allowContentSelection","userSelect","autoCapitalize","autocapitalize","handleLayout"],"sources":["text.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Platform } from 'react-native';\n\nimport WmTextProps from './text.props';\nimport { DEFAULT_CLASS, WmTextStyles } from './text.styles';\nimport { WMTextInput } from '@wavemaker/app-rn-runtime/core/components/textinput.component';\nimport { BaseInputComponent, BaseInputState } from \"@wavemaker/app-rn-runtime/components/input/baseinput/baseinput.component\";\nimport { isNull } from 'lodash';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\n\nexport class WmTextState extends BaseInputState<WmTextProps> {\n}\n\nexport default class WmText extends BaseInputComponent<WmTextProps, WmTextState, WmTextStyles> {\n\n constructor(props: WmTextProps) {\n super(props, DEFAULT_CLASS, new WmTextProps(), new WmTextState());\n }\n\n public getStyleClassName(): string | undefined {\n const classes = [];\n if (this.state.props.floatinglabel) {\n classes.push('app-text-with-label'); \n }\n classes.push(super.getStyleClassName());\n return classes.join(' ');\n }\n\n public onChangeText(text: any) {\n if (!this.props.uppercase) {\n super.onChangeText(text);\n return;\n }\n const s = text == null ? '' : String(text);\n super.onChangeText(s ? s.toUpperCase() : s);\n }\n\n public renderSkeleton(props: WmTextProps): React.ReactNode { \n let skeletonWidth, skeletonHeight;\n \n if(this.props.skeletonwidth == \"0\") {\n skeletonWidth = 0\n } else {\n skeletonWidth = this.props.skeletonwidth || this.styles.root?.width\n }\n\n if(this.props.skeletonheight == \"0\") {\n skeletonHeight = 0\n } else {\n skeletonHeight = this.props.skeletonheight || this.styles.root?.height;\n }\n\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: skeletonWidth as DimensionValue,\n height: skeletonHeight as DimensionValue\n })\n }\n\n renderWidget(props: WmTextProps) {\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.textValue?.toString() || '';\n return (\n <WMTextInput\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(\n AccessibilityWidgetType.TEXT,\n props\n )}\n ref={(ref: any) => {this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }}}\n {...opts}\n floatingLabel={props.floatinglabel}\n floatingLabelStyle={this.styles.floatingLabel}\n activeFloatingLabelStyle={this.styles.activeFloatingLabel}\n placeholderTextColor={this.styles.placeholderText.color as any}\n isInputFocused={ this.state.isInputFocused }\n style={[this.styles.root, this.styles.text, this.state.isValid ? {} : this.styles.invalid, this.state.isInputFocused ? this.styles.focused : {}]}\n keyboardType={this.state.keyboardType}\n autoComplete={props.autocomplete === \"true\" ? \"username\" : props.autocomplete === \"false\" ? \"off\" : props.autocomplete}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n secureTextEntry={props.type === 'password' && !props.maskchar ? true : false}\n displayformat={props.displayformat}\n background={this._background}\n maskchar={props.maskchar}\n maxLength={props.maxchars}\n placeholder={props.placeholder}\n onBlur={this.onBlur.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onKeyPress={this.onKeyPress.bind(this)}\n onChangeText={this.onChangeText.bind(this)}\n onChange={this.invokeChange.bind(this)}\n allowContentSelection={this.styles.text.userSelect === 'text'}\n autoCapitalize={props.autocapitalize}\n handleLayout={this.handleLayout}\n />\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Platform","WmTextProps","DEFAULT_CLASS","WMTextInput","BaseInputComponent","BaseInputState","isNull","AccessibilityWidgetType","getAccessibilityProps","createSkeleton","WmTextState","WmText","constructor","props","getStyleClassName","classes","state","floatinglabel","push","join","renderSkeleton","skeletonWidth","skeletonHeight","skeletonwidth","_this$styles$root","styles","root","width","skeletonheight","_this$styles$root2","height","theme","skeleton","renderWidget","_this$state$textValue","_props$maxchars","opts","valueExpr","OS","textValue","toString","createElement","_extends","getTestPropsForInput","TEXT","ref","widgetRef","selectionStart","selectionEnd","cursor","floatingLabel","floatingLabelStyle","activeFloatingLabelStyle","activeFloatingLabel","placeholderTextColor","placeholderText","color","isInputFocused","style","text","isValid","invalid","focused","keyboardType","autoComplete","autocomplete","autoFocus","autofocus","editable","disabled","readonly","secureTextEntry","type","maskchar","displayformat","background","_background","maxLength","maxchars","undefined","placeholder","onBlur","bind","onFocus","onKeyPress","onChangeText","onChange","invokeChange","allowContentSelection","userSelect","autoCapitalize","autocapitalize","handleLayout"],"sources":["text.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Platform } from 'react-native';\n\nimport WmTextProps from './text.props';\nimport { DEFAULT_CLASS, WmTextStyles } from './text.styles';\nimport { WMTextInput } from '@wavemaker/app-rn-runtime/core/components/textinput.component';\nimport { BaseInputComponent, BaseInputState } from \"@wavemaker/app-rn-runtime/components/input/baseinput/baseinput.component\";\nimport { isNull } from 'lodash';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\n\nexport class WmTextState extends BaseInputState<WmTextProps> {\n}\n\nexport default class WmText extends BaseInputComponent<WmTextProps, WmTextState, WmTextStyles> {\n\n constructor(props: WmTextProps) {\n super(props, DEFAULT_CLASS, new WmTextProps(), new WmTextState());\n }\n\n public getStyleClassName(): string | undefined {\n const classes = [];\n if (this.state.props.floatinglabel) {\n classes.push('app-text-with-label'); \n }\n classes.push(super.getStyleClassName());\n return classes.join(' ');\n }\n\n public renderSkeleton(props: WmTextProps): React.ReactNode { \n let skeletonWidth, skeletonHeight;\n \n if(this.props.skeletonwidth == \"0\") {\n skeletonWidth = 0\n } else {\n skeletonWidth = this.props.skeletonwidth || this.styles.root?.width\n }\n\n if(this.props.skeletonheight == \"0\") {\n skeletonHeight = 0\n } else {\n skeletonHeight = this.props.skeletonheight || this.styles.root?.height;\n }\n\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: skeletonWidth as DimensionValue,\n height: skeletonHeight as DimensionValue\n })\n }\n\n renderWidget(props: WmTextProps) {\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.textValue?.toString() || '';\n return (\n <WMTextInput\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(\n AccessibilityWidgetType.TEXT,\n props\n )}\n ref={(ref: any) => {this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }}}\n {...opts}\n floatingLabel={props.floatinglabel}\n floatingLabelStyle={this.styles.floatingLabel}\n activeFloatingLabelStyle={this.styles.activeFloatingLabel}\n placeholderTextColor={this.styles.placeholderText.color as any}\n isInputFocused={ this.state.isInputFocused }\n style={[this.styles.root, this.styles.text, this.state.isValid ? {} : this.styles.invalid, this.state.isInputFocused ? this.styles.focused : {}]}\n keyboardType={this.state.keyboardType}\n autoComplete={props.autocomplete === \"true\" ? \"username\" : props.autocomplete === \"false\" ? \"off\" : props.autocomplete}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n secureTextEntry={props.type === 'password' && !props.maskchar ? true : false}\n displayformat={props.displayformat}\n background={this._background}\n maskchar={props.maskchar}\n maxLength={props.maxchars ?? undefined} \n placeholder={props.placeholder}\n onBlur={this.onBlur.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onKeyPress={this.onKeyPress.bind(this)}\n onChangeText={this.onChangeText.bind(this)}\n onChange={this.invokeChange.bind(this)}\n allowContentSelection={this.styles.text.userSelect === 'text'}\n autoCapitalize={props.autocapitalize}\n handleLayout={this.handleLayout}\n />\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -10,7 +10,6 @@ export default class WmTextProps extends BaseInputProps {
10
10
  _defineProperty(this, "skeletonheight", null);
11
11
  _defineProperty(this, "skeletonwidth", null);
12
12
  _defineProperty(this, "autocapitalize", 'none');
13
- _defineProperty(this, "uppercase", false);
14
13
  _defineProperty(this, "returnkeytype", 'auto');
15
14
  _defineProperty(this, "onSubmitEditing", () => {});
16
15
  }
@@ -1 +1 @@
1
- {"version":3,"names":["BaseInputProps","WmTextProps","constructor","args","_defineProperty"],"sources":["text.props.ts"],"sourcesContent":["import BaseInputProps from \"@wavemaker/app-rn-runtime/components/input/baseinput/baseinput.props\";\n\nexport default class WmTextProps extends BaseInputProps {\n floatinglabel?: string;\n placeholder: string = 'Enter text';\n skeletonheight?: string = null as any;\n skeletonwidth?: string = null as any;\n autocapitalize?: string = 'none';\n uppercase?: boolean = false;\n returnkeytype: 'auto' | 'next' | 'done' = 'auto';\n onSubmitEditing: Function = () => {};\n}\n"],"mappings":";;;AAAA,OAAOA,cAAc,MAAM,sEAAsE;AAEjG,eAAe,MAAMC,WAAW,SAASD,cAAc,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA,sBAEhC,YAAY;IAAAA,eAAA,yBACR,IAAI;IAAAA,eAAA,wBACL,IAAI;IAAAA,eAAA,yBACH,MAAM;IAAAA,eAAA,oBACV,KAAK;IAAAA,eAAA,wBACe,MAAM;IAAAA,eAAA,0BACnB,MAAM,CAAC,CAAC;EAAA;AACvC","ignoreList":[]}
1
+ {"version":3,"names":["BaseInputProps","WmTextProps","constructor","args","_defineProperty"],"sources":["text.props.ts"],"sourcesContent":["import BaseInputProps from \"@wavemaker/app-rn-runtime/components/input/baseinput/baseinput.props\";\n\nexport default class WmTextProps extends BaseInputProps {\n floatinglabel?: string;\n placeholder: string = 'Enter text';\n skeletonheight?: string = null as any;\n skeletonwidth?: string = null as any;\n autocapitalize?: string = 'none';\n returnkeytype: 'auto' | 'next' | 'done' = 'auto';\n onSubmitEditing: Function = () => {};\n}\n"],"mappings":";;;AAAA,OAAOA,cAAc,MAAM,sEAAsE;AAEjG,eAAe,MAAMC,WAAW,SAASD,cAAc,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA,sBAEhC,YAAY;IAAAA,eAAA,yBACR,IAAI;IAAAA,eAAA,wBACL,IAAI;IAAAA,eAAA,yBACH,MAAM;IAAAA,eAAA,wBACU,MAAM;IAAAA,eAAA,0BACnB,MAAM,CAAC,CAAC;EAAA;AACvC","ignoreList":[]}
@@ -42,7 +42,7 @@ export default class WmTextarea extends BaseInputComponent {
42
42
  });
43
43
  }
44
44
  renderWidget(props) {
45
- var _this$state$textValue;
45
+ var _this$state$textValue, _props$maxchars;
46
46
  let opts = {};
47
47
  const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';
48
48
  opts[valueExpr] = ((_this$state$textValue = this.state.textValue) === null || _this$state$textValue === void 0 ? void 0 : _this$state$textValue.toString()) || '';
@@ -69,7 +69,7 @@ export default class WmTextarea extends BaseInputComponent {
69
69
  autoComplete: props.autocomplete ? 'username' : 'off',
70
70
  autoFocus: props.autofocus,
71
71
  editable: props.disabled || props.readonly ? false : true,
72
- maxLength: props.maxchars,
72
+ maxLength: (_props$maxchars = props.maxchars) !== null && _props$maxchars !== void 0 ? _props$maxchars : undefined,
73
73
  placeholder: props.placeholder || 'Place your text',
74
74
  onBlur: this.onBlur.bind(this),
75
75
  onFocus: this.onFocus.bind(this),
@@ -1 +1 @@
1
- {"version":3,"names":["React","Platform","Text","WmTextareaProps","DEFAULT_CLASS","BaseInputComponent","BaseInputState","WMTextInput","isNull","AccessibilityWidgetType","getAccessibilityProps","createSkeleton","WmTextareaState","WmTextarea","constructor","props","getStyleClassName","classes","state","floatinglabel","push","join","renderSkeleton","skeletonWidth","skeletonHeight","skeletonwidth","_this$styles$root","styles","root","width","skeletonheight","_this$styles$root2","height","theme","skeleton","renderWidget","_this$state$textValue","opts","valueExpr","OS","textValue","toString","createElement","Fragment","_extends","getTestPropsForInput","TEXTAREA","ref","widgetRef","selectionStart","selectionEnd","cursor","placeholderTextColor","placeholderText","color","isInputFocused","style","text","isValid","invalid","focused","multiline","numberOfLines","background","_background","keyboardType","floatingLabel","floatingLabelStyle","activeFloatingLabelStyle","activeFloatingLabel","autoComplete","autocomplete","autoFocus","autofocus","editable","disabled","readonly","maxLength","maxchars","placeholder","onBlur","bind","onFocus","onKeyPress","onChangeText","onChange","invokeChange","allowContentSelection","userSelect","handleLayout","limitdisplaytext","helpText"],"sources":["textarea.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Platform,Text } from 'react-native';\nimport WmTextareaProps from './textarea.props';\nimport { DEFAULT_CLASS, WmTextareaStyles } from './textarea.styles';\nimport {\n BaseInputComponent,\n BaseInputState\n} from '@wavemaker/app-rn-runtime/components/input/baseinput/baseinput.component';\nimport { WMTextInput } from '@wavemaker/app-rn-runtime/core/components/textinput.component';\nimport { isNull } from 'lodash';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\n\nexport class WmTextareaState extends BaseInputState<WmTextareaProps> {}\n\nexport default class WmTextarea extends BaseInputComponent<WmTextareaProps, WmTextareaState, WmTextareaStyles> {\n\n constructor(props: WmTextareaProps) {\n super(props, DEFAULT_CLASS, new WmTextareaProps(), new WmTextareaState());\n }\n\n public getStyleClassName(): string | undefined {\n const classes = [];\n if (this.state.props.floatinglabel) {\n classes.push('app-textarea-with-label'); \n }\n classes.push(super.getStyleClassName());\n return classes.join(' ');\n }\n\n public renderSkeleton(props: WmTextareaProps): React.ReactNode {\n let skeletonWidth, skeletonHeight;\n if(this.props.skeletonwidth == \"0\") {\n skeletonWidth = 0\n } else {\n skeletonWidth = this.props.skeletonwidth || this.styles.root?.width\n }\n\n if(this.props.skeletonheight == \"0\") {\n skeletonHeight = 0\n } else {\n skeletonHeight = this.props.skeletonheight || this.styles.root?.height;\n }\n\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: skeletonWidth as DimensionValue,\n height: skeletonHeight as DimensionValue\n });\n }\n\n renderWidget(props: WmTextareaProps) {\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.textValue?.toString() || '';\n return ( \n <>\n <WMTextInput\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(\n AccessibilityWidgetType.TEXTAREA,\n props\n )}\n ref={(ref: any) => {this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }}}\n placeholderTextColor={this.styles.placeholderText.color as any}\n isInputFocused={ this.state.isInputFocused }\n style={[this.styles.root, this.styles.text, this.state.isValid ? {} : this.styles.invalid, this.state.isInputFocused ? this.styles.focused : {}]}\n multiline={true}\n numberOfLines={4}\n background={this._background}\n keyboardType={this.state.keyboardType}\n {...opts}\n floatingLabel={props.floatinglabel}\n floatingLabelStyle={this.styles.floatingLabel}\n activeFloatingLabelStyle={this.styles.activeFloatingLabel}\n autoComplete={props.autocomplete ? 'username' : 'off'}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n maxLength={props.maxchars}\n placeholder={props.placeholder || 'Place your text'}\n onBlur={this.onBlur.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onKeyPress={this.onKeyPress.bind(this)}\n onChangeText={this.onChangeText.bind(this)}\n onChange={this.invokeChange.bind(this)}\n allowContentSelection={this.styles.text.userSelect === 'text'}\n handleLayout={this.handleLayout}\n />\n { (props.maxchars && props.limitdisplaytext) && <Text\n style={[\n this.styles.helpText\n ]} > \n {props.limitdisplaytext} \n </Text>}\n </>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Platform","Text","WmTextareaProps","DEFAULT_CLASS","BaseInputComponent","BaseInputState","WMTextInput","isNull","AccessibilityWidgetType","getAccessibilityProps","createSkeleton","WmTextareaState","WmTextarea","constructor","props","getStyleClassName","classes","state","floatinglabel","push","join","renderSkeleton","skeletonWidth","skeletonHeight","skeletonwidth","_this$styles$root","styles","root","width","skeletonheight","_this$styles$root2","height","theme","skeleton","renderWidget","_this$state$textValue","_props$maxchars","opts","valueExpr","OS","textValue","toString","createElement","Fragment","_extends","getTestPropsForInput","TEXTAREA","ref","widgetRef","selectionStart","selectionEnd","cursor","placeholderTextColor","placeholderText","color","isInputFocused","style","text","isValid","invalid","focused","multiline","numberOfLines","background","_background","keyboardType","floatingLabel","floatingLabelStyle","activeFloatingLabelStyle","activeFloatingLabel","autoComplete","autocomplete","autoFocus","autofocus","editable","disabled","readonly","maxLength","maxchars","undefined","placeholder","onBlur","bind","onFocus","onKeyPress","onChangeText","onChange","invokeChange","allowContentSelection","userSelect","handleLayout","limitdisplaytext","helpText"],"sources":["textarea.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Platform,Text } from 'react-native';\nimport WmTextareaProps from './textarea.props';\nimport { DEFAULT_CLASS, WmTextareaStyles } from './textarea.styles';\nimport {\n BaseInputComponent,\n BaseInputState\n} from '@wavemaker/app-rn-runtime/components/input/baseinput/baseinput.component';\nimport { WMTextInput } from '@wavemaker/app-rn-runtime/core/components/textinput.component';\nimport { isNull } from 'lodash';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\n\nexport class WmTextareaState extends BaseInputState<WmTextareaProps> {}\n\nexport default class WmTextarea extends BaseInputComponent<WmTextareaProps, WmTextareaState, WmTextareaStyles> {\n\n constructor(props: WmTextareaProps) {\n super(props, DEFAULT_CLASS, new WmTextareaProps(), new WmTextareaState());\n }\n\n public getStyleClassName(): string | undefined {\n const classes = [];\n if (this.state.props.floatinglabel) {\n classes.push('app-textarea-with-label'); \n }\n classes.push(super.getStyleClassName());\n return classes.join(' ');\n }\n\n public renderSkeleton(props: WmTextareaProps): React.ReactNode {\n let skeletonWidth, skeletonHeight;\n if(this.props.skeletonwidth == \"0\") {\n skeletonWidth = 0\n } else {\n skeletonWidth = this.props.skeletonwidth || this.styles.root?.width\n }\n\n if(this.props.skeletonheight == \"0\") {\n skeletonHeight = 0\n } else {\n skeletonHeight = this.props.skeletonheight || this.styles.root?.height;\n }\n\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: skeletonWidth as DimensionValue,\n height: skeletonHeight as DimensionValue\n });\n }\n\n renderWidget(props: WmTextareaProps) {\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.textValue?.toString() || '';\n return ( \n <>\n <WMTextInput\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(\n AccessibilityWidgetType.TEXTAREA,\n props\n )}\n ref={(ref: any) => {this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }}}\n placeholderTextColor={this.styles.placeholderText.color as any}\n isInputFocused={ this.state.isInputFocused }\n style={[this.styles.root, this.styles.text, this.state.isValid ? {} : this.styles.invalid, this.state.isInputFocused ? this.styles.focused : {}]}\n multiline={true}\n numberOfLines={4}\n background={this._background}\n keyboardType={this.state.keyboardType}\n {...opts}\n floatingLabel={props.floatinglabel}\n floatingLabelStyle={this.styles.floatingLabel}\n activeFloatingLabelStyle={this.styles.activeFloatingLabel}\n autoComplete={props.autocomplete ? 'username' : 'off'}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n maxLength={props.maxchars ?? undefined}\n placeholder={props.placeholder || 'Place your text'}\n onBlur={this.onBlur.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onKeyPress={this.onKeyPress.bind(this)}\n onChangeText={this.onChangeText.bind(this)}\n onChange={this.invokeChange.bind(this)}\n allowContentSelection={this.styles.text.userSelect === 'text'}\n handleLayout={this.handleLayout}\n />\n { (props.maxchars && props.limitdisplaytext) && <Text\n style={[\n this.styles.helpText\n ]} > \n {props.limitdisplaytext} \n </Text>}\n </>);\n }\n}\n"],"mappings":"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","ignoreList":[]}