@wavemaker/app-rn-runtime 11.7.5-4.5693 → 11.7.5-4.5702

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.
@@ -13,7 +13,7 @@ import { DEFAULT_CLASS } from './datetime/datetime.styles';
13
13
  import WebDatePicker from './date-picker.component';
14
14
  import { isNumber, isString } from 'lodash-es';
15
15
  import { ModalConsumer } from '@wavemaker/app-rn-runtime/core/modal.service';
16
- import { validateField } from '@wavemaker/app-rn-runtime/core/utils';
16
+ import { isDateFormatAsPerPattern, validateField } from '@wavemaker/app-rn-runtime/core/utils';
17
17
  import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
18
18
  import { FloatingLabel } from '@wavemaker/app-rn-runtime/core/components/floatinglabel.component';
19
19
  import AppI18nService from '@wavemaker/app-rn-runtime/runtime/services/app-i18n.service';
@@ -92,6 +92,9 @@ export default class BaseDatetime extends BaseComponent {
92
92
  return null;
93
93
  }
94
94
  }
95
+ momentPattern(pattern) {
96
+ return pattern === null || pattern === void 0 ? void 0 : pattern.replaceAll('y', 'Y').replaceAll('d', 'D');
97
+ }
95
98
  onPropertyChange(name, $new, $old) {
96
99
  super.onPropertyChange(name, $new, $old);
97
100
  const props = this.state.props;
@@ -127,9 +130,15 @@ export default class BaseDatetime extends BaseComponent {
127
130
  case 'mindate':
128
131
  if (isString($new)) {
129
132
  const minDateVal = $new === CURRENT_DATE || $new === CURRENT_TIME ? new Date() : props.mindate;
133
+ // * check if supplied mindate is as per datepattern
134
+ const isMinMatchingPattern = minDateVal ? isDateFormatAsPerPattern(this.momentPattern(props.datepattern), minDateVal) : false;
135
+ // * min date formatted as per datepattern
136
+ const minDatePatternFormatted = minDateVal && isMinMatchingPattern ? moment(moment(minDateVal, this.momentPattern(props.datepattern)).format('YYYY-MM-DD')) : null;
137
+ // * min date formatted as per ISO, if mindate supplied is not as per datepattern
138
+ const formattedMinDate = minDatePatternFormatted && isMinMatchingPattern ? minDatePatternFormatted.toDate() : moment(minDateVal).toDate();
130
139
  this.updateState({
131
140
  props: {
132
- mindate: moment(minDateVal, props.datepattern).toDate()
141
+ mindate: formattedMinDate
133
142
  }
134
143
  });
135
144
  }
@@ -137,9 +146,15 @@ export default class BaseDatetime extends BaseComponent {
137
146
  case 'maxdate':
138
147
  if (isString($new)) {
139
148
  const maxDateVal = $new === CURRENT_DATE || $new === CURRENT_TIME ? new Date() : props.maxdate;
149
+ // * check if supplied maxdate is as per datepattern
150
+ const isMaxMatchingPattern = maxDateVal ? isDateFormatAsPerPattern(this.momentPattern(props.datepattern), maxDateVal) : false;
151
+ // * max date formatted as per datepattern
152
+ const maxDatePatternFormatted = maxDateVal && isMaxMatchingPattern ? moment(moment(maxDateVal, this.momentPattern(props.datepattern)).format('YYYY-MM-DD')) : null;
153
+ // * max date formatted as per ISO, if maxdate supplied is not as per datepattern
154
+ const formattedMaxDate = maxDatePatternFormatted && isMaxMatchingPattern ? maxDatePatternFormatted.toDate() : moment(maxDateVal).toDate();
140
155
  this.updateState({
141
156
  props: {
142
- maxdate: moment(maxDateVal, props.datepattern).toDate()
157
+ maxdate: formattedMaxDate
143
158
  }
144
159
  });
145
160
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","Platform","TouchableOpacity","moment","DateTimePicker","BaseComponent","BaseComponentState","WmIcon","WmDatetimeProps","DEFAULT_CLASS","WebDatePicker","isNumber","isString","ModalConsumer","validateField","AccessibilityWidgetType","getAccessibilityProps","FloatingLabel","AppI18nService","WmButton","WmDatePickerModal","WmTimePickerModal","BaseDatetimeState","constructor","arguments","_defineProperty","CURRENT_DATE","CURRENT_TIME","BaseDatetime","props","defaultClass","length","undefined","defaultProps","defaultState","format","date","Date","getTime","parse","parseInt","toDate","monitorAndUpdateCurrentTime","stopCurrentTimeMonitor","timerId","setInterval","updateState","readonly","datavalue","now","state","clearInterval","convertTimezone","timezone","getTimezone","parsedDateString","toLocaleString","locale","timeZone","onPropertyChange","name","$new","$old","invokeEventCallback","prevDatavalue","outputformat","datepattern","dateValue","displayValue","onFieldChange","minDateVal","mindate","maxDateVal","maxdate","disabled","onDateChange","$event","validate","modes","shift","isFocused","showDatePicker","timestamp","onBlur","OS","setTimeout","triggerValidation","onFocus","mode","showDatePickerModal","showTimePickerModal","value","validationObj","setState","isValid","errorType","componentWillUnmount","renderWebWidget","createElement","onDismiss","minimumDate","maximumDate","renderNativeWidget","_extends","DATE","is24Hour","display","onChange","event","dateSelected","set","getMonth","getFullYear","getDate","renderNativeIOSWidget","date_change","style","styles","dialog","actionWrapper","selectBtn","caption","onTap","cancelBtn","renderNativeIOSWidgetWithModal","modalService","nativeModalOptions","content","Fragment","hideModal","centered","onClose","showModal","renderNativeWidgetWithModal","addTouchableOpacity","children","_children$props","hint","accessibilityProps","accessible","accessibilityHint","getTestPropsForAction","onPress","getIcon","renderWidget","is12HourFormat","test","is24hour","root","invalid","focused","_background","floatinglabel","moveUp","label","placeholder","floatingLabel","activeFloatingLabel","container","text","placeholderText","getTestPropsForLabel","flex","isRTL","flexDirection","textAlign","iconclass","color","clearIcon","id","getTestId","accessibilitylabel","clearBtnClicked","calendarIcon","iswheelpicker","isVisible","minDate","maxDate","selectedDate","onSelect","onCancel","selectedDateTime","time"],"sources":["base-datetime.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, Platform, TouchableOpacity, ViewStyle } from 'react-native';\nimport moment from 'moment';\nimport DateTimePicker, { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmDatetimeProps from './datetime/datetime.props';\nimport { DEFAULT_CLASS, WmDatetimeStyles } from './datetime/datetime.styles';\nimport WebDatePicker from './date-picker.component';\nimport { isNumber, isString } from 'lodash-es';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { FloatingLabel } from '@wavemaker/app-rn-runtime/core/components/floatinglabel.component';\nimport AppI18nService from '@wavemaker/app-rn-runtime/runtime/services/app-i18n.service';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport WmDatePickerModal from './wheelpickermodal/date/date-picker-modal.component';\nimport WmTimePickerModal from './wheelpickermodal/time/time-picker-modal.component';\n\nexport class BaseDatetimeState extends BaseComponentState<WmDatetimeProps> {\n showDatePicker = false;\n showDatePickerModal = false;\n showTimePickerModal = false;\n dateValue: Date = null as any;\n displayValue: string = null as any;\n isFocused = false;\n timerId: NodeJS.Timer = null as any;\n isValid: boolean = true;\n errorType = '';\n}\n\nconst CURRENT_DATE = 'CURRENT_DATE';\nconst CURRENT_TIME = 'CURRENT_TIME';\n\nexport default abstract class BaseDatetime extends BaseComponent<WmDatetimeProps, BaseDatetimeState, WmDatetimeStyles> {\n clearBtnClicked = false;\n modes = [] as string[];\n nativeModalOptions: ModalOptions = {} as any;\n prevDatavalue: any;\n\n constructor(props: WmDatetimeProps, defaultClass = DEFAULT_CLASS, defaultProps = new WmDatetimeProps(), defaultState= new BaseDatetimeState()) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n format(date: Date | number | undefined, format: string) {\n if (format === 'timestamp') {\n return date instanceof Date ? '' + date.getTime() : date;\n }\n return date && moment(date).format(format);\n }\n\n parse(date: string | number, format: string) {\n if (format === 'timestamp') {\n if (isString(date)) {\n return new Date(parseInt(date));\n }\n if (isNumber(date)) {\n return new Date(date);\n }\n }\n return date && moment(date, format).toDate();\n }\n\n private monitorAndUpdateCurrentTime() {\n this.stopCurrentTimeMonitor();\n const timerId = setInterval(() => {\n this.updateState({\n props: {\n readonly: true,\n datavalue: Date.now()\n },\n timerId: timerId\n } as any as BaseDatetimeState);\n }, 1000);\n }\n\n private stopCurrentTimeMonitor() {\n if (this.state.timerId) {\n clearInterval(this.state.timerId as any);\n }\n }\n\n convertTimezone(date: any){ \n const timezone = AppI18nService.getTimezone();\n if (timezone) {\n const parsedDateString = new Date(date).toLocaleString(this.props.locale ? this.props.locale : 'en-us', { timeZone: timezone });\n return moment(parsedDateString, 'M/D/YYYY, h:mm:ss A');\n }\n else {\n return null;\n }\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n switch(name) {\n //@ts-ignore\n case 'datavalue':\n this.invokeEventCallback('onChange', [null, this, $new, $old]);\n this.prevDatavalue = $old;\n if (props.datavalue === CURRENT_TIME) {\n this.monitorAndUpdateCurrentTime();\n }\n case 'datepattern':\n case 'outputformat':\n if (props.datavalue && props.outputformat && props.datepattern) {\n let datavalue: any = props.datavalue;\n if (datavalue === CURRENT_DATE || datavalue === CURRENT_TIME) {\n datavalue = new Date() as any;\n }\n const date = isString(datavalue) ? this.parse(datavalue as string, props.outputformat) : datavalue;\n datavalue = this.convertTimezone(datavalue);\n this.updateState({\n dateValue : date,\n displayValue: this.format(datavalue?datavalue:date as any, props.datepattern)\n } as BaseDatetimeState);\n } else {\n this.updateState({\n dateValue : null as any,\n displayValue: null as any\n } as BaseDatetimeState);\n }\n this.props.onFieldChange && this.props.onFieldChange('datavalue', props.datavalue, this.prevDatavalue);\n break;\n case 'mindate':\n if (isString($new)) {\n const minDateVal = ($new === CURRENT_DATE || $new === CURRENT_TIME) ? new Date() : props.mindate;\n this.updateState({\n props: {\n mindate: moment(minDateVal, props.datepattern).toDate()\n }\n } as BaseDatetimeState);\n }\n break;\n case 'maxdate':\n if (isString($new)) {\n const maxDateVal = ($new === CURRENT_DATE || $new === CURRENT_TIME) ? new Date() : props.maxdate;\n this.updateState({\n props: {\n maxdate: moment(maxDateVal, props.datepattern).toDate()\n }\n } as BaseDatetimeState);\n }\n break;\n case 'readonly':\n this.updateState({\n props: {\n disabled: $new\n }\n } as BaseDatetimeState)\n break;\n }\n }\n\n onDateChange($event: DateTimePickerEvent, date?: Date) {\n this.validate(date);\n this.modes.shift();\n this.updateState({\n isFocused: false,\n showDatePicker: !!this.modes.length,\n props: {\n datavalue: this.format(date, this.state.props.outputformat as string),\n timestamp: this.format(date, 'timestamp')\n }\n } as BaseDatetimeState);\n }\n\n onBlur() {\n if (Platform.OS === 'web') {\n this.validate(this.state.props.datavalue);\n setTimeout(() => this.props.triggerValidation && this.props.triggerValidation());\n }\n this.invokeEventCallback('onBlur', [null, this]);\n }\n\n onFocus() {\n if (!this.state.props.readonly) {\n if (Platform.OS !== 'web' && this.state.props.mode === 'datetime') {\n this.modes = ['date', 'time'];\n } else {\n this.modes = [this.state.props.mode];\n }\n this.updateState({showDatePicker: true, isFocused: true} as BaseDatetimeState);\n if (this.state.props.mode === 'date') {\n this.updateState({showDatePickerModal: true} as BaseDatetimeState);\n }\n if (this.state.props.mode === 'time') {\n this.updateState({showTimePickerModal: true} as BaseDatetimeState);\n }\n if (this.state.props.mode === 'datetime') {\n this.updateState({showDatePickerModal: true} as BaseDatetimeState);\n }\n this.invokeEventCallback('onFocus', [null, this]);\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 BaseDatetimeState)\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n this.stopCurrentTimeMonitor();\n }\n\n renderWebWidget(props: WmDatetimeProps) {\n return (<WebDatePicker\n mode={this.state.props.mode}\n locale={props.locale}\n value={this.state.dateValue || new Date()}\n onDateChange={(date: Date) => this.onDateChange(null as any, date)}\n onDismiss={() =>\n this.updateState({\n isFocused: false,\n showDatePicker: false\n } as BaseDatetimeState, () => this.onBlur())}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}/>);\n }\n\n renderNativeWidget(props: WmDatetimeProps, onDismiss?: Function) {\n return (<DateTimePicker\n mode={this.modes[0] as any}\n {...getAccessibilityProps(AccessibilityWidgetType.DATE, {...this.state.props})}\n value={this.state.dateValue || new Date()}\n is24Hour={true}\n display='default'\n onChange={(event: DateTimePickerEvent, date?: Date) => {\n if (date && this.state.props.mode === 'datetime' && this.modes[0] === 'time') {\n const dateSelected = this.state.dateValue;\n date = moment(date)\n .set('month', dateSelected.getMonth())\n .set('year', dateSelected.getFullYear())\n .set('date', dateSelected.getDate())\n .toDate();\n }\n this.onDateChange(event, date || this.state.dateValue);\n if (this.modes.length <= 1) {\n this.onBlur();\n onDismiss && onDismiss();\n }\n }}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}\n />\n );\n }\n\n renderNativeIOSWidget(props: WmDatetimeProps, onDismiss?: Function) {\n let date_change : any = undefined;\n return (<View style={this.styles.dialog}>\n <DateTimePicker\n mode={this.modes[0] as any}\n value={this.state.dateValue || new Date()}\n is24Hour={true}\n display='spinner'\n onChange={(event: DateTimePickerEvent, date?: Date) => {\n if (date && this.state.props.mode === 'datetime' && this.modes[0] === 'time') {\n const dateSelected = this.state.dateValue;\n date = moment(date)\n .set('month', dateSelected.getMonth())\n .set('year', dateSelected.getFullYear())\n .set('date', dateSelected.getDate())\n .toDate();\n }\n date_change = date;\n }}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}\n />\n <View style={this.styles.actionWrapper}>\n <WmButton styles={this.styles.selectBtn} caption='Select' onTap={() => {\n this.onDateChange(null as any, date_change || this.state.dateValue || new Date());\n if (this.modes.length <= 1) {\n this.onBlur();\n onDismiss && onDismiss();\n }\n }} />\n <WmButton styles={this.styles.cancelBtn} caption='Cancel' onTap={() => {\n this.modes.shift();\n this.onDateChange(null as any, this.state.dateValue || undefined);\n this.onBlur();\n onDismiss && onDismiss();\n }} />\n </View>\n </View>\n );\n }\n\n renderNativeIOSWidgetWithModal(props: WmDatetimeProps) {\n return (<ModalConsumer>{(modalService: ModalService) => {\n this.nativeModalOptions.content = (<>\n {this.renderNativeIOSWidget(props, () => modalService.hideModal(this.nativeModalOptions))}\n </>);\n this.nativeModalOptions.centered = true;\n this.nativeModalOptions.onClose = () => {\n this.onBlur();\n };\n modalService.showModal(this.nativeModalOptions);\n return null;\n }}</ModalConsumer>);\n }\n\n renderNativeWidgetWithModal(props: WmDatetimeProps) {\n return (<ModalConsumer>{(modalService: ModalService) => {\n this.nativeModalOptions.content = (<>\n {this.renderNativeWidget(props, () => modalService.hideModal(this.nativeModalOptions))}\n </>);\n this.nativeModalOptions.centered = true;\n this.nativeModalOptions.onClose = () => {\n this.onBlur();\n };\n modalService.showModal(this.nativeModalOptions);\n return null;\n }}</ModalConsumer>);\n }\n\n addTouchableOpacity(props: WmDatetimeProps, children: React.JSX.Element, styles?: any) : React.ReactNode{\n const hint = children?.props?.hint;\n const accessibilityProps = hint ? {accessible: true, accessibilityHint: hint} : {};\n\n return (\n <TouchableOpacity \n {...this.getTestPropsForAction()} \n {...accessibilityProps}\n style={styles} onPress={() => {\n if (!props.readonly) {\n this.onFocus();\n }\n this.invokeEventCallback('onTap', [null, this]);\n }}>\n {children}\n </TouchableOpacity>\n );\n }\n\n getIcon() {\n if (this.state.props.mode === 'time') {\n return 'wm-sl-l sl-time'\n }\n return 'wm-sl-l sl-calendar';\n }\n\n renderWidget(props: WmDatetimeProps) {\n const is12HourFormat = props?.datepattern && /hh:mm(:ss|:sss)? a/.test(props.datepattern);\n const is24Hour = is12HourFormat ? false : props.is24hour;\n return ( \n this.addTouchableOpacity(props, (\n <View style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid, this.state.isFocused ? this.styles.focused : null]}>\n {this._background}\n {props.floatinglabel ? (\n <FloatingLabel\n moveUp={!!(props.datavalue || this.state.isFocused)}\n label={props.floatinglabel ?? props.placeholder} \n style={{\n ...(this.styles.floatingLabel || []),\n ...(this.state.isFocused ? (this.styles.activeFloatingLabel || {}) : {})\n }}\n />\n ) : null}\n <View style={this.styles.container}>\n {this.addTouchableOpacity(props, (\n <Text style={[\n this.styles.text,\n this.state.displayValue ? {} : this.styles.placeholderText\n ]}\n {...this.getTestPropsForLabel()}>\n {this.state.displayValue \n || (props.floatinglabel ? '' : this.state.props.placeholder)}\n </Text>\n ), [{ flex: 1}, this.isRTL?{flexDirection:'row', textAlign:'right'}:{}] )}\n {(!props.readonly && props.datavalue &&\n (<WmIcon iconclass=\"wi wi-clear\"\n styles={{color: this.styles.text.color, ...this.styles.clearIcon}}\n id={this.getTestId('clearicon')}\n accessibilitylabel={`clear ${props?.mode}`}\n onTap={() => {\n this.onDateChange(null as any, null as any);\n this.clearBtnClicked = true;\n }}/>)) || null}\n {this.addTouchableOpacity(props, (\n <WmIcon iconclass={this.getIcon()} styles={{color: this.styles.text.color, ...this.styles.calendarIcon}} hint={props?.hint}/>\n ))}\n </View>\n {\n this.state.showDatePicker\n && ((Platform.OS === 'web' && this.renderWebWidget(props))\n || (!props.iswheelpicker && Platform.OS === 'android' && this.renderNativeWidget(props))\n || (!props.iswheelpicker && Platform.OS === 'ios' && this.renderNativeIOSWidgetWithModal(props)))\n }\n {(Platform.OS !== 'web' && props.iswheelpicker && this.state.showDatePickerModal) && (\n <WmDatePickerModal\n isVisible={this.state.showDatePickerModal}\n onClose={() => this.updateState({showDatePickerModal: false} as BaseDatetimeState)}\n minDate={props.mindate}\n maxDate={props.maxdate}\n selectedDate={this.state.dateValue}\n onSelect={(date: Date) => {\n this.onDateChange(null as any, date);\n this.updateState({\n isFocused: false,\n showDatePickerModal: false\n } as BaseDatetimeState, () => {\n this.onBlur();\n\n // * showing time picker after selecting date in datetime mode\n if (this.state.props.mode === \"datetime\") {\n this.setState({\n showTimePickerModal: true,\n })\n }\n });\n }}\n onCancel={() => {\n // this.onDateChange(null as any, this.state.dateValue || undefined);\n this.updateState({\n isFocused: false,\n showDatePickerModal: false\n } as BaseDatetimeState, () => this.onBlur());\n }}\n />\n )}\n {(Platform.OS !== 'web' && props.iswheelpicker && this.state.showTimePickerModal) && (\n <WmTimePickerModal\n selectedDateTime={this.state.dateValue}\n is24Hour={is24Hour}\n isVisible={this.state.showTimePickerModal}\n onClose={() => this.updateState({isFocused: false, showTimePickerModal: false} as BaseDatetimeState)}\n onSelect={(time: Date) => {\n this.onDateChange(null as any, time);\n this.updateState({\n isFocused: false,\n showTimePickerModal: false\n } as BaseDatetimeState, () => this.onBlur());\n }}\n onCancel={() => {\n // this.onDateChange(null as any, this.state.dateValue || undefined);\n this.updateState({\n isFocused: false,\n showTimePickerModal: false\n } as BaseDatetimeState, () => {\n this.onBlur();\n this.modes.shift();\n });\n }}\n />\n )}\n </View>\n ))\n );\n }\n}\n\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","View","Text","Platform","TouchableOpacity","moment","DateTimePicker","BaseComponent","BaseComponentState","WmIcon","WmDatetimeProps","DEFAULT_CLASS","WebDatePicker","isNumber","isString","ModalConsumer","isDateFormatAsPerPattern","validateField","AccessibilityWidgetType","getAccessibilityProps","FloatingLabel","AppI18nService","WmButton","WmDatePickerModal","WmTimePickerModal","BaseDatetimeState","constructor","arguments","_defineProperty","CURRENT_DATE","CURRENT_TIME","BaseDatetime","props","defaultClass","length","undefined","defaultProps","defaultState","format","date","Date","getTime","parse","parseInt","toDate","monitorAndUpdateCurrentTime","stopCurrentTimeMonitor","timerId","setInterval","updateState","readonly","datavalue","now","state","clearInterval","convertTimezone","timezone","getTimezone","parsedDateString","toLocaleString","locale","timeZone","momentPattern","pattern","replaceAll","onPropertyChange","name","$new","$old","invokeEventCallback","prevDatavalue","outputformat","datepattern","dateValue","displayValue","onFieldChange","minDateVal","mindate","isMinMatchingPattern","minDatePatternFormatted","formattedMinDate","maxDateVal","maxdate","isMaxMatchingPattern","maxDatePatternFormatted","formattedMaxDate","disabled","onDateChange","$event","validate","modes","shift","isFocused","showDatePicker","timestamp","onBlur","OS","setTimeout","triggerValidation","onFocus","mode","showDatePickerModal","showTimePickerModal","value","validationObj","setState","isValid","errorType","componentWillUnmount","renderWebWidget","createElement","onDismiss","minimumDate","maximumDate","renderNativeWidget","_extends","DATE","is24Hour","display","onChange","event","dateSelected","set","getMonth","getFullYear","getDate","renderNativeIOSWidget","date_change","style","styles","dialog","actionWrapper","selectBtn","caption","onTap","cancelBtn","renderNativeIOSWidgetWithModal","modalService","nativeModalOptions","content","Fragment","hideModal","centered","onClose","showModal","renderNativeWidgetWithModal","addTouchableOpacity","children","_children$props","hint","accessibilityProps","accessible","accessibilityHint","getTestPropsForAction","onPress","getIcon","renderWidget","is12HourFormat","test","is24hour","root","invalid","focused","_background","floatinglabel","moveUp","label","placeholder","floatingLabel","activeFloatingLabel","container","text","placeholderText","getTestPropsForLabel","flex","isRTL","flexDirection","textAlign","iconclass","color","clearIcon","id","getTestId","accessibilitylabel","clearBtnClicked","calendarIcon","iswheelpicker","isVisible","minDate","maxDate","selectedDate","onSelect","onCancel","selectedDateTime","time"],"sources":["base-datetime.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, Platform, TouchableOpacity, ViewStyle } from 'react-native';\nimport moment from 'moment';\nimport DateTimePicker, { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmDatetimeProps from './datetime/datetime.props';\nimport { DEFAULT_CLASS, WmDatetimeStyles } from './datetime/datetime.styles';\nimport WebDatePicker from './date-picker.component';\nimport { isNumber, isString } from 'lodash-es';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { isDateFormatAsPerPattern, validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { FloatingLabel } from '@wavemaker/app-rn-runtime/core/components/floatinglabel.component';\nimport AppI18nService from '@wavemaker/app-rn-runtime/runtime/services/app-i18n.service';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport WmDatePickerModal from './wheelpickermodal/date/date-picker-modal.component';\nimport WmTimePickerModal from './wheelpickermodal/time/time-picker-modal.component';\n\nexport class BaseDatetimeState extends BaseComponentState<WmDatetimeProps> {\n showDatePicker = false;\n showDatePickerModal = false;\n showTimePickerModal = false;\n dateValue: Date = null as any;\n displayValue: string = null as any;\n isFocused = false;\n timerId: NodeJS.Timer = null as any;\n isValid: boolean = true;\n errorType = '';\n}\n\nconst CURRENT_DATE = 'CURRENT_DATE';\nconst CURRENT_TIME = 'CURRENT_TIME';\n\nexport default abstract class BaseDatetime extends BaseComponent<WmDatetimeProps, BaseDatetimeState, WmDatetimeStyles> {\n clearBtnClicked = false;\n modes = [] as string[];\n nativeModalOptions: ModalOptions = {} as any;\n prevDatavalue: any;\n\n constructor(props: WmDatetimeProps, defaultClass = DEFAULT_CLASS, defaultProps = new WmDatetimeProps(), defaultState= new BaseDatetimeState()) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n format(date: Date | number | undefined, format: string) {\n if (format === 'timestamp') {\n return date instanceof Date ? '' + date.getTime() : date;\n }\n return date && moment(date).format(format);\n }\n\n parse(date: string | number, format: string) {\n if (format === 'timestamp') {\n if (isString(date)) {\n return new Date(parseInt(date));\n }\n if (isNumber(date)) {\n return new Date(date);\n }\n }\n return date && moment(date, format).toDate();\n }\n\n private monitorAndUpdateCurrentTime() {\n this.stopCurrentTimeMonitor();\n const timerId = setInterval(() => {\n this.updateState({\n props: {\n readonly: true,\n datavalue: Date.now()\n },\n timerId: timerId\n } as any as BaseDatetimeState);\n }, 1000);\n }\n\n private stopCurrentTimeMonitor() {\n if (this.state.timerId) {\n clearInterval(this.state.timerId as any);\n }\n }\n\n convertTimezone(date: any){ \n const timezone = AppI18nService.getTimezone();\n if (timezone) {\n const parsedDateString = new Date(date).toLocaleString(this.props.locale ? this.props.locale : 'en-us', { timeZone: timezone });\n return moment(parsedDateString, 'M/D/YYYY, h:mm:ss A');\n }\n else {\n return null;\n }\n }\n\n momentPattern(pattern : String) {\n return pattern?.replaceAll('y', 'Y').replaceAll('d', 'D');\n}\n\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n switch(name) {\n //@ts-ignore\n case 'datavalue':\n this.invokeEventCallback('onChange', [null, this, $new, $old]);\n this.prevDatavalue = $old;\n if (props.datavalue === CURRENT_TIME) {\n this.monitorAndUpdateCurrentTime();\n }\n case 'datepattern':\n case 'outputformat':\n if (props.datavalue && props.outputformat && props.datepattern) {\n let datavalue: any = props.datavalue;\n if (datavalue === CURRENT_DATE || datavalue === CURRENT_TIME) {\n datavalue = new Date() as any;\n }\n const date = isString(datavalue) ? this.parse(datavalue as string, props.outputformat) : datavalue;\n datavalue = this.convertTimezone(datavalue);\n this.updateState({\n dateValue : date,\n displayValue: this.format(datavalue?datavalue:date as any, props.datepattern)\n } as BaseDatetimeState);\n } else {\n this.updateState({\n dateValue : null as any,\n displayValue: null as any\n } as BaseDatetimeState);\n }\n this.props.onFieldChange && this.props.onFieldChange('datavalue', props.datavalue, this.prevDatavalue);\n break;\n case 'mindate':\n if (isString($new)) {\n const minDateVal = ($new === CURRENT_DATE || $new === CURRENT_TIME) ? new Date() : props.mindate;\n // * check if supplied mindate is as per datepattern\n const isMinMatchingPattern = minDateVal\n ? isDateFormatAsPerPattern(this.momentPattern(props.datepattern as String), minDateVal)\n : false;\n // * min date formatted as per datepattern\n const minDatePatternFormatted = minDateVal && isMinMatchingPattern ? moment(\n moment(\n minDateVal,\n this.momentPattern(props.datepattern as String)\n ).format('YYYY-MM-DD')\n ) : null;\n // * min date formatted as per ISO, if mindate supplied is not as per datepattern\n const formattedMinDate = minDatePatternFormatted && isMinMatchingPattern\n ? minDatePatternFormatted.toDate()\n : moment(minDateVal).toDate();\n this.updateState({\n props: {\n mindate: formattedMinDate\n }\n } as BaseDatetimeState);\n }\n break;\n case 'maxdate':\n if (isString($new)) {\n const maxDateVal = ($new === CURRENT_DATE || $new === CURRENT_TIME) ? new Date() : props.maxdate;\n // * check if supplied maxdate is as per datepattern\n const isMaxMatchingPattern = maxDateVal\n ? isDateFormatAsPerPattern(this.momentPattern(props.datepattern as String), maxDateVal)\n : false;\n // * max date formatted as per datepattern\n const maxDatePatternFormatted = maxDateVal && isMaxMatchingPattern ? moment(\n moment(\n maxDateVal,\n this.momentPattern(props.datepattern as String)\n ).format('YYYY-MM-DD')\n ) : null;\n // * max date formatted as per ISO, if maxdate supplied is not as per datepattern\n const formattedMaxDate = maxDatePatternFormatted && isMaxMatchingPattern\n ? maxDatePatternFormatted.toDate()\n : moment(maxDateVal).toDate();\n\n this.updateState({\n props: {\n maxdate: formattedMaxDate,\n },\n } as BaseDatetimeState);\n }\n break;\n case 'readonly':\n this.updateState({\n props: {\n disabled: $new\n }\n } as BaseDatetimeState)\n break;\n }\n }\n\n onDateChange($event: DateTimePickerEvent, date?: Date) {\n this.validate(date);\n this.modes.shift();\n this.updateState({\n isFocused: false,\n showDatePicker: !!this.modes.length,\n props: {\n datavalue: this.format(date, this.state.props.outputformat as string),\n timestamp: this.format(date, 'timestamp')\n }\n } as BaseDatetimeState);\n }\n\n onBlur() {\n if (Platform.OS === 'web') {\n this.validate(this.state.props.datavalue);\n setTimeout(() => this.props.triggerValidation && this.props.triggerValidation());\n }\n this.invokeEventCallback('onBlur', [null, this]);\n }\n\n onFocus() {\n if (!this.state.props.readonly) {\n if (Platform.OS !== 'web' && this.state.props.mode === 'datetime') {\n this.modes = ['date', 'time'];\n } else {\n this.modes = [this.state.props.mode];\n }\n this.updateState({showDatePicker: true, isFocused: true} as BaseDatetimeState);\n if (this.state.props.mode === 'date') {\n this.updateState({showDatePickerModal: true} as BaseDatetimeState);\n }\n if (this.state.props.mode === 'time') {\n this.updateState({showTimePickerModal: true} as BaseDatetimeState);\n }\n if (this.state.props.mode === 'datetime') {\n this.updateState({showDatePickerModal: true} as BaseDatetimeState);\n }\n this.invokeEventCallback('onFocus', [null, this]);\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 BaseDatetimeState)\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n this.stopCurrentTimeMonitor();\n }\n\n renderWebWidget(props: WmDatetimeProps) {\n return (<WebDatePicker\n mode={this.state.props.mode}\n locale={props.locale}\n value={this.state.dateValue || new Date()}\n onDateChange={(date: Date) => this.onDateChange(null as any, date)}\n onDismiss={() =>\n this.updateState({\n isFocused: false,\n showDatePicker: false\n } as BaseDatetimeState, () => this.onBlur())}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}/>);\n }\n\n renderNativeWidget(props: WmDatetimeProps, onDismiss?: Function) {\n return (<DateTimePicker\n mode={this.modes[0] as any}\n {...getAccessibilityProps(AccessibilityWidgetType.DATE, {...this.state.props})}\n value={this.state.dateValue || new Date()}\n is24Hour={true}\n display='default'\n onChange={(event: DateTimePickerEvent, date?: Date) => {\n if (date && this.state.props.mode === 'datetime' && this.modes[0] === 'time') {\n const dateSelected = this.state.dateValue;\n date = moment(date)\n .set('month', dateSelected.getMonth())\n .set('year', dateSelected.getFullYear())\n .set('date', dateSelected.getDate())\n .toDate();\n }\n this.onDateChange(event, date || this.state.dateValue);\n if (this.modes.length <= 1) {\n this.onBlur();\n onDismiss && onDismiss();\n }\n }}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}\n />\n );\n }\n\n renderNativeIOSWidget(props: WmDatetimeProps, onDismiss?: Function) {\n let date_change : any = undefined;\n return (<View style={this.styles.dialog}>\n <DateTimePicker\n mode={this.modes[0] as any}\n value={this.state.dateValue || new Date()}\n is24Hour={true}\n display='spinner'\n onChange={(event: DateTimePickerEvent, date?: Date) => {\n if (date && this.state.props.mode === 'datetime' && this.modes[0] === 'time') {\n const dateSelected = this.state.dateValue;\n date = moment(date)\n .set('month', dateSelected.getMonth())\n .set('year', dateSelected.getFullYear())\n .set('date', dateSelected.getDate())\n .toDate();\n }\n date_change = date;\n }}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}\n />\n <View style={this.styles.actionWrapper}>\n <WmButton styles={this.styles.selectBtn} caption='Select' onTap={() => {\n this.onDateChange(null as any, date_change || this.state.dateValue || new Date());\n if (this.modes.length <= 1) {\n this.onBlur();\n onDismiss && onDismiss();\n }\n }} />\n <WmButton styles={this.styles.cancelBtn} caption='Cancel' onTap={() => {\n this.modes.shift();\n this.onDateChange(null as any, this.state.dateValue || undefined);\n this.onBlur();\n onDismiss && onDismiss();\n }} />\n </View>\n </View>\n );\n }\n\n renderNativeIOSWidgetWithModal(props: WmDatetimeProps) {\n return (<ModalConsumer>{(modalService: ModalService) => {\n this.nativeModalOptions.content = (<>\n {this.renderNativeIOSWidget(props, () => modalService.hideModal(this.nativeModalOptions))}\n </>);\n this.nativeModalOptions.centered = true;\n this.nativeModalOptions.onClose = () => {\n this.onBlur();\n };\n modalService.showModal(this.nativeModalOptions);\n return null;\n }}</ModalConsumer>);\n }\n\n renderNativeWidgetWithModal(props: WmDatetimeProps) {\n return (<ModalConsumer>{(modalService: ModalService) => {\n this.nativeModalOptions.content = (<>\n {this.renderNativeWidget(props, () => modalService.hideModal(this.nativeModalOptions))}\n </>);\n this.nativeModalOptions.centered = true;\n this.nativeModalOptions.onClose = () => {\n this.onBlur();\n };\n modalService.showModal(this.nativeModalOptions);\n return null;\n }}</ModalConsumer>);\n }\n\n addTouchableOpacity(props: WmDatetimeProps, children: React.JSX.Element, styles?: any) : React.ReactNode{\n const hint = children?.props?.hint;\n const accessibilityProps = hint ? {accessible: true, accessibilityHint: hint} : {};\n\n return (\n <TouchableOpacity \n {...this.getTestPropsForAction()} \n {...accessibilityProps}\n style={styles} onPress={() => {\n if (!props.readonly) {\n this.onFocus();\n }\n this.invokeEventCallback('onTap', [null, this]);\n }}>\n {children}\n </TouchableOpacity>\n );\n }\n\n getIcon() {\n if (this.state.props.mode === 'time') {\n return 'wm-sl-l sl-time'\n }\n return 'wm-sl-l sl-calendar';\n }\n\n renderWidget(props: WmDatetimeProps) {\n const is12HourFormat = props?.datepattern && /hh:mm(:ss|:sss)? a/.test(props.datepattern);\n const is24Hour = is12HourFormat ? false : props.is24hour;\n return ( \n this.addTouchableOpacity(props, (\n <View style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid, this.state.isFocused ? this.styles.focused : null]}>\n {this._background}\n {props.floatinglabel ? (\n <FloatingLabel\n moveUp={!!(props.datavalue || this.state.isFocused)}\n label={props.floatinglabel ?? props.placeholder} \n style={{\n ...(this.styles.floatingLabel || []),\n ...(this.state.isFocused ? (this.styles.activeFloatingLabel || {}) : {})\n }}\n />\n ) : null}\n <View style={this.styles.container}>\n {this.addTouchableOpacity(props, (\n <Text style={[\n this.styles.text,\n this.state.displayValue ? {} : this.styles.placeholderText\n ]}\n {...this.getTestPropsForLabel()}>\n {this.state.displayValue \n || (props.floatinglabel ? '' : this.state.props.placeholder)}\n </Text>\n ), [{ flex: 1}, this.isRTL?{flexDirection:'row', textAlign:'right'}:{}] )}\n {(!props.readonly && props.datavalue &&\n (<WmIcon iconclass=\"wi wi-clear\"\n styles={{color: this.styles.text.color, ...this.styles.clearIcon}}\n id={this.getTestId('clearicon')}\n accessibilitylabel={`clear ${props?.mode}`}\n onTap={() => {\n this.onDateChange(null as any, null as any);\n this.clearBtnClicked = true;\n }}/>)) || null}\n {this.addTouchableOpacity(props, (\n <WmIcon iconclass={this.getIcon()} styles={{color: this.styles.text.color, ...this.styles.calendarIcon}} hint={props?.hint}/>\n ))}\n </View>\n {\n this.state.showDatePicker\n && ((Platform.OS === 'web' && this.renderWebWidget(props))\n || (!props.iswheelpicker && Platform.OS === 'android' && this.renderNativeWidget(props))\n || (!props.iswheelpicker && Platform.OS === 'ios' && this.renderNativeIOSWidgetWithModal(props)))\n }\n {(Platform.OS !== 'web' && props.iswheelpicker && this.state.showDatePickerModal) && (\n <WmDatePickerModal\n isVisible={this.state.showDatePickerModal}\n onClose={() => this.updateState({showDatePickerModal: false} as BaseDatetimeState)}\n minDate={props.mindate}\n maxDate={props.maxdate}\n selectedDate={this.state.dateValue}\n onSelect={(date: Date) => {\n this.onDateChange(null as any, date);\n this.updateState({\n isFocused: false,\n showDatePickerModal: false\n } as BaseDatetimeState, () => {\n this.onBlur();\n\n // * showing time picker after selecting date in datetime mode\n if (this.state.props.mode === \"datetime\") {\n this.setState({\n showTimePickerModal: true,\n })\n }\n });\n }}\n onCancel={() => {\n // this.onDateChange(null as any, this.state.dateValue || undefined);\n this.updateState({\n isFocused: false,\n showDatePickerModal: false\n } as BaseDatetimeState, () => this.onBlur());\n }}\n />\n )}\n {(Platform.OS !== 'web' && props.iswheelpicker && this.state.showTimePickerModal) && (\n <WmTimePickerModal\n selectedDateTime={this.state.dateValue}\n is24Hour={is24Hour}\n isVisible={this.state.showTimePickerModal}\n onClose={() => this.updateState({isFocused: false, showTimePickerModal: false} as BaseDatetimeState)}\n onSelect={(time: Date) => {\n this.onDateChange(null as any, time);\n this.updateState({\n isFocused: false,\n showTimePickerModal: false\n } as BaseDatetimeState, () => this.onBlur());\n }}\n onCancel={() => {\n // this.onDateChange(null as any, this.state.dateValue || undefined);\n this.updateState({\n isFocused: false,\n showTimePickerModal: false\n } as BaseDatetimeState, () => {\n this.onBlur();\n this.modes.shift();\n });\n }}\n />\n )}\n </View>\n ))\n );\n }\n}\n\n"],"mappings":"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"}
@@ -3,10 +3,12 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
3
3
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
4
4
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
5
5
  import React from "react";
6
- import { Platform, View } from "react-native";
6
+ import { Platform, View, TouchableOpacity } from "react-native";
7
7
  import { get } from "lodash";
8
8
  import injector from "./injector";
9
9
  import { TouchableRipple } from "react-native-paper";
10
+ export const TappableContext = /*#__PURE__*/React.createContext(null);
11
+ import { UIPreferencesConsumer } from "./ui-preferences.context";
10
12
  export class TapEvent {
11
13
  constructor() {
12
14
  _defineProperty(this, "propagationEnabled", true);
@@ -82,23 +84,34 @@ export class Tappable extends React.Component {
82
84
  }
83
85
  render() {
84
86
  const target = this.props.target;
85
- if (target !== null && target !== void 0 && target.props.onTap || target !== null && target !== void 0 && target.props.onLongtap || target !== null && target !== void 0 && target.props.onDoubletap || this.props.onTap || this.props.onLongTap || this.props.onDoubleTap) {
86
- return /*#__PURE__*/React.createElement(TouchableRipple, _extends({
87
- rippleColor: this.props.rippleColor,
88
- borderless: true
89
- }, Platform.OS === 'android' || Platform.OS === 'web' ? {
87
+ const commonProps = {
88
+ ...(Platform.OS === 'android' || Platform.OS === 'web' ? {
90
89
  accessibilityLabel: this.props.testID,
91
90
  testID: this.props.testID
92
91
  } : {
93
92
  // accessible: false,
94
93
  testID: this.props.testID
95
- }, this.props.accessibilityProps, {
96
- disabled: get(target === null || target === void 0 ? void 0 : target.proxy, 'disabled'),
97
- style: this.props.styles,
98
- onPress: () => this.onPress(),
99
- onLongPress: () => this.onLongTap(),
100
- onPressOut: () => this.onPressOut()
101
- }), /*#__PURE__*/React.createElement(React.Fragment, null, this.props.children));
94
+ }),
95
+ ...this.props.accessibilityProps,
96
+ disabled: get(target === null || target === void 0 ? void 0 : target.proxy, 'disabled'),
97
+ style: this.props.styles,
98
+ onPress: e => {
99
+ var _e$target;
100
+ if ((e === null || e === void 0 || (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.tagName) === 'INPUT') {
101
+ return;
102
+ }
103
+ this.onPress(new TapEvent());
104
+ },
105
+ onLongPress: e => this.onLongTap(new TapEvent()),
106
+ onPressOut: e => this.onPressOut(new TapEvent())
107
+ };
108
+ if (target !== null && target !== void 0 && target.props.onTap || target !== null && target !== void 0 && target.props.onLongtap || target !== null && target !== void 0 && target.props.onDoubletap || this.props.onTap || this.props.onLongTap || this.props.onDoubleTap) {
109
+ return /*#__PURE__*/React.createElement(UIPreferencesConsumer, null, preferences => {
110
+ return preferences.enableRipple ? /*#__PURE__*/React.createElement(TouchableRipple, _extends({
111
+ rippleColor: this.props.rippleColor,
112
+ borderless: true
113
+ }, commonProps), /*#__PURE__*/React.createElement(React.Fragment, null, this.props.children)) : /*#__PURE__*/React.createElement(TouchableOpacity, commonProps, /*#__PURE__*/React.createElement(React.Fragment, null, this.props.children));
114
+ });
102
115
  }
103
116
  return /*#__PURE__*/React.createElement(View, {
104
117
  style: this.props.styles
@@ -1 +1 @@
1
- {"version":3,"names":["React","Platform","View","get","injector","TouchableRipple","TapEvent","constructor","_defineProperty","stopPropagation","propagationEnabled","Tappable","Component","props","onPress","e","_this$props$target","lastPress","Date","now","target","CURRENT_EVENT","setTimeout","syntheticEvent","onTouchStart","invokeEventCallback","currentTime","tapDelta","lastTap","isLongTap","_injector$FOCUSED_ELE","FOCUSED_ELEMENT","blur","lastDoubleTap","onDoubleTap","onTap","onLongTap","_this$props$target2","onPressOut","onTouchEnd","_this$props$target3","render","onLongtap","onDoubletap","createElement","_extends","rippleColor","borderless","OS","accessibilityLabel","testID","accessibilityProps","disabled","proxy","style","styles","onLongPress","Fragment","children"],"sources":["tappable.component.tsx"],"sourcesContent":["import { BaseComponent } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport React from \"react\";\nimport { GestureResponderEvent, Platform, View } from \"react-native\";\nimport { get } from \"lodash\";\nimport injector from \"./injector\";\nimport { TouchableRipple } from \"react-native-paper\";\nimport ThemeVariables from \"../styles/theme.variables\";\n\n\ninterface TappableProps {\n testID?: string;\n children?: any\n styles?: any;\n target?: BaseComponent<any, any, any>;\n onTap?: (e: any) => void;\n onLongTap?: (e: any) => void; \n onDoubleTap?: (e: any) => void;\n onTouchStart? : (e: any) => void;\n onTouchEnd? : (e: any) => void;\n rippleColor?: string;\n accessibilityProps?: any;\n}\n\nexport class TapEvent {\n propagationEnabled = true;\n \n constructor() {\n\n }\n\n stopPropagation() {\n this.propagationEnabled = false;\n }\n}\n\nexport class Tappable extends React.Component<TappableProps, any> {\n private lastPress = 0;\n private lastTap = 0;\n private lastDoubleTap = 0;\n private isLongTap = false;\n\n static CURRENT_EVENT: TapEvent = null as any;\n \n constructor(props: any) {\n super(props);\n }\n\n onPress(e?: GestureResponderEvent): void { \n this.lastPress = Date.now();\n const target = this.props.target;\n if (!Tappable.CURRENT_EVENT) {\n Tappable.CURRENT_EVENT = new TapEvent();\n setTimeout(() => {\n Tappable.CURRENT_EVENT = null as any;\n }, 10);\n }\n const syntheticEvent = Tappable.CURRENT_EVENT;\n this.props.onTouchStart && this.props.onTouchStart(e || syntheticEvent);\n this.props.target?.invokeEventCallback('onTouchstart', [syntheticEvent, this.props.target]);\n const currentTime = Date.now();\n const tapDelta = currentTime - this.lastTap;\n if (this.isLongTap) {\n this.isLongTap = false;\n return;\n }\n if (syntheticEvent.propagationEnabled) {\n injector.FOCUSED_ELEMENT.get()?.blur();\n if(this.lastDoubleTap !== this.lastTap \n && tapDelta < 500) {\n this.props.onDoubleTap && this.props.onDoubleTap(e);\n setTimeout(() => {\n target?.invokeEventCallback('onDoubletap', [syntheticEvent, target]);\n }, 200);\n this.lastDoubleTap = currentTime;\n }\n setTimeout(() => {\n if (this.props.onTap) {\n this.props.onTap(e || syntheticEvent);\n } else {\n target?.invokeEventCallback('onTap', [syntheticEvent, target]);\n }\n }, 200);\n this.lastTap = currentTime;\n }\n }\n\n onLongTap(e?: GestureResponderEvent): void {\n const syntheticEvent = Tappable.CURRENT_EVENT;\n this.props.onLongTap && this.props.onLongTap(e || syntheticEvent);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onLongtap', [syntheticEvent, this.props.target]);\n }, 200);\n this.isLongTap = true;\n }\n \n onPressOut(e?: GestureResponderEvent): void {\n const syntheticEvent = Tappable.CURRENT_EVENT;\n this.props.onTouchEnd && this.props.onTouchEnd(e || syntheticEvent);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onTouchend', [syntheticEvent, this.props.target]);\n }, 200);\n this.isLongTap = false;\n }\n\n render() {\n const target = this.props.target;\n if (target?.props.onTap \n || target?.props.onLongtap \n || target?.props.onDoubletap \n || this.props.onTap \n || this.props.onLongTap \n || this.props.onDoubleTap) {\n return (\n <TouchableRipple\n rippleColor={this.props.rippleColor}\n borderless = {true}\n {...(Platform.OS === 'android' || Platform.OS === 'web') ? {\n accessibilityLabel: this.props.testID,\n testID: this.props.testID\n }: {\n // accessible: false,\n testID: this.props.testID\n }} \n {...this.props.accessibilityProps}\n disabled={get(target?.proxy, 'disabled')}\n style={this.props.styles}\n onPress={() => this.onPress()}\n onLongPress={() => this.onLongTap()}\n onPressOut={() => this.onPressOut()}>\n <>{this.props.children}</>\n </TouchableRipple>\n );\n }\n return (<View style={this.props.styles}>{this.props.children}</View>);\n }\n}\n"],"mappings":";;;;AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAgCC,QAAQ,EAAEC,IAAI,QAAQ,cAAc;AACpE,SAASC,GAAG,QAAQ,QAAQ;AAC5B,OAAOC,QAAQ,MAAM,YAAY;AACjC,SAASC,eAAe,QAAQ,oBAAoB;AAkBpD,OAAO,MAAMC,QAAQ,CAAC;EAGlBC,WAAWA,CAAA,EAAG;IAAAC,eAAA,6BAFO,IAAI;EAIzB;EAEAC,eAAeA,CAAA,EAAG;IACd,IAAI,CAACC,kBAAkB,GAAG,KAAK;EACnC;AACJ;AAEA,OAAO,MAAMC,QAAQ,SAASX,KAAK,CAACY,SAAS,CAAqB;EAQ9DL,WAAWA,CAACM,KAAU,EAAE;IACpB,KAAK,CAACA,KAAK,CAAC;IAACL,eAAA,oBARG,CAAC;IAAAA,eAAA,kBACH,CAAC;IAAAA,eAAA,wBACK,CAAC;IAAAA,eAAA,oBACL,KAAK;EAMzB;EAEAM,OAAOA,CAACC,CAAyB,EAAQ;IAAA,IAAAC,kBAAA;IACrC,IAAI,CAACC,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;IAC3B,MAAMC,MAAM,GAAG,IAAI,CAACP,KAAK,CAACO,MAAM;IAChC,IAAI,CAACT,QAAQ,CAACU,aAAa,EAAE;MACzBV,QAAQ,CAACU,aAAa,GAAG,IAAIf,QAAQ,CAAC,CAAC;MACvCgB,UAAU,CAAC,MAAM;QACbX,QAAQ,CAACU,aAAa,GAAG,IAAW;MACxC,CAAC,EAAE,EAAE,CAAC;IACV;IACA,MAAME,cAAc,GAAGZ,QAAQ,CAACU,aAAa;IAC7C,IAAI,CAACR,KAAK,CAACW,YAAY,IAAI,IAAI,CAACX,KAAK,CAACW,YAAY,CAACT,CAAC,IAAIQ,cAAc,CAAC;IACvE,CAAAP,kBAAA,OAAI,CAACH,KAAK,CAACO,MAAM,cAAAJ,kBAAA,uBAAjBA,kBAAA,CAAmBS,mBAAmB,CAAC,cAAc,EAAE,CAACF,cAAc,EAAE,IAAI,CAACV,KAAK,CAACO,MAAM,CAAC,CAAC;IAC3F,MAAMM,WAAW,GAAGR,IAAI,CAACC,GAAG,CAAC,CAAC;IAC9B,MAAMQ,QAAQ,GAAGD,WAAW,GAAG,IAAI,CAACE,OAAO;IAC3C,IAAI,IAAI,CAACC,SAAS,EAAE;MAChB,IAAI,CAACA,SAAS,GAAG,KAAK;MACtB;IACJ;IACA,IAAIN,cAAc,CAACb,kBAAkB,EAAE;MAAA,IAAAoB,qBAAA;MACnC,CAAAA,qBAAA,GAAA1B,QAAQ,CAAC2B,eAAe,CAAC5B,GAAG,CAAC,CAAC,cAAA2B,qBAAA,uBAA9BA,qBAAA,CAAgCE,IAAI,CAAC,CAAC;MACtC,IAAG,IAAI,CAACC,aAAa,KAAK,IAAI,CAACL,OAAO,IAC/BD,QAAQ,GAAG,GAAG,EAAE;QACnB,IAAI,CAACd,KAAK,CAACqB,WAAW,IAAI,IAAI,CAACrB,KAAK,CAACqB,WAAW,CAACnB,CAAC,CAAC;QACnDO,UAAU,CAAC,MAAM;UACbF,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEK,mBAAmB,CAAC,aAAa,EAAE,CAACF,cAAc,EAAEH,MAAM,CAAC,CAAC;QACxE,CAAC,EAAE,GAAG,CAAC;QACP,IAAI,CAACa,aAAa,GAAGP,WAAW;MACpC;MACAJ,UAAU,CAAC,MAAM;QACb,IAAI,IAAI,CAACT,KAAK,CAACsB,KAAK,EAAE;UAClB,IAAI,CAACtB,KAAK,CAACsB,KAAK,CAACpB,CAAC,IAAIQ,cAAc,CAAC;QACzC,CAAC,MAAM;UACHH,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEK,mBAAmB,CAAC,OAAO,EAAE,CAACF,cAAc,EAAEH,MAAM,CAAC,CAAC;QAClE;MACJ,CAAC,EAAE,GAAG,CAAC;MACP,IAAI,CAACQ,OAAO,GAAGF,WAAW;IAC9B;EACJ;EAEAU,SAASA,CAACrB,CAAyB,EAAQ;IACvC,MAAMQ,cAAc,GAAGZ,QAAQ,CAACU,aAAa;IAC7C,IAAI,CAACR,KAAK,CAACuB,SAAS,IAAI,IAAI,CAACvB,KAAK,CAACuB,SAAS,CAACrB,CAAC,IAAIQ,cAAc,CAAC;IACjED,UAAU,CAAC,MAAM;MAAA,IAAAe,mBAAA;MACb,CAAAA,mBAAA,OAAI,CAACxB,KAAK,CAACO,MAAM,cAAAiB,mBAAA,uBAAjBA,mBAAA,CAAmBZ,mBAAmB,CAAC,WAAW,EAAE,CAACF,cAAc,EAAE,IAAI,CAACV,KAAK,CAACO,MAAM,CAAC,CAAC;IAC5F,CAAC,EAAE,GAAG,CAAC;IACP,IAAI,CAACS,SAAS,GAAG,IAAI;EACzB;EAEAS,UAAUA,CAACvB,CAAyB,EAAQ;IACxC,MAAMQ,cAAc,GAAGZ,QAAQ,CAACU,aAAa;IAC7C,IAAI,CAACR,KAAK,CAAC0B,UAAU,IAAI,IAAI,CAAC1B,KAAK,CAAC0B,UAAU,CAACxB,CAAC,IAAIQ,cAAc,CAAC;IACnED,UAAU,CAAC,MAAM;MAAA,IAAAkB,mBAAA;MACb,CAAAA,mBAAA,OAAI,CAAC3B,KAAK,CAACO,MAAM,cAAAoB,mBAAA,uBAAjBA,mBAAA,CAAmBf,mBAAmB,CAAC,YAAY,EAAE,CAACF,cAAc,EAAE,IAAI,CAACV,KAAK,CAACO,MAAM,CAAC,CAAC;IAC7F,CAAC,EAAE,GAAG,CAAC;IACP,IAAI,CAACS,SAAS,GAAG,KAAK;EAC1B;EAEAY,MAAMA,CAAA,EAAG;IACL,MAAMrB,MAAM,GAAG,IAAI,CAACP,KAAK,CAACO,MAAM;IAChC,IAAIA,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEP,KAAK,CAACsB,KAAK,IAChBf,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEP,KAAK,CAAC6B,SAAS,IACvBtB,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEP,KAAK,CAAC8B,WAAW,IACzB,IAAI,CAAC9B,KAAK,CAACsB,KAAK,IAChB,IAAI,CAACtB,KAAK,CAACuB,SAAS,IACpB,IAAI,CAACvB,KAAK,CAACqB,WAAW,EAAE;MAC3B,oBACAlC,KAAA,CAAA4C,aAAA,CAACvC,eAAe,EAAAwC,QAAA;QACZC,WAAW,EAAE,IAAI,CAACjC,KAAK,CAACiC,WAAY;QACpCC,UAAU,EAAI;MAAK,GACb9C,QAAQ,CAAC+C,EAAE,KAAK,SAAS,IAAI/C,QAAQ,CAAC+C,EAAE,KAAK,KAAK,GAAI;QACxDC,kBAAkB,EAAE,IAAI,CAACpC,KAAK,CAACqC,MAAM;QACrCA,MAAM,EAAE,IAAI,CAACrC,KAAK,CAACqC;MACvB,CAAC,GAAE;QACC;QACAA,MAAM,EAAE,IAAI,CAACrC,KAAK,CAACqC;MACvB,CAAC,EACG,IAAI,CAACrC,KAAK,CAACsC,kBAAkB;QACjCC,QAAQ,EAAEjD,GAAG,CAACiB,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEiC,KAAK,EAAE,UAAU,CAAE;QACzCC,KAAK,EAAE,IAAI,CAACzC,KAAK,CAAC0C,MAAO;QACzBzC,OAAO,EAAEA,CAAA,KAAM,IAAI,CAACA,OAAO,CAAC,CAAE;QAC9B0C,WAAW,EAAEA,CAAA,KAAM,IAAI,CAACpB,SAAS,CAAC,CAAE;QACpCE,UAAU,EAAEA,CAAA,KAAM,IAAI,CAACA,UAAU,CAAC;MAAE,iBAChCtC,KAAA,CAAA4C,aAAA,CAAA5C,KAAA,CAAAyD,QAAA,QAAG,IAAI,CAAC5C,KAAK,CAAC6C,QAAW,CACZ,CAAC;IAE1B;IACA,oBAAQ1D,KAAA,CAAA4C,aAAA,CAAC1C,IAAI;MAACoD,KAAK,EAAE,IAAI,CAACzC,KAAK,CAAC0C;IAAO,GAAE,IAAI,CAAC1C,KAAK,CAAC6C,QAAe,CAAC;EACxE;AACJ;AAAClD,eAAA,CApGYG,QAAQ,mBAMgB,IAAI"}
1
+ {"version":3,"names":["React","Platform","View","TouchableOpacity","get","injector","TouchableRipple","TappableContext","createContext","UIPreferencesConsumer","TapEvent","constructor","_defineProperty","stopPropagation","propagationEnabled","Tappable","Component","props","onPress","e","_this$props$target","lastPress","Date","now","target","CURRENT_EVENT","setTimeout","syntheticEvent","onTouchStart","invokeEventCallback","currentTime","tapDelta","lastTap","isLongTap","_injector$FOCUSED_ELE","FOCUSED_ELEMENT","blur","lastDoubleTap","onDoubleTap","onTap","onLongTap","_this$props$target2","onPressOut","onTouchEnd","_this$props$target3","render","commonProps","OS","accessibilityLabel","testID","accessibilityProps","disabled","proxy","style","styles","_e$target","tagName","onLongPress","onLongtap","onDoubletap","createElement","preferences","enableRipple","_extends","rippleColor","borderless","Fragment","children"],"sources":["tappable.component.tsx"],"sourcesContent":["import { BaseComponent } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport React from \"react\";\nimport { GestureResponderEvent, Platform, View, TouchableOpacity } from \"react-native\";\nimport { get } from \"lodash\";\nimport injector from \"./injector\";\nimport { TouchableRipple } from \"react-native-paper\";\nimport ThemeVariables from \"../styles/theme.variables\";\n\nexport const TappableContext = React.createContext<Tappable>(null as any);\nimport { UIPreferencesConsumer, UI_PREFERENCES } from \"./ui-preferences.context\";\n\ninterface TappableProps {\n testID?: string;\n children?: any\n styles?: any;\n target?: BaseComponent<any, any, any>;\n onTap?: (e: any) => void;\n onLongTap?: (e: any) => void; \n onDoubleTap?: (e: any) => void;\n onTouchStart? : (e: any) => void;\n onTouchEnd? : (e: any) => void;\n rippleColor?: string;\n accessibilityProps?: any;\n}\n\nexport class TapEvent {\n propagationEnabled = true;\n \n constructor() {\n\n }\n\n stopPropagation() {\n this.propagationEnabled = false;\n }\n}\n\nexport class Tappable extends React.Component<TappableProps, any> {\n private lastPress = 0;\n private lastTap = 0;\n private lastDoubleTap = 0;\n private isLongTap = false;\n\n static CURRENT_EVENT: TapEvent = null as any;\n \n constructor(props: any) {\n super(props);\n }\n\n onPress(e: TapEvent): void { \n this.lastPress = Date.now();\n const target = this.props.target;\n if (!Tappable.CURRENT_EVENT) {\n Tappable.CURRENT_EVENT = new TapEvent();\n setTimeout(() => {\n Tappable.CURRENT_EVENT = null as any;\n }, 10);\n }\n const syntheticEvent = Tappable.CURRENT_EVENT;\n this.props.onTouchStart && this.props.onTouchStart(e || syntheticEvent);\n this.props.target?.invokeEventCallback('onTouchstart', [syntheticEvent, this.props.target]);\n const currentTime = Date.now();\n const tapDelta = currentTime - this.lastTap;\n if (this.isLongTap) {\n this.isLongTap = false;\n return;\n }\n if (syntheticEvent.propagationEnabled) {\n injector.FOCUSED_ELEMENT.get()?.blur();\n if(this.lastDoubleTap !== this.lastTap \n && tapDelta < 500) {\n this.props.onDoubleTap && this.props.onDoubleTap(e);\n setTimeout(() => {\n target?.invokeEventCallback('onDoubletap', [syntheticEvent, target]);\n }, 200);\n this.lastDoubleTap = currentTime;\n }\n setTimeout(() => {\n if (this.props.onTap) {\n this.props.onTap(e || syntheticEvent);\n } else {\n target?.invokeEventCallback('onTap', [syntheticEvent, target]);\n }\n }, 200);\n this.lastTap = currentTime;\n }\n }\n\n onLongTap(e: TapEvent): void {\n const syntheticEvent = Tappable.CURRENT_EVENT;\n this.props.onLongTap && this.props.onLongTap(e || syntheticEvent);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onLongtap', [syntheticEvent, this.props.target]);\n }, 200);\n this.isLongTap = true;\n }\n \n onPressOut(e: TapEvent): void {\n const syntheticEvent = Tappable.CURRENT_EVENT;\n this.props.onTouchEnd && this.props.onTouchEnd(e || syntheticEvent);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onTouchend', [syntheticEvent, this.props.target]);\n }, 200);\n this.isLongTap = false;\n }\n\n render() {\n const target = this.props.target;\n const commonProps = {\n ...(Platform.OS === 'android' || Platform.OS === 'web') ? {\n accessibilityLabel: this.props.testID,\n testID: this.props.testID\n }: {\n // accessible: false,\n testID: this.props.testID\n },\n ...this.props.accessibilityProps,\n disabled:get(target?.proxy, 'disabled'),\n style:this.props.styles,\n onPress:(e?: GestureResponderEvent) => {\n if ((e?.target as any)?.tagName === 'INPUT') {\n return;\n }\n this.onPress(new TapEvent())\n },\n onLongPress:(e?: GestureResponderEvent) => this.onLongTap(new TapEvent()),\n onPressOut:(e?: GestureResponderEvent) => this.onPressOut(new TapEvent())\n };\n if (target?.props.onTap \n || target?.props.onLongtap \n || target?.props.onDoubletap \n || this.props.onTap \n || this.props.onLongTap \n || this.props.onDoubleTap) {\n return (\n <UIPreferencesConsumer>\n {(preferences: UI_PREFERENCES) => {\n return preferences.enableRipple ? (\n <TouchableRipple rippleColor={this.props.rippleColor} borderless={true} {...commonProps}>\n <>{this.props.children}</>\n </TouchableRipple>): (\n <TouchableOpacity {...commonProps}>\n <>{this.props.children}</>\n </TouchableOpacity>);\n }}\n </UIPreferencesConsumer>\n );\n }\n return (<View style={this.props.styles}>{this.props.children}</View>);\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ const UIPreferencesContext = /*#__PURE__*/React.createContext({
3
+ enableRipple: true
4
+ });
5
+ export const UIPreferencesProvider = UIPreferencesContext.Provider;
6
+ export const UIPreferencesConsumer = UIPreferencesContext.Consumer;
7
+ //# sourceMappingURL=ui-preferences.context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","UIPreferencesContext","createContext","enableRipple","UIPreferencesProvider","Provider","UIPreferencesConsumer","Consumer"],"sources":["ui-preferences.context.ts"],"sourcesContent":["import React from \"react\";\n\nexport interface UI_PREFERENCES {\n enableRipple: boolean;\n}\n \nconst UIPreferencesContext = React.createContext<UI_PREFERENCES>({enableRipple: true});\n\nexport const UIPreferencesProvider = UIPreferencesContext.Provider;\nexport const UIPreferencesConsumer = UIPreferencesContext.Consumer;"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAMzB,MAAMC,oBAAoB,gBAAGD,KAAK,CAACE,aAAa,CAAiB;EAACC,YAAY,EAAE;AAAI,CAAC,CAAC;AAEtF,OAAO,MAAMC,qBAAqB,GAAGH,oBAAoB,CAACI,QAAQ;AAClE,OAAO,MAAMC,qBAAqB,GAAGL,oBAAoB,CAACM,QAAQ"}
@@ -2,6 +2,7 @@ import { Platform } from 'react-native';
2
2
  import moment from "moment";
3
3
  import * as FileSystem from "expo-file-system";
4
4
  import { isFunction, includes, isUndefined, isNull, orderBy, groupBy, toLower, get, forEach, sortBy, cloneDeep, keys, values, isArray, isString, isNumber } from 'lodash';
5
+ import ThemeVariables from '../styles/theme.variables';
5
6
  const GROUP_BY_OPTIONS = {
6
7
  ALPHABET: 'alphabet',
7
8
  WORD: 'word',
@@ -410,4 +411,111 @@ export const getDateTimeObject = (date, month, year, hour, minute) => {
410
411
  // * month is zero-based
411
412
  return new Date(year, month, date, hour, minute);
412
413
  };
414
+ export const getGradientStartEnd = angle => {
415
+ const angleLowerCase = angle === null || angle === void 0 ? void 0 : angle.toLowerCase();
416
+ let start = {
417
+ x: 0,
418
+ y: 1
419
+ };
420
+ let end = {
421
+ x: 1,
422
+ y: 1
423
+ };
424
+ if (angle === '0deg' || angleLowerCase === 'to top') {
425
+ end.x = 0;
426
+ end.y = 0;
427
+ } else if (angle === '90deg' || angleLowerCase === 'to right') {
428
+ start.x = 0;
429
+ } else if (angle === '180deg' || angleLowerCase === 'to bottom') {
430
+ start.y = 0;
431
+ end.x = 0;
432
+ end.y = 1;
433
+ } else if (angle === '270deg' || angleLowerCase === 'to left') {
434
+ start.x = 1;
435
+ end.x = 0;
436
+ } else {
437
+ // other angle
438
+ }
439
+ return {
440
+ start,
441
+ end
442
+ };
443
+ };
444
+ export const parseLinearGradient = gradient => {
445
+ let angle = '',
446
+ color1 = '',
447
+ color2 = '';
448
+ const linearGradientRegex = /linear-gradient\(([^,]+),\s*([^,]+),\s*([^)]+)\)/;
449
+ const hasLinearGradient = linearGradientRegex.test(gradient);
450
+ const matches = gradient === null || gradient === void 0 ? void 0 : gradient.match(linearGradientRegex);
451
+ angle = (matches === null || matches === void 0 ? void 0 : matches[1]) || '90deg';
452
+ const {
453
+ start,
454
+ end
455
+ } = getGradientStartEnd(angle);
456
+ color1 = (matches === null || matches === void 0 ? void 0 : matches[2]) || ThemeVariables.INSTANCE.primaryColor;
457
+ color2 = (matches === null || matches === void 0 ? void 0 : matches[3]) || ThemeVariables.INSTANCE.primaryColor;
458
+ return {
459
+ hasLinearGradient,
460
+ color1,
461
+ color2,
462
+ start,
463
+ end
464
+ };
465
+ };
466
+ export const validateInputOnDevice = (value, type) => {
467
+ var _value$match;
468
+ const isCurrencyField = type === 'currency';
469
+ let isValidText = true;
470
+ let validText = value;
471
+
472
+ // * no alphabets except E, may contain E only once
473
+ if (/[a-df-zA-DF-Z]/.test(value) || !/^[^eE]*[eE]?[^eE]*$/.test(value)) {
474
+ isValidText = false;
475
+ validText = validText.replace(/[a-df-zA-DF-Z]/g, '');
476
+ validText = validText.replace(/([eE])\1+/g, 'e');
477
+ }
478
+
479
+ // * currency only: check for negative number
480
+ if (isCurrencyField && (Number(value) < 0 || /-/g.test(value))) {
481
+ isValidText = false;
482
+ validText = validText.replace(/-/g, '');
483
+ }
484
+
485
+ // * number only: not more than one minus and doesn't end with minus (-)
486
+ if (!isCurrencyField && Number((_value$match = value.match(/-/g)) === null || _value$match === void 0 ? void 0 : _value$match.length) > 1 || /\w-/.test(value)) {
487
+ isValidText = false;
488
+ validText = validText.replace(/-/g, '');
489
+ validText = validText.replace(/\w-/g, '');
490
+ }
491
+
492
+ // * check for more than one decimal point
493
+ if (/^\d*\.\d*\..*$/.test(value)) {
494
+ isValidText = false;
495
+ validText = validText.replace(/\.(?=\.*\.)/g, '');
496
+ }
497
+
498
+ // * check for spaces and comma
499
+ if (/[\s,]/.test(value)) {
500
+ isValidText = false;
501
+ validText = validText.replace(/[\s,]/, '');
502
+ }
503
+ return {
504
+ isValidText,
505
+ validText
506
+ };
507
+ };
508
+ export const isDateFormatAsPerPattern = (datePattern, dateString) => {
509
+ try {
510
+ var _date$format;
511
+ // * format dateString as per datePattern
512
+ const date = moment(dateString, datePattern, true);
513
+
514
+ // * check date is valid and matches the format
515
+ return date.isValid() && typeof dateString === 'string' && (dateString === null || dateString === void 0 ? void 0 : dateString.toUpperCase()) === ((_date$format = date.format(datePattern)) === null || _date$format === void 0 ? void 0 : _date$format.toUpperCase());
516
+ } catch (error) {
517
+ // * if not able to parse date string
518
+ return false;
519
+ }
520
+ };
413
521
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","moment","FileSystem","isFunction","includes","isUndefined","isNull","orderBy","groupBy","toLower","get","forEach","sortBy","cloneDeep","keys","values","isArray","isString","isNumber","GROUP_BY_OPTIONS","ALPHABET","WORD","OTHERS","TIME_ROLLUP_OPTIONS","HOUR","DAY","WEEK","MONTH","YEAR","_deepCopy","o1","_len","arguments","length","o2","Array","_key","o","Object","k","v","deepCopy","_len2","objects","_key2","toBoolean","val","undefined","toNumber","parseFloat","e","encodeUrl","url","splits","split","hash","params","map","p","encodeURIComponent","join","encodeURI","isWebPreviewMode","OS","isDevMode","__DEV__","widgetsWithUndefinedValue","isAndroid","test","window","navigator","userAgent","isIos","getGroupKey","fieldDef","groupby","widgetScope","innerItem","apply","proxy","getGroupedData","fieldDefs","match","orderby","dateFormat","groupKey","groupedLiData","concatStr","toString","trim","substr","replace","format","getSortedGroupedData","getOrderedDataset","dataSet","items","fields","directions","obj","item","push","_groupedData","groupkey","index","liData","key","data","_groupIndex","isDefined","unStringify","defaultVal","number","parseInt","isNaN","retryIfFails","fn","interval","maxRetries","onBeforeRetry","Promise","resolve","retryCount","tryFn","reject","errorFn","errArgs","setTimeout","then","retry","getAbortableDefer","_defer","promise","onAbort","isAborted","abort","validateField","props","value","requiredCheck","regexCheck","required","errorType","isValid","regexp","condition","RegExp","maxchars","mindate","Date","datavalue","startOf","toDate","maxdate","endOf","countDecimalDigits","numberString","decimalMatch","decimalDigits","formatCompactNumber","isNegative","formattedNumber","toFixed","toBase64","path","readAsStringAsync","encoding","DATASET_WIDGETS","Set","isDataSetWidget","widget","has","isFullPathUrl","startsWith","removeUndefinedKeys","getDaysInMonth","month","year","getDate","getDates","startDate","endDate","getFullYear","daysInMonth","dates","from","i","datesInRange","filter","date","monthNames","getMonths","startMonth","endMonth","months","name","substring","monthRange","_","getMonthIndex","monthName","shortName","monthNumber","findIndex","getYearRange","startYear","endYear","years","getDateObject","getHours","hours","hour","paddedHour","String","padStart","get24Hours","getMinutes","minutes","minute","paddedMinute","getTimeIndicators","getDateTimeObject"],"sources":["utils.ts"],"sourcesContent":["import { Platform } from 'react-native';\nimport moment from \"moment\";\nimport * as FileSystem from \"expo-file-system\";\nimport { isFunction, includes, isUndefined, isNull, orderBy, groupBy, toLower, get, forEach, sortBy, cloneDeep, keys, values, isArray, isString, isNumber} from 'lodash';\n\ndeclare const window: any;\nconst GROUP_BY_OPTIONS = {\n ALPHABET: 'alphabet',\n WORD: 'word',\n OTHERS: 'Others'\n};\nconst TIME_ROLLUP_OPTIONS = {\n HOUR: 'hour',\n DAY: 'day',\n WEEK: 'week',\n MONTH: 'month',\n YEAR: 'year'\n};\n\nconst _deepCopy = (o1: any, ...o2: any) => {\n o2.forEach((o: any) => {\n if (o) {\n Object.keys(o).forEach(k => {\n const v = o[k];\n if (v && !isString(v) && !isArray(v) && typeof v === 'object') {\n o1[k] = _deepCopy(o1[k] || {}, o[k]);\n } else {\n o1[k] = _deepCopy(v);\n }\n });\n }\n });\n return o1;\n};\n\nexport const deepCopy = (...objects: any) => _deepCopy({}, ...objects);\n\nexport const toBoolean = (val: any) => {\n return val === true\n || val === 'true'\n || !(val === false\n || val === null\n || val === undefined\n || val === '');\n};\n\nexport const toNumber = (val: any) => {\n try {\n return parseFloat(val) || 0;\n } catch(e) {\n return 0;\n }\n};\n\n/**\n * this method encodes the url and returns the encoded string\n */\n export const encodeUrl = (url: string): string => {\n let splits = url.split('#');\n const hash = splits[1];\n splits = splits[0].split('?');\n let params = '';\n if (splits.length > 1) {\n params = splits[1].split('&')\n .map(p => p.split('='))\n .map(p => p[0] +'=' + encodeURIComponent(p[1]))\n .join('&');\n }\n return encodeURI(splits[0]) + (params ? '?' + params: '') + (hash ? '#'+ hash : '');\n};\n\nexport const isWebPreviewMode = () => Platform.OS === 'web';\n\nexport const isDevMode = () => isWebPreviewMode() || __DEV__;\n\nexport const widgetsWithUndefinedValue = ['checkbox', 'toggle'];\n\nexport const isAndroid = () => (Platform.OS === 'android' || (Platform.OS === 'web' && /android/i.test(window.navigator.userAgent)));\n\nexport const isIos = () => (Platform.OS === 'ios' || (Platform.OS === 'web' && /iPhone|iPad/i.test(window.navigator.userAgent)));\n\nconst getGroupKey = (fieldDef: any, groupby: string, widgetScope: any, innerItem?: any) => isFunction(groupby) ? groupby.apply(widgetScope.proxy, [innerItem ? fieldDef[innerItem] : fieldDef]) : get(innerItem ? fieldDef[innerItem] : fieldDef, groupby);\n\n/**\n * This method prepares the grouped data.\n *\n * @param fieldDefs array of objects i.e. dataset\n * @param groupby string groupby\n * @param match string match\n * @param orderby string orderby\n * @param dateFormat string date format\n */\nexport const getGroupedData = (fieldDefs: any, groupby: string, match: string, orderby: string, dateFormat: string, widgetScope: any, innerItem?: any) => {\n\n // handling case-in-sensitive scenario\n // ordering the data based on groupby field. If there is innerItem then apply orderby using the innerItem's containing the groupby field.\n fieldDefs = orderBy(fieldDefs, fieldDef => {\n const groupKey = getGroupKey(fieldDef, groupby, widgetScope, innerItem);\n if (groupKey) {\n return toLower(groupKey);\n }\n return '';\n });\n\n // extract the grouped data based on the field obtained from 'groupDataByField'.\n const groupedLiData = groupBy(fieldDefs, function (fieldDef) {\n let concatStr = getGroupKey(fieldDef, groupby, widgetScope, innerItem);\n // by default set the undefined groupKey as 'others'\n if (isUndefined(concatStr) || isNull(concatStr) || concatStr.toString().trim() === '') {\n return GROUP_BY_OPTIONS.OTHERS;\n }\n // if match prop is alphabetic ,get the starting alphabet of the word as key.\n if (match === GROUP_BY_OPTIONS.ALPHABET) {\n concatStr = concatStr.substr(0, 1);\n }\n\n // if match contains the time options then get the concatStr using 'getTimeRolledUpString'\n if (includes(values(TIME_ROLLUP_OPTIONS), match)) {\n dateFormat = dateFormat && dateFormat.replace(/d/g, 'D');\n dateFormat = dateFormat && dateFormat.replace(/y/g, 'Y');\n concatStr = moment(concatStr).format(dateFormat);\n }\n\n return concatStr;\n });\n\n return getSortedGroupedData(groupedLiData, groupby, orderby, innerItem);\n};\n\n/**\n * function to get the ordered dataset based on the given orderby\n */\nexport const getOrderedDataset = (dataSet: any, orderby: string, innerItem?: any) => {\n if (!orderBy) {\n return cloneDeep(dataSet);\n }\n\n // The order by only works when the dataset contains list of objects.\n const items = orderby && orderby.split(','),\n fields: any = [],\n directions: any = [];\n items && items.forEach( obj => {\n const item = obj.split(':');\n fields.push(innerItem ? innerItem + '.' + item[0] : item[0]);\n directions.push(item[1]);\n });\n return orderBy(dataSet, fields, directions);\n};\n\n\n/**\n * This method returns sorted data based to groupkey.\n * Returns a array of objects, each object containing key which is groupKey and data is the sorted data which is sorted by groupby field in the data.\n *\n * @param groupedLiData, grouped data object with key as the groupKey and its value as the array of objects grouped under the groupKey.\n * @param groupBy, string groupby property\n * @returns {any[]}\n */\nexport const getSortedGroupedData = (groupedLiData: any, groupBy: string, orderby: string, innerItem?: any) => {\n const _groupedData: any = [];\n forEach(keys(groupedLiData), (groupkey, index) => {\n const liData = getOrderedDataset(groupedLiData[groupkey], orderby, innerItem);\n _groupedData.push({\n key: groupkey,\n data: sortBy(liData, data => {\n data._groupIndex = index;\n return get(data, groupBy) || get(data[innerItem], groupBy);\n })\n });\n });\n return _groupedData;\n};\n\nexport const isDefined = (v: any) => typeof v !== 'undefined';\n\n// try to convert the chekedvalue and unchecked values to boolean/number\nexport const unStringify = (val: any, defaultVal?: boolean) => {\n if (val === null) {\n return defaultVal;\n }\n\n if (val === true || val === 'true') {\n return true;\n }\n\n if (val === false || val === 'false') {\n return false;\n }\n\n const number = parseInt(val, 10);\n if (!isNaN(number)) {\n return number;\n }\n return val;\n};\n\n/**\n * This function invokes the given the function (fn) until the function successfully executes or the maximum number\n * of retries is reached or onBeforeRetry returns false.\n *\n * @param fn - a function that is needs to be invoked. The function can also return a promise as well.\n * @param interval - minimum time gap between successive retries. This argument should be greater or equal to 0.\n * @param maxRetries - maximum number of retries. This argument should be greater than 0. For all other values,\n * maxRetries is infinity.\n * @param onBeforeRetry - a callback function that will be invoked before re-invoking again. This function can\n * return false or a promise that is resolved to false to stop further retry attempts.\n * @returns {*} a promise that is resolved when fn is success (or) maximum retry attempts reached\n * (or) onBeforeRetry returned false.\n */\nexport const retryIfFails = (fn: Function, interval: number, maxRetries: number, onBeforeRetry = () => Promise.resolve(false)) => {\n let retryCount = 0;\n const tryFn = () => {\n retryCount++;\n if (isFunction(fn)) {\n return fn();\n }\n };\n maxRetries = (isNumber(maxRetries) && maxRetries > 0 ? maxRetries : 0);\n interval = (isNumber(interval) && interval > 0 ? interval : 0);\n return new Promise((resolve, reject) => {\n const errorFn = function () {\n const errArgs = arguments;\n setTimeout(() => {\n Promise.resolve().then(() => onBeforeRetry()).then(function (retry) {\n if (retry !== false && (!maxRetries || retryCount <= maxRetries)) {\n Promise.resolve().then(() => tryFn()).then(resolve, errorFn);\n } else {\n reject(errArgs);\n }\n }, () => reject(errArgs));\n }, interval);\n };\n Promise.resolve().then(() => tryFn()).then(resolve, errorFn);\n });\n};\n\n/**\n * Promise of a defer created using this function, has abort function that will reject the defer when called.\n * @returns {*} angular defer object\n */\nexport const getAbortableDefer = () => {\n const _defer: any = {\n promise: null,\n reject: null,\n resolve: null,\n onAbort: () => { },\n isAborted: false\n };\n _defer.promise = new Promise((resolve, reject) => {\n _defer.resolve = resolve;\n _defer.reject = reject;\n });\n _defer.promise.abort = () => {\n _defer.onAbort && _defer.onAbort();\n _defer.reject('aborted');\n _defer.isAborted = true;\n };\n return _defer;\n};\n\nexport const validateField = (props: any, value: any) => {\n let requiredCheck = true, regexCheck = true;\n if (props.required) {\n if (isArray(value)) {\n requiredCheck = value.length === 0 ? false : true\n } else {\n requiredCheck = !value ? false : true\n }\n if (!requiredCheck) {\n return {\n errorType : 'required',\n isValid: false\n }\n }\n }\n if (value && props.regexp) {\n const condition = new RegExp(\"^\" + props.regexp + \"$\", 'g');\n regexCheck = condition.test(value);\n if (!regexCheck) {\n return {\n errorType : 'regexp',\n isValid: false\n }\n }\n }\n if (value && props.maxchars && value.length > props.maxchars) {\n return {\n errorType : 'maxchars',\n isValid: false\n }\n\n }\n if (value && props.mindate && new Date(props.datavalue) < moment(props.mindate).startOf('day').toDate()) {\n return {\n errorType : 'mindate',\n isValid: false\n }\n }\n if (value && props.maxdate && new Date(props.datavalue) > moment(props.maxdate).endOf('day').toDate()) {\n return {\n errorType : 'maxdate',\n isValid: false\n }\n }\n\n return {\n isValid: true\n }\n};\n\nexport const countDecimalDigits = (number: number | string) => {\n if (!number) return 0;\n\n // * convert the number to a string\n const numberString = number.toString();\n \n // * regular expression to match and count the decimal digits\n const decimalMatch = numberString.match(/\\.(\\d+)/);\n\n if (decimalMatch) {\n const decimalDigits = decimalMatch[1];\n return decimalDigits.length;\n } else {\n return 0; // * no decimal digits found\n }\n}\n\nexport const formatCompactNumber = (number: number) => {\n const isNegative = number < 0;\n number = isNegative ? number * -1 : number;\n let formattedNumber = number + '';\n if (number >= 1000 && number < 1_000_000) {\n formattedNumber = (number / 1000).toFixed(1).replace(/\\.0$/, \"\") + \"K\";\n } else if (number >= 1_000_000 && number < 1_000_000_000) {\n formattedNumber = (number / 1_000_000).toFixed(1).replace(/\\.0$/, \"\") + \"M\";\n } else if (number >= 1_000_000_000 && number < 1_000_000_000_000) {\n formattedNumber = (number / 1_000_000_000).toFixed(1).replace(/\\.0$/, \"\") + \"B\";\n } else if (number >= 1_000_000_000_000 && number < 1_000_000_000_000_000) {\n formattedNumber = (number / 1_000_000_000_000).toFixed(1).replace(/\\.0$/, \"\") + \"T\";\n }\n return (isNegative ? '-' : '') + formattedNumber;\n}\n\nexport const toBase64 = function(path: string) {\n return FileSystem.readAsStringAsync(path, { encoding: 'base64' });\n};\n\nconst DATASET_WIDGETS = new Set([ 'select', 'checkboxset', 'radioset', 'switch', 'autocomplete', 'chips', 'typeahead', 'rating']);\nexport const isDataSetWidget = (widget: any) => {\n return DATASET_WIDGETS.has(widget);\n};\nexport const isFullPathUrl = (url: string) => {\n return isString(url) &&\n (url.startsWith('data:') \n || url.startsWith('http:') \n || url.startsWith('https:') \n || url.startsWith('file:'));\n};\n\nexport function removeUndefinedKeys(obj: any) {\n for (const key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n } else if (typeof obj[key] === 'object') {\n // * if the value is an object, recursively call the function\n removeUndefinedKeys(obj[key]);\n }\n }\n\n return obj;\n}\n// * get total number of days in a month of a year\nfunction getDaysInMonth(month: number, year: number) {\n return new Date(year, month, 0).getDate();\n}\n\nexport const getDates = (\n startDate: number,\n endDate: number,\n month = 0, // zero-based\n year = new Date().getFullYear(),\n) => {\n const daysInMonth = getDaysInMonth(month, year);\n const dates = Array.from({length: daysInMonth}, (v, i) => i + 1);\n\n const datesInRange = dates.filter(date => date >= startDate);\n\n return datesInRange;\n};\n\nexport const monthNames = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n];\n\nexport const getMonths = (startMonth: number, endMonth: number) => {\n const months = monthNames.map(name => name.substring(0, 3));\n const monthRange = months.filter((_, index) => index >= startMonth)\n\n return monthRange;\n};\n\nexport const getMonthIndex = (monthName: string, shortName: boolean = true) => {\n const months = shortName ? monthNames.map(name => name.substring(0, 3)) : monthNames;\n const monthNumber = months.findIndex((name) => name === monthName);\n\n return monthNumber;\n}\n\nexport const getYearRange = (\n startYear: number = 1950,\n endYear: number = 2060,\n) => {\n const years = [];\n for (let year = startYear; year <= endYear; ++year) {\n years.push(year);\n }\n\n return years;\n};\n\nexport const getDateObject = (date: number, month: number, year: number) => {\n // * month is zero-based\n return new Date(year, month, date);\n};\n\nexport const getHours = () => {\n const hours = [];\n for (let hour = 1; hour <= 12; ++hour) {\n const paddedHour = String(hour).padStart(2, '0');\n hours.push(paddedHour);\n }\n\n return hours;\n}\n\nexport const get24Hours = () => {\n const hours = [];\n for (let hour = 0; hour <= 23; ++hour) {\n const paddedHour = String(hour).padStart(2, '0');\n hours.push(paddedHour);\n }\n\n return hours;\n}\n\nexport const getMinutes = () => {\n const minutes = [];\n for (let minute = 0; minute <= 59; ++minute) {\n const paddedMinute = String(minute).padStart(2, '0');\n minutes.push(paddedMinute);\n }\n\n return minutes;\n}\n\nexport const getTimeIndicators = () => {\n return ['AM', 'PM'];\n}\n\nexport const getDateTimeObject = (date: number, month: number, year: number, hour: number, minute: number) => {\n // * month is zero-based\n return new Date(year, month, date, hour, minute);\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["Platform","moment","FileSystem","isFunction","includes","isUndefined","isNull","orderBy","groupBy","toLower","get","forEach","sortBy","cloneDeep","keys","values","isArray","isString","isNumber","ThemeVariables","GROUP_BY_OPTIONS","ALPHABET","WORD","OTHERS","TIME_ROLLUP_OPTIONS","HOUR","DAY","WEEK","MONTH","YEAR","_deepCopy","o1","_len","arguments","length","o2","Array","_key","o","Object","k","v","deepCopy","_len2","objects","_key2","toBoolean","val","undefined","toNumber","parseFloat","e","encodeUrl","url","splits","split","hash","params","map","p","encodeURIComponent","join","encodeURI","isWebPreviewMode","OS","isDevMode","__DEV__","widgetsWithUndefinedValue","isAndroid","test","window","navigator","userAgent","isIos","getGroupKey","fieldDef","groupby","widgetScope","innerItem","apply","proxy","getGroupedData","fieldDefs","match","orderby","dateFormat","groupKey","groupedLiData","concatStr","toString","trim","substr","replace","format","getSortedGroupedData","getOrderedDataset","dataSet","items","fields","directions","obj","item","push","_groupedData","groupkey","index","liData","key","data","_groupIndex","isDefined","unStringify","defaultVal","number","parseInt","isNaN","retryIfFails","fn","interval","maxRetries","onBeforeRetry","Promise","resolve","retryCount","tryFn","reject","errorFn","errArgs","setTimeout","then","retry","getAbortableDefer","_defer","promise","onAbort","isAborted","abort","validateField","props","value","requiredCheck","regexCheck","required","errorType","isValid","regexp","condition","RegExp","maxchars","mindate","Date","datavalue","startOf","toDate","maxdate","endOf","countDecimalDigits","numberString","decimalMatch","decimalDigits","formatCompactNumber","isNegative","formattedNumber","toFixed","toBase64","path","readAsStringAsync","encoding","DATASET_WIDGETS","Set","isDataSetWidget","widget","has","isFullPathUrl","startsWith","removeUndefinedKeys","getDaysInMonth","month","year","getDate","getDates","startDate","endDate","getFullYear","daysInMonth","dates","from","i","datesInRange","filter","date","monthNames","getMonths","startMonth","endMonth","months","name","substring","monthRange","_","getMonthIndex","monthName","shortName","monthNumber","findIndex","getYearRange","startYear","endYear","years","getDateObject","getHours","hours","hour","paddedHour","String","padStart","get24Hours","getMinutes","minutes","minute","paddedMinute","getTimeIndicators","getDateTimeObject","getGradientStartEnd","angle","angleLowerCase","toLowerCase","start","x","y","end","parseLinearGradient","gradient","color1","color2","linearGradientRegex","hasLinearGradient","matches","INSTANCE","primaryColor","validateInputOnDevice","type","_value$match","isCurrencyField","isValidText","validText","Number","isDateFormatAsPerPattern","datePattern","dateString","_date$format","toUpperCase","error"],"sources":["utils.ts"],"sourcesContent":["import { Platform } from 'react-native';\nimport moment from \"moment\";\nimport * as FileSystem from \"expo-file-system\";\nimport { isFunction, includes, isUndefined, isNull, orderBy, groupBy, toLower, get, forEach, sortBy, cloneDeep, keys, values, isArray, isString, isNumber} from 'lodash';\nimport ThemeVariables from '../styles/theme.variables';\n\n\ndeclare const window: any;\nconst GROUP_BY_OPTIONS = {\n ALPHABET: 'alphabet',\n WORD: 'word',\n OTHERS: 'Others'\n};\nconst TIME_ROLLUP_OPTIONS = {\n HOUR: 'hour',\n DAY: 'day',\n WEEK: 'week',\n MONTH: 'month',\n YEAR: 'year'\n};\n\nconst _deepCopy = (o1: any, ...o2: any) => {\n o2.forEach((o: any) => {\n if (o) {\n Object.keys(o).forEach(k => {\n const v = o[k];\n if (v && !isString(v) && !isArray(v) && typeof v === 'object') {\n o1[k] = _deepCopy(o1[k] || {}, o[k]);\n } else {\n o1[k] = _deepCopy(v);\n }\n });\n }\n });\n return o1;\n};\n\nexport const deepCopy = (...objects: any) => _deepCopy({}, ...objects);\n\nexport const toBoolean = (val: any) => {\n return val === true\n || val === 'true'\n || !(val === false\n || val === null\n || val === undefined\n || val === '');\n};\n\nexport const toNumber = (val: any) => {\n try {\n return parseFloat(val) || 0;\n } catch(e) {\n return 0;\n }\n};\n\n/**\n * this method encodes the url and returns the encoded string\n */\n export const encodeUrl = (url: string): string => {\n let splits = url.split('#');\n const hash = splits[1];\n splits = splits[0].split('?');\n let params = '';\n if (splits.length > 1) {\n params = splits[1].split('&')\n .map(p => p.split('='))\n .map(p => p[0] +'=' + encodeURIComponent(p[1]))\n .join('&');\n }\n return encodeURI(splits[0]) + (params ? '?' + params: '') + (hash ? '#'+ hash : '');\n};\n\nexport const isWebPreviewMode = () => Platform.OS === 'web';\n\nexport const isDevMode = () => isWebPreviewMode() || __DEV__;\n\nexport const widgetsWithUndefinedValue = ['checkbox', 'toggle'];\n\nexport const isAndroid = () => (Platform.OS === 'android' || (Platform.OS === 'web' && /android/i.test(window.navigator.userAgent)));\n\nexport const isIos = () => (Platform.OS === 'ios' || (Platform.OS === 'web' && /iPhone|iPad/i.test(window.navigator.userAgent)));\n\nconst getGroupKey = (fieldDef: any, groupby: string, widgetScope: any, innerItem?: any) => isFunction(groupby) ? groupby.apply(widgetScope.proxy, [innerItem ? fieldDef[innerItem] : fieldDef]) : get(innerItem ? fieldDef[innerItem] : fieldDef, groupby);\n\n/**\n * This method prepares the grouped data.\n *\n * @param fieldDefs array of objects i.e. dataset\n * @param groupby string groupby\n * @param match string match\n * @param orderby string orderby\n * @param dateFormat string date format\n */\nexport const getGroupedData = (fieldDefs: any, groupby: string, match: string, orderby: string, dateFormat: string, widgetScope: any, innerItem?: any) => {\n\n // handling case-in-sensitive scenario\n // ordering the data based on groupby field. If there is innerItem then apply orderby using the innerItem's containing the groupby field.\n fieldDefs = orderBy(fieldDefs, fieldDef => {\n const groupKey = getGroupKey(fieldDef, groupby, widgetScope, innerItem);\n if (groupKey) {\n return toLower(groupKey);\n }\n return '';\n });\n\n // extract the grouped data based on the field obtained from 'groupDataByField'.\n const groupedLiData = groupBy(fieldDefs, function (fieldDef) {\n let concatStr = getGroupKey(fieldDef, groupby, widgetScope, innerItem);\n // by default set the undefined groupKey as 'others'\n if (isUndefined(concatStr) || isNull(concatStr) || concatStr.toString().trim() === '') {\n return GROUP_BY_OPTIONS.OTHERS;\n }\n // if match prop is alphabetic ,get the starting alphabet of the word as key.\n if (match === GROUP_BY_OPTIONS.ALPHABET) {\n concatStr = concatStr.substr(0, 1);\n }\n\n // if match contains the time options then get the concatStr using 'getTimeRolledUpString'\n if (includes(values(TIME_ROLLUP_OPTIONS), match)) {\n dateFormat = dateFormat && dateFormat.replace(/d/g, 'D');\n dateFormat = dateFormat && dateFormat.replace(/y/g, 'Y');\n concatStr = moment(concatStr).format(dateFormat);\n }\n\n return concatStr;\n });\n\n return getSortedGroupedData(groupedLiData, groupby, orderby, innerItem);\n};\n\n/**\n * function to get the ordered dataset based on the given orderby\n */\nexport const getOrderedDataset = (dataSet: any, orderby: string, innerItem?: any) => {\n if (!orderBy) {\n return cloneDeep(dataSet);\n }\n\n // The order by only works when the dataset contains list of objects.\n const items = orderby && orderby.split(','),\n fields: any = [],\n directions: any = [];\n items && items.forEach( obj => {\n const item = obj.split(':');\n fields.push(innerItem ? innerItem + '.' + item[0] : item[0]);\n directions.push(item[1]);\n });\n return orderBy(dataSet, fields, directions);\n};\n\n\n/**\n * This method returns sorted data based to groupkey.\n * Returns a array of objects, each object containing key which is groupKey and data is the sorted data which is sorted by groupby field in the data.\n *\n * @param groupedLiData, grouped data object with key as the groupKey and its value as the array of objects grouped under the groupKey.\n * @param groupBy, string groupby property\n * @returns {any[]}\n */\nexport const getSortedGroupedData = (groupedLiData: any, groupBy: string, orderby: string, innerItem?: any) => {\n const _groupedData: any = [];\n forEach(keys(groupedLiData), (groupkey, index) => {\n const liData = getOrderedDataset(groupedLiData[groupkey], orderby, innerItem);\n _groupedData.push({\n key: groupkey,\n data: sortBy(liData, data => {\n data._groupIndex = index;\n return get(data, groupBy) || get(data[innerItem], groupBy);\n })\n });\n });\n return _groupedData;\n};\n\nexport const isDefined = (v: any) => typeof v !== 'undefined';\n\n// try to convert the chekedvalue and unchecked values to boolean/number\nexport const unStringify = (val: any, defaultVal?: boolean) => {\n if (val === null) {\n return defaultVal;\n }\n\n if (val === true || val === 'true') {\n return true;\n }\n\n if (val === false || val === 'false') {\n return false;\n }\n\n const number = parseInt(val, 10);\n if (!isNaN(number)) {\n return number;\n }\n return val;\n};\n\n/**\n * This function invokes the given the function (fn) until the function successfully executes or the maximum number\n * of retries is reached or onBeforeRetry returns false.\n *\n * @param fn - a function that is needs to be invoked. The function can also return a promise as well.\n * @param interval - minimum time gap between successive retries. This argument should be greater or equal to 0.\n * @param maxRetries - maximum number of retries. This argument should be greater than 0. For all other values,\n * maxRetries is infinity.\n * @param onBeforeRetry - a callback function that will be invoked before re-invoking again. This function can\n * return false or a promise that is resolved to false to stop further retry attempts.\n * @returns {*} a promise that is resolved when fn is success (or) maximum retry attempts reached\n * (or) onBeforeRetry returned false.\n */\nexport const retryIfFails = (fn: Function, interval: number, maxRetries: number, onBeforeRetry = () => Promise.resolve(false)) => {\n let retryCount = 0;\n const tryFn = () => {\n retryCount++;\n if (isFunction(fn)) {\n return fn();\n }\n };\n maxRetries = (isNumber(maxRetries) && maxRetries > 0 ? maxRetries : 0);\n interval = (isNumber(interval) && interval > 0 ? interval : 0);\n return new Promise((resolve, reject) => {\n const errorFn = function () {\n const errArgs = arguments;\n setTimeout(() => {\n Promise.resolve().then(() => onBeforeRetry()).then(function (retry) {\n if (retry !== false && (!maxRetries || retryCount <= maxRetries)) {\n Promise.resolve().then(() => tryFn()).then(resolve, errorFn);\n } else {\n reject(errArgs);\n }\n }, () => reject(errArgs));\n }, interval);\n };\n Promise.resolve().then(() => tryFn()).then(resolve, errorFn);\n });\n};\n\n/**\n * Promise of a defer created using this function, has abort function that will reject the defer when called.\n * @returns {*} angular defer object\n */\nexport const getAbortableDefer = () => {\n const _defer: any = {\n promise: null,\n reject: null,\n resolve: null,\n onAbort: () => { },\n isAborted: false\n };\n _defer.promise = new Promise((resolve, reject) => {\n _defer.resolve = resolve;\n _defer.reject = reject;\n });\n _defer.promise.abort = () => {\n _defer.onAbort && _defer.onAbort();\n _defer.reject('aborted');\n _defer.isAborted = true;\n };\n return _defer;\n};\n\nexport const validateField = (props: any, value: any) => {\n let requiredCheck = true, regexCheck = true;\n if (props.required) {\n if (isArray(value)) {\n requiredCheck = value.length === 0 ? false : true\n } else {\n requiredCheck = !value ? false : true\n }\n if (!requiredCheck) {\n return {\n errorType : 'required',\n isValid: false\n }\n }\n }\n if (value && props.regexp) {\n const condition = new RegExp(\"^\" + props.regexp + \"$\", 'g');\n regexCheck = condition.test(value);\n if (!regexCheck) {\n return {\n errorType : 'regexp',\n isValid: false\n }\n }\n }\n if (value && props.maxchars && value.length > props.maxchars) {\n return {\n errorType : 'maxchars',\n isValid: false\n }\n\n }\n if (value && props.mindate && new Date(props.datavalue) < moment(props.mindate).startOf('day').toDate()) {\n return {\n errorType : 'mindate',\n isValid: false\n }\n }\n if (value && props.maxdate && new Date(props.datavalue) > moment(props.maxdate).endOf('day').toDate()) {\n return {\n errorType : 'maxdate',\n isValid: false\n }\n }\n\n return {\n isValid: true\n }\n};\n\nexport const countDecimalDigits = (number: number | string) => {\n if (!number) return 0;\n\n // * convert the number to a string\n const numberString = number.toString();\n \n // * regular expression to match and count the decimal digits\n const decimalMatch = numberString.match(/\\.(\\d+)/);\n\n if (decimalMatch) {\n const decimalDigits = decimalMatch[1];\n return decimalDigits.length;\n } else {\n return 0; // * no decimal digits found\n }\n}\n\nexport const formatCompactNumber = (number: number) => {\n const isNegative = number < 0;\n number = isNegative ? number * -1 : number;\n let formattedNumber = number + '';\n if (number >= 1000 && number < 1_000_000) {\n formattedNumber = (number / 1000).toFixed(1).replace(/\\.0$/, \"\") + \"K\";\n } else if (number >= 1_000_000 && number < 1_000_000_000) {\n formattedNumber = (number / 1_000_000).toFixed(1).replace(/\\.0$/, \"\") + \"M\";\n } else if (number >= 1_000_000_000 && number < 1_000_000_000_000) {\n formattedNumber = (number / 1_000_000_000).toFixed(1).replace(/\\.0$/, \"\") + \"B\";\n } else if (number >= 1_000_000_000_000 && number < 1_000_000_000_000_000) {\n formattedNumber = (number / 1_000_000_000_000).toFixed(1).replace(/\\.0$/, \"\") + \"T\";\n }\n return (isNegative ? '-' : '') + formattedNumber;\n}\n\nexport const toBase64 = function(path: string) {\n return FileSystem.readAsStringAsync(path, { encoding: 'base64' });\n};\n\nconst DATASET_WIDGETS = new Set([ 'select', 'checkboxset', 'radioset', 'switch', 'autocomplete', 'chips', 'typeahead', 'rating']);\nexport const isDataSetWidget = (widget: any) => {\n return DATASET_WIDGETS.has(widget);\n};\nexport const isFullPathUrl = (url: string) => {\n return isString(url) &&\n (url.startsWith('data:') \n || url.startsWith('http:') \n || url.startsWith('https:') \n || url.startsWith('file:'));\n};\n\nexport function removeUndefinedKeys(obj: any) {\n for (const key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n } else if (typeof obj[key] === 'object') {\n // * if the value is an object, recursively call the function\n removeUndefinedKeys(obj[key]);\n }\n }\n\n return obj;\n}\n// * get total number of days in a month of a year\nfunction getDaysInMonth(month: number, year: number) {\n return new Date(year, month, 0).getDate();\n}\n\nexport const getDates = (\n startDate: number,\n endDate: number,\n month = 0, // zero-based\n year = new Date().getFullYear(),\n) => {\n const daysInMonth = getDaysInMonth(month, year);\n const dates = Array.from({length: daysInMonth}, (v, i) => i + 1);\n\n const datesInRange = dates.filter(date => date >= startDate);\n\n return datesInRange;\n};\n\nexport const monthNames = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n];\n\nexport const getMonths = (startMonth: number, endMonth: number) => {\n const months = monthNames.map(name => name.substring(0, 3));\n const monthRange = months.filter((_, index) => index >= startMonth)\n\n return monthRange;\n};\n\nexport const getMonthIndex = (monthName: string, shortName: boolean = true) => {\n const months = shortName ? monthNames.map(name => name.substring(0, 3)) : monthNames;\n const monthNumber = months.findIndex((name) => name === monthName);\n\n return monthNumber;\n}\n\nexport const getYearRange = (\n startYear: number = 1950,\n endYear: number = 2060,\n) => {\n const years = [];\n for (let year = startYear; year <= endYear; ++year) {\n years.push(year);\n }\n\n return years;\n};\n\nexport const getDateObject = (date: number, month: number, year: number) => {\n // * month is zero-based\n return new Date(year, month, date);\n};\n\nexport const getHours = () => {\n const hours = [];\n for (let hour = 1; hour <= 12; ++hour) {\n const paddedHour = String(hour).padStart(2, '0');\n hours.push(paddedHour);\n }\n\n return hours;\n}\n\nexport const get24Hours = () => {\n const hours = [];\n for (let hour = 0; hour <= 23; ++hour) {\n const paddedHour = String(hour).padStart(2, '0');\n hours.push(paddedHour);\n }\n\n return hours;\n}\n\nexport const getMinutes = () => {\n const minutes = [];\n for (let minute = 0; minute <= 59; ++minute) {\n const paddedMinute = String(minute).padStart(2, '0');\n minutes.push(paddedMinute);\n }\n\n return minutes;\n}\n\nexport const getTimeIndicators = () => {\n return ['AM', 'PM'];\n}\n\nexport const getDateTimeObject = (date: number, month: number, year: number, hour: number, minute: number) => {\n // * month is zero-based\n return new Date(year, month, date, hour, minute);\n};\n\nexport const getGradientStartEnd = (angle: string) => {\n const angleLowerCase = angle?.toLowerCase();\n let start = { x: 0, y: 1 };\n let end = { x: 1, y: 1 };\n\n if (angle === '0deg' || angleLowerCase === 'to top') {\n end.x = 0;\n end.y = 0;\n } else if (angle === '90deg' || angleLowerCase === 'to right') {\n start.x = 0;\n } else if (angle === '180deg' || angleLowerCase === 'to bottom') {\n start.y = 0;\n end.x = 0;\n end.y = 1;\n } else if (angle === '270deg' || angleLowerCase === 'to left') {\n start.x = 1;\n end.x = 0;\n } else {\n // other angle\n }\n\n return {start, end}\n}\n\nexport const parseLinearGradient = (gradient: string) => {\n let angle = '', color1 = '', color2 = '';\n const linearGradientRegex = /linear-gradient\\(([^,]+),\\s*([^,]+),\\s*([^)]+)\\)/;\n const hasLinearGradient = linearGradientRegex.test(gradient);\n\n const matches = gradient?.match(linearGradientRegex);\n angle = matches?.[1] || '90deg';\n const {start, end} = getGradientStartEnd(angle)\n color1 = matches?.[2] || ThemeVariables.INSTANCE.primaryColor;\n color2 = matches?.[3] || ThemeVariables.INSTANCE.primaryColor;\n\n return {hasLinearGradient, color1, color2, start, end};\n}\n\nexport const validateInputOnDevice = (value: string, type: 'number' | 'currency') => {\n const isCurrencyField = type === 'currency';\n let isValidText = true;\n let validText = value;\n \n // * no alphabets except E, may contain E only once\n if (/[a-df-zA-DF-Z]/.test(value) || !/^[^eE]*[eE]?[^eE]*$/.test(value)) {\n isValidText = false;\n validText = validText.replace(/[a-df-zA-DF-Z]/g, '');\n validText = validText.replace(/([eE])\\1+/g, 'e');\n }\n\n // * currency only: check for negative number\n if (isCurrencyField && (Number(value) < 0 || /-/g.test(value))) {\n isValidText = false;\n validText = validText.replace(/-/g, '');\n }\n\n // * number only: not more than one minus and doesn't end with minus (-)\n if (!isCurrencyField && (Number(value.match(/-/g)?.length) > 1) || /\\w-/.test(value)) {\n isValidText = false;\n validText = validText.replace(/-/g, '');\n validText = validText.replace(/\\w-/g, '');\n }\n\n // * check for more than one decimal point\n if (/^\\d*\\.\\d*\\..*$/.test(value)) {\n isValidText = false;\n validText = validText.replace(/\\.(?=\\.*\\.)/g, '');\n }\n\n // * check for spaces and comma\n if (/[\\s,]/.test(value)) {\n isValidText = false;\n validText = validText.replace(/[\\s,]/, '');\n }\n\n return {isValidText, validText};\n}\n\nexport const isDateFormatAsPerPattern = (\n datePattern?: string,\n dateString?: string | Date\n) => {\n try {\n // * format dateString as per datePattern\n const date = moment(dateString, datePattern, true);\n\n // * check date is valid and matches the format\n return date.isValid() && typeof dateString === 'string' && dateString?.toUpperCase() === date.format(datePattern)?.toUpperCase();\n } catch (error) {\n // * if not able to parse date string\n return false;\n }\n};\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/app-rn-runtime",
3
- "version": "11.7.5-4.5693",
3
+ "version": "11.7.5-4.5702",
4
4
  "description": "''",
5
5
  "main": "index",
6
6
  "module": "index",
@@ -49,7 +49,7 @@
49
49
  "@react-navigation/native": "6.1.7",
50
50
  "@react-navigation/stack": "^6.3.7",
51
51
  "@types/lodash-es": "^4.17.6",
52
- "@wavemaker/variables": "11.7.5-4.5693",
52
+ "@wavemaker/variables": "11.7.5-4.5702",
53
53
  "axios": "^1.4.0",
54
54
  "color": "4.2.3",
55
55
  "cross-env": "^5.2.0",
@@ -131,7 +131,7 @@
131
131
  "typescript": "^5.1.3",
132
132
  "victory-native": "36.6.11",
133
133
  "yargs": "^16.2.0",
134
- "@wavemaker/variables": "11.7.5-4.5693"
134
+ "@wavemaker/variables": "11.7.5-4.5702"
135
135
  },
136
136
  "jest": {
137
137
  "preset": "react-native",