@wavemaker/app-rn-runtime 11.11.7-rc.6211 → 11.12.0-next.28188
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/advanced/carousel/carousel.component.js +4 -2
- package/components/advanced/carousel/carousel.component.js.map +1 -1
- package/components/basic/anchor/anchor.component.js +11 -5
- package/components/basic/anchor/anchor.component.js.map +1 -1
- package/components/basic/anchor/anchor.props.js +1 -0
- package/components/basic/anchor/anchor.props.js.map +1 -1
- package/components/basic/audio/audio.component.js +52 -47
- package/components/basic/audio/audio.component.js.map +1 -1
- package/components/basic/bottomsheet/bottomsheet.component.js +94 -48
- package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
- package/components/basic/bottomsheet/bottomsheet.props.js +1 -0
- package/components/basic/bottomsheet/bottomsheet.props.js.map +1 -1
- package/components/basic/button/button.component.js +2 -1
- package/components/basic/button/button.component.js.map +1 -1
- package/components/basic/button/button.props.js +1 -0
- package/components/basic/button/button.props.js.map +1 -1
- package/components/basic/label/label.component.js.map +1 -1
- package/components/basic/label/label.props.js +1 -0
- package/components/basic/label/label.props.js.map +1 -1
- package/components/basic/message/message.component.js +15 -7
- package/components/basic/message/message.component.js.map +1 -1
- package/components/basic/message/message.props.js +1 -0
- package/components/basic/message/message.props.js.map +1 -1
- package/components/basic/picture/picture.component.js +2 -2
- package/components/basic/picture/picture.component.js.map +1 -1
- package/components/basic/video/video.component.js +69 -42
- package/components/basic/video/video.component.js.map +1 -1
- package/components/chart/basechart.props.js +1 -0
- package/components/chart/basechart.props.js.map +1 -1
- package/components/container/container.component.js +107 -27
- package/components/container/container.component.js.map +1 -1
- package/components/container/container.props.js +3 -1
- package/components/container/container.props.js.map +1 -1
- package/components/container/container.styles.js +1 -3
- package/components/container/container.styles.js.map +1 -1
- package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js +6 -1
- package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js.map +1 -1
- package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +2 -2
- package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
- package/components/container/tabs/tabheader/tabheader.component.js +11 -2
- package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
- package/components/container/tabs/tabheader/tabheader.props.js +1 -0
- package/components/container/tabs/tabheader/tabheader.props.js.map +1 -1
- package/components/container/tabs/tabpane/tabpane.props.js +3 -0
- package/components/container/tabs/tabpane/tabpane.props.js.map +1 -1
- package/components/container/tabs/tabs.component.js +11 -2
- package/components/container/tabs/tabs.component.js.map +1 -1
- package/components/container/wizard/wizard.component.js +1 -0
- package/components/container/wizard/wizard.component.js.map +1 -1
- package/components/data/list/list.component.js +23 -13
- package/components/data/list/list.component.js.map +1 -1
- package/components/device/barcodescanner/barcodescanner.component.js +33 -18
- package/components/device/barcodescanner/barcodescanner.component.js.map +1 -1
- package/components/device/barcodescanner/barcodescanner.props.js +2 -1
- package/components/device/barcodescanner/barcodescanner.props.js.map +1 -1
- package/components/device/camera/camera.component.js +35 -22
- package/components/device/camera/camera.component.js.map +1 -1
- package/components/device/camera/camera.props.js +2 -1
- package/components/device/camera/camera.props.js.map +1 -1
- package/components/input/basedataset/basedataset.props.js +1 -0
- package/components/input/basedataset/basedataset.props.js.map +1 -1
- package/components/input/calendar/calendar.component.js +12 -4
- package/components/input/calendar/calendar.component.js.map +1 -1
- package/components/input/calendar/views/month-view.js +9 -2
- package/components/input/calendar/views/month-view.js.map +1 -1
- package/components/input/checkbox/checkbox.component.js +5 -5
- package/components/input/checkbox/checkbox.component.js.map +1 -1
- package/components/input/checkboxset/checkboxset.component.js +15 -11
- package/components/input/checkboxset/checkboxset.component.js.map +1 -1
- package/components/input/chips/chips.component.js +25 -12
- package/components/input/chips/chips.component.js.map +1 -1
- package/components/input/currency/currency.component.js +5 -2
- package/components/input/currency/currency.component.js.map +1 -1
- package/components/input/epoch/base-datetime.component.js +9 -9
- package/components/input/epoch/base-datetime.component.js.map +1 -1
- package/components/input/epoch/datetime/datetime.props.js +1 -0
- package/components/input/epoch/datetime/datetime.props.js.map +1 -1
- package/components/input/epoch/wheelpicker/wheelpicker.component.js +8 -3
- package/components/input/epoch/wheelpicker/wheelpicker.component.js.map +1 -1
- package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js +8 -3
- package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js.map +1 -1
- package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js +8 -3
- package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js.map +1 -1
- package/components/input/fileupload/fileupload.component.js +23 -14
- package/components/input/fileupload/fileupload.component.js.map +1 -1
- package/components/input/fileupload/fileupload.props.js +2 -0
- package/components/input/fileupload/fileupload.props.js.map +1 -1
- package/components/input/radioset/radioset.component.js +15 -5
- package/components/input/radioset/radioset.component.js.map +1 -1
- package/components/input/rating/rating.component.js +11 -3
- package/components/input/rating/rating.component.js.map +1 -1
- package/components/input/rating/rating.props.js +4 -0
- package/components/input/rating/rating.props.js.map +1 -1
- package/components/input/select/select.component.js +7 -5
- package/components/input/select/select.component.js.map +1 -1
- package/components/input/slider/slider.component.js +2 -1
- package/components/input/slider/slider.component.js.map +1 -1
- package/components/input/switch/switch.component.js +11 -9
- package/components/input/switch/switch.component.js.map +1 -1
- package/components/input/toggle/toggle.component.js +8 -4
- package/components/input/toggle/toggle.component.js.map +1 -1
- package/components/input/toggle/toggle.props.js +1 -0
- package/components/input/toggle/toggle.props.js.map +1 -1
- package/components/navigation/appnavbar/appnavbar.component.js +19 -61
- package/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
- package/components/navigation/navitem/navitem.component.js +3 -1
- package/components/navigation/navitem/navitem.component.js.map +1 -1
- package/components/navigation/popover/popover.component.js +2 -1
- package/components/navigation/popover/popover.component.js.map +1 -1
- package/components/navigation/popover/popover.props.js +2 -1
- package/components/navigation/popover/popover.props.js.map +1 -1
- package/components/page/page-content/page-content.component.js +74 -20
- package/components/page/page-content/page-content.component.js.map +1 -1
- package/components/page/page-content/page-content.props.js +1 -0
- package/components/page/page-content/page-content.props.js.map +1 -1
- package/components/page/page.component.js +29 -44
- package/components/page/page.component.js.map +1 -1
- package/components/page/page.props.js +4 -2
- package/components/page/page.props.js.map +1 -1
- package/components/page/tabbar/tabbar.component.js +24 -13
- package/components/page/tabbar/tabbar.component.js.map +1 -1
- package/core/AppConfig.js.map +1 -1
- package/core/accessibility.js +51 -32
- package/core/accessibility.js.map +1 -1
- package/core/base.component.js.map +1 -1
- package/core/components/error-fallback/error-fallback.component.js +140 -0
- package/core/components/error-fallback/error-fallback.component.js.map +1 -0
- package/core/components/error-fallback/error-fallback.styles.js +224 -0
- package/core/components/error-fallback/error-fallback.styles.js.map +1 -0
- package/core/components/sticky-base.component.js +54 -0
- package/core/components/sticky-base.component.js.map +1 -0
- package/core/components/sticky-container.component.js +34 -0
- package/core/components/sticky-container.component.js.map +1 -0
- package/core/components/sticky-container.styles.js +98 -0
- package/core/components/sticky-container.styles.js.map +1 -0
- package/core/components/sticky-nav.component.js +28 -0
- package/core/components/sticky-nav.component.js.map +1 -0
- package/core/device/av-service.js +8 -0
- package/core/device/av-service.js.map +1 -0
- package/core/device/calendar-service.js +7 -1
- package/core/device/calendar-service.js.map +1 -1
- package/core/device/camera-service.js +6 -0
- package/core/device/camera-service.js.map +1 -1
- package/core/device/contacts-service.js +7 -1
- package/core/device/contacts-service.js.map +1 -1
- package/core/device/fileupload-service.js +8 -0
- package/core/device/fileupload-service.js.map +1 -0
- package/core/device/location-service.js +7 -1
- package/core/device/location-service.js.map +1 -1
- package/core/device/scan-service.js +6 -0
- package/core/device/scan-service.js.map +1 -1
- package/core/error-boundary.component.js +1 -1
- package/core/error-boundary.component.js.map +1 -1
- package/core/event-notifier.js +4 -3
- package/core/event-notifier.js.map +1 -1
- package/core/fixed-view.component.js +2 -1
- package/core/fixed-view.component.js.map +1 -1
- package/core/responsive.utils.js +8 -5
- package/core/responsive.utils.js.map +1 -1
- package/core/sticky-view.component.js +50 -0
- package/core/sticky-view.component.js.map +1 -0
- package/core/sticky-wrapper.js +129 -0
- package/core/sticky-wrapper.js.map +1 -0
- package/core/utils.js +0 -6
- package/core/utils.js.map +1 -1
- package/npm-shrinkwrap.json +48 -47
- package/package-lock.json +48 -47
- package/package.json +2 -2
- package/runtime/App.js +3 -5
- package/runtime/App.js.map +1 -1
- package/runtime/services/device/calendar-service.js +9 -5
- package/runtime/services/device/calendar-service.js.map +1 -1
- package/runtime/services/device/camera-service.js +39 -22
- package/runtime/services/device/camera-service.js.map +1 -1
- package/runtime/services/device/contacts-service.js +6 -5
- package/runtime/services/device/contacts-service.js.map +1 -1
- package/runtime/services/device/location-service.js +4 -4
- package/runtime/services/device/location-service.js.map +1 -1
- package/runtime/services/device/permission-service.js +5 -0
- package/runtime/services/device/permission-service.js.map +1 -0
- package/runtime/services/device/permissions.js +34 -39
- package/runtime/services/device/permissions.js.map +1 -1
- package/runtime/services/device/scan-service.js +4 -3
- package/runtime/services/device/scan-service.js.map +1 -1
- package/styles/theme.js +24 -18
- package/styles/theme.js.map +1 -1
- package/variables/device/calendar/create-event.operation.js +12 -1
- package/variables/device/calendar/create-event.operation.js.map +1 -1
- package/variables/device/calendar/delete-event.operation.js +12 -1
- package/variables/device/calendar/delete-event.operation.js.map +1 -1
- package/variables/device/calendar/get-events.operation.js +12 -1
- package/variables/device/calendar/get-events.operation.js.map +1 -1
- package/variables/device/camera/capture-image.operation.js +8 -1
- package/variables/device/camera/capture-image.operation.js.map +1 -1
- package/variables/device/camera/capture-video.operation.js +7 -1
- package/variables/device/camera/capture-video.operation.js.map +1 -1
- package/variables/device/contacts/get-contacts.operation.js +12 -1
- package/variables/device/contacts/get-contacts.operation.js.map +1 -1
- package/variables/device/device/current-geo-position.operation.js +12 -1
- package/variables/device/device/current-geo-position.operation.js.map +1 -1
- package/variables/device/file/upload-file.operation.js +17 -3
- package/variables/device/file/upload-file.operation.js.map +1 -1
- package/variables/device/scan/scan.operation.js +12 -1
- package/variables/device/scan/scan.operation.js.map +1 -1
- package/variables/http.service.js +6 -1
- package/variables/http.service.js.map +1 -1
- package/core/components/error-fallback.component.js +0 -264
- package/core/components/error-fallback.component.js.map +0 -1
- package/core/sticky-container.component.js +0 -175
- package/core/sticky-container.component.js.map +0 -1
@@ -142,22 +142,30 @@ export default class WmCalendar extends BaseComponent {
|
|
142
142
|
renderPrevYearButton: () => /*#__PURE__*/React.createElement(WmIcon, {
|
143
143
|
id: this.getTestId('prevyearicon'),
|
144
144
|
iconclass: "wi wi-angle-double-left",
|
145
|
-
styles: this.styles.prevYearBtn
|
145
|
+
styles: this.styles.prevYearBtn,
|
146
|
+
accessibilitylabel: "previous year",
|
147
|
+
accessibilityrole: "button"
|
146
148
|
}),
|
147
149
|
renderPrevMonthButton: () => /*#__PURE__*/React.createElement(WmIcon, {
|
148
150
|
id: this.getTestId('prevmonthicon'),
|
149
151
|
iconclass: "wi wi-chevron-left fa-2x",
|
150
|
-
styles: this.styles.prevMonthBtn
|
152
|
+
styles: this.styles.prevMonthBtn,
|
153
|
+
accessibilitylabel: "previous month",
|
154
|
+
accessibilityrole: "button"
|
151
155
|
}),
|
152
156
|
renderNextMonthButton: () => /*#__PURE__*/React.createElement(WmIcon, {
|
153
157
|
id: this.getTestId('nextmonthicon'),
|
154
158
|
iconclass: "wi wi-chevron-right fa-2x",
|
155
|
-
styles: this.styles.nextMonthBtn
|
159
|
+
styles: this.styles.nextMonthBtn,
|
160
|
+
accessibilitylabel: "next month",
|
161
|
+
accessibilityrole: "button"
|
156
162
|
}),
|
157
163
|
renderNextYearButton: () => /*#__PURE__*/React.createElement(WmIcon, {
|
158
164
|
id: this.getTestId('nextyearicon'),
|
159
165
|
iconclass: "wi wi-angle-double-right",
|
160
|
-
styles: this.styles.nextYearBtn
|
166
|
+
styles: this.styles.nextYearBtn,
|
167
|
+
accessibilitylabel: "next year",
|
168
|
+
accessibilityrole: "button"
|
161
169
|
})
|
162
170
|
}));
|
163
171
|
}
|
@@ -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","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}/>)}\n renderPrevMonthButton={() =>\n (<WmIcon id={this.getTestId('prevmonthicon')} iconclass=\"wi wi-chevron-left fa-2x\" styles={this.styles.prevMonthBtn}/>)}\n renderNextMonthButton={() =>\n (<WmIcon id={this.getTestId('nextmonthicon')} iconclass=\"wi wi-chevron-right fa-2x\" styles={this.styles.nextMonthBtn}/>)}\n renderNextYearButton={() =>\n (<WmIcon id={this.getTestId('nextyearicon')} iconclass=\"wi wi-angle-double-right\" styles={this.styles.nextYearBtn}/>)}\n />\n </View>\n );\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAyBC,IAAI,QAAQ,cAAc;AACnD,SAASC,QAAQ,QAAQ,QAAQ;AACjC,OAAOC,MAAM,MAAkB,QAAQ;AACvC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,SAASC,SAAS,QAAQ,oBAAoB;AAC9C,OAAOC,eAAe,MAAM,kBAAkB;AAC9C,SAASC,aAAa,QAA0B,mBAAmB;AACnE,OAAOC,MAAM,MAAM,iCAAiC;AACpD,SAASC,cAAc,QAAQ,wEAAwE;AAGvG,OAAO,MAAMC,eAAe,SAASN,kBAAkB,CAAkB;EAAAO,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,uBAChDX,MAAM,CAAC,CAAC;IAAAW,eAAA,mBAC0B,IAAIC,GAAG,CAAC,CAAC;EAAA;AACpE;AAEA,MAAMC,mBAAmB,GAAG,YAAY;AAExC,eAAe,MAAMC,UAAU,SAASb,aAAa,CAAqD;EAExGQ,WAAWA,CAACM,KAAsB,EAAE;IAClC,KAAK,CAACA,KAAK,EAAEV,aAAa,EAAE,IAAID,eAAe,CAAC,CAAC,EAAE,IAAII,eAAe,CAAC,CAAC,CAAC;IAACG,eAAA,uBAG5DK,IAAY,IAAK;MAC/B,MAAMC,CAAC,GAAGjB,MAAM,CAACgB,IAAI,CAAC,CAACE,MAAM,CAACL,mBAAmB,CAAC;MAClD,MAAMM,UAAU,GAAG,IAAI,CAACC,KAAK,CAACC,QAAQ,CAACC,GAAG,CAACL,CAAC,CAAC;MAC7C,IAAI,CAACM,WAAW,CAAC;QACfR,KAAK,EAAE;UAACS,SAAS,EAAEP;QAAC,CAAC;QACrBQ,YAAY,EAAET;MAChB,CAAoB,CAAC;MACrB,IAAI,CAACU,mBAAmB,CAAC,UAAU,EAAE,CAACT,CAAC,EAAEA,CAAC,EAAE,IAAI,EAAEE,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEQ,MAAM,CAAC,CAAC;IACxE,CAAC;IAAAhB,eAAA,oBAyCYK,IAAY,IAAK;MAC5B,MAAMG,UAAU,GAAG,IAAI,CAACC,KAAK,CAACC,QAAQ,CAACC,GAAG,CAACtB,MAAM,CAACgB,IAAI,CAAC,CAACE,MAAM,CAACL,mBAAmB,CAAC,CAAC;MACpF,IAAIM,UAAU,EAAE;QACd,oBACEtB,KAAA,CAAA+B,aAAA,CAACtB,MAAM;UACLuB,SAAS,EAAC,cAAc;UACxBC,QAAQ,EAAE,CAAE;UACZC,MAAM,EAAE;YACNC,IAAI,EAAE;cAACC,SAAS,EAAE,CAAC,CAAC;cAAEC,SAAS,EAAE;YAAW,CAAC;YAC7CC,IAAI,EAAE,IAAI,CAACJ,MAAM,CAAC,UAAU,GAAGK,IAAI,CAACC,GAAG,CAAC,CAAC,EAAElB,UAAU,CAACQ,MAAM,CAACW,MAAM,CAAC;UAAC;QAAE,CAAS,CAAC;MAEzF;MACA,oBAAQzC,KAAA,CAAA+B,aAAA,CAAA/B,KAAA,CAAA0C,QAAA,MAAI,CAAC;IACf,CAAC;EAhED;EAYAC,cAAcA,CAACC,OAAc,EAAE;IAC7B,IAAI,CAACA,OAAO,EAAE;MACZ;IACF;IACA,MAAMrB,KAAK,GAAG;MACZC,QAAQ,EAAE,IAAIT,GAAG,CAAC;IACpB,CAAoB;IACpB,MAAM8B,aAAa,GAAG,IAAI,CAACtB,KAAK,CAACL,KAAK,CAAC4B,UAAU;IACjDF,OAAO,CAACG,OAAO,CAAC3B,CAAC,IAAI;MACnB,IAAI4B,SAAS,GAAG5B,CAAC,CAACyB,aAAa,CAAC;MAChC,IAAI,CAAC3C,QAAQ,CAAC8C,SAAS,CAAC,EAAE;QACxBA,SAAS,GAAG7C,MAAM,CAAC6C,SAAS,CAAC,CAAC3B,MAAM,CAACL,mBAAmB,CAAC;MAC3D;MACA,IAAI,CAACO,KAAK,CAACC,QAAQ,CAACyB,GAAG,CAACD,SAAS,CAAC,EAAE;QAClCzB,KAAK,CAACC,QAAQ,CAAC0B,GAAG,CAACF,SAAS,EAAE;UAC5B7B,IAAI,EAAEhB,MAAM,CAAC6C,SAAS,EAAEhC,mBAAmB,CAAC,CAACS,GAAG,CAAC,cAAc,CAAC;UAChEK,MAAM,EAAE;QACV,CAAC,CAAC;MACJ;MACA,MAAMR,UAAU,GAAGC,KAAK,CAACC,QAAQ,CAACC,GAAG,CAACuB,SAAS,CAAC;MAChD1B,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAEQ,MAAM,CAACqB,IAAI,CAAC/B,CAAC,CAAC;IAC5B,CAAC,CAAC;IACF,IAAI,CAACM,WAAW,CAACH,KAAK,CAAC;EACzB;EAEA6B,gBAAgBA,CAACC,IAAY,EAAEC,IAAS,EAAEC,IAAS,EAAE;IACnD,QAAOF,IAAI;MACT,KAAK,SAAS;QACZ,IAAI,CAACV,cAAc,CAACW,IAAI,CAAC;QACzB;MACF,KAAK,WAAW;QACd,IAAIA,IAAI,EAAE;UACR,IAAI,CAAC5B,WAAW,CAAC;YACfE,YAAY,EAAE1B,QAAQ,CAACoD,IAAI,CAAC,GAAGnD,MAAM,CAACmD,IAAI,EAAEtC,mBAAmB,CAAC,GAAGb,MAAM,CAACmD,IAAI;UAChF,CAAoB,CAAC;QACzB;IACF;EACF;EAiBAE,kBAAkBA,CAACC,SAA0B,EAAEC,SAA0B,EAAEC,QAAa,EAAE;IACxF,KAAK,CAACH,kBAAkB,IAAI,KAAK,CAACA,kBAAkB,CAACC,SAAS,EAAEC,SAAS,EAAEC,QAAQ,CAAC;IACpF,IAAI,CAAC9B,mBAAmB,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;EACxD;EAEO+B,cAAcA,CAAC1C,KAAsB,EAAmB;IAC7D,oBACAlB,KAAA,CAAA+B,aAAA,CAAC9B,IAAI;MAAC4D,KAAK,EAAE,CAAC,IAAI,CAAC3B,MAAM,CAACC,IAAI,EAAE,IAAI,CAACD,MAAM,CAAC4B,QAAQ,CAAC3B,IAAI;IAAE,gBACzDnC,KAAA,CAAA+B,aAAA,CAAC9B,IAAI;MAAC4D,KAAK,EAAE,IAAI,CAAC3B,MAAM,CAAC6B,cAAc,CAAC5B;IAAK,GAC1CzB,cAAc,CAAC,IAAI,CAACsD,KAAK,EAAE,CAAC,CAAC,EAAsB;MAACC,KAAK,EAAE,KAAK;MAAEC,MAAM,EAAE,EAAE;MAACC,YAAY,EAAE;IAAC,CAAC,CAAC,EAC9FzD,cAAc,CAAC,IAAI,CAACsD,KAAK,EAAE,CAAC,CAAC,EAAsB;MAACC,KAAK,EAAE,KAAK;MAAEC,MAAM,EAAE,EAAE;MAAEC,YAAY,EAAE;IAAC,CAAC,CAAC,EAC/FzD,cAAc,CAAC,IAAI,CAACsD,KAAK,EAAE,CAAC,CAAC,EAAqB;MAACC,KAAK,EAAE,KAAK;MAAEC,MAAM,EAAE,EAAE;MAAEC,YAAY,EAAE;IAAC,CAAC,CAC1F,CAAC,EACNzD,cAAc,CAAC,IAAI,CAACsD,KAAK,EAAE,CAAC,CAAC,EAAsB;MAACC,KAAK,EAAE,KAAK;MAAEG,MAAM,EAAE,CAAC;MAAEF,MAAM,EAAE,GAAG;MAAEC,YAAY,EAAE;IAAC,CAAC,CACrG,CAAC;EACX;EAEAE,YAAYA,CAACnD,KAAsB,EAAE;IACnC,IAAI,CAACW,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxD,oBACE7B,KAAA,CAAA+B,aAAA,CAAC9B,IAAI;MAAC4D,KAAK,EAAE,IAAI,CAAC3B,MAAM,CAACC,IAAK;MAACmC,QAAQ,EAAGC,KAAK,IAAK,IAAI,CAACC,YAAY,CAACD,KAAK;IAAE,GAC1E,IAAI,CAACE,WAAW,eACjBzE,KAAA,CAAA+B,aAAA,CAACzB,SAAS;MACNa,IAAI,EAAE,IAAI,CAACI,KAAK,CAACK,YAAa;MAC9B8C,UAAU,EAAE,IAAI,CAACC,YAAa;MAC9BtD,MAAM,EAAEL,mBAAoB;MAC5B4D,cAAc,EAAE,IAAI,CAACC,SAAU;MAC/BC,cAAc,EAAE,IAAI,CAAC5C,MAAM,CAACV,QAAS;MACrCuD,wBAAwB,EAAE,IAAI,CAAC7C,MAAM,CAAC8C,WAAY;MAClDC,oBAAoB,EAAE,IAAI,CAAC/C,MAAM,CAACgD,eAAgB;MAClDC,eAAe,EAAE,IAAI,CAACjD,MAAM,CAACkD,OAAQ;MACrCC,uBAAuB,EAAE,IAAI,CAACnD,MAAM,CAACoD,cAAe;MACpDC,YAAY,EAAE,IAAI,CAACrD,MAAM,CAACsD,WAAY;MACtCC,YAAY,EAAE,IAAI,CAACvD,MAAM,CAACwD,UAAW;MACrCC,YAAY,EAAE,IAAI,CAACzD,MAAM,CAAC0D,GAAI;MAC9BC,aAAa,EAAE,IAAI,CAAC3D,MAAM,CAAC4D,QAAS;MACpCC,cAAc,EAAE,IAAI,CAAC7D,MAAM,CAAC8D,SAAU;MACtCC,eAAe,EAAE,IAAI,CAAC/D,MAAM,CAACgE,KAAM;MACnCC,mBAAmB,EAAE,IAAI,CAACjE,MAAM,CAACkE,SAAU;MAC3CC,yBAAyB,EAAE,IAAI,CAACnE,MAAM,CAACoE,oBAAqB;MAC5DC,oBAAoB,EAAEA,CAAA,kBACnBvG,KAAA,CAAA+B,aAAA,CAACtB,MAAM;QAAC+F,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,cAAc,CAAE;QAACzE,SAAS,EAAC,yBAAyB;QAACE,MAAM,EAAE,IAAI,CAACA,MAAM,CAACwE;MAAY,CAAC,CAAG;MACvHC,qBAAqB,EAAEA,CAAA,kBACpB3G,KAAA,CAAA+B,aAAA,CAACtB,MAAM;QAAC+F,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,eAAe,CAAE;QAACzE,SAAS,EAAC,0BAA0B;QAACE,MAAM,EAAE,IAAI,CAACA,MAAM,CAAC0E;MAAa,CAAC,CAAG;MAC1HC,qBAAqB,EAAEA,CAAA,kBAClB7G,KAAA,CAAA+B,aAAA,CAACtB,MAAM;QAAC+F,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,eAAe,CAAE;QAACzE,SAAS,EAAC,2BAA2B;QAACE,MAAM,EAAE,IAAI,CAACA,MAAM,CAAC4E;MAAa,CAAC,CAAG;MAC7HC,oBAAoB,EAAEA,CAAA,kBACjB/G,KAAA,CAAA+B,aAAA,CAACtB,MAAM;QAAE+F,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,cAAc,CAAE;QAACzE,SAAS,EAAC,0BAA0B;QAACE,MAAM,EAAE,IAAI,CAACA,MAAM,CAAC8E;MAAY,CAAC;IAAG,CAC5H,CACC,CAAC;EAEX;AACF","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","View","isString","moment","BaseComponent","BaseComponentState","MonthView","WmCalendarProps","DEFAULT_CLASS","WmIcon","createSkeleton","WmCalendarState","constructor","args","_defineProperty","Map","DEFAULT_DATE_FORMAT","WmCalendar","props","date","d","format","dateWindow","state","calendar","get","updateState","datavalue","selectedDate","invokeEventCallback","events","createElement","iconclass","iconsize","styles","root","marginTop","alignSelf","icon","Math","min","length","Fragment","prepareDataset","dataset","eventStartKey","eventstart","forEach","startDate","has","set","push","onPropertyChange","name","$new","$old","componentDidUpdate","prevProps","prevState","snapshot","renderSkeleton","style","skeleton","headerSkeleton","theme","width","height","borderRadius","margin","renderWidget","onLayout","event","handleLayout","_background","selectDate","onDateChange","renderChildDay","renderDay","containerStyle","dateSelectedWarpDayStyle","selectedDay","selectedDayTextStyle","selectedDayText","warpRowWeekdays","weekDay","warpRowControlMonthYear","calendarHeader","weekdayStyle","weekDayText","warpDayStyle","dayWrapper","textDayStyle","day","yearTextStyle","yearText","monthTextStyle","monthText","currentDayStyle","today","currentDayTextStyle","todayText","notDayOfCurrentMonthStyle","notDayOfCurrentMonth","renderPrevYearButton","id","getTestId","prevYearBtn","accessibilitylabel","accessibilityrole","renderPrevMonthButton","prevMonthBtn","renderNextMonthButton","nextMonthBtn","renderNextYearButton","nextYearBtn"],"sources":["calendar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, View } from 'react-native';\nimport { isString } from 'lodash';\nimport moment, { Moment } from 'moment';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport { MonthView } from './views/month-view';\nimport WmCalendarProps from './calendar.props';\nimport { DEFAULT_CLASS, WmCalendarStyles } from './calendar.styles';\nimport WmIcon from '../../basic/icon/icon.component';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component'\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class WmCalendarState extends BaseComponentState<WmCalendarProps> {\n selectedDate: Moment = moment();\n calendar: Map<String, { date: number, events: any []}> = new Map();\n}\n\nconst DEFAULT_DATE_FORMAT = 'DD-MM-YYYY';\n\nexport default class WmCalendar extends BaseComponent<WmCalendarProps, WmCalendarState, WmCalendarStyles> {\n\n constructor(props: WmCalendarProps) {\n super(props, DEFAULT_CLASS, new WmCalendarProps(), new WmCalendarState());\n }\n\n onDateChange = (date: Moment) => {\n const d = moment(date).format(DEFAULT_DATE_FORMAT);\n const dateWindow = this.state.calendar.get(d);\n this.updateState({\n props: {datavalue: d},\n selectedDate: date\n } as WmCalendarState);\n this.invokeEventCallback('onSelect', [d, d, this, dateWindow?.events]);\n }\n\n prepareDataset(dataset: any[]) {\n if (!dataset) {\n return;\n }\n const state = {\n calendar: new Map()\n } as WmCalendarState;\n const eventStartKey = this.state.props.eventstart;\n dataset.forEach(d => {\n let startDate = d[eventStartKey];\n if (!isString(startDate)) {\n startDate = moment(startDate).format(DEFAULT_DATE_FORMAT);\n }\n if (!state.calendar.has(startDate)) {\n state.calendar.set(startDate, {\n date: moment(startDate, DEFAULT_DATE_FORMAT).get('milliseconds'),\n events: []\n });\n }\n const dateWindow = state.calendar.get(startDate);\n dateWindow?.events.push(d);\n });\n this.updateState(state);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch(name) {\n case 'dataset':\n this.prepareDataset($new);\n break;\n case 'datavalue':\n if ($new) {\n this.updateState({\n selectedDate: isString($new) ? moment($new, DEFAULT_DATE_FORMAT) : moment($new)\n } as WmCalendarState)\n }\n }\n }\n\n renderDay = (date: Moment) => {\n const dateWindow = this.state.calendar.get(moment(date).format(DEFAULT_DATE_FORMAT));\n if (dateWindow) {\n return (\n <WmIcon\n iconclass=\"fa fa-circle\"\n iconsize={8}\n styles={{\n root: {marginTop: -8, alignSelf: 'flexStart'},\n icon: this.styles['eventDay' + Math.min(3, dateWindow.events.length)]}}></WmIcon>\n );\n }\n return (<></>);\n }\n\n componentDidUpdate(prevProps: WmCalendarProps, prevState: WmCalendarState, snapshot: any) {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n this.invokeEventCallback('onViewrender', [this, null]);\n }\n\n public renderSkeleton(props: WmCalendarProps): React.ReactNode {\n return (\n <View style={[this.styles.root, this.styles.skeleton.root]}>\n <View style={this.styles.headerSkeleton.root}>\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {width: '10%', height: 28,borderRadius: 4})}\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {width: '68%', height: 16, borderRadius: 4})}\n {createSkeleton(this.theme, {}as WmSkeletonStyles, {width: '10%', height: 28, borderRadius: 4})}\n </View>\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {width: '96%', margin: 8, height: 320, borderRadius: 4})}\n </View>)\n } \n\n renderWidget(props: WmCalendarProps) {\n this.invokeEventCallback('onBeforerender', [null, this]);\n return (\n <View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n {this._background}\n <MonthView\n date={this.state.selectedDate}\n selectDate={this.onDateChange}\n format={DEFAULT_DATE_FORMAT}\n renderChildDay={this.renderDay}\n containerStyle={this.styles.calendar}\n dateSelectedWarpDayStyle={this.styles.selectedDay}\n selectedDayTextStyle={this.styles.selectedDayText}\n warpRowWeekdays={this.styles.weekDay}\n warpRowControlMonthYear={this.styles.calendarHeader}\n weekdayStyle={this.styles.weekDayText}\n warpDayStyle={this.styles.dayWrapper}\n textDayStyle={this.styles.day}\n yearTextStyle={this.styles.yearText}\n monthTextStyle={this.styles.monthText}\n currentDayStyle={this.styles.today}\n currentDayTextStyle={this.styles.todayText}\n notDayOfCurrentMonthStyle={this.styles.notDayOfCurrentMonth}\n renderPrevYearButton={() =>\n (<WmIcon id={this.getTestId('prevyearicon')} iconclass=\"wi wi-angle-double-left\" styles={this.styles.prevYearBtn} accessibilitylabel='previous year' accessibilityrole='button'/>)}\n renderPrevMonthButton={() =>\n (<WmIcon id={this.getTestId('prevmonthicon')} iconclass=\"wi wi-chevron-left fa-2x\" styles={this.styles.prevMonthBtn} accessibilitylabel='previous month' accessibilityrole='button'/>)}\n renderNextMonthButton={() =>\n (<WmIcon id={this.getTestId('nextmonthicon')} iconclass=\"wi wi-chevron-right fa-2x\" styles={this.styles.nextMonthBtn} accessibilitylabel='next month' accessibilityrole='button'/>)}\n renderNextYearButton={() =>\n (<WmIcon id={this.getTestId('nextyearicon')} iconclass=\"wi wi-angle-double-right\" styles={this.styles.nextYearBtn} accessibilitylabel='next year' accessibilityrole='button'/>)}\n />\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -7,10 +7,17 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
7
7
|
* That js lib was converted to ts and fixed bugs.
|
8
8
|
*/
|
9
9
|
import React, { Component } from 'react';
|
10
|
-
import { Text, View, FlatList, TouchableOpacity } from 'react-native';
|
10
|
+
import { Text, View, FlatList, TouchableOpacity, AccessibilityInfo } from 'react-native';
|
11
11
|
import moment from 'moment';
|
12
12
|
import styles from './month-view.styles';
|
13
13
|
import _ from 'lodash';
|
14
|
+
let _isScreenReaderEnabled = false;
|
15
|
+
AccessibilityInfo.addEventListener('screenReaderChanged', enabled => {
|
16
|
+
_isScreenReaderEnabled = enabled;
|
17
|
+
});
|
18
|
+
AccessibilityInfo.isScreenReaderEnabled().then(enabled => {
|
19
|
+
_isScreenReaderEnabled = enabled;
|
20
|
+
});
|
14
21
|
export class MonthViewProps {
|
15
22
|
constructor() {
|
16
23
|
_defineProperty(this, "testID", null);
|
@@ -96,7 +103,7 @@ export class MonthView extends Component {
|
|
96
103
|
const dateStyle = (this.props.getDayStyle ? this.props.getDayStyle(day) : null) || {};
|
97
104
|
return /*#__PURE__*/React.createElement(TouchableOpacity, {
|
98
105
|
testID: this.props.testID + '_' + day.format('yyyy_mm_dd'),
|
99
|
-
accessibilityLabel: this.props.testID + '_' + day.format('yyyy_mm_dd'),
|
106
|
+
accessibilityLabel: !_isScreenReaderEnabled ? this.props.testID + '_' + day.format('yyyy_mm_dd') : undefined,
|
100
107
|
onPress: () => this.selectDate(day),
|
101
108
|
style: [styles.warpDay, warpDayStyle, isCurrent ? currentDayStyle : {}, dateSelected ? {
|
102
109
|
backgroundColor: '#2C1F23',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Component","Text","View","FlatList","TouchableOpacity","moment","styles","_","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","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} from 'react-native';\nimport moment, { Moment } from 'moment';\nimport styles from './month-view.styles'\nimport _ from 'lodash';\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={this.props.testID + '_' + day.format('yyyy_mm_dd')}\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","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":[]}
|
@@ -105,19 +105,19 @@ export default class WmCheckbox extends BaseComponent {
|
|
105
105
|
style: [this.styles.root, this.state.isChecked ? this.styles.checkedItem : null],
|
106
106
|
onPress: this.onPress.bind(this)
|
107
107
|
}, getAccessibilityProps(AccessibilityWidgetType.CHECKBOX, {
|
108
|
-
|
108
|
+
...this.props,
|
109
109
|
checked: this.state.isChecked
|
110
110
|
}), {
|
111
|
-
accessibilityRole: "checkbox",
|
112
|
-
accessibilityLabel: `Checkbox for ${props.caption}`,
|
113
111
|
onLayout: event => this.handleLayout(event)
|
114
112
|
}), this._background, /*#__PURE__*/React.createElement(WmIcon, {
|
115
113
|
iconclass: "wi wi-check",
|
116
114
|
styles: this.state.isChecked ? this.styles.checkicon : this.styles.uncheckicon,
|
117
115
|
disabled: props.readonly || props.disabled,
|
118
|
-
id: this.getTestId('checkbox')
|
116
|
+
id: this.getTestId('checkbox'),
|
117
|
+
accessible: false
|
119
118
|
}), /*#__PURE__*/React.createElement(Text, _extends({}, this.getTestPropsForLabel(), {
|
120
|
-
style: [this.styles.text, this.state.isChecked ? this.styles.selectedLabel : null]
|
119
|
+
style: [this.styles.text, this.state.isChecked ? this.styles.selectedLabel : null],
|
120
|
+
importantForAccessibility: "no"
|
121
121
|
}), props.caption));
|
122
122
|
}
|
123
123
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Text","TouchableOpacity","View","BaseComponent","BaseComponentState","WmIcon","unStringify","validateField","WmCheckboxProps","DEFAULT_CLASS","AccessibilityWidgetType","getAccessibilityProps","WmLabel","WmCheckboxState","constructor","args","_defineProperty","WmCheckbox","props","setChecked","dataValue","checkedvalue","value","updateState","isChecked","onPropertyChange","name","$new","$old","state","datavalue","updateDatavalue","validate","validationObj","isValid","errorType","onPress","disabled","readonly","invokeEventCallback","proxy","oldValue","uncheckedvalue","onFieldChange","setTimeout","renderSkeleton","createElement","style","styles","root","skeleton","checkicon","iconSkeleton","text","labelSkeleton","renderWidget","_extends","getTestPropsForAction","checkedItem","bind","CHECKBOX","
|
1
|
+
{"version":3,"names":["React","Text","TouchableOpacity","View","BaseComponent","BaseComponentState","WmIcon","unStringify","validateField","WmCheckboxProps","DEFAULT_CLASS","AccessibilityWidgetType","getAccessibilityProps","WmLabel","WmCheckboxState","constructor","args","_defineProperty","WmCheckbox","props","setChecked","dataValue","checkedvalue","value","updateState","isChecked","onPropertyChange","name","$new","$old","state","datavalue","updateDatavalue","validate","validationObj","isValid","errorType","onPress","disabled","readonly","invokeEventCallback","proxy","oldValue","uncheckedvalue","onFieldChange","setTimeout","renderSkeleton","createElement","style","styles","root","skeleton","checkicon","iconSkeleton","text","labelSkeleton","renderWidget","_extends","getTestPropsForAction","checkedItem","bind","CHECKBOX","checked","onLayout","event","handleLayout","_background","iconclass","uncheckicon","id","getTestId","accessible","getTestPropsForLabel","selectedLabel","importantForAccessibility","caption"],"sources":["checkbox.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Text, TouchableOpacity, View } from 'react-native';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport {unStringify, validateField} from '@wavemaker/app-rn-runtime/core/utils';\n\nimport WmCheckboxProps from './checkbox.props';\nimport { DEFAULT_CLASS, WmCheckboxStyles } from './checkbox.styles';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport WmLabel from '../../basic/label/label.component';\n\nexport class WmCheckboxState extends BaseComponentState<WmCheckboxProps> {\n isChecked: boolean = false;\n isValid: boolean = true;\n errorType = '';\n}\n\nexport default class WmCheckbox extends BaseComponent<WmCheckboxProps, WmCheckboxState, WmCheckboxStyles> {\n\n constructor(props: WmCheckboxProps) {\n super(props, DEFAULT_CLASS, new WmCheckboxProps(), new WmCheckboxState());\n }\n\n setChecked(dataValue: any, checkedvalue: any) {\n const value = unStringify(dataValue) === unStringify(checkedvalue, true);\n this.updateState({ isChecked: value } as WmCheckboxState);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'checkedvalue':\n this.setChecked(this.state.props.datavalue, $new);\n break;\n case 'datavalue':\n this.setChecked($new, this.state.props.checkedvalue);\n break;\n }\n }\n\n updateDatavalue(value: any) {\n this.updateState({ props: { datavalue: value }} as WmCheckboxState);\n }\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.updateState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as WmCheckboxState);\n }\n\n onPress() {\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n this.invokeEventCallback('onFocus', [null, this.proxy]);\n this.invokeEventCallback('onTap', [null, this.proxy]);\n const oldValue = this.state.props.datavalue;\n const value = !this.state.isChecked;\n this.validate(value);\n this.updateState({ isChecked: value } as WmCheckboxState);\n const dataValue = value === true ? this.state.props.checkedvalue : this.state.props.uncheckedvalue;\n this.updateState({ props: { datavalue: dataValue } } as WmCheckboxState,\n () => {\n if (!this.props.onFieldChange) {\n this.invokeEventCallback('onChange', [null, this.proxy, dataValue, oldValue]);\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', dataValue, oldValue);\n }\n setTimeout(() => {\n this.invokeEventCallback('onBlur', [ null, this.proxy ]);\n }, 10);\n });\n }\n\n public renderSkeleton(props: WmCheckboxProps): React.ReactNode {\n return <View style={[this.styles.root, this.styles.skeleton.root]}>\n <WmIcon styles={{ root: {...this.styles.checkicon, ...this.styles.iconSkeleton.root} }}/>\n <WmLabel styles={{ root: {...this.styles.text, ...this.styles.labelSkeleton.root} }}/>\n </View>\n }\n\n renderWidget(props: WmCheckboxProps) {\n return (\n <TouchableOpacity \n {...this.getTestPropsForAction()} \n style={[this.styles.root, this.state.isChecked ? this.styles.checkedItem : null]} \n onPress={this.onPress.bind(this)} \n {...getAccessibilityProps(AccessibilityWidgetType.CHECKBOX, { ...this.props, checked: this.state.isChecked})} \n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n <WmIcon iconclass=\"wi wi-check\" styles={this.state.isChecked ? this.styles.checkicon : this.styles.uncheckicon} disabled={props.readonly || props.disabled} id={this.getTestId('checkbox')} accessible={false}/>\n <Text {...this.getTestPropsForLabel()} style={[this.styles.text, this.state.isChecked ? this.styles.selectedLabel: null]} importantForAccessibility='no'>{props.caption}</Text>\n </TouchableOpacity>\n );\n }\n}\n\n\n\n"],"mappings":"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","ignoreList":[]}
|
@@ -52,25 +52,29 @@ export default class WmCheckboxset extends BaseDatasetComponent {
|
|
52
52
|
renderChild(item, index, colWidth) {
|
53
53
|
const props = this.state.props;
|
54
54
|
const displayText = item.displayexp || item.displayfield;
|
55
|
+
const accessibilityProps = {
|
56
|
+
accessibilityLabel: displayText,
|
57
|
+
accessibilityRole: 'checkbox',
|
58
|
+
accessibilityState: {
|
59
|
+
disabled: this.props.readonly || this.props.disabled,
|
60
|
+
selected: item.selected
|
61
|
+
}
|
62
|
+
};
|
55
63
|
return /*#__PURE__*/React.createElement(TouchableOpacity, _extends({}, this.getTestPropsForAction(index + ''), {
|
56
64
|
style: [this.styles.item, item.selected ? this.styles.checkedItem : null, {
|
57
65
|
width: colWidth
|
58
66
|
}],
|
59
67
|
onPress: this.onPress.bind(this, item),
|
60
68
|
key: item.key
|
61
|
-
},
|
62
|
-
hint: props === null || props === void 0 ? void 0 : props.hint,
|
63
|
-
checked: item.selected
|
64
|
-
}), {
|
65
|
-
accessibilityRole: "checkbox",
|
66
|
-
accessibilityLabel: `Checkbox for ${displayText}`
|
67
|
-
}), /*#__PURE__*/React.createElement(WmIcon, {
|
69
|
+
}, accessibilityProps), /*#__PURE__*/React.createElement(WmIcon, {
|
68
70
|
iconclass: "wi wi-check",
|
69
71
|
styles: item.selected ? this.styles.checkicon : this.styles.uncheckicon,
|
70
72
|
disabled: props.readonly || props.disabled,
|
71
|
-
id: this.getTestId('item' + index)
|
73
|
+
id: this.getTestId('item' + index),
|
74
|
+
accessible: false
|
72
75
|
}), !isEmpty(this.state.template) && this.props.renderitempartial ? this.props.renderitempartial(item.dataObject, index, this.state.template) : /*#__PURE__*/React.createElement(Text, _extends({}, this.getTestPropsForLabel(index + ''), {
|
73
|
-
style: [this.styles.text, item.selected ? this.styles.selectedLabel : null]
|
76
|
+
style: [this.styles.text, item.selected ? this.styles.selectedLabel : null],
|
77
|
+
importantForAccessibility: "no"
|
74
78
|
}), displayText));
|
75
79
|
}
|
76
80
|
computeDisplayValue() {
|
@@ -107,12 +111,12 @@ export default class WmCheckboxset extends BaseDatasetComponent {
|
|
107
111
|
const props = this.state.props;
|
108
112
|
const noOfColumns = props.itemsperrow.xs || 1;
|
109
113
|
const colWidth = Math.round(100 / noOfColumns) + '%';
|
110
|
-
return /*#__PURE__*/React.createElement(View, {
|
114
|
+
return /*#__PURE__*/React.createElement(View, _extends({
|
111
115
|
style: noOfColumns === 1 ? {} : {
|
112
116
|
flexWrap: 'wrap',
|
113
117
|
flexDirection: 'row'
|
114
118
|
}
|
115
|
-
}, items && items.length ? items.map((item, index) => this.renderChild(item, index, colWidth)) : null);
|
119
|
+
}, getAccessibilityProps(AccessibilityWidgetType.CHECKBOXSET, props)), items && items.length ? items.map((item, index) => this.renderChild(item, index, colWidth)) : null);
|
116
120
|
}
|
117
121
|
renderSkeleton(props) {
|
118
122
|
var _ref;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Text","View","TouchableOpacity","Platform","ScrollView","find","forEach","isEqual","isEmpty","WmCheckboxsetProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","AccessibilityWidgetType","getAccessibilityProps","getNumberOfEmptyObjects","WmLabel","WmCheckboxsetState","constructor","args","_defineProperty","WmCheckboxset","props","onPress","item","state","disabled","readonly","invokeEventCallback","proxy","selected","selectedValue","selectedItem","dataItems","d","key","oldValue","datavalue","push","datafield","validate","updateState","computeDisplayValue","undefined","renderChild","index","colWidth","displayText","displayexp","displayfield","createElement","_extends","getTestPropsForAction","style","styles","checkedItem","width","bind","CHECKBOX","hint","checked","accessibilityRole","accessibilityLabel","iconclass","checkicon","uncheckicon","id","getTestId","template","renderitempartial","dataObject","getTestPropsForLabel","text","selectedLabel","displayValue","filter","map","updateDatavalue","value","Promise","resolve","setTemplate","partialName","renderGroupby","groupedData","length","groupObj","groupHeaderTitle","renderCheckboxses","data","items","noOfColumns","itemsperrow","xs","Math","round","flexWrap","flexDirection","renderSkeleton","_ref","numberofskeletonitems","_","root","renderWidget","onLayout","event","handleLayout","horizontal","isRTL","OS","transform","scaleX","contentContainerStyle","groupby"],"sources":["checkboxset.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, TouchableOpacity, DimensionValue, Platform } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { find, forEach, isEqual, isEmpty } from 'lodash';\nimport WmCheckboxsetProps from './checkboxset.props';\nimport {\n DEFAULT_CLASS,\n\n WmCheckboxsetStyles,\n} from './checkboxset.styles';\nimport {\n BaseDatasetComponent,\n BaseDatasetState,\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport { getNumberOfEmptyObjects } from '@wavemaker/app-rn-runtime/core/utils';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\n\nexport class WmCheckboxsetState extends BaseDatasetState<WmCheckboxsetProps> {\n isValid: boolean = true;\n template: string = \"\";\n}\n\nexport default class WmCheckboxset extends BaseDatasetComponent<WmCheckboxsetProps, WmCheckboxsetState, WmCheckboxsetStyles> {\n constructor(props: WmCheckboxsetProps) {\n super(props, DEFAULT_CLASS, new WmCheckboxsetProps());\n }\n\n onPress(item: any) {\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n this.invokeEventCallback('onTap', [null, this.proxy]);\n item.selected = !item.selected;\n const selectedValue: any = [];\n const selectedItem = find(this.state.dataItems, d => isEqual(d.key, item.key));\n const oldValue = this.state.props.datavalue;\n selectedItem.selected = item.selected;\n forEach(this.state.dataItems, (item) => {\n if (item.selected) {\n selectedValue.push(item.datafield);\n }\n });\n this.validate(selectedValue);\n this.updateState({ props: { datavalue: selectedValue }} as WmCheckboxsetState,\n () => {\n this.computeDisplayValue();\n this.invokeEventCallback('onChange', [ undefined, this.proxy, selectedValue, oldValue ]);\n });\n }\n\n renderChild(item: any, index: any,colWidth: DimensionValue) {\n const props = this.state.props;\n const displayText = item.displayexp || item.displayfield;\n return (\n <TouchableOpacity {...this.getTestPropsForAction(index + '')}\n style={[this.styles.item, item.selected ? this.styles.checkedItem : null, {width: colWidth}]}\n onPress={this.onPress.bind(this, item)} key={item.key} {...getAccessibilityProps(AccessibilityWidgetType.CHECKBOX, {hint: props?.hint, checked: item.selected})} accessibilityRole='checkbox' accessibilityLabel={`Checkbox for ${displayText}`}>\n <WmIcon iconclass=\"wi wi-check\" styles={item.selected? this.styles.checkicon : this.styles.uncheckicon} disabled={props.readonly || props.disabled} id={this.getTestId('item'+index)}/>\n {!isEmpty(this.state.template) && this.props.renderitempartial ?\n this.props.renderitempartial(item.dataObject, index, this.state.template) :\n <Text {...this.getTestPropsForLabel(index + '')} style={[this.styles.text, item.selected ? this.styles.selectedLabel: null]}>{displayText}</Text>}\n </TouchableOpacity>)\n }\n\n computeDisplayValue() {\n this.updateState({\n props: {\n displayValue: ((this.state.dataItems || [] as any)\n .filter((item: any) => item.selected)\n .map((item: any) => item.displayexp || item.displayfield)) || ''\n }\n } as WmCheckboxsetState);\n }\n\n updateDatavalue(value: any) {\n this.updateState({ props: { datavalue: value }} as WmCheckboxsetState);\n return Promise.resolve();\n }\n\n setTemplate(partialName: any) {\n this.updateState({ template: partialName} as WmCheckboxsetState);\n }\n\n renderGroupby() {\n const groupedData = this.state.groupedData;\n return (\n <View>\n {groupedData && groupedData.length\n ? groupedData.map((groupObj: any, index: any) => {\n return(\n <View key={groupObj.key}>\n <Text style={this.styles.groupHeaderTitle}>{groupObj.key}</Text>\n {this.renderCheckboxses(groupObj.data)}\n </View>)\n })\n : null}\n </View>\n );\n }\n\n renderCheckboxses(items: any) {\n const props = this.state.props;\n const noOfColumns = props.itemsperrow.xs || 1;\n const colWidth = Math.round(100/ noOfColumns) + '%' as DimensionValue;\n return(<View style = {noOfColumns === 1 ? {} : {flexWrap: 'wrap', flexDirection: 'row'}}>\n {items && items.length\n ? items.map((item: any, index: any) => this.renderChild(item, index, colWidth))\n : null}\n </View>)\n }\n\n public renderSkeleton(props: WmCheckboxsetProps): React.ReactNode {\n const noOfColumns = props.itemsperrow.xs || 1;\n const colWidth = Math.round(100/ noOfColumns) + '%' as DimensionValue;\n\n return [...getNumberOfEmptyObjects(props.numberofskeletonitems as number ?? 3)].map(_ => {\n return <View style={[this.styles.item, {width: colWidth}]}>\n <WmIcon styles={this.styles.checkicon}/>\n <WmLabel styles={{ root: this.styles.text }}/>\n </View>\n })\n }\n\n renderWidget(props: WmCheckboxsetProps) {\n const items = this.state.dataItems;\n return (\n <ScrollView style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n <ScrollView horizontal={true}\n style={this.isRTL && Platform.OS == 'android' ? { transform: [{ scaleX: -1 }] } : {}}\n contentContainerStyle={this.isRTL && Platform.OS == 'android' ? { transform: [{ scaleX: -1 }] } : {}}\n >\n {props.groupby && this.renderGroupby()}\n {!props.groupby && this.renderCheckboxses(items)}\n </ScrollView>\n </ScrollView>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","Text","View","TouchableOpacity","Platform","ScrollView","find","forEach","isEqual","isEmpty","WmCheckboxsetProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","AccessibilityWidgetType","getAccessibilityProps","getNumberOfEmptyObjects","WmLabel","WmCheckboxsetState","constructor","args","_defineProperty","WmCheckboxset","props","onPress","item","state","disabled","readonly","invokeEventCallback","proxy","selected","selectedValue","selectedItem","dataItems","d","key","oldValue","datavalue","push","datafield","validate","updateState","computeDisplayValue","undefined","renderChild","index","colWidth","displayText","displayexp","displayfield","accessibilityProps","accessibilityLabel","accessibilityRole","accessibilityState","createElement","_extends","getTestPropsForAction","style","styles","checkedItem","width","bind","iconclass","checkicon","uncheckicon","id","getTestId","accessible","template","renderitempartial","dataObject","getTestPropsForLabel","text","selectedLabel","importantForAccessibility","displayValue","filter","map","updateDatavalue","value","Promise","resolve","setTemplate","partialName","renderGroupby","groupedData","length","groupObj","groupHeaderTitle","renderCheckboxses","data","items","noOfColumns","itemsperrow","xs","Math","round","flexWrap","flexDirection","CHECKBOXSET","renderSkeleton","_ref","numberofskeletonitems","_","root","renderWidget","onLayout","event","handleLayout","horizontal","isRTL","OS","transform","scaleX","contentContainerStyle","groupby"],"sources":["checkboxset.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, TouchableOpacity, DimensionValue, Platform, AccessibilityRole } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { find, forEach, isEqual, isEmpty } from 'lodash';\nimport WmCheckboxsetProps from './checkboxset.props';\nimport {\n DEFAULT_CLASS,\n\n WmCheckboxsetStyles,\n} from './checkboxset.styles';\nimport {\n BaseDatasetComponent,\n BaseDatasetState,\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport { getNumberOfEmptyObjects } from '@wavemaker/app-rn-runtime/core/utils';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\n\nexport class WmCheckboxsetState extends BaseDatasetState<WmCheckboxsetProps> {\n isValid: boolean = true;\n template: string = \"\";\n}\n\nexport default class WmCheckboxset extends BaseDatasetComponent<WmCheckboxsetProps, WmCheckboxsetState, WmCheckboxsetStyles> {\n constructor(props: WmCheckboxsetProps) {\n super(props, DEFAULT_CLASS, new WmCheckboxsetProps());\n }\n\n onPress(item: any) {\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n this.invokeEventCallback('onTap', [null, this.proxy]);\n item.selected = !item.selected;\n const selectedValue: any = [];\n const selectedItem = find(this.state.dataItems, d => isEqual(d.key, item.key));\n const oldValue = this.state.props.datavalue;\n selectedItem.selected = item.selected;\n forEach(this.state.dataItems, (item) => {\n if (item.selected) {\n selectedValue.push(item.datafield);\n }\n });\n this.validate(selectedValue);\n this.updateState({ props: { datavalue: selectedValue }} as WmCheckboxsetState,\n () => {\n this.computeDisplayValue();\n this.invokeEventCallback('onChange', [ undefined, this.proxy, selectedValue, oldValue ]);\n });\n }\n\n renderChild(item: any, index: any,colWidth: DimensionValue) {\n const props = this.state.props;\n const displayText = item.displayexp || item.displayfield;\n const accessibilityProps = { accessibilityLabel: displayText ,\n accessibilityRole: 'checkbox' as AccessibilityRole,\n accessibilityState: {\n disabled: this.props.readonly || this.props.disabled,\n selected: item.selected,\n }\n }\n return (\n <TouchableOpacity {...this.getTestPropsForAction(index + '')}\n style={[this.styles.item, item.selected ? this.styles.checkedItem : null, {width: colWidth}]}\n onPress={this.onPress.bind(this, item)} key={item.key} {...accessibilityProps}>\n <WmIcon iconclass=\"wi wi-check\" styles={item.selected? this.styles.checkicon : this.styles.uncheckicon} disabled={props.readonly || props.disabled} id={this.getTestId('item'+index)} accessible={false}/>\n {!isEmpty(this.state.template) && this.props.renderitempartial ?\n this.props.renderitempartial(item.dataObject, index, this.state.template) :\n <Text {...this.getTestPropsForLabel(index + '')} style={[this.styles.text, item.selected ? this.styles.selectedLabel: null]} importantForAccessibility='no'>{displayText}</Text>}\n </TouchableOpacity>)\n }\n\n computeDisplayValue() {\n this.updateState({\n props: {\n displayValue: ((this.state.dataItems || [] as any)\n .filter((item: any) => item.selected)\n .map((item: any) => item.displayexp || item.displayfield)) || ''\n }\n } as WmCheckboxsetState);\n }\n\n updateDatavalue(value: any) {\n this.updateState({ props: { datavalue: value }} as WmCheckboxsetState);\n return Promise.resolve();\n }\n\n setTemplate(partialName: any) {\n this.updateState({ template: partialName} as WmCheckboxsetState);\n }\n\n renderGroupby() {\n const groupedData = this.state.groupedData;\n return (\n <View>\n {groupedData && groupedData.length\n ? groupedData.map((groupObj: any, index: any) => {\n return(\n <View key={groupObj.key}>\n <Text style={this.styles.groupHeaderTitle}>{groupObj.key}</Text>\n {this.renderCheckboxses(groupObj.data)}\n </View>)\n })\n : null}\n </View>\n );\n }\n\n renderCheckboxses(items: any) {\n const props = this.state.props;\n const noOfColumns = props.itemsperrow.xs || 1;\n const colWidth = Math.round(100/ noOfColumns) + '%' as DimensionValue;\n return(<View style = {noOfColumns === 1 ? {} : {flexWrap: 'wrap', flexDirection: 'row'}} {...getAccessibilityProps(AccessibilityWidgetType.CHECKBOXSET, props)}>\n {items && items.length\n ? items.map((item: any, index: any) => this.renderChild(item, index, colWidth))\n : null}\n </View>)\n }\n\n public renderSkeleton(props: WmCheckboxsetProps): React.ReactNode {\n const noOfColumns = props.itemsperrow.xs || 1;\n const colWidth = Math.round(100/ noOfColumns) + '%' as DimensionValue;\n\n return [...getNumberOfEmptyObjects(props.numberofskeletonitems as number ?? 3)].map(_ => {\n return <View style={[this.styles.item, {width: colWidth}]}>\n <WmIcon styles={this.styles.checkicon}/>\n <WmLabel styles={{ root: this.styles.text }}/>\n </View>\n })\n }\n\n renderWidget(props: WmCheckboxsetProps) {\n const items = this.state.dataItems;\n return (\n <ScrollView style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n <ScrollView horizontal={true}\n style={this.isRTL && Platform.OS == 'android' ? { transform: [{ scaleX: -1 }] } : {}}\n contentContainerStyle={this.isRTL && Platform.OS == 'android' ? { transform: [{ scaleX: -1 }] } : {}}\n >\n {props.groupby && this.renderGroupby()}\n {!props.groupby && this.renderCheckboxses(items)}\n </ScrollView>\n </ScrollView>\n );\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,gBAAgB,EAAkBC,QAAQ,QAA2B,cAAc;AACxG,SAASC,UAAU,QAAQ,8BAA8B;AACzD,SAASC,IAAI,EAAEC,OAAO,EAAEC,OAAO,EAAGC,OAAO,QAAQ,QAAQ;AACzD,OAAOC,kBAAkB,MAAM,qBAAqB;AACpD,SACEC,aAAa,QAGR,sBAAsB;AAC7B,SACEC,oBAAoB,EACpBC,gBAAgB,QACX,8EAA8E;AACrF,OAAOC,MAAM,MAAM,gEAAgE;AACnF,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,8CAA8C;AAC7G,SAASC,uBAAuB,QAAQ,sCAAsC;AAC9E,OAAOC,OAAO,MAAM,kEAAkE;AAEtF,OAAO,MAAMC,kBAAkB,SAASN,gBAAgB,CAAqB;EAAAO,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,kBACxD,IAAI;IAAAA,eAAA,mBACJ,EAAE;EAAA;AACvB;AAEA,eAAe,MAAMC,aAAa,SAASX,oBAAoB,CAA8D;EAC3HQ,WAAWA,CAACI,KAAyB,EAAE;IACrC,KAAK,CAACA,KAAK,EAAEb,aAAa,EAAE,IAAID,kBAAkB,CAAC,CAAC,CAAC;EACvD;EAEAe,OAAOA,CAACC,IAAS,EAAE;IACjB,IAAI,IAAI,CAACC,KAAK,CAACH,KAAK,CAACI,QAAQ,IAAI,IAAI,CAACD,KAAK,CAACH,KAAK,CAACK,QAAQ,EAAE;MAC1D;IACF;IACA,IAAI,CAACC,mBAAmB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;IACrDL,IAAI,CAACM,QAAQ,GAAG,CAACN,IAAI,CAACM,QAAQ;IAC9B,MAAMC,aAAkB,GAAG,EAAE;IAC7B,MAAMC,YAAY,GAAG5B,IAAI,CAAC,IAAI,CAACqB,KAAK,CAACQ,SAAS,EAAEC,CAAC,IAAI5B,OAAO,CAAC4B,CAAC,CAACC,GAAG,EAAEX,IAAI,CAACW,GAAG,CAAC,CAAC;IAC9E,MAAMC,QAAQ,GAAG,IAAI,CAACX,KAAK,CAACH,KAAK,CAACe,SAAS;IAC3CL,YAAY,CAACF,QAAQ,GAAGN,IAAI,CAACM,QAAQ;IACrCzB,OAAO,CAAC,IAAI,CAACoB,KAAK,CAACQ,SAAS,EAAGT,IAAI,IAAK;MACpC,IAAIA,IAAI,CAACM,QAAQ,EAAE;QACjBC,aAAa,CAACO,IAAI,CAACd,IAAI,CAACe,SAAS,CAAC;MACpC;IACJ,CAAC,CAAC;IACF,IAAI,CAACC,QAAQ,CAACT,aAAa,CAAC;IAC5B,IAAI,CAACU,WAAW,CAAC;MAAEnB,KAAK,EAAE;QAAEe,SAAS,EAAEN;MAAc;IAAC,CAAC,EACrD,MAAM;MACJ,IAAI,CAACW,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACd,mBAAmB,CAAC,UAAU,EAAE,CAAEe,SAAS,EAAE,IAAI,CAACd,KAAK,EAAEE,aAAa,EAAEK,QAAQ,CAAE,CAAC;IAC1F,CAAC,CAAC;EACN;EAEAQ,WAAWA,CAACpB,IAAS,EAAEqB,KAAU,EAACC,QAAwB,EAAE;IAC1D,MAAMxB,KAAK,GAAG,IAAI,CAACG,KAAK,CAACH,KAAK;IAC9B,MAAMyB,WAAW,GAAGvB,IAAI,CAACwB,UAAU,IAAIxB,IAAI,CAACyB,YAAY;IACxD,MAAMC,kBAAkB,GAAG;MAAEC,kBAAkB,EAAEJ,WAAW;MAC1DK,iBAAiB,EAAE,UAA+B;MAClDC,kBAAkB,EAAE;QAClB3B,QAAQ,EAAE,IAAI,CAACJ,KAAK,CAACK,QAAQ,IAAI,IAAI,CAACL,KAAK,CAACI,QAAQ;QACpDI,QAAQ,EAAEN,IAAI,CAACM;MACjB;IACF,CAAC;IACD,oBACEhC,KAAA,CAAAwD,aAAA,CAACrD,gBAAgB,EAAAsD,QAAA,KAAK,IAAI,CAACC,qBAAqB,CAACX,KAAK,GAAG,EAAE,CAAC;MAC1DY,KAAK,EAAE,CAAC,IAAI,CAACC,MAAM,CAAClC,IAAI,EAAEA,IAAI,CAACM,QAAQ,GAAG,IAAI,CAAC4B,MAAM,CAACC,WAAW,GAAG,IAAI,EAAE;QAACC,KAAK,EAAEd;MAAQ,CAAC,CAAE;MAC7FvB,OAAO,EAAE,IAAI,CAACA,OAAO,CAACsC,IAAI,CAAC,IAAI,EAAErC,IAAI,CAAE;MAACW,GAAG,EAAEX,IAAI,CAACW;IAAI,GAAKe,kBAAkB,gBAC7EpD,KAAA,CAAAwD,aAAA,CAAC1C,MAAM;MAACkD,SAAS,EAAC,aAAa;MAACJ,MAAM,EAAElC,IAAI,CAACM,QAAQ,GAAE,IAAI,CAAC4B,MAAM,CAACK,SAAS,GAAG,IAAI,CAACL,MAAM,CAACM,WAAY;MAACtC,QAAQ,EAAEJ,KAAK,CAACK,QAAQ,IAAIL,KAAK,CAACI,QAAS;MAACuC,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,MAAM,GAACrB,KAAK,CAAE;MAACsB,UAAU,EAAE;IAAM,CAAC,CAAC,EACzM,CAAC5D,OAAO,CAAC,IAAI,CAACkB,KAAK,CAAC2C,QAAQ,CAAC,IAAI,IAAI,CAAC9C,KAAK,CAAC+C,iBAAiB,GAC3D,IAAI,CAAC/C,KAAK,CAAC+C,iBAAiB,CAAC7C,IAAI,CAAC8C,UAAU,EAAEzB,KAAK,EAAE,IAAI,CAACpB,KAAK,CAAC2C,QAAQ,CAAC,gBAC5EtE,KAAA,CAAAwD,aAAA,CAACvD,IAAI,EAAAwD,QAAA,KAAK,IAAI,CAACgB,oBAAoB,CAAC1B,KAAK,GAAG,EAAE,CAAC;MAAEY,KAAK,EAAE,CAAC,IAAI,CAACC,MAAM,CAACc,IAAI,EAAEhD,IAAI,CAACM,QAAQ,GAAG,IAAI,CAAC4B,MAAM,CAACe,aAAa,GAAE,IAAI,CAAE;MAACC,yBAAyB,EAAC;IAAI,IAAE3B,WAAkB,CAC/J,CAAC;EACvB;EAEAL,mBAAmBA,CAAA,EAAG;IACpB,IAAI,CAACD,WAAW,CAAC;MACfnB,KAAK,EAAE;QACLqD,YAAY,EAAG,CAAC,IAAI,CAAClD,KAAK,CAACQ,SAAS,IAAI,EAAS,EAC9C2C,MAAM,CAAEpD,IAAS,IAAKA,IAAI,CAACM,QAAQ,CAAC,CACpC+C,GAAG,CAAErD,IAAS,IAAKA,IAAI,CAACwB,UAAU,IAAIxB,IAAI,CAACyB,YAAY,CAAC,IAAK;MAClE;IACF,CAAuB,CAAC;EAC1B;EAEA6B,eAAeA,CAACC,KAAU,EAAE;IAC1B,IAAI,CAACtC,WAAW,CAAC;MAAEnB,KAAK,EAAE;QAAEe,SAAS,EAAE0C;MAAM;IAAC,CAAuB,CAAC;IACtE,OAAOC,OAAO,CAACC,OAAO,CAAC,CAAC;EAC1B;EAEAC,WAAWA,CAACC,WAAgB,EAAE;IAC5B,IAAI,CAAC1C,WAAW,CAAC;MAAE2B,QAAQ,EAAEe;IAAW,CAAuB,CAAC;EAClE;EAEAC,aAAaA,CAAA,EAAG;IACd,MAAMC,WAAW,GAAG,IAAI,CAAC5D,KAAK,CAAC4D,WAAW;IAC1C,oBACEvF,KAAA,CAAAwD,aAAA,CAACtD,IAAI,QACFqF,WAAW,IAAIA,WAAW,CAACC,MAAM,GAC9BD,WAAW,CAACR,GAAG,CAAC,CAACU,QAAa,EAAE1C,KAAU,KAAK;MAC/C,oBACE/C,KAAA,CAAAwD,aAAA,CAACtD,IAAI;QAACmC,GAAG,EAAEoD,QAAQ,CAACpD;MAAI,gBACtBrC,KAAA,CAAAwD,aAAA,CAACvD,IAAI;QAAC0D,KAAK,EAAE,IAAI,CAACC,MAAM,CAAC8B;MAAiB,GAAED,QAAQ,CAACpD,GAAU,CAAC,EAC/D,IAAI,CAACsD,iBAAiB,CAACF,QAAQ,CAACG,IAAI,CACjC,CAAC;IACX,CAAC,CAAC,GACA,IACA,CAAC;EAEX;EAEAD,iBAAiBA,CAACE,KAAU,EAAE;IAC5B,MAAMrE,KAAK,GAAG,IAAI,CAACG,KAAK,CAACH,KAAK;IAC9B,MAAMsE,WAAW,GAAGtE,KAAK,CAACuE,WAAW,CAACC,EAAE,IAAI,CAAC;IAC7C,MAAMhD,QAAQ,GAAGiD,IAAI,CAACC,KAAK,CAAC,GAAG,GAAEJ,WAAW,CAAC,GAAG,GAAqB;IACrE,oBAAO9F,KAAA,CAAAwD,aAAA,CAACtD,IAAI,EAAAuD,QAAA;MAACE,KAAK,EAAImC,WAAW,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG;QAACK,QAAQ,EAAE,MAAM;QAAEC,aAAa,EAAE;MAAK;IAAE,GAAKpF,qBAAqB,CAACD,uBAAuB,CAACsF,WAAW,EAAE7E,KAAK,CAAC,GAC3JqE,KAAK,IAAIA,KAAK,CAACL,MAAM,GAClBK,KAAK,CAACd,GAAG,CAAC,CAACrD,IAAS,EAAEqB,KAAU,KAAK,IAAI,CAACD,WAAW,CAACpB,IAAI,EAAEqB,KAAK,EAAEC,QAAQ,CAAC,CAAC,GAC7E,IACA,CAAC;EACT;EAEOsD,cAAcA,CAAC9E,KAAyB,EAAmB;IAAA,IAAA+E,IAAA;IAChE,MAAMT,WAAW,GAAGtE,KAAK,CAACuE,WAAW,CAACC,EAAE,IAAI,CAAC;IAC7C,MAAMhD,QAAQ,GAAGiD,IAAI,CAACC,KAAK,CAAC,GAAG,GAAEJ,WAAW,CAAC,GAAG,GAAqB;IAErE,OAAO,CAAC,GAAG7E,uBAAuB,EAAAsF,IAAA,GAAC/E,KAAK,CAACgF,qBAAqB,cAAAD,IAAA,cAAAA,IAAA,GAAc,CAAC,CAAC,CAAC,CAACxB,GAAG,CAAC0B,CAAC,IAAI;MACvF,oBAAOzG,KAAA,CAAAwD,aAAA,CAACtD,IAAI;QAACyD,KAAK,EAAE,CAAC,IAAI,CAACC,MAAM,CAAClC,IAAI,EAAE;UAACoC,KAAK,EAAEd;QAAQ,CAAC;MAAE,gBACxDhD,KAAA,CAAAwD,aAAA,CAAC1C,MAAM;QAAC8C,MAAM,EAAE,IAAI,CAACA,MAAM,CAACK;MAAU,CAAC,CAAC,eACxCjE,KAAA,CAAAwD,aAAA,CAACtC,OAAO;QAAC0C,MAAM,EAAE;UAAE8C,IAAI,EAAE,IAAI,CAAC9C,MAAM,CAACc;QAAK;MAAE,CAAC,CACzC,CAAC;IACT,CAAC,CAAC;EACJ;EAEAiC,YAAYA,CAACnF,KAAyB,EAAE;IACtC,MAAMqE,KAAK,GAAG,IAAI,CAAClE,KAAK,CAACQ,SAAS;IAClC,oBACEnC,KAAA,CAAAwD,aAAA,CAACnD,UAAU;MAACsD,KAAK,EAAE,IAAI,CAACC,MAAM,CAAC8C,IAAK;MAACE,QAAQ,EAAGC,KAAK,IAAK,IAAI,CAACC,YAAY,CAACD,KAAK;IAAE,gBACjF7G,KAAA,CAAAwD,aAAA,CAACnD,UAAU;MAAC0G,UAAU,EAAE,IAAK;MAC3BpD,KAAK,EAAE,IAAI,CAACqD,KAAK,IAAI5G,QAAQ,CAAC6G,EAAE,IAAI,SAAS,GAAG;QAAEC,SAAS,EAAE,CAAC;UAAEC,MAAM,EAAE,CAAC;QAAE,CAAC;MAAE,CAAC,GAAG,CAAC,CAAE;MACrFC,qBAAqB,EAAE,IAAI,CAACJ,KAAK,IAAI5G,QAAQ,CAAC6G,EAAE,IAAI,SAAS,GAAG;QAAEC,SAAS,EAAE,CAAC;UAAEC,MAAM,EAAE,CAAC;QAAE,CAAC;MAAE,CAAC,GAAG,CAAC;IAAE,GAEpG3F,KAAK,CAAC6F,OAAO,IAAI,IAAI,CAAC/B,aAAa,CAAC,CAAC,EACrC,CAAC9D,KAAK,CAAC6F,OAAO,IAAI,IAAI,CAAC1B,iBAAiB,CAACE,KAAK,CACrC,CACF,CAAC;EAEjB;AACF","ignoreList":[]}
|
@@ -11,7 +11,6 @@ import WmSearch from '@wavemaker/app-rn-runtime/components/basic/search/search.c
|
|
11
11
|
import { BaseDatasetComponent, BaseDatasetState } from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';
|
12
12
|
import WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';
|
13
13
|
import WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';
|
14
|
-
import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
|
15
14
|
import WmLabel from '../../basic/label/label.component';
|
16
15
|
export class WmChipsState extends BaseDatasetState {
|
17
16
|
constructor(...args) {
|
@@ -190,10 +189,14 @@ export default class WmChips extends BaseDatasetComponent {
|
|
190
189
|
}
|
191
190
|
renderChip(item, index) {
|
192
191
|
const isSelected = this.isDefaultView() ? item.selected : true;
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
192
|
+
const accessibilityProps = {
|
193
|
+
accessibilityLabel: item.displayexp || item.displayfield,
|
194
|
+
accessibilityState: {
|
195
|
+
selected: isSelected
|
196
|
+
},
|
197
|
+
accessibilityRole: 'checkbox'
|
198
|
+
};
|
199
|
+
return /*#__PURE__*/React.createElement(TouchableOpacity, _extends({}, this.getTestPropsForAction('chip' + index), accessibilityProps, {
|
197
200
|
style: [this.styles.chip, isSelected ? this.styles.activeChip : null],
|
198
201
|
key: 'chipitem_' + index,
|
199
202
|
onPress: () => {
|
@@ -221,12 +224,14 @@ export default class WmChips extends BaseDatasetComponent {
|
|
221
224
|
icon: {
|
222
225
|
color: isSelected ? this.styles.activeChipLabel.color : null
|
223
226
|
}
|
224
|
-
})
|
227
|
+
}),
|
228
|
+
accessible: false
|
225
229
|
}) : null, this._showSkeleton ? null : /*#__PURE__*/React.createElement(WmPicture, {
|
226
230
|
id: this.getTestId('chip' + index + 'picture'),
|
227
231
|
styles: this.styles.imageStyles,
|
228
232
|
picturesource: item.imgSrc,
|
229
|
-
shape: "circle"
|
233
|
+
shape: "circle",
|
234
|
+
accessible: false
|
230
235
|
}), this._showSkeleton ? /*#__PURE__*/React.createElement(WmLabel, {
|
231
236
|
styles: {
|
232
237
|
root: {
|
@@ -240,7 +245,9 @@ export default class WmChips extends BaseDatasetComponent {
|
|
240
245
|
iconclass: 'wi wi-clear',
|
241
246
|
iconsize: 16,
|
242
247
|
styles: this.styles.clearIcon,
|
243
|
-
onTap: () => this.removeItem(item, index)
|
248
|
+
onTap: () => this.removeItem(item, index),
|
249
|
+
accessibilitylabel: "clear",
|
250
|
+
accessibilityrole: "button"
|
244
251
|
}) : null);
|
245
252
|
}
|
246
253
|
updateDefaultQueryModel() {
|
@@ -275,12 +282,18 @@ export default class WmChips extends BaseDatasetComponent {
|
|
275
282
|
}
|
276
283
|
renderWidget(props) {
|
277
284
|
const chips = this.state.chipsList;
|
285
|
+
const accessibilityProps = {
|
286
|
+
accessible: true,
|
287
|
+
accessibilityLabel: props.accessibilitylabel || 'Choose tags',
|
288
|
+
accessibilityHint: props.hint,
|
289
|
+
accessibilityRole: props.accessibilityrole
|
290
|
+
};
|
278
291
|
return /*#__PURE__*/React.createElement(View, {
|
279
292
|
style: this.styles.root,
|
280
293
|
onLayout: event => this.handleLayout(event)
|
281
|
-
}, /*#__PURE__*/React.createElement(View, {
|
294
|
+
}, /*#__PURE__*/React.createElement(View, _extends({
|
282
295
|
style: this.styles.chipsWrapper
|
283
|
-
}, this.isDefaultView() ? this.state.dataItems.map((item, index) => this.renderChip(item, index)) : null, props.searchable || !this.isDefaultView() ? /*#__PURE__*/React.createElement(View, {
|
296
|
+
}, accessibilityProps), this.isDefaultView() ? this.state.dataItems.map((item, index) => this.renderChip(item, index)) : null, props.searchable || !this.isDefaultView() ? /*#__PURE__*/React.createElement(View, {
|
284
297
|
style: [this.styles.searchContainer, {
|
285
298
|
flexDirection: props.inputposition === 'first' ? 'column' : 'column-reverse'
|
286
299
|
}]
|
@@ -310,12 +323,12 @@ export default class WmChips extends BaseDatasetComponent {
|
|
310
323
|
showSearchIcon: false,
|
311
324
|
showclear: false,
|
312
325
|
type: props.minchars === 0 ? 'autocomplete' : 'search'
|
313
|
-
}), /*#__PURE__*/React.createElement(View, {
|
326
|
+
}), /*#__PURE__*/React.createElement(View, _extends({
|
314
327
|
style: {
|
315
328
|
flexDirection: 'row',
|
316
329
|
flexWrap: 'wrap'
|
317
330
|
}
|
318
|
-
}, chips && chips.length ? chips.map((item, index) => this.renderChip(item, index)) : null)) : null));
|
331
|
+
}, accessibilityProps), chips && chips.length ? chips.map((item, index) => this.renderChip(item, index)) : null)) : null));
|
319
332
|
}
|
320
333
|
}
|
321
334
|
//# sourceMappingURL=chips.component.js.map
|