@wavemaker/app-rn-runtime 11.14.1-22.647482 → 11.14.1-22.647501

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.
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_CLASS","BaseComponent","BaseComponentState","isString","Platform","validateField","Injector","BaseInputState","constructor","args","_defineProperty","BaseInputComponent","props","defaultClass","defaultProps","defaultState","focus","_this$widgetRef","widgetRef","blur","_this$widgetRef2","_this$widgetRef3","onPropertyChange","name","$new","$old","keyboardType","type","updateState","textValue","isDefault","state","isdefault","skipscripteventtrigger","onFieldChange","bind","onChange","event","updateon","updateDatavalue","target","value","timer","clearTimeout","setTimeout","onChangeText","charlength","length","validate","invokeChange","e","OS","cursor","selectionStart","setState","source","oldValue","datavalue","autotrim","trim","Promise","resolve","hastwowaybinding","setProp","then","invokeEventCallback","proxy","onBlur","FOCUSED_ELEMENT","remove","isTouched","newVal","oldVal","undefined","triggerValidation","isInputFocused","validationObj","isValid","errorType","onFocus","_this$closestTappable","set","closestTappable","triggerTap","onKeyPress"],"sources":["baseinput.component.ts"],"sourcesContent":["import { DEFAULT_CLASS } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport BaseInputProps from './baseinput.props';\nimport { isString } from 'lodash';\nimport { BaseInputStyles } from './baseinput.styles';\nimport { Platform, TextInput } from 'react-native';\nimport { validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport Injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class BaseInputState <T extends BaseInputProps> extends BaseComponentState<T> {\n keyboardType: any = 'default';\n isValid: boolean = true;\n isInputFocused: boolean = false;\n textValue: string = '';\n isDefault = false;\n errorType: string = '';\n}\nexport abstract class BaseInputComponent< T extends BaseInputProps, S extends BaseInputState<T>, L extends BaseInputStyles> extends BaseComponent<T, S, L> {\n public widgetRef: TextInput | null = null;\n isTouched: boolean = false;\n private cursor: any = 0;\n private timer: ReturnType<typeof setTimeout> | null = null;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n public charlength:number = 0;\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n blur() {\n this?.widgetRef?.blur && this?.widgetRef?.blur();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'type':\n let keyboardType;\n if (this.props.type === 'number') {\n keyboardType = 'numeric';\n } else if (this.props.type === 'tel') {\n keyboardType = 'phone-pad';\n } else if (this.props.type === 'email') {\n keyboardType = 'email-address';\n }\n this.updateState({\n keyboardType: keyboardType,\n } as S);\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new\n } as S\n );\n \n const isDefault = this.state.props.isdefault;\n if (isDefault) {\n this.updateState(\n { props: {isdefault: false} } as S, \n !this.state.props.skipscripteventtrigger && this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault)\n );\n } \n else {\n !this.state.props.skipscripteventtrigger && this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n }\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }else if(this.state.props.updateon === 'lazy') {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.updateDatavalue(event.target.value, event);\n }, 300)\n }\n }\n\n onChangeText(value: any) {\n this.charlength = value?.length;\n if(this.state.props.updateon === 'lazy') {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.updateState({\n textValue: value\n } as S, () => {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n );\n }, 300)\n }\n else {\n this.updateState({\n textValue: value\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n }\n );\n }\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n\n // autotrim\n if (props.autotrim && props.datavalue && isString(props.datavalue)) {\n value = value.trim();\n }\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n this.setProp(\"datavalue\", value);\n this.updateState({props: { \"datavalue\": value }} as S);\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: value\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n if(!this.props.onFieldChange && value !== oldValue){\n this.invokeEventCallback('onChange', [event, this.proxy, value, oldValue]);\n }else if(this.state.props.skipscripteventtrigger && this.props.onFieldChange){\n this.props.onFieldChange('datavalue', value, oldValue, false);\n }\n if (source === 'blur') {\n setTimeout(() => {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }, 10);\n }\n })\n }\n\n onBlur(event: any) {\n Injector.FOCUSED_ELEMENT.remove();\n this.isTouched = true;\n let newVal = this.state.textValue || '';\n let oldVal = this.state.props.datavalue || '';\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {\n if (oldVal !== newVal && this.state.props.updateon === 'blur') {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n this.setState({ isInputFocused: false })\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n }\n\n onFocus(event: any) {\n // When input widgets are inside list widget and try to focus the field, list is selecting but unable to enter values in input fields\n // because on tap event of list is triggering after 200ms timeout So added 250ms timeout here\n setTimeout(() => {\n Injector.FOCUSED_ELEMENT.set(this);\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n this.closestTappable?.triggerTap();\n }, 250);\n this.setState({ isInputFocused: true })\n }\n\n onKeyPress(event: any) {\n this.invokeEventCallback('onKeypress', [ event, this.proxy]);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DEFAULT_CLASS","BaseComponent","BaseComponentState","isString","Platform","validateField","Injector","BaseInputState","constructor","args","_defineProperty","BaseInputComponent","props","defaultClass","defaultProps","defaultState","focus","_this$widgetRef","widgetRef","blur","_this$widgetRef2","_this$widgetRef3","onPropertyChange","name","$new","$old","keyboardType","type","updateState","textValue","state","isValid","validationObj","errorType","isDefault","isdefault","skipscripteventtrigger","onFieldChange","bind","onChange","event","updateon","updateDatavalue","target","value","timer","clearTimeout","setTimeout","onChangeText","charlength","length","validate","invokeChange","e","OS","cursor","selectionStart","setState","source","oldValue","datavalue","autotrim","trim","Promise","resolve","hastwowaybinding","setProp","then","invokeEventCallback","proxy","onBlur","FOCUSED_ELEMENT","remove","isTouched","newVal","oldVal","undefined","triggerValidation","isInputFocused","onFocus","_this$closestTappable","set","closestTappable","triggerTap","onKeyPress"],"sources":["baseinput.component.ts"],"sourcesContent":["import { DEFAULT_CLASS } from '@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport BaseInputProps from './baseinput.props';\nimport { isString } from 'lodash';\nimport { BaseInputStyles } from './baseinput.styles';\nimport { Platform, TextInput } from 'react-native';\nimport { validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport Injector from '@wavemaker/app-rn-runtime/core/injector';\n\nexport class BaseInputState <T extends BaseInputProps> extends BaseComponentState<T> {\n keyboardType: any = 'default';\n isValid: boolean = true;\n isInputFocused: boolean = false;\n textValue: string = '';\n isDefault = false;\n errorType: string = '';\n}\nexport abstract class BaseInputComponent< T extends BaseInputProps, S extends BaseInputState<T>, L extends BaseInputStyles> extends BaseComponent<T, S, L> {\n public widgetRef: TextInput | null = null;\n isTouched: boolean = false;\n private cursor: any = 0;\n private timer: ReturnType<typeof setTimeout> | null = null;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n public charlength:number = 0;\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n blur() {\n this?.widgetRef?.blur && this?.widgetRef?.blur();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'type':\n let keyboardType;\n if (this.props.type === 'number') {\n keyboardType = 'numeric';\n } else if (this.props.type === 'tel') {\n keyboardType = 'phone-pad';\n } else if (this.props.type === 'email') {\n keyboardType = 'email-address';\n }\n this.updateState({\n keyboardType: keyboardType,\n } as S);\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new\n } as S\n );\n if (!this.state.isValid) {\n const validationObj = validateField(this.state.props, $new);\n this.updateState({ isValid: validationObj.isValid, errorType: validationObj.errorType || '' } as S);\n }\n\n const isDefault = this.state.props.isdefault;\n if (isDefault) {\n this.updateState(\n { props: {isdefault: false} } as S, \n !this.state.props.skipscripteventtrigger && this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault)\n );\n } \n else {\n !this.state.props.skipscripteventtrigger && this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n }\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }else if(this.state.props.updateon === 'lazy') {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.updateDatavalue(event.target.value, event);\n }, 300)\n }\n }\n\n onChangeText(value: any) {\n this.charlength = value?.length;\n if(this.state.props.updateon === 'lazy') {\n if(this.timer !== null) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n\n this.timer = setTimeout(() => {\n this.updateState({\n textValue: value\n } as S, () => {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n );\n }, 300)\n }\n else {\n this.updateState({\n textValue: value\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(value);\n this.updateDatavalue(value, null);\n }\n }\n );\n }\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n\n // autotrim\n if (props.autotrim && props.datavalue && isString(props.datavalue)) {\n value = value.trim();\n }\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n this.setProp(\"datavalue\", value);\n this.updateState({props: { \"datavalue\": value }} as S);\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: value\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n if(!this.props.onFieldChange && value !== oldValue){\n this.invokeEventCallback('onChange', [event, this.proxy, value, oldValue]);\n }else if(this.state.props.skipscripteventtrigger && this.props.onFieldChange){\n this.props.onFieldChange('datavalue', value, oldValue, false);\n }\n if (source === 'blur') {\n setTimeout(() => {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }, 10);\n }\n })\n }\n\n onBlur(event: any) {\n Injector.FOCUSED_ELEMENT.remove();\n this.isTouched = true;\n let newVal = this.state.textValue || '';\n let oldVal = this.state.props.datavalue || '';\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {\n if (oldVal !== newVal && this.state.props.updateon === 'blur') {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n this.setState({ isInputFocused: false })\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n }\n\n onFocus(event: any) {\n // When input widgets are inside list widget and try to focus the field, list is selecting but unable to enter values in input fields\n // because on tap event of list is triggering after 200ms timeout So added 250ms timeout here\n setTimeout(() => {\n Injector.FOCUSED_ELEMENT.set(this);\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n this.closestTappable?.triggerTap();\n }, 250);\n this.setState({ isInputFocused: true })\n }\n\n onKeyPress(event: any) {\n this.invokeEventCallback('onKeypress', [ event, this.proxy]);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -33,6 +33,9 @@ export default class WmCalendar extends BaseComponent {
33
33
  });
34
34
  this.invokeEventCallback('onSelect', [d, d, this, dateWindow === null || dateWindow === void 0 ? void 0 : dateWindow.events]);
35
35
  });
36
+ _defineProperty(this, "onDateClick", () => {
37
+ this.invokeEventCallback('onDateclick', [null, this]);
38
+ });
36
39
  _defineProperty(this, "renderDay", date => {
37
40
  const dateWindow = this.state.calendar.get(moment(date).format(DEFAULT_DATE_FORMAT));
38
41
  if (dateWindow) {
@@ -124,6 +127,7 @@ export default class WmCalendar extends BaseComponent {
124
127
  }, this._background, /*#__PURE__*/React.createElement(MonthView, {
125
128
  date: this.state.selectedDate,
126
129
  selectDate: this.onDateChange,
130
+ onDateClick: this.onDateClick,
127
131
  format: DEFAULT_DATE_FORMAT,
128
132
  renderChildDay: this.renderDay,
129
133
  containerStyle: this.styles.calendar,
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","isString","moment","BaseComponent","BaseComponentState","MonthView","WmCalendarProps","DEFAULT_CLASS","WmIcon","createSkeleton","WmCalendarState","constructor","args","_defineProperty","Map","DEFAULT_DATE_FORMAT","WmCalendar","props","date","d","format","dateWindow","state","calendar","get","updateState","datavalue","selectedDate","invokeEventCallback","events","createElement","iconclass","iconsize","styles","root","marginTop","alignSelf","icon","Math","min","length","Fragment","prepareDataset","dataset","eventStartKey","eventstart","forEach","startDate","has","set","push","onPropertyChange","name","$new","$old","componentDidUpdate","prevProps","prevState","snapshot","renderSkeleton","style","skeleton","headerSkeleton","theme","width","height","borderRadius","margin","renderWidget","onLayout","event","handleLayout","_background","selectDate","onDateChange","renderChildDay","renderDay","containerStyle","dateSelectedWarpDayStyle","selectedDay","selectedDayTextStyle","selectedDayText","warpRowWeekdays","weekDay","warpRowControlMonthYear","calendarHeader","weekdayStyle","weekDayText","warpDayStyle","dayWrapper","textDayStyle","day","yearTextStyle","yearText","monthTextStyle","monthText","currentDayStyle","today","currentDayTextStyle","todayText","notDayOfCurrentMonthStyle","notDayOfCurrentMonth","renderPrevYearButton","id","getTestId","prevYearBtn","accessibilitylabel","accessibilityrole","renderPrevMonthButton","prevMonthBtn","renderNextMonthButton","nextMonthBtn","renderNextYearButton","nextYearBtn"],"sources":["calendar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, View } from 'react-native';\nimport { isString } from 'lodash';\nimport moment, { Moment } from 'moment';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport { MonthView } from './views/month-view';\nimport WmCalendarProps from './calendar.props';\nimport { DEFAULT_CLASS, WmCalendarStyles } from './calendar.styles';\nimport WmIcon from '../../basic/icon/icon.component';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component'\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class WmCalendarState extends BaseComponentState<WmCalendarProps> {\n selectedDate: Moment = moment();\n calendar: Map<String, { date: number, events: any []}> = new Map();\n}\n\nconst DEFAULT_DATE_FORMAT = 'DD-MM-YYYY';\n\nexport default class WmCalendar extends BaseComponent<WmCalendarProps, WmCalendarState, WmCalendarStyles> {\n\n constructor(props: WmCalendarProps) {\n super(props, DEFAULT_CLASS, new WmCalendarProps(), new WmCalendarState());\n }\n\n onDateChange = (date: Moment) => {\n const d = moment(date).format(DEFAULT_DATE_FORMAT);\n const dateWindow = this.state.calendar.get(d);\n this.updateState({\n props: {datavalue: d},\n selectedDate: date\n } as WmCalendarState);\n this.invokeEventCallback('onSelect', [d, d, this, dateWindow?.events]);\n }\n\n prepareDataset(dataset: any[]) {\n if (!dataset) {\n return;\n }\n const state = {\n calendar: new Map()\n } as WmCalendarState;\n const eventStartKey = this.state.props.eventstart;\n dataset.forEach(d => {\n let startDate = d[eventStartKey];\n if (!isString(startDate)) {\n startDate = moment(startDate).format(DEFAULT_DATE_FORMAT);\n }\n if (!state.calendar.has(startDate)) {\n state.calendar.set(startDate, {\n date: moment(startDate, DEFAULT_DATE_FORMAT).get('milliseconds'),\n events: []\n });\n }\n const dateWindow = state.calendar.get(startDate);\n dateWindow?.events.push(d);\n });\n this.updateState(state);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch(name) {\n case 'dataset':\n this.prepareDataset($new);\n break;\n case 'datavalue':\n if ($new) {\n this.updateState({\n selectedDate: isString($new) ? moment($new, DEFAULT_DATE_FORMAT) : moment($new)\n } as WmCalendarState)\n }\n }\n }\n\n renderDay = (date: Moment) => {\n const dateWindow = this.state.calendar.get(moment(date).format(DEFAULT_DATE_FORMAT));\n if (dateWindow) {\n return (\n <WmIcon\n iconclass=\"fa fa-circle\"\n iconsize={8}\n styles={{\n root: {marginTop: -8, alignSelf: 'flexStart'},\n icon: this.styles['eventDay' + Math.min(3, dateWindow.events.length)]}}></WmIcon>\n );\n }\n return (<></>);\n }\n\n componentDidUpdate(prevProps: WmCalendarProps, prevState: WmCalendarState, snapshot: any) {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n this.invokeEventCallback('onViewrender', [this, null]);\n }\n\n public renderSkeleton(props: WmCalendarProps): React.ReactNode {\n return (\n <View style={[this.styles.root, this.styles.skeleton.root]}>\n <View style={this.styles.headerSkeleton.root}>\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {width: '10%', height: 28,borderRadius: 4})}\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {width: '68%', height: 16, borderRadius: 4})}\n {createSkeleton(this.theme, {}as WmSkeletonStyles, {width: '10%', height: 28, borderRadius: 4})}\n </View>\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {width: '96%', margin: 8, height: 320, borderRadius: 4})}\n </View>)\n } \n\n renderWidget(props: WmCalendarProps) {\n this.invokeEventCallback('onBeforerender', [null, this]);\n return (\n <View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n {this._background}\n <MonthView\n date={this.state.selectedDate}\n selectDate={this.onDateChange}\n format={DEFAULT_DATE_FORMAT}\n renderChildDay={this.renderDay}\n containerStyle={this.styles.calendar}\n dateSelectedWarpDayStyle={this.styles.selectedDay}\n selectedDayTextStyle={this.styles.selectedDayText}\n warpRowWeekdays={this.styles.weekDay}\n warpRowControlMonthYear={this.styles.calendarHeader}\n weekdayStyle={this.styles.weekDayText}\n warpDayStyle={this.styles.dayWrapper}\n textDayStyle={this.styles.day}\n yearTextStyle={this.styles.yearText}\n monthTextStyle={this.styles.monthText}\n currentDayStyle={this.styles.today}\n currentDayTextStyle={this.styles.todayText}\n notDayOfCurrentMonthStyle={this.styles.notDayOfCurrentMonth}\n renderPrevYearButton={() =>\n (<WmIcon id={this.getTestId('prevyearicon')} iconclass=\"wi wi-angle-double-left\" styles={this.styles.prevYearBtn} accessibilitylabel='previous year' accessibilityrole='button'/>)}\n renderPrevMonthButton={() =>\n (<WmIcon id={this.getTestId('prevmonthicon')} iconclass=\"wi wi-chevron-left fa-2x\" styles={this.styles.prevMonthBtn} accessibilitylabel='previous month' accessibilityrole='button'/>)}\n renderNextMonthButton={() =>\n (<WmIcon id={this.getTestId('nextmonthicon')} iconclass=\"wi wi-chevron-right fa-2x\" styles={this.styles.nextMonthBtn} accessibilitylabel='next month' accessibilityrole='button'/>)}\n renderNextYearButton={() =>\n (<WmIcon id={this.getTestId('nextyearicon')} iconclass=\"wi wi-angle-double-right\" styles={this.styles.nextYearBtn} accessibilitylabel='next year' accessibilityrole='button'/>)}\n />\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","isString","moment","BaseComponent","BaseComponentState","MonthView","WmCalendarProps","DEFAULT_CLASS","WmIcon","createSkeleton","WmCalendarState","constructor","args","_defineProperty","Map","DEFAULT_DATE_FORMAT","WmCalendar","props","date","d","format","dateWindow","state","calendar","get","updateState","datavalue","selectedDate","invokeEventCallback","events","createElement","iconclass","iconsize","styles","root","marginTop","alignSelf","icon","Math","min","length","Fragment","prepareDataset","dataset","eventStartKey","eventstart","forEach","startDate","has","set","push","onPropertyChange","name","$new","$old","componentDidUpdate","prevProps","prevState","snapshot","renderSkeleton","style","skeleton","headerSkeleton","theme","width","height","borderRadius","margin","renderWidget","onLayout","event","handleLayout","_background","selectDate","onDateChange","onDateClick","renderChildDay","renderDay","containerStyle","dateSelectedWarpDayStyle","selectedDay","selectedDayTextStyle","selectedDayText","warpRowWeekdays","weekDay","warpRowControlMonthYear","calendarHeader","weekdayStyle","weekDayText","warpDayStyle","dayWrapper","textDayStyle","day","yearTextStyle","yearText","monthTextStyle","monthText","currentDayStyle","today","currentDayTextStyle","todayText","notDayOfCurrentMonthStyle","notDayOfCurrentMonth","renderPrevYearButton","id","getTestId","prevYearBtn","accessibilitylabel","accessibilityrole","renderPrevMonthButton","prevMonthBtn","renderNextMonthButton","nextMonthBtn","renderNextYearButton","nextYearBtn"],"sources":["calendar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, View } from 'react-native';\nimport { isString } from 'lodash';\nimport moment, { Moment } from 'moment';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport { MonthView } from './views/month-view';\nimport WmCalendarProps from './calendar.props';\nimport { DEFAULT_CLASS, WmCalendarStyles } from './calendar.styles';\nimport WmIcon from '../../basic/icon/icon.component';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component'\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class WmCalendarState extends BaseComponentState<WmCalendarProps> {\n selectedDate: Moment = moment();\n calendar: Map<String, { date: number, events: any []}> = new Map();\n}\n\nconst DEFAULT_DATE_FORMAT = 'DD-MM-YYYY';\n\nexport default class WmCalendar extends BaseComponent<WmCalendarProps, WmCalendarState, WmCalendarStyles> {\n\n constructor(props: WmCalendarProps) {\n super(props, DEFAULT_CLASS, new WmCalendarProps(), new WmCalendarState());\n }\n\n onDateChange = (date: Moment) => {\n const d = moment(date).format(DEFAULT_DATE_FORMAT);\n const dateWindow = this.state.calendar.get(d);\n this.updateState({\n props: {datavalue: d},\n selectedDate: date\n } as WmCalendarState);\n this.invokeEventCallback('onSelect', [d, d, this, dateWindow?.events]);\n }\n\n onDateClick = () => {\n this.invokeEventCallback('onDateclick', [null, this]);\n }\n\n prepareDataset(dataset: any[]) {\n if (!dataset) {\n return;\n }\n const state = {\n calendar: new Map()\n } as WmCalendarState;\n const eventStartKey = this.state.props.eventstart;\n dataset.forEach(d => {\n let startDate = d[eventStartKey];\n if (!isString(startDate)) {\n startDate = moment(startDate).format(DEFAULT_DATE_FORMAT);\n }\n if (!state.calendar.has(startDate)) {\n state.calendar.set(startDate, {\n date: moment(startDate, DEFAULT_DATE_FORMAT).get('milliseconds'),\n events: []\n });\n }\n const dateWindow = state.calendar.get(startDate);\n dateWindow?.events.push(d);\n });\n this.updateState(state);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch(name) {\n case 'dataset':\n this.prepareDataset($new);\n break;\n case 'datavalue':\n if ($new) {\n this.updateState({\n selectedDate: isString($new) ? moment($new, DEFAULT_DATE_FORMAT) : moment($new)\n } as WmCalendarState)\n }\n }\n }\n\n renderDay = (date: Moment) => {\n const dateWindow = this.state.calendar.get(moment(date).format(DEFAULT_DATE_FORMAT));\n if (dateWindow) {\n return (\n <WmIcon\n iconclass=\"fa fa-circle\"\n iconsize={8}\n styles={{\n root: {marginTop: -8, alignSelf: 'flexStart'},\n icon: this.styles['eventDay' + Math.min(3, dateWindow.events.length)]}}></WmIcon>\n );\n }\n return (<></>);\n }\n\n componentDidUpdate(prevProps: WmCalendarProps, prevState: WmCalendarState, snapshot: any) {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n this.invokeEventCallback('onViewrender', [this, null]);\n }\n\n public renderSkeleton(props: WmCalendarProps): React.ReactNode {\n return (\n <View style={[this.styles.root, this.styles.skeleton.root]}>\n <View style={this.styles.headerSkeleton.root}>\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {width: '10%', height: 28,borderRadius: 4})}\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {width: '68%', height: 16, borderRadius: 4})}\n {createSkeleton(this.theme, {}as WmSkeletonStyles, {width: '10%', height: 28, borderRadius: 4})}\n </View>\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {width: '96%', margin: 8, height: 320, borderRadius: 4})}\n </View>)\n } \n\n renderWidget(props: WmCalendarProps) {\n this.invokeEventCallback('onBeforerender', [null, this]);\n return (\n <View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n {this._background}\n <MonthView\n date={this.state.selectedDate}\n selectDate={this.onDateChange}\n onDateClick={this.onDateClick}\n format={DEFAULT_DATE_FORMAT}\n renderChildDay={this.renderDay}\n containerStyle={this.styles.calendar}\n dateSelectedWarpDayStyle={this.styles.selectedDay}\n selectedDayTextStyle={this.styles.selectedDayText}\n warpRowWeekdays={this.styles.weekDay}\n warpRowControlMonthYear={this.styles.calendarHeader}\n weekdayStyle={this.styles.weekDayText}\n warpDayStyle={this.styles.dayWrapper}\n textDayStyle={this.styles.day}\n yearTextStyle={this.styles.yearText}\n monthTextStyle={this.styles.monthText}\n currentDayStyle={this.styles.today}\n currentDayTextStyle={this.styles.todayText}\n notDayOfCurrentMonthStyle={this.styles.notDayOfCurrentMonth}\n renderPrevYearButton={() =>\n (<WmIcon id={this.getTestId('prevyearicon')} iconclass=\"wi wi-angle-double-left\" styles={this.styles.prevYearBtn} accessibilitylabel='previous year' accessibilityrole='button'/>)}\n renderPrevMonthButton={() =>\n (<WmIcon id={this.getTestId('prevmonthicon')} iconclass=\"wi wi-chevron-left fa-2x\" styles={this.styles.prevMonthBtn} accessibilitylabel='previous month' accessibilityrole='button'/>)}\n renderNextMonthButton={() =>\n (<WmIcon id={this.getTestId('nextmonthicon')} iconclass=\"wi wi-chevron-right fa-2x\" styles={this.styles.nextMonthBtn} accessibilitylabel='next month' accessibilityrole='button'/>)}\n renderNextYearButton={() =>\n (<WmIcon id={this.getTestId('nextyearicon')} iconclass=\"wi wi-angle-double-right\" styles={this.styles.nextYearBtn} accessibilitylabel='next year' accessibilityrole='button'/>)}\n />\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -34,6 +34,7 @@ export class MonthViewProps {
34
34
  _defineProperty(this, "renderNextMonthButton", null);
35
35
  _defineProperty(this, "renderChildDay", day => /*#__PURE__*/React.createElement(React.Fragment, null));
36
36
  _defineProperty(this, "selectDate", day => {});
37
+ _defineProperty(this, "onDateClick", () => {});
37
38
  //style
38
39
  _defineProperty(this, "getDayStyle", date => ({}));
39
40
  _defineProperty(this, "containerStyle", null);
@@ -104,7 +105,10 @@ export class MonthView extends Component {
104
105
  return /*#__PURE__*/React.createElement(TouchableOpacity, {
105
106
  testID: this.props.testID + '_' + day.format('yyyy_mm_dd'),
106
107
  accessibilityLabel: !_isScreenReaderEnabled ? this.props.testID + '_' + day.format('yyyy_mm_dd') : undefined,
107
- onPress: () => this.selectDate(day),
108
+ onPress: () => {
109
+ this.selectDate(day);
110
+ this.onDateClick();
111
+ },
108
112
  style: [styles.warpDay, warpDayStyle, isCurrent ? currentDayStyle : {}, dateSelected ? {
109
113
  backgroundColor: '#2C1F23',
110
114
  ...dateSelectedWarpDayStyle
@@ -130,6 +134,9 @@ export class MonthView extends Component {
130
134
  this.props.selectDate && this.props.selectDate(date);
131
135
  }
132
136
  }
137
+ onDateClick() {
138
+ this.props.onDateClick && this.props.onDateClick();
139
+ }
133
140
  yearMonthChange(unit, type) {
134
141
  this.selectDate((this.props.date || moment()).clone().add(unit, type).startOf('month'));
135
142
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","Text","View","FlatList","TouchableOpacity","AccessibilityInfo","moment","styles","_","_isScreenReaderEnabled","addEventListener","enabled","isScreenReaderEnabled","then","MonthViewProps","constructor","_defineProperty","day","createElement","Fragment","date","MonthViewState","selectedDate","MonthView","props","state","updateLocale","week","dow","doy","calendarArray","dates","currDate","clone","startOf","startDay","subtract","i","add","renderDay","_this$props$date","_this$props$date2","warpDayStyle","dateSelectedWarpDayStyle","renderChildDay","textDayStyle","currentDayStyle","currentDayTextStyle","notDayOfCurrentMonthStyle","selectedDayTextStyle","dateSelected","isSame","isCurrent","notCurrentMonth","dateStyle","getDayStyle","testID","format","accessibilityLabel","undefined","onPress","selectDate","style","warpDay","backgroundColor","containerStyle","flexDirection","justifyContent","alignItems","color","textStyle","get","isDateEnable","yearMonthChange","unit","type","minDate","maxDate","isSameOrBefore","isSameOrAfter","render","_this$props$date3","_this$props$date4","renderPrevYearButton","renderPrevMonthButton","renderNextYearButton","renderNextMonthButton","weekdayStyle","customWeekdays","warpRowWeekdays","warpRowControlMonthYear","monthTextStyle","yearTextStyle","weekdays","data","dayOfWeek","month","customMonth","year","forEach","element","push","key","container","txtHeaderDate","keyExtractor","item","toDate","getTime","renderItem","extraData","columnWrapperStyle","numColumns","padding"],"sources":["month-view.tsx"],"sourcesContent":["/****\n * Copied code from a repo with no active maintenance.\n * https://github.com/hungdev/react-native-customize-selected-date\n * That js lib was converted to ts and fixed bugs. \n */\nimport React, { Component } from 'react';\nimport {\n Text,\n View,\n FlatList,\n TouchableOpacity,\n ViewStyle,\n TextStyle,\n AccessibilityInfo\n} from 'react-native';\nimport moment, { Moment } from 'moment';\nimport styles from './month-view.styles'\nimport _ from 'lodash';\n\nlet _isScreenReaderEnabled = false;\n\nAccessibilityInfo.addEventListener('screenReaderChanged', (enabled) => {\n _isScreenReaderEnabled = enabled;\n});\n\nAccessibilityInfo.isScreenReaderEnabled().then((enabled) => {\n _isScreenReaderEnabled = enabled;\n});\n\nexport class MonthViewProps {\n testID?: string = null as any;\n accessibilityLabel?: string = null as any;\n date?: Moment = null as any;\n minDate? = moment('1990-01-01', 'YYYY-MM-DD');\n maxDate? = moment('2100-01-01', 'YYYY-MM-DD');\n customMonth?: string[] = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n customWeekdays?: string[] = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n renderPrevYearButton?: () => React.ReactNode = null as any;\n format?='YYYY-MM-DD';\n renderPrevMonthButton?: () => React.ReactNode = null as any;\n renderNextYearButton?: () => React.ReactNode = null as any;\n renderNextMonthButton?: () => React.ReactNode = null as any;\n renderChildDay? = (day: Moment) => (<></>);\n selectDate? = (day: Moment) => {}; \n //style\n getDayStyle? = (date: Moment) => ({});\n containerStyle?: ViewStyle = null as any;\n warpRowControlMonthYear?: ViewStyle = null as any;\n warpRowWeekdays?: ViewStyle = null as any;\n weekdayStyle?: TextStyle = null as any;\n textDayStyle?: TextStyle = null as any;\n currentDayStyle?: ViewStyle = null as any;\n currentDayTextStyle?: TextStyle = null as any;\n notDayOfCurrentMonthStyle?: ViewStyle = null as any;\n warpDayStyle?: ViewStyle = null as any;\n dateSelectedWarpDayStyle?: ViewStyle = null as any;\n selectedDayTextStyle?: TextStyle = null as any;\n monthTextStyle?: TextStyle = null as any;\n yearTextStyle?: TextStyle = null as any;\n}\n\nexport class MonthViewState {\n viewMode = 'day';\n currentYear: string = null as any;\n constructor(public selectedDate: Moment = moment()) {\n\n }\n}\n\nexport class MonthView extends Component<MonthViewProps, MonthViewState> {\n\n static defaultProps = new MonthViewProps();\n\n constructor(props: MonthViewProps) {\n super(props);\n this.state = new MonthViewState(this.props.date);\n // Set moment's locale to ensure week starts on Sunday\n moment.updateLocale('en', {\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 1, // First week of year must contain 1 January\n }\n });\n }\n\n calendarArray (date: Moment): Moment[] {\n const dates: Moment[] = [];\n // Ensure we're working with a clone and explicitly set to start of day\n const currDate = date.clone().startOf('month').startOf('day');\n // Get the day of week (0-6, 0 being Sunday)\n const startDay = currDate.day();\n // Move back to the first day of the week\n currDate.subtract(startDay, 'days');\n \n for (let i = 0; i < 42; i += 1) {\n dates[i] = currDate.clone();\n currDate.add(1, 'day');\n }\n return dates;\n }\n\n renderDay(day: Moment) {\n const { warpDayStyle, dateSelectedWarpDayStyle,\n renderChildDay, textDayStyle, currentDayStyle, currentDayTextStyle, notDayOfCurrentMonthStyle, selectedDayTextStyle } = this.props;\n const dateSelected = this.props.date?.isSame(day);\n const isCurrent = moment().isSame(day, 'date');\n const notCurrentMonth = !this.props.date?.isSame(day, 'month');\n const dateStyle = ((this.props.getDayStyle ? this.props.getDayStyle(day) : null) || {}) as any;\n return (\n <TouchableOpacity \n testID={this.props.testID + '_' + day.format('yyyy_mm_dd')}\n accessibilityLabel={!_isScreenReaderEnabled ? this.props.testID + '_' + day.format('yyyy_mm_dd') : undefined}\n onPress={() => this.selectDate(day)}\n style={[styles.warpDay, warpDayStyle,\n isCurrent ? currentDayStyle : {},\n dateSelected ? { backgroundColor: '#2C1F23', ...dateSelectedWarpDayStyle } : {},\n dateStyle.containerStyle]}\n >\n <View style={{flexDirection: 'column', justifyContent: 'center', alignItems: 'center'}}>\n <Text style={[styles.day, textDayStyle,\n isCurrent ? currentDayTextStyle : {},\n notCurrentMonth ? { color: '#493D40', ...notDayOfCurrentMonthStyle } : {},\n dateSelected ? { color: '#000', ...selectedDayTextStyle } : {},\n dateStyle.textStyle]}>\n {day.get('date')}\n </Text>\n {renderChildDay && renderChildDay(day)}\n </View>\n </TouchableOpacity>\n )\n }\n\n selectDate(date: Moment) {\n if (this.isDateEnable(date)) {\n this.props.selectDate && this.props.selectDate(date)\n }\n }\n\n yearMonthChange(unit: number, type: string) {\n this.selectDate((this.props.date || moment()).clone().add(unit, type as any).startOf('month'));\n }\n\n isDateEnable(date: Moment) {\n const { minDate, maxDate } = this.props;\n return minDate?.isSameOrBefore(date) && maxDate?.isSameOrAfter(date);\n }\n\n render() {\n const {\n renderPrevYearButton, renderPrevMonthButton,\n renderNextYearButton, renderNextMonthButton,\n weekdayStyle, customWeekdays, warpRowWeekdays,\n warpRowControlMonthYear, monthTextStyle, yearTextStyle\n } = this.props\n const weekdays = customWeekdays || ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']\n const data = this.calendarArray(this.props.date || moment())\n const dayOfWeek: React.ReactNode[] = [];\n const month = this.props.customMonth ? this.props.customMonth[this.props.date?.get('month') || 0]: 'Jan';\n const year = this.props.date?.get('year') || 1;\n _.forEach(weekdays, element => {\n dayOfWeek.push(<Text key={element} style={[styles.weekdays, weekdayStyle]}>{element}</Text>)\n })\n\n return (\n <View style={[styles.container, this.props.containerStyle]}>\n <View style={[{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }, warpRowControlMonthYear]}>\n {/*<TouchableOpacity onPress={() => this.yearMonthChange(-1, 'year')}>\n {renderPrevYearButton ? renderPrevYearButton() : <Text>{'<<'}</Text>}\n </TouchableOpacity>*/}\n <TouchableOpacity onPress={() => this.yearMonthChange(-1, 'month')}>\n {renderPrevMonthButton ? renderPrevMonthButton() : <Text>{'<'}</Text>}\n </TouchableOpacity>\n <View style={{flexDirection: 'row'}}>\n <Text style={[styles.txtHeaderDate, monthTextStyle]} >{month + ' '}</Text>\n <Text style={[styles.txtHeaderDate, yearTextStyle]} >{year}</Text>\n </View>\n <TouchableOpacity onPress={() => this.yearMonthChange(1, 'month')}>\n {renderNextMonthButton ? renderNextMonthButton() : <Text>{'>'}</Text>}\n </TouchableOpacity>\n {/*<TouchableOpacity onPress={() => this.yearMonthChange(1, 'year')}>\n {renderNextYearButton ? renderNextYearButton() : <Text>{'>>'}</Text>}\n </TouchableOpacity>*/}\n </View>\n <View style={[{ flexDirection: 'row', justifyContent: 'space-around' }, warpRowWeekdays]}>\n {dayOfWeek}\n </View>\n <FlatList\n data={data}\n keyExtractor={(item) => '' + item.toDate().getTime()}\n renderItem={({ item }) => this.renderDay(item)}\n extraData={this.state}\n columnWrapperStyle={{justifyContent: 'space-between'}}\n numColumns={7}\n style={{\n padding: 4\n }}\n />\n </View>\n )\n }\n}"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Component","Text","View","FlatList","TouchableOpacity","AccessibilityInfo","moment","styles","_","_isScreenReaderEnabled","addEventListener","enabled","isScreenReaderEnabled","then","MonthViewProps","constructor","_defineProperty","day","createElement","Fragment","date","MonthViewState","selectedDate","MonthView","props","state","updateLocale","week","dow","doy","calendarArray","dates","currDate","clone","startOf","startDay","subtract","i","add","renderDay","_this$props$date","_this$props$date2","warpDayStyle","dateSelectedWarpDayStyle","renderChildDay","textDayStyle","currentDayStyle","currentDayTextStyle","notDayOfCurrentMonthStyle","selectedDayTextStyle","dateSelected","isSame","isCurrent","notCurrentMonth","dateStyle","getDayStyle","testID","format","accessibilityLabel","undefined","onPress","selectDate","onDateClick","style","warpDay","backgroundColor","containerStyle","flexDirection","justifyContent","alignItems","color","textStyle","get","isDateEnable","yearMonthChange","unit","type","minDate","maxDate","isSameOrBefore","isSameOrAfter","render","_this$props$date3","_this$props$date4","renderPrevYearButton","renderPrevMonthButton","renderNextYearButton","renderNextMonthButton","weekdayStyle","customWeekdays","warpRowWeekdays","warpRowControlMonthYear","monthTextStyle","yearTextStyle","weekdays","data","dayOfWeek","month","customMonth","year","forEach","element","push","key","container","txtHeaderDate","keyExtractor","item","toDate","getTime","renderItem","extraData","columnWrapperStyle","numColumns","padding"],"sources":["month-view.tsx"],"sourcesContent":["/****\n * Copied code from a repo with no active maintenance.\n * https://github.com/hungdev/react-native-customize-selected-date\n * That js lib was converted to ts and fixed bugs. \n */\nimport React, { Component } from 'react';\nimport {\n Text,\n View,\n FlatList,\n TouchableOpacity,\n ViewStyle,\n TextStyle,\n AccessibilityInfo\n} from 'react-native';\nimport moment, { Moment } from 'moment';\nimport styles from './month-view.styles'\nimport _ from 'lodash';\n\nlet _isScreenReaderEnabled = false;\n\nAccessibilityInfo.addEventListener('screenReaderChanged', (enabled) => {\n _isScreenReaderEnabled = enabled;\n});\n\nAccessibilityInfo.isScreenReaderEnabled().then((enabled) => {\n _isScreenReaderEnabled = enabled;\n});\n\nexport class MonthViewProps {\n testID?: string = null as any;\n accessibilityLabel?: string = null as any;\n date?: Moment = null as any;\n minDate? = moment('1990-01-01', 'YYYY-MM-DD');\n maxDate? = moment('2100-01-01', 'YYYY-MM-DD');\n customMonth?: string[] = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n customWeekdays?: string[] = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n renderPrevYearButton?: () => React.ReactNode = null as any;\n format?='YYYY-MM-DD';\n renderPrevMonthButton?: () => React.ReactNode = null as any;\n renderNextYearButton?: () => React.ReactNode = null as any;\n renderNextMonthButton?: () => React.ReactNode = null as any;\n renderChildDay? = (day: Moment) => (<></>);\n selectDate? = (day: Moment) => {};\n onDateClick? = () => {};\n //style\n getDayStyle? = (date: Moment) => ({});\n containerStyle?: ViewStyle = null as any;\n warpRowControlMonthYear?: ViewStyle = null as any;\n warpRowWeekdays?: ViewStyle = null as any;\n weekdayStyle?: TextStyle = null as any;\n textDayStyle?: TextStyle = null as any;\n currentDayStyle?: ViewStyle = null as any;\n currentDayTextStyle?: TextStyle = null as any;\n notDayOfCurrentMonthStyle?: ViewStyle = null as any;\n warpDayStyle?: ViewStyle = null as any;\n dateSelectedWarpDayStyle?: ViewStyle = null as any;\n selectedDayTextStyle?: TextStyle = null as any;\n monthTextStyle?: TextStyle = null as any;\n yearTextStyle?: TextStyle = null as any;\n}\n\nexport class MonthViewState {\n viewMode = 'day';\n currentYear: string = null as any;\n constructor(public selectedDate: Moment = moment()) {\n\n }\n}\n\nexport class MonthView extends Component<MonthViewProps, MonthViewState> {\n\n static defaultProps = new MonthViewProps();\n\n constructor(props: MonthViewProps) {\n super(props);\n this.state = new MonthViewState(this.props.date);\n // Set moment's locale to ensure week starts on Sunday\n moment.updateLocale('en', {\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 1, // First week of year must contain 1 January\n }\n });\n }\n\n calendarArray (date: Moment): Moment[] {\n const dates: Moment[] = [];\n // Ensure we're working with a clone and explicitly set to start of day\n const currDate = date.clone().startOf('month').startOf('day');\n // Get the day of week (0-6, 0 being Sunday)\n const startDay = currDate.day();\n // Move back to the first day of the week\n currDate.subtract(startDay, 'days');\n \n for (let i = 0; i < 42; i += 1) {\n dates[i] = currDate.clone();\n currDate.add(1, 'day');\n }\n return dates;\n }\n\n renderDay(day: Moment) {\n const { warpDayStyle, dateSelectedWarpDayStyle,\n renderChildDay, textDayStyle, currentDayStyle, currentDayTextStyle, notDayOfCurrentMonthStyle, selectedDayTextStyle } = this.props;\n const dateSelected = this.props.date?.isSame(day);\n const isCurrent = moment().isSame(day, 'date');\n const notCurrentMonth = !this.props.date?.isSame(day, 'month');\n const dateStyle = ((this.props.getDayStyle ? this.props.getDayStyle(day) : null) || {}) as any;\n return (\n <TouchableOpacity \n testID={this.props.testID + '_' + day.format('yyyy_mm_dd')}\n accessibilityLabel={!_isScreenReaderEnabled ? this.props.testID + '_' + day.format('yyyy_mm_dd') : undefined}\n onPress={() => {\n this.selectDate(day)\n this.onDateClick()\n }}\n style={[styles.warpDay, warpDayStyle,\n isCurrent ? currentDayStyle : {},\n dateSelected ? { backgroundColor: '#2C1F23', ...dateSelectedWarpDayStyle } : {},\n dateStyle.containerStyle]}\n >\n <View style={{flexDirection: 'column', justifyContent: 'center', alignItems: 'center'}}>\n <Text style={[styles.day, textDayStyle,\n isCurrent ? currentDayTextStyle : {},\n notCurrentMonth ? { color: '#493D40', ...notDayOfCurrentMonthStyle } : {},\n dateSelected ? { color: '#000', ...selectedDayTextStyle } : {},\n dateStyle.textStyle]}>\n {day.get('date')}\n </Text>\n {renderChildDay && renderChildDay(day)}\n </View>\n </TouchableOpacity>\n )\n }\n\n selectDate(date: Moment) {\n if (this.isDateEnable(date)) {\n this.props.selectDate && this.props.selectDate(date)\n }\n }\n onDateClick() {\n this.props.onDateClick && this.props.onDateClick();\n }\n\n yearMonthChange(unit: number, type: string) {\n this.selectDate((this.props.date || moment()).clone().add(unit, type as any).startOf('month'));\n }\n\n isDateEnable(date: Moment) {\n const { minDate, maxDate } = this.props;\n return minDate?.isSameOrBefore(date) && maxDate?.isSameOrAfter(date);\n }\n\n render() {\n const {\n renderPrevYearButton, renderPrevMonthButton,\n renderNextYearButton, renderNextMonthButton,\n weekdayStyle, customWeekdays, warpRowWeekdays,\n warpRowControlMonthYear, monthTextStyle, yearTextStyle\n } = this.props\n const weekdays = customWeekdays || ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']\n const data = this.calendarArray(this.props.date || moment())\n const dayOfWeek: React.ReactNode[] = [];\n const month = this.props.customMonth ? this.props.customMonth[this.props.date?.get('month') || 0]: 'Jan';\n const year = this.props.date?.get('year') || 1;\n _.forEach(weekdays, element => {\n dayOfWeek.push(<Text key={element} style={[styles.weekdays, weekdayStyle]}>{element}</Text>)\n })\n\n return (\n <View style={[styles.container, this.props.containerStyle]}>\n <View style={[{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }, warpRowControlMonthYear]}>\n {/*<TouchableOpacity onPress={() => this.yearMonthChange(-1, 'year')}>\n {renderPrevYearButton ? renderPrevYearButton() : <Text>{'<<'}</Text>}\n </TouchableOpacity>*/}\n <TouchableOpacity onPress={() => this.yearMonthChange(-1, 'month')}>\n {renderPrevMonthButton ? renderPrevMonthButton() : <Text>{'<'}</Text>}\n </TouchableOpacity>\n <View style={{flexDirection: 'row'}}>\n <Text style={[styles.txtHeaderDate, monthTextStyle]} >{month + ' '}</Text>\n <Text style={[styles.txtHeaderDate, yearTextStyle]} >{year}</Text>\n </View>\n <TouchableOpacity onPress={() => this.yearMonthChange(1, 'month')}>\n {renderNextMonthButton ? renderNextMonthButton() : <Text>{'>'}</Text>}\n </TouchableOpacity>\n {/*<TouchableOpacity onPress={() => this.yearMonthChange(1, 'year')}>\n {renderNextYearButton ? renderNextYearButton() : <Text>{'>>'}</Text>}\n </TouchableOpacity>*/}\n </View>\n <View style={[{ flexDirection: 'row', justifyContent: 'space-around' }, warpRowWeekdays]}>\n {dayOfWeek}\n </View>\n <FlatList\n data={data}\n keyExtractor={(item) => '' + item.toDate().getTime()}\n renderItem={({ item }) => this.renderDay(item)}\n extraData={this.state}\n columnWrapperStyle={{justifyContent: 'space-between'}}\n numColumns={7}\n style={{\n padding: 4\n }}\n />\n </View>\n )\n }\n}"],"mappings":"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","ignoreList":[]}