@wavemaker/app-rn-runtime 11.11.7-rc.6211 → 11.12.0-next.28182
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
@@ -1,8 +1,9 @@
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
1
2
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
2
3
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
3
4
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
4
5
|
import React from 'react';
|
5
|
-
import { Modal, Text, TouchableWithoutFeedback, View } from 'react-native';
|
6
|
+
import { Modal, Platform, Text, TouchableWithoutFeedback, View } from 'react-native';
|
6
7
|
import WmWheelDatePicker from '../../wheel-date-picker.component';
|
7
8
|
import WmButton from '../../../../basic/button/button.component';
|
8
9
|
import { DEFAULT_CLASS } from '../styles/datetime-picker-modal.styles';
|
@@ -42,10 +43,14 @@ export class WmDatePickerModal extends BaseComponent {
|
|
42
43
|
visible: isVisible,
|
43
44
|
onRequestClose: onClose,
|
44
45
|
onDismiss: onClose
|
45
|
-
}, /*#__PURE__*/React.createElement(View, {
|
46
|
+
}, /*#__PURE__*/React.createElement(View, _extends({
|
46
47
|
style: styles.root,
|
47
48
|
onLayout: event => this.handleLayout(event)
|
48
|
-
|
49
|
+
// prevent swipe gesture from bubbling to parent (fixes scroll vs. bottom sheet swipe conflict)
|
50
|
+
}, Platform.OS === 'ios' ? {
|
51
|
+
onStartShouldSetResponder: () => true,
|
52
|
+
onResponderTerminationRequest: () => false
|
53
|
+
} : {}), /*#__PURE__*/React.createElement(TouchableWithoutFeedback, {
|
49
54
|
style: styles.flex1,
|
50
55
|
onPress: onClose
|
51
56
|
}, /*#__PURE__*/React.createElement(View, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Modal","Text","TouchableWithoutFeedback","View","WmWheelDatePicker","WmButton","DEFAULT_CLASS","BaseComponent","BaseComponentState","WmDatePickerModalProps","WmDatePickerModalState","constructor","args","_defineProperty","Date","WmDatePickerModal","props","renderWidget","isVisible","minDate","maxDate","onClose","onCancel","onSelect","dateheadertitle","dateconfirmationtitle","datecanceltitle","selectedDate","state","styles","createElement","animationType","transparent","visible","onRequestClose","onDismiss","style","root","onLayout","event","handleLayout","flex1","onPress","container","header","onDateChange","date","setState","buttonWrapper","cancelBtn","caption","onTap","selectBtn"],"sources":["date-picker-modal.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Modal, Text, TouchableWithoutFeedback, View } from 'react-native';\nimport WmWheelDatePicker from '../../wheel-date-picker.component';\nimport WmButton from '../../../../basic/button/button.component';\nimport {\n DEFAULT_CLASS,\n WmDateTimePickerModalStyles,\n} from '../styles/datetime-picker-modal.styles';\nimport {\n BaseComponent,\n BaseComponentState,\n} from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmDatePickerModalProps from './date-picker-modal.props';\n\nexport class WmDatePickerModalState extends BaseComponentState<WmDatePickerModalProps> {\n selectedDate: Date = new Date();\n}\n\nexport class WmDatePickerModal extends BaseComponent<\n WmDatePickerModalProps,\n WmDatePickerModalState,\n WmDateTimePickerModalStyles\n> {\n constructor(props: WmDatePickerModalProps) {\n super(props, DEFAULT_CLASS, new WmDatePickerModalProps());\n }\n\n renderWidget() {\n const { isVisible, minDate, maxDate, onClose, onCancel, onSelect, dateheadertitle, dateconfirmationtitle, datecanceltitle } = this.props;\n const { selectedDate } = this.state;\n const { styles } = this;\n\n return (\n <Modal\n animationType=\"fade\"\n transparent={true}\n visible={isVisible}\n onRequestClose={onClose}\n onDismiss={onClose}\n >\n <View style={styles.root} onLayout={(event) => this.handleLayout(event)}>\n <TouchableWithoutFeedback style={styles.flex1} onPress={onClose}>\n <View style={styles.flex1} />\n </TouchableWithoutFeedback>\n <View style={styles.container}>\n <Text style={styles.header}>{dateheadertitle}</Text>\n <WmWheelDatePicker\n minDate={minDate}\n maxDate={maxDate}\n selectedDate={this.props.selectedDate || selectedDate}\n onDateChange={(date) => {\n this.setState({ selectedDate: date });\n }}\n />\n <View style={styles.buttonWrapper}>\n <WmButton\n styles={styles.cancelBtn}\n caption={datecanceltitle}\n onTap={onCancel}\n />\n <WmButton\n styles={styles.selectBtn}\n caption={dateconfirmationtitle}\n onTap={() => onSelect?.(selectedDate || this.props.selectedDate || new Date())}\n />\n </View>\n </View>\n </View>\n </Modal>\n );\n }\n}\n\nexport default WmDatePickerModal;\n"],"mappings":"
|
1
|
+
{"version":3,"names":["React","Modal","Platform","Text","TouchableWithoutFeedback","View","WmWheelDatePicker","WmButton","DEFAULT_CLASS","BaseComponent","BaseComponentState","WmDatePickerModalProps","WmDatePickerModalState","constructor","args","_defineProperty","Date","WmDatePickerModal","props","renderWidget","isVisible","minDate","maxDate","onClose","onCancel","onSelect","dateheadertitle","dateconfirmationtitle","datecanceltitle","selectedDate","state","styles","createElement","animationType","transparent","visible","onRequestClose","onDismiss","_extends","style","root","onLayout","event","handleLayout","OS","onStartShouldSetResponder","onResponderTerminationRequest","flex1","onPress","container","header","onDateChange","date","setState","buttonWrapper","cancelBtn","caption","onTap","selectBtn"],"sources":["date-picker-modal.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Modal, Platform, Text, TouchableWithoutFeedback, View } from 'react-native';\nimport WmWheelDatePicker from '../../wheel-date-picker.component';\nimport WmButton from '../../../../basic/button/button.component';\nimport {\n DEFAULT_CLASS,\n WmDateTimePickerModalStyles,\n} from '../styles/datetime-picker-modal.styles';\nimport {\n BaseComponent,\n BaseComponentState,\n} from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmDatePickerModalProps from './date-picker-modal.props';\n\nexport class WmDatePickerModalState extends BaseComponentState<WmDatePickerModalProps> {\n selectedDate: Date = new Date();\n}\n\nexport class WmDatePickerModal extends BaseComponent<\n WmDatePickerModalProps,\n WmDatePickerModalState,\n WmDateTimePickerModalStyles\n> {\n constructor(props: WmDatePickerModalProps) {\n super(props, DEFAULT_CLASS, new WmDatePickerModalProps());\n }\n\n renderWidget() {\n const { isVisible, minDate, maxDate, onClose, onCancel, onSelect, dateheadertitle, dateconfirmationtitle, datecanceltitle } = this.props;\n const { selectedDate } = this.state;\n const { styles } = this;\n\n return (\n <Modal\n animationType=\"fade\"\n transparent={true}\n visible={isVisible}\n onRequestClose={onClose}\n onDismiss={onClose}\n >\n <View style={styles.root} onLayout={(event) => this.handleLayout(event)} \n // prevent swipe gesture from bubbling to parent (fixes scroll vs. bottom sheet swipe conflict)\n {...(Platform.OS === 'ios'\n ? {\n onStartShouldSetResponder: () => true,\n onResponderTerminationRequest: () => false,\n }\n : {})}>\n <TouchableWithoutFeedback style={styles.flex1} onPress={onClose}>\n <View style={styles.flex1} />\n </TouchableWithoutFeedback>\n <View style={styles.container}>\n <Text style={styles.header}>{dateheadertitle}</Text>\n <WmWheelDatePicker\n minDate={minDate}\n maxDate={maxDate}\n selectedDate={this.props.selectedDate || selectedDate}\n onDateChange={(date) => {\n this.setState({ selectedDate: date });\n }}\n />\n <View style={styles.buttonWrapper}>\n <WmButton\n styles={styles.cancelBtn}\n caption={datecanceltitle}\n onTap={onCancel}\n />\n <WmButton\n styles={styles.selectBtn}\n caption={dateconfirmationtitle}\n onTap={() => onSelect?.(selectedDate || this.props.selectedDate || new Date())}\n />\n </View>\n </View>\n </View>\n </Modal>\n );\n }\n}\n\nexport default WmDatePickerModal;\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,8 +1,9 @@
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
1
2
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
2
3
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
3
4
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
4
5
|
import React from 'react';
|
5
|
-
import { Modal, Text, TouchableWithoutFeedback, View } from 'react-native';
|
6
|
+
import { Modal, Platform, Text, TouchableWithoutFeedback, View } from 'react-native';
|
6
7
|
import WmWheelTimePicker from '../../wheel-time-picker.component';
|
7
8
|
import WmButton from '../../../../basic/button/button.component';
|
8
9
|
import { DEFAULT_CLASS } from '../styles/datetime-picker-modal.styles';
|
@@ -41,10 +42,14 @@ export class WmTimePickerModal extends BaseComponent {
|
|
41
42
|
visible: isVisible,
|
42
43
|
onRequestClose: onClose,
|
43
44
|
onDismiss: onClose
|
44
|
-
}, /*#__PURE__*/React.createElement(View, {
|
45
|
+
}, /*#__PURE__*/React.createElement(View, _extends({
|
45
46
|
style: styles.root,
|
46
47
|
onLayout: event => this.handleLayout(event)
|
47
|
-
|
48
|
+
// prevent swipe gesture from bubbling to parent (fixes scroll vs. bottom sheet swipe conflict)
|
49
|
+
}, Platform.OS === 'ios' ? {
|
50
|
+
onStartShouldSetResponder: () => true,
|
51
|
+
onResponderTerminationRequest: () => false
|
52
|
+
} : {}), /*#__PURE__*/React.createElement(TouchableWithoutFeedback, {
|
48
53
|
style: styles.flex1,
|
49
54
|
onPress: onClose
|
50
55
|
}, /*#__PURE__*/React.createElement(View, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Modal","Text","TouchableWithoutFeedback","View","WmWheelTimePicker","WmButton","DEFAULT_CLASS","BaseComponent","BaseComponentState","WmTimePickerModalProps","WmTimePickerModalState","constructor","args","_defineProperty","Date","WmTimePickerModal","props","renderWidget","is24Hour","isVisible","onClose","onCancel","onSelect","timeheadertitle","timeconfirmationtitle","timecanceltitle","selectedTime","state","styles","createElement","animationType","transparent","visible","onRequestClose","onDismiss","style","root","onLayout","event","handleLayout","flex1","onPress","container","header","selectedDateTime","onTimeChange","time","setState","buttonWrapper","cancelBtn","caption","onTap","selectBtn","setSeconds"],"sources":["time-picker-modal.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Modal, Text, TouchableWithoutFeedback, View } from 'react-native';\nimport WmWheelTimePicker from '../../wheel-time-picker.component';\nimport WmButton from '../../../../basic/button/button.component';\nimport {\n DEFAULT_CLASS,\n WmDateTimePickerModalStyles,\n} from '../styles/datetime-picker-modal.styles';\nimport {\n BaseComponent,\n BaseComponentState,\n} from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmTimePickerModalProps from './time-picker-modal.props';\n\nexport class WmTimePickerModalState extends BaseComponentState<WmTimePickerModalProps> {\n selectedTime: Date = new Date();\n}\n\nexport class WmTimePickerModal extends BaseComponent<\n WmTimePickerModalProps,\n WmTimePickerModalState,\n WmDateTimePickerModalStyles\n> {\n constructor(props: WmTimePickerModalProps) {\n super(props, DEFAULT_CLASS, new WmTimePickerModalProps());\n }\n\n renderWidget(props: WmTimePickerModalProps) {\n const { is24Hour, isVisible, onClose, onCancel, onSelect, timeheadertitle, timeconfirmationtitle, timecanceltitle } = this.props;\n const { selectedTime } = this.state;\n const { styles } = this;\n\n return (\n <Modal\n animationType=\"fade\"\n transparent={true}\n visible={isVisible}\n onRequestClose={onClose}\n onDismiss={onClose}\n >\n <View style={styles.root} onLayout={(event) => this.handleLayout(event)}>\n <TouchableWithoutFeedback style={styles.flex1} onPress={onClose}>\n <View style={styles.flex1} />\n </TouchableWithoutFeedback>\n <View style={styles.container}>\n <Text style={styles.header}>{timeheadertitle}</Text>\n <WmWheelTimePicker\n selectedTime={this.props.selectedDateTime || selectedTime}\n is24Hour={is24Hour}\n onTimeChange={(time) => {\n this.setState({ selectedTime: time });\n }}\n />\n <View style={styles.buttonWrapper}>\n <WmButton\n styles={styles.cancelBtn}\n caption={timecanceltitle}\n onTap={onCancel}\n />\n <WmButton\n styles={styles.selectBtn}\n caption={timeconfirmationtitle}\n onTap={() => onSelect?.(selectedTime || this.props.selectedDateTime || new Date().setSeconds(0))}\n />\n </View>\n </View>\n </View>\n </Modal>\n );\n }\n}\n\nexport default WmTimePickerModal;\n"],"mappings":"
|
1
|
+
{"version":3,"names":["React","Modal","Platform","Text","TouchableWithoutFeedback","View","WmWheelTimePicker","WmButton","DEFAULT_CLASS","BaseComponent","BaseComponentState","WmTimePickerModalProps","WmTimePickerModalState","constructor","args","_defineProperty","Date","WmTimePickerModal","props","renderWidget","is24Hour","isVisible","onClose","onCancel","onSelect","timeheadertitle","timeconfirmationtitle","timecanceltitle","selectedTime","state","styles","createElement","animationType","transparent","visible","onRequestClose","onDismiss","_extends","style","root","onLayout","event","handleLayout","OS","onStartShouldSetResponder","onResponderTerminationRequest","flex1","onPress","container","header","selectedDateTime","onTimeChange","time","setState","buttonWrapper","cancelBtn","caption","onTap","selectBtn","setSeconds"],"sources":["time-picker-modal.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Modal, Platform, Text, TouchableWithoutFeedback, View } from 'react-native';\nimport WmWheelTimePicker from '../../wheel-time-picker.component';\nimport WmButton from '../../../../basic/button/button.component';\nimport {\n DEFAULT_CLASS,\n WmDateTimePickerModalStyles,\n} from '../styles/datetime-picker-modal.styles';\nimport {\n BaseComponent,\n BaseComponentState,\n} from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmTimePickerModalProps from './time-picker-modal.props';\n\nexport class WmTimePickerModalState extends BaseComponentState<WmTimePickerModalProps> {\n selectedTime: Date = new Date();\n}\n\nexport class WmTimePickerModal extends BaseComponent<\n WmTimePickerModalProps,\n WmTimePickerModalState,\n WmDateTimePickerModalStyles\n> {\n constructor(props: WmTimePickerModalProps) {\n super(props, DEFAULT_CLASS, new WmTimePickerModalProps());\n }\n\n renderWidget(props: WmTimePickerModalProps) {\n const { is24Hour, isVisible, onClose, onCancel, onSelect, timeheadertitle, timeconfirmationtitle, timecanceltitle } = this.props;\n const { selectedTime } = this.state;\n const { styles } = this;\n\n return (\n <Modal\n animationType=\"fade\"\n transparent={true}\n visible={isVisible}\n onRequestClose={onClose}\n onDismiss={onClose}\n >\n <View style={styles.root} onLayout={(event) => this.handleLayout(event)} \n // prevent swipe gesture from bubbling to parent (fixes scroll vs. bottom sheet swipe conflict)\n {...(Platform.OS === 'ios'\n ? {\n onStartShouldSetResponder: () => true,\n onResponderTerminationRequest: () => false,\n }\n : {})}>\n <TouchableWithoutFeedback style={styles.flex1} onPress={onClose}>\n <View style={styles.flex1} />\n </TouchableWithoutFeedback>\n <View style={styles.container}>\n <Text style={styles.header}>{timeheadertitle}</Text>\n <WmWheelTimePicker\n selectedTime={this.props.selectedDateTime || selectedTime}\n is24Hour={is24Hour}\n onTimeChange={(time) => {\n this.setState({ selectedTime: time });\n }}\n />\n <View style={styles.buttonWrapper}>\n <WmButton\n styles={styles.cancelBtn}\n caption={timecanceltitle}\n onTap={onCancel}\n />\n <WmButton\n styles={styles.selectBtn}\n caption={timeconfirmationtitle}\n onTap={() => onSelect?.(selectedTime || this.props.selectedDateTime || new Date().setSeconds(0))}\n />\n </View>\n </View>\n </View>\n </Modal>\n );\n }\n}\n\nexport default WmTimePickerModal;\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,14 +1,15 @@
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
1
2
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
2
3
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
3
4
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
4
5
|
import React from 'react';
|
5
6
|
import { Platform, View } from 'react-native';
|
6
|
-
import * as DocumentPicker from 'expo-document-picker';
|
7
7
|
import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
|
8
8
|
import WmFileuploadProps from './fileupload.props';
|
9
9
|
import { DEFAULT_CLASS } from './fileupload.styles';
|
10
10
|
import WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';
|
11
11
|
import { getMimeType } from '@wavemaker/app-rn-runtime/core/utils';
|
12
|
+
import { FileUploadPluginConsumer } from '@wavemaker/app-rn-runtime/core/device/fileupload-service';
|
12
13
|
export class WmFileuploadState extends BaseComponentState {
|
13
14
|
constructor(...args) {
|
14
15
|
super(...args);
|
@@ -23,10 +24,11 @@ const namedParameters = {
|
|
23
24
|
export default class WmFileupload extends BaseComponent {
|
24
25
|
constructor(props) {
|
25
26
|
super(props, DEFAULT_CLASS, new WmFileuploadProps());
|
27
|
+
_defineProperty(this, "fileUploadService", null);
|
26
28
|
}
|
27
29
|
onTap(props) {
|
28
30
|
namedParameters.type = getMimeType(props.contenttype);
|
29
|
-
|
31
|
+
this.fileUploadService.getDocumentAsync(namedParameters).then(response => {
|
30
32
|
let selectedFile;
|
31
33
|
if (Platform.OS !== 'web') {
|
32
34
|
selectedFile = response.assets[0];
|
@@ -43,19 +45,26 @@ export default class WmFileupload extends BaseComponent {
|
|
43
45
|
});
|
44
46
|
}
|
45
47
|
renderWidget(props) {
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
}, this._background, /*#__PURE__*/React.createElement(WmButton, {
|
50
|
-
accessibilitylabel: props.accessibilitylabel || props.caption,
|
48
|
+
const accessibilityProps = {
|
49
|
+
accessible: props.accessible,
|
50
|
+
accessibilitylabel: props.accessibilitylabel,
|
51
51
|
hint: props.hint,
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
52
|
+
accessibilityrole: props.accessibilityrole
|
53
|
+
};
|
54
|
+
return /*#__PURE__*/React.createElement(FileUploadPluginConsumer, null, fileUploadPluginService => {
|
55
|
+
this.fileUploadService = fileUploadPluginService;
|
56
|
+
return /*#__PURE__*/React.createElement(View, {
|
57
|
+
style: this.styles.root,
|
58
|
+
onLayout: event => this.handleLayout(event)
|
59
|
+
}, this._background, /*#__PURE__*/React.createElement(WmButton, _extends({
|
60
|
+
id: this.getTestId(),
|
61
|
+
iconclass: props.iconclass,
|
62
|
+
caption: props.caption,
|
63
|
+
styles: this.styles.button,
|
64
|
+
iconsize: props.iconsize,
|
65
|
+
onTap: () => this.onTap.bind(this)(props)
|
66
|
+
}, accessibilityProps)));
|
67
|
+
});
|
59
68
|
}
|
60
69
|
}
|
61
70
|
//# sourceMappingURL=fileupload.component.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Platform","View","
|
1
|
+
{"version":3,"names":["React","Platform","View","BaseComponent","BaseComponentState","WmFileuploadProps","DEFAULT_CLASS","WmButton","getMimeType","FileUploadPluginConsumer","WmFileuploadState","constructor","args","_defineProperty","namedParameters","copyToCacheDirectory","multiple","type","WmFileupload","props","onTap","contenttype","fileUploadService","getDocumentAsync","then","response","selectedFile","OS","assets","mimeType","file","invokeEventCallback","proxy","updateState","selectedFiles","bind","renderWidget","accessibilityProps","accessible","accessibilitylabel","hint","accessibilityrole","createElement","fileUploadPluginService","style","styles","root","onLayout","event","handleLayout","_background","_extends","id","getTestId","iconclass","caption","button","iconsize"],"sources":["fileupload.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform, View } from 'react-native';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmFileuploadProps from './fileupload.props';\nimport { DEFAULT_CLASS, WmFileuploadStyles } from './fileupload.styles';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport { getMimeType } from '@wavemaker/app-rn-runtime/core/utils';\nimport { FileUploadPluginConsumer, FileUploadPluginService } from '@wavemaker/app-rn-runtime/core/device/fileupload-service';\n\nexport interface SelectFileOutput {\n mimeType: string;\n name: string;\n size: number;\n type: 'cancel' | 'success';\n uri: string;\n}\n\nexport class WmFileuploadState extends BaseComponentState<WmFileuploadProps> {\n selectedFiles: any;\n}\n\ntype NamedParametersType = {\n copyToCacheDirectory: boolean,\n multiple: boolean,\n type: string | string[]\n};\n\nconst namedParameters: NamedParametersType = {\n copyToCacheDirectory: false,\n multiple: false,\n type: '*/*'\n};\n\nexport default class WmFileupload extends BaseComponent<WmFileuploadProps, WmFileuploadState, WmFileuploadStyles> {\n public fileUploadService: any = null as any;\n\n constructor(props: WmFileuploadProps) {\n super(props, DEFAULT_CLASS, new WmFileuploadProps());\n }\n\n onTap(props: WmFileuploadProps) {\n namedParameters.type = getMimeType(props.contenttype);\n this.fileUploadService.getDocumentAsync(namedParameters).then((response: any) => {\n let selectedFile;\n if (Platform.OS !== 'web') {\n selectedFile = response.assets[0];\n selectedFile.type = selectedFile.mimeType;\n } else {\n selectedFile = [response.assets[0].file];\n }\n this.invokeEventCallback('onBeforeselect', [null, this.proxy, selectedFile]);\n\n this.updateState({\n props: {\n selectedFiles: selectedFile\n }\n } as WmFileuploadState, this.invokeEventCallback.bind(this, 'onSelect', [null, this.proxy, selectedFile]));\n });\n }\n\n renderWidget(props: WmFileuploadProps) {\n const accessibilityProps = {\n accessible: props.accessible,\n accessibilitylabel: props.accessibilitylabel,\n hint: props.hint,\n accessibilityrole: props.accessibilityrole,\n };\n return (\n <FileUploadPluginConsumer>\n {(fileUploadPluginService: FileUploadPluginService) => {\n this.fileUploadService = fileUploadPluginService;\n return (\n <View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n {this._background}\n <WmButton id={this.getTestId()} iconclass={props.iconclass} caption={props.caption} styles={this.styles.button} iconsize={props.iconsize} onTap={() => this.onTap.bind(this)(props)} {...accessibilityProps}></WmButton>\n </View>\n )}}\n </FileUploadPluginConsumer>\n )\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -10,7 +10,9 @@ export default class WmFileuploadProps extends BaseProps {
|
|
10
10
|
_defineProperty(this, "caption", 'Upload');
|
11
11
|
_defineProperty(this, "selectedFiles", void 0);
|
12
12
|
_defineProperty(this, "contenttype", void 0);
|
13
|
+
_defineProperty(this, "accessible", true);
|
13
14
|
_defineProperty(this, "accessibilitylabel", undefined);
|
15
|
+
_defineProperty(this, "accessibilityrole", 'button');
|
14
16
|
_defineProperty(this, "hint", undefined);
|
15
17
|
}
|
16
18
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["BaseProps","WmFileuploadProps","constructor","args","_defineProperty","undefined"],"sources":["fileupload.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport {AccessibilityRole} from 'react-native';\n\nexport default class WmFileuploadProps extends BaseProps {\n iconclass: string = 'wm-sl-l sl-cloud-upload';\n iconsize: number = 16;\n caption: string = 'Upload';\n selectedFiles?: any;\n contenttype?: string;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAGzE,eAAe,MAAMC,iBAAiB,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,oBACnC,yBAAyB;IAAAA,eAAA,mBAC1B,EAAE;IAAAA,eAAA,kBACH,QAAQ;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,
|
1
|
+
{"version":3,"names":["BaseProps","WmFileuploadProps","constructor","args","_defineProperty","undefined"],"sources":["fileupload.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport {AccessibilityRole} from 'react-native';\n\nexport default class WmFileuploadProps extends BaseProps {\n iconclass: string = 'wm-sl-l sl-cloud-upload';\n iconsize: number = 16;\n caption: string = 'Upload';\n selectedFiles?: any;\n contenttype?: string;\n accessible?: boolean = true;\n accessibilitylabel?: string = undefined;\n accessibilityrole?: AccessibilityRole = 'button';\n hint?: string = undefined;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAGzE,eAAe,MAAMC,iBAAiB,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,oBACnC,yBAAyB;IAAAA,eAAA,mBAC1B,EAAE;IAAAA,eAAA,kBACH,QAAQ;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,qBAGH,IAAI;IAAAA,eAAA,6BACGC,SAAS;IAAAD,eAAA,4BACC,QAAQ;IAAAA,eAAA,eAChCC,SAAS;EAAA;AAC3B","ignoreList":[]}
|
@@ -9,6 +9,7 @@ import WmRadiosetProps from './radioset.props';
|
|
9
9
|
import { DEFAULT_CLASS } from './radioset.styles';
|
10
10
|
import { BaseDatasetComponent, BaseDatasetState } from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';
|
11
11
|
import WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';
|
12
|
+
import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
|
12
13
|
import { find, isEqual } from 'lodash-es';
|
13
14
|
import { isEmpty } from 'lodash';
|
14
15
|
import WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';
|
@@ -50,15 +51,24 @@ export default class WmRadioset extends BaseDatasetComponent {
|
|
50
51
|
const itemStyle = colWidth ? [{
|
51
52
|
width: colWidth
|
52
53
|
}, this.styles.item] : [this.styles.noscrollitem];
|
54
|
+
const accessibilityProps = {
|
55
|
+
accessibilityLabel: displayText,
|
56
|
+
accessibilityRole: 'radio',
|
57
|
+
accessibilityState: {
|
58
|
+
disabled: this.props.readonly || this.props.disabled,
|
59
|
+
selected: item.selected
|
60
|
+
}
|
61
|
+
};
|
53
62
|
return /*#__PURE__*/React.createElement(TouchableOpacity, _extends({
|
54
63
|
style: [itemStyle, item.selected ? this.styles.selectedItem : null],
|
55
64
|
onPress: this.onPress.bind(this, item),
|
56
65
|
key: item.key
|
57
|
-
}, this.getTestPropsForAction("radio" + index)), /*#__PURE__*/React.createElement(WmIcon, {
|
66
|
+
}, this.getTestPropsForAction("radio" + index), accessibilityProps), /*#__PURE__*/React.createElement(WmIcon, {
|
58
67
|
id: this.getTestId('radiobutton' + index),
|
59
68
|
iconclass: "wi wi-fiber-manual-record",
|
60
69
|
styles: item.selected ? this.styles.checkedRadio : this.styles.uncheckedRadio,
|
61
|
-
disabled: this.state.props.readonly || this.state.props.disabled
|
70
|
+
disabled: this.state.props.readonly || this.state.props.disabled,
|
71
|
+
accessible: false
|
62
72
|
}), !isEmpty(this.state.template) && this.props.renderitempartial ? this.props.renderitempartial(item.dataObject, index, this.state.template) : /*#__PURE__*/React.createElement(Text, _extends({
|
63
73
|
style: [this.styles.radioLabel, item.selected ? this.styles.selectedLabel : null]
|
64
74
|
}, this.getTestPropsForLabel('caption' + index)), displayText));
|
@@ -113,7 +123,7 @@ export default class WmRadioset extends BaseDatasetComponent {
|
|
113
123
|
return props.radiosetscroll ? /*#__PURE__*/React.createElement(ScrollView, {
|
114
124
|
style: this.styles.root,
|
115
125
|
onLayout: event => this.handleLayout(event)
|
116
|
-
}, /*#__PURE__*/React.createElement(ScrollView, {
|
126
|
+
}, /*#__PURE__*/React.createElement(ScrollView, _extends({
|
117
127
|
horizontal: true,
|
118
128
|
style: this.isRTL && Platform.OS == 'android' ? {
|
119
129
|
transform: [{
|
@@ -125,10 +135,10 @@ export default class WmRadioset extends BaseDatasetComponent {
|
|
125
135
|
scaleX: -1
|
126
136
|
}]
|
127
137
|
} : {}
|
128
|
-
}, props.groupby && this.renderGroupby(), !props.groupby && this.renderRadioButtons(items))) : /*#__PURE__*/React.createElement(View, {
|
138
|
+
}, getAccessibilityProps(AccessibilityWidgetType.RADIOSET, this.props)), props.groupby && this.renderGroupby(), !props.groupby && this.renderRadioButtons(items))) : /*#__PURE__*/React.createElement(View, _extends({
|
129
139
|
style: [this.styles.root],
|
130
140
|
onLayout: event => this.handleLayout(event)
|
131
|
-
}, props.groupby && this.renderGroupby(), !props.groupby && this.renderRadioButtons(items));
|
141
|
+
}, getAccessibilityProps(AccessibilityWidgetType.RADIOSET, this.props)), props.groupby && this.renderGroupby(), !props.groupby && this.renderRadioButtons(items));
|
132
142
|
}
|
133
143
|
}
|
134
144
|
//# sourceMappingURL=radioset.component.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","View","Text","TouchableOpacity","Platform","ScrollView","WmRadiosetProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","find","isEqual","isEmpty","WmLabel","getNumberOfEmptyObjects","WmRadiosetState","constructor","args","_defineProperty","WmRadioset","props","onPress","item","state","disabled","readonly","invokeEventCallback","proxy","selected","selectedValue","selectedItem","dataItems","d","key","oldValue","datavalue","datafield","validate","updateState","computeDisplayValue","undefined","renderChild","index","colWidth","displayText","displayexp","displayfield","value","getItemKey","itemStyle","width","styles","noscrollitem","createElement","_extends","style","bind","getTestPropsForAction","id","getTestId","iconclass","checkedRadio","uncheckedRadio","template","renderitempartial","dataObject","radioLabel","selectedLabel","getTestPropsForLabel","setTemplate","partialName","renderGroupby","groupedData","accessibilityRole","length","map","groupObj","groupHeaderTitle","renderRadioButtons","data","items","noOfColumns","itemsperrow","xs","Math","round","radiosetscroll","group","renderSkeleton","_ref","numberofskeletonitems","_","skeleton","renderWidget","root","onLayout","event","handleLayout","horizontal","isRTL","OS","transform","scaleX","contentContainerStyle","groupby"],"sources":["radioset.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, DimensionValue, TouchableOpacity, Platform } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\n\nimport WmRadiosetProps from './radioset.props';\nimport { DEFAULT_CLASS, WmRadiosetStyles } from './radioset.styles';\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmSkeleton, { createSkeleton } from '../../basic/skeleton/skeleton.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport { find, forEach, isEqual } from 'lodash-es';\nimport { isEmpty } from 'lodash';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport { getNumberOfEmptyObjects } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmRadiosetState extends BaseDatasetState<WmRadiosetProps> {\n template: string = '';\n}\n\nexport default class WmRadioset extends BaseDatasetComponent<WmRadiosetProps, WmRadiosetState, WmRadiosetStyles> {\n\n constructor(props: WmRadiosetProps) {\n super(props, DEFAULT_CLASS, new WmRadiosetProps());\n }\n\n onPress(item: any) {\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n this.invokeEventCallback('onTap', [null, this.proxy]);\n item.selected = true;\n let selectedValue: any = \"\";\n const selectedItem = find(this.state.dataItems, d => isEqual(d.key, item.key));\n const oldValue = this.state.props.datavalue;\n selectedItem.selected = item.selected;\n selectedValue = selectedItem.selected ? selectedItem.datafield : null;\n this.validate(selectedValue);\n this.updateState({ props: { datavalue: selectedValue }} as WmRadiosetState,() => {\n this.computeDisplayValue();\n this.invokeEventCallback('onChange', [ undefined, this.proxy, selectedValue, oldValue ]);\n });\n }\n\n renderChild(item: any, index: any, colWidth?: DimensionValue) {\n const displayText = item.displayexp || item.displayfield;\n const value = this.state.props.datafield === 'All Fields' ? this.getItemKey(item.datafield) : item.datafield;\n const itemStyle = colWidth ? [{ width: colWidth }, this.styles.item] \n : [this.styles.noscrollitem];\n return (\n <TouchableOpacity style={[\n itemStyle,\n item.selected ? this.styles.selectedItem : null]}\n onPress={this.onPress.bind(this, item)} key={item.key} {...this.getTestPropsForAction(\"radio\"+index)}>\n <WmIcon id={this.getTestId('radiobutton' + index)} iconclass=\"wi wi-fiber-manual-record\" styles={item.selected ? this.styles.checkedRadio : this.styles.uncheckedRadio} disabled={this.state.props.readonly || this.state.props.disabled}></WmIcon>\n {!isEmpty(this.state.template) && this.props.renderitempartial ?\n this.props.renderitempartial(item.dataObject, index, this.state.template) : <Text style={[this.styles.radioLabel, item.selected ? this.styles.selectedLabel : null]} {...this.getTestPropsForLabel('caption'+index)}>{displayText}</Text>}\n </TouchableOpacity>)\n }\n\n setTemplate(partialName: any) {\n this.updateState({ template: partialName } as WmRadiosetState);\n }\n\n renderGroupby() {\n const groupedData = this.state.groupedData;\n return (\n <View accessibilityRole='radiogroup'>\n {groupedData && groupedData.length\n ? groupedData.map((groupObj: any, index: any) => {\n return(\n <View key={groupObj.key}>\n <Text style={this.styles.groupHeaderTitle}>{groupObj.key}</Text>\n {this.renderRadioButtons(groupObj.data)}\n </View>)\n })\n : null}\n </View>\n );\n }\n\n renderRadioButtons(items: any) {\n const props = this.state.props;\n const noOfColumns = props.itemsperrow.xs || 1;\n const colWidth = Math.round(100/ noOfColumns) + '%' as DimensionValue;\n return props.radiosetscroll ? (\n <View style={noOfColumns === 1 ? {} : this.styles.group}>\n {items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index, colWidth)): null}\n </View>\n ) : (\n <View style={[this.styles.group]}>\n {items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index)): null}\n </View>\n )\n }\n\n public renderSkeleton(props: WmRadiosetProps): React.ReactNode {\n const noOfColumns = props.itemsperrow.xs || 1;\n const colWidth = Math.round(100/ noOfColumns) + '%' as DimensionValue;\n\n return [...getNumberOfEmptyObjects(props.numberofskeletonitems as number ?? 5)].map(_ => {\n return <View style={[this.styles.item, {width: colWidth}]}>\n <WmIcon styles={this.styles.checkedRadio}/>\n <WmLabel styles={{ skeleton: this.styles.skeleton }}/>\n </View>\n })\n\n }\n\n renderWidget(props: WmRadiosetProps) {\n const items = this.state.dataItems;\n return props.radiosetscroll ? (\n <ScrollView style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\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.renderRadioButtons(items)}\n </ScrollView>\n </ScrollView>\n ) : (\n <View style={[this.styles.root]} onLayout={(event) => this.handleLayout(event)}>\n {props.groupby && this.renderGroupby()}\n {!props.groupby && this.renderRadioButtons(items)}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","View","Text","TouchableOpacity","Platform","ScrollView","WmRadiosetProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","AccessibilityWidgetType","getAccessibilityProps","find","isEqual","isEmpty","WmLabel","getNumberOfEmptyObjects","WmRadiosetState","constructor","args","_defineProperty","WmRadioset","props","onPress","item","state","disabled","readonly","invokeEventCallback","proxy","selected","selectedValue","selectedItem","dataItems","d","key","oldValue","datavalue","datafield","validate","updateState","computeDisplayValue","undefined","renderChild","index","colWidth","displayText","displayexp","displayfield","value","getItemKey","itemStyle","width","styles","noscrollitem","accessibilityProps","accessibilityLabel","accessibilityRole","accessibilityState","createElement","_extends","style","bind","getTestPropsForAction","id","getTestId","iconclass","checkedRadio","uncheckedRadio","accessible","template","renderitempartial","dataObject","radioLabel","selectedLabel","getTestPropsForLabel","setTemplate","partialName","renderGroupby","groupedData","length","map","groupObj","groupHeaderTitle","renderRadioButtons","data","items","noOfColumns","itemsperrow","xs","Math","round","radiosetscroll","group","renderSkeleton","_ref","numberofskeletonitems","_","skeleton","renderWidget","root","onLayout","event","handleLayout","horizontal","isRTL","OS","transform","scaleX","contentContainerStyle","RADIOSET","groupby"],"sources":["radioset.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, DimensionValue, TouchableOpacity, Platform, AccessibilityRole } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\n\nimport WmRadiosetProps from './radioset.props';\nimport { DEFAULT_CLASS, WmRadiosetStyles } from './radioset.styles';\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmSkeleton, { createSkeleton } from '../../basic/skeleton/skeleton.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport { find, forEach, isEqual } from 'lodash-es';\nimport { isEmpty } from 'lodash';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport { getNumberOfEmptyObjects } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmRadiosetState extends BaseDatasetState<WmRadiosetProps> {\n template: string = '';\n}\n\nexport default class WmRadioset extends BaseDatasetComponent<WmRadiosetProps, WmRadiosetState, WmRadiosetStyles> {\n\n constructor(props: WmRadiosetProps) {\n super(props, DEFAULT_CLASS, new WmRadiosetProps());\n }\n\n onPress(item: any) {\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n this.invokeEventCallback('onTap', [null, this.proxy]);\n item.selected = true;\n let selectedValue: any = \"\";\n const selectedItem = find(this.state.dataItems, d => isEqual(d.key, item.key));\n const oldValue = this.state.props.datavalue;\n selectedItem.selected = item.selected;\n selectedValue = selectedItem.selected ? selectedItem.datafield : null;\n this.validate(selectedValue);\n this.updateState({ props: { datavalue: selectedValue }} as WmRadiosetState,() => {\n this.computeDisplayValue();\n this.invokeEventCallback('onChange', [ undefined, this.proxy, selectedValue, oldValue ]);\n });\n }\n\n renderChild(item: any, index: any, colWidth?: DimensionValue) {\n const displayText = item.displayexp || item.displayfield;\n const value = this.state.props.datafield === 'All Fields' ? this.getItemKey(item.datafield) : item.datafield;\n const itemStyle = colWidth ? [{ width: colWidth }, this.styles.item] \n : [this.styles.noscrollitem];\n const accessibilityProps = { accessibilityLabel: displayText ,\n accessibilityRole: 'radio' as AccessibilityRole,\n accessibilityState: {\n disabled: this.props.readonly || this.props.disabled,\n selected: item.selected,\n }\n }\n return (\n <TouchableOpacity style={[\n itemStyle,\n item.selected ? this.styles.selectedItem : null]}\n onPress={this.onPress.bind(this, item)} key={item.key} {...this.getTestPropsForAction(\"radio\"+index)} {...accessibilityProps}>\n <WmIcon id={this.getTestId('radiobutton' + index)} iconclass=\"wi wi-fiber-manual-record\" styles={item.selected ? this.styles.checkedRadio : this.styles.uncheckedRadio} disabled={this.state.props.readonly || this.state.props.disabled} accessible={false}></WmIcon>\n {!isEmpty(this.state.template) && this.props.renderitempartial ?\n this.props.renderitempartial(item.dataObject, index, this.state.template) : <Text style={[this.styles.radioLabel, item.selected ? this.styles.selectedLabel : null]} {...this.getTestPropsForLabel('caption'+index)}>{displayText}</Text>}\n </TouchableOpacity>)\n }\n\n setTemplate(partialName: any) {\n this.updateState({ template: partialName } as WmRadiosetState);\n }\n\n renderGroupby() {\n const groupedData = this.state.groupedData;\n return (\n <View accessibilityRole='radiogroup'>\n {groupedData && groupedData.length\n ? groupedData.map((groupObj: any, index: any) => {\n return(\n <View key={groupObj.key}>\n <Text style={this.styles.groupHeaderTitle}>{groupObj.key}</Text>\n {this.renderRadioButtons(groupObj.data)}\n </View>)\n })\n : null}\n </View>\n );\n }\n\n renderRadioButtons(items: any) {\n const props = this.state.props;\n const noOfColumns = props.itemsperrow.xs || 1;\n const colWidth = Math.round(100/ noOfColumns) + '%' as DimensionValue;\n return props.radiosetscroll ? (\n <View style={noOfColumns === 1 ? {} : this.styles.group}>\n {items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index, colWidth)): null}\n </View>\n ) : (\n <View style={[this.styles.group]}>\n {items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index)): null}\n </View>\n )\n }\n\n public renderSkeleton(props: WmRadiosetProps): React.ReactNode {\n const noOfColumns = props.itemsperrow.xs || 1;\n const colWidth = Math.round(100/ noOfColumns) + '%' as DimensionValue;\n\n return [...getNumberOfEmptyObjects(props.numberofskeletonitems as number ?? 5)].map(_ => {\n return <View style={[this.styles.item, {width: colWidth}]}>\n <WmIcon styles={this.styles.checkedRadio}/>\n <WmLabel styles={{ skeleton: this.styles.skeleton }}/>\n </View>\n })\n\n }\n\n renderWidget(props: WmRadiosetProps) {\n const items = this.state.dataItems;\n return props.radiosetscroll ? (\n <ScrollView style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n <ScrollView horizontal={true}\n style={this.isRTL && Platform.OS == 'android' ? { transform: [{ scaleX: -1 }] } : {}}\n contentContainerStyle={this.isRTL && Platform.OS == 'android' ? { transform: [{ scaleX: -1 }] } : {}}\n {...getAccessibilityProps(AccessibilityWidgetType.RADIOSET, this.props)}\n >\n {props.groupby && this.renderGroupby()}\n {!props.groupby && this.renderRadioButtons(items)}\n </ScrollView>\n </ScrollView>\n ) : (\n <View style={[this.styles.root]} onLayout={(event) => this.handleLayout(event)} {...getAccessibilityProps(AccessibilityWidgetType.RADIOSET, this.props)}>\n {props.groupby && this.renderGroupby()}\n {!props.groupby && this.renderRadioButtons(items)}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -120,7 +120,11 @@ export default class WmRating extends BaseComponent {
|
|
120
120
|
}
|
121
121
|
return /*#__PURE__*/React.createElement(View, {
|
122
122
|
style: this.styles.root,
|
123
|
-
onLayout: event => this.handleLayout(event)
|
123
|
+
onLayout: event => this.handleLayout(event),
|
124
|
+
accessible: props.accessible,
|
125
|
+
accessibilityHint: props.hint,
|
126
|
+
accessibilityRole: props.accessibilityrole || "radiogroup",
|
127
|
+
accessibilityLabel: props.accessibilitylabel || `Rating component, ${this.state.selectedIndex + 1} stars selected ${maxValue} stars maximum`
|
124
128
|
}, this._background, arr.map((v, i) => this.state.selectedIndex > -1 && i <= this.state.selectedIndex ? /*#__PURE__*/React.createElement(WmIcon, {
|
125
129
|
id: this.getTestId('star' + i),
|
126
130
|
key: i,
|
@@ -129,7 +133,9 @@ export default class WmRating extends BaseComponent {
|
|
129
133
|
styles: selectedIconStyles,
|
130
134
|
onTap: () => {
|
131
135
|
this.changeValue(i);
|
132
|
-
}
|
136
|
+
},
|
137
|
+
accessibilityrole: "button",
|
138
|
+
hint: `Tap to set rating to ${i + 1} stars`
|
133
139
|
}) : null), arr.map((v, i) => this.state.selectedIndex === -1 || i > this.state.selectedIndex ? /*#__PURE__*/React.createElement(WmIcon, {
|
134
140
|
id: this.getTestId('star' + i),
|
135
141
|
key: i,
|
@@ -138,7 +144,9 @@ export default class WmRating extends BaseComponent {
|
|
138
144
|
styles: this.styles.icon,
|
139
145
|
onTap: () => {
|
140
146
|
this.changeValue(i);
|
141
|
-
}
|
147
|
+
},
|
148
|
+
accessibilityrole: "button",
|
149
|
+
hint: `Tap to set rating to ${i + 1} stars`
|
142
150
|
}) : null), !!props.showcaptions ? /*#__PURE__*/React.createElement(Text, {
|
143
151
|
style: this.styles.text
|
144
152
|
}, this.state.caption) : null);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","View","Text","BaseComponent","BaseComponentState","WmIcon","WmRatingProps","DEFAULT_CLASS","cloneDeep","isArray","isNumber","isString","WmRatingState","constructor","args","_defineProperty","WmRating","props","caption","state","prepareItems","items","dataset","maxvalue","Array","from","keys","map","v","split","Object","i","key","value","selectedIndex","datavalue","undefined","findIndex","item","k","datafield","showcaptions","selectedItem","getDisplayExpression","displayfield","updateState","onPropertyChange","name","$new","$old","isDefault","isdefault","onFieldChange","bind","disabled","changeValue","oldValue","readonly","invokeEventCallback","proxy","renderWidget","maxValue","arr","selectedIconStyles","styles","selectedIcon","iconcolor","text","color","createElement","style","root","onLayout","event","handleLayout","_background","id","getTestId","iconclass","iconsize","onTap","icon"],"sources":["rating.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmRatingProps from './rating.props';\nimport { DEFAULT_CLASS, WmRatingStyles } from './rating.styles';\nimport { cloneDeep, isArray, isEmpty, isNumber, isString } from 'lodash-es';\n\nexport class WmRatingState extends BaseComponentState<WmRatingProps> {\n items: any[] = null as any;\n caption: any = null as any;\n selectedIndex = -1;\n isDefault = false;\n}\n\nexport default class WmRating extends BaseComponent<WmRatingProps, WmRatingState, WmRatingStyles> {\n\n constructor(props: WmRatingProps) {\n super(props, DEFAULT_CLASS, new WmRatingProps());\n }\n\n get caption() {\n return this.state.caption;\n }\n\n prepareItems(props: WmRatingProps) {\n let items: any[] = [];\n if (!props.dataset && props.maxvalue) {\n items = Array.from(Array(+props.maxvalue).keys());\n items = items.map(v => v + 1);\n } else if (isString(props.dataset)) {\n items = props.dataset.split(',');\n } else {\n items = props.dataset as any[] || [];\n }\n if (isArray(items) && items[0] !== Object(items[0])) {\n items = items.map((v, i) => ({\n key: i + 1,\n value: v\n }));\n }\n let selectedIndex = -1;\n if (props.datavalue !== undefined && props.datavalue !== null) {\n selectedIndex = items.findIndex((item: any, k) => item[props.datafield as string] == props.datavalue);\n if (selectedIndex === -1 && isNumber(props.datavalue)) {\n selectedIndex = props.datavalue;\n }\n }\n let caption: any = '';\n if (selectedIndex > -1 && props.showcaptions) {\n const selectedItem = items[selectedIndex];\n if (selectedItem) {\n if (props.getDisplayExpression) {\n caption = props.getDisplayExpression(selectedItem);\n } else {\n caption = selectedItem[props.displayfield as string];\n }\n } else {\n caption = selectedIndex + 1;\n }\n }\n this.updateState({\n items: items,\n selectedIndex: selectedIndex,\n caption: caption\n } as WmRatingState);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch(name) {\n case 'dataset' :\n case 'datafield' :\n case 'displayfield' :\n case 'maxvalue':\n case 'datavalue' :\n this.prepareItems(this.state.props);\n if (name === 'datavalue') {\n const isDefault = this.state.props.isdefault;\n if (isDefault) {\n this.updateState({ props: {isdefault: false} } as WmRatingState, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n }\n break;\n case 'readonly' :\n this.updateState({\n props: {\n disabled: $new\n }\n } as WmRatingState);\n break;\n }\n }\n\n changeValue(i: number) {\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (!props.readonly) {\n let value = this.state.items[i] ? this.state.items[i][props.datafield || '']: i;\n this.updateState({\n props: {\n datavalue: value\n }\n } as WmRatingState, () => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [undefined, this.proxy, value, oldValue]);\n });\n }\n }\n\n renderWidget(props: WmRatingProps) {\n const maxValue = props.maxvalue ? +props.maxvalue : 5;\n const arr = Array.from(Array(maxValue).keys());\n\n let selectedIconStyles = this.styles.selectedIcon;\n if (props.iconcolor) {\n selectedIconStyles = cloneDeep(this.styles.selectedIcon);\n selectedIconStyles.text.color = props.iconcolor;\n }\n return (\n <View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n {this._background}\n {arr.map((v, i) => (\n (this.state.selectedIndex > -1 && i <= this.state.selectedIndex) ? <WmIcon\n id={this.getTestId('star' + i)}\n key={i}\n iconclass=\"wi wi-star\"\n iconsize={props.iconsize}\n styles={selectedIconStyles}\n onTap={() => { this.changeValue(i)}}\n ></WmIcon> : null\n ))}\n {arr.map((v, i) => (\n (this.state.selectedIndex === -1 || i > this.state.selectedIndex) ? <WmIcon\n id={this.getTestId('star' + i)}\n key={i}\n iconclass=\"wi wi-star-border\"\n iconsize={props.iconsize}\n styles={this.styles.icon}\n onTap={() => { this.changeValue(i)}}\n ></WmIcon> : null\n ))}\n { !!props.showcaptions ? (<Text style={this.styles.text}>{this.state.caption}</Text>) : null }\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","View","Text","BaseComponent","BaseComponentState","WmIcon","WmRatingProps","DEFAULT_CLASS","cloneDeep","isArray","isNumber","isString","WmRatingState","constructor","args","_defineProperty","WmRating","props","caption","state","prepareItems","items","dataset","maxvalue","Array","from","keys","map","v","split","Object","i","key","value","selectedIndex","datavalue","undefined","findIndex","item","k","datafield","showcaptions","selectedItem","getDisplayExpression","displayfield","updateState","onPropertyChange","name","$new","$old","isDefault","isdefault","onFieldChange","bind","disabled","changeValue","oldValue","readonly","invokeEventCallback","proxy","renderWidget","maxValue","arr","selectedIconStyles","styles","selectedIcon","iconcolor","text","color","createElement","style","root","onLayout","event","handleLayout","accessible","accessibilityHint","hint","accessibilityRole","accessibilityrole","accessibilityLabel","accessibilitylabel","_background","id","getTestId","iconclass","iconsize","onTap","icon"],"sources":["rating.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmRatingProps from './rating.props';\nimport { DEFAULT_CLASS, WmRatingStyles } from './rating.styles';\nimport { cloneDeep, isArray, isEmpty, isNumber, isString } from 'lodash-es';\n\nexport class WmRatingState extends BaseComponentState<WmRatingProps> {\n items: any[] = null as any;\n caption: any = null as any;\n selectedIndex = -1;\n isDefault = false;\n}\n\nexport default class WmRating extends BaseComponent<WmRatingProps, WmRatingState, WmRatingStyles> {\n\n constructor(props: WmRatingProps) {\n super(props, DEFAULT_CLASS, new WmRatingProps());\n }\n\n get caption() {\n return this.state.caption;\n }\n\n prepareItems(props: WmRatingProps) {\n let items: any[] = [];\n if (!props.dataset && props.maxvalue) {\n items = Array.from(Array(+props.maxvalue).keys());\n items = items.map(v => v + 1);\n } else if (isString(props.dataset)) {\n items = props.dataset.split(',');\n } else {\n items = props.dataset as any[] || [];\n }\n if (isArray(items) && items[0] !== Object(items[0])) {\n items = items.map((v, i) => ({\n key: i + 1,\n value: v\n }));\n }\n let selectedIndex = -1;\n if (props.datavalue !== undefined && props.datavalue !== null) {\n selectedIndex = items.findIndex((item: any, k) => item[props.datafield as string] == props.datavalue);\n if (selectedIndex === -1 && isNumber(props.datavalue)) {\n selectedIndex = props.datavalue;\n }\n }\n let caption: any = '';\n if (selectedIndex > -1 && props.showcaptions) {\n const selectedItem = items[selectedIndex];\n if (selectedItem) {\n if (props.getDisplayExpression) {\n caption = props.getDisplayExpression(selectedItem);\n } else {\n caption = selectedItem[props.displayfield as string];\n }\n } else {\n caption = selectedIndex + 1;\n }\n }\n this.updateState({\n items: items,\n selectedIndex: selectedIndex,\n caption: caption\n } as WmRatingState);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch(name) {\n case 'dataset' :\n case 'datafield' :\n case 'displayfield' :\n case 'maxvalue':\n case 'datavalue' :\n this.prepareItems(this.state.props);\n if (name === 'datavalue') {\n const isDefault = this.state.props.isdefault;\n if (isDefault) {\n this.updateState({ props: {isdefault: false} } as WmRatingState, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n }\n break;\n case 'readonly' :\n this.updateState({\n props: {\n disabled: $new\n }\n } as WmRatingState);\n break;\n }\n }\n\n changeValue(i: number) {\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (!props.readonly) {\n let value = this.state.items[i] ? this.state.items[i][props.datafield || '']: i;\n this.updateState({\n props: {\n datavalue: value\n }\n } as WmRatingState, () => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [undefined, this.proxy, value, oldValue]);\n });\n }\n }\n\n renderWidget(props: WmRatingProps) {\n const maxValue = props.maxvalue ? +props.maxvalue : 5;\n const arr = Array.from(Array(maxValue).keys());\n\n let selectedIconStyles = this.styles.selectedIcon;\n if (props.iconcolor) {\n selectedIconStyles = cloneDeep(this.styles.selectedIcon);\n selectedIconStyles.text.color = props.iconcolor;\n }\n return (\n <View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}\n accessible={props.accessible}\n accessibilityHint={props.hint}\n accessibilityRole={props.accessibilityrole || \"radiogroup\"}\n accessibilityLabel={props.accessibilitylabel || `Rating component, ${this.state.selectedIndex + 1} stars selected ${maxValue} stars maximum`}\n >\n {this._background}\n {arr.map((v, i) => (\n (this.state.selectedIndex > -1 && i <= this.state.selectedIndex) ? <WmIcon\n id={this.getTestId('star' + i)}\n key={i}\n iconclass=\"wi wi-star\"\n iconsize={props.iconsize}\n styles={selectedIconStyles}\n onTap={() => { this.changeValue(i)}}\n accessibilityrole=\"button\"\n hint={`Tap to set rating to ${i + 1} stars`}\n ></WmIcon> : null\n ))}\n {arr.map((v, i) => (\n (this.state.selectedIndex === -1 || i > this.state.selectedIndex) ? <WmIcon\n id={this.getTestId('star' + i)}\n key={i}\n iconclass=\"wi wi-star-border\"\n iconsize={props.iconsize}\n styles={this.styles.icon}\n onTap={() => { this.changeValue(i)}}\n accessibilityrole=\"button\"\n hint={`Tap to set rating to ${i + 1} stars`}\n ></WmIcon> : null\n ))}\n { !!props.showcaptions ? (<Text style={this.styles.text}>{this.state.caption}</Text>) : null }\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -16,6 +16,10 @@ export default class WmRatingProps extends BaseProps {
|
|
16
16
|
_defineProperty(this, "iconsize", null);
|
17
17
|
_defineProperty(this, "showcaptions", true);
|
18
18
|
_defineProperty(this, "onFieldChange", void 0);
|
19
|
+
_defineProperty(this, "accessible", true);
|
20
|
+
_defineProperty(this, "accessibilitylabel", undefined);
|
21
|
+
_defineProperty(this, "accessibilityrole", 'radiogroup');
|
22
|
+
_defineProperty(this, "hint", undefined);
|
19
23
|
}
|
20
24
|
}
|
21
25
|
//# sourceMappingURL=rating.props.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["BaseProps","WmRatingProps","constructor","args","_defineProperty"],"sources":["rating.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmRatingProps extends BaseProps {\n dataset?: any[] = null as any;\n datafield?: string = 'key';\n displayfield?: string = 'value';\n getDisplayExpression: Function = null as any;\n datavalue?: number = null as any;\n maxvalue: number = 5;\n readonly? = false;\n iconcolor?: string = null as any;\n iconsize?: number = null as any;\n showcaptions? = true;\n onFieldChange: any;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;
|
1
|
+
{"version":3,"names":["BaseProps","WmRatingProps","constructor","args","_defineProperty","undefined"],"sources":["rating.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { AccessibilityRole } from 'react-native';\n\nexport default class WmRatingProps extends BaseProps {\n dataset?: any[] = null as any;\n datafield?: string = 'key';\n displayfield?: string = 'value';\n getDisplayExpression: Function = null as any;\n datavalue?: number = null as any;\n maxvalue: number = 5;\n readonly? = false;\n iconcolor?: string = null as any;\n iconsize?: number = null as any;\n showcaptions? = true;\n onFieldChange: any;\n accessible?: boolean = true;\n accessibilitylabel?: string = undefined;\n accessibilityrole?: AccessibilityRole = 'radiogroup';\n hint?: string = undefined;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAGzE,eAAe,MAAMC,aAAa,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,kBAC/B,IAAI;IAAAA,eAAA,oBACD,KAAK;IAAAA,eAAA,uBACF,OAAO;IAAAA,eAAA,+BACE,IAAI;IAAAA,eAAA,oBAChB,IAAI;IAAAA,eAAA,mBACN,CAAC;IAAAA,eAAA,mBACR,KAAK;IAAAA,eAAA,oBACI,IAAI;IAAAA,eAAA,mBACL,IAAI;IAAAA,eAAA,uBACR,IAAI;IAAAA,eAAA;IAAAA,eAAA,qBAEG,IAAI;IAAAA,eAAA,6BACGC,SAAS;IAAAD,eAAA,4BACC,YAAY;IAAAA,eAAA,eACpCC,SAAS;EAAA;AAC7B","ignoreList":[]}
|
@@ -124,7 +124,7 @@ export default class WmSelect extends BaseDatasetComponent {
|
|
124
124
|
* onLayout function is required.
|
125
125
|
* https://github.com/naoufal/react-native-accordion/pull/19/files
|
126
126
|
*/
|
127
|
-
React.createElement(View, {
|
127
|
+
React.createElement(View, _extends({
|
128
128
|
style: [this.styles.root, this.state.isValid ? {} : this.styles.invalid, {
|
129
129
|
backgroundColor: props.disabled ? this.styles.disabledText.backgroundColor : this.styles.root.backgroundColor
|
130
130
|
}, this._showSkeleton ? {
|
@@ -138,7 +138,7 @@ export default class WmSelect extends BaseDatasetComponent {
|
|
138
138
|
selectWidth: event.nativeEvent.layout.width
|
139
139
|
});
|
140
140
|
}
|
141
|
-
}, select.backgroundImage ? /*#__PURE__*/React.createElement(BackgroundComponent, {
|
141
|
+
}, getAccessibilityProps(AccessibilityWidgetType.SELECT, props)), select.backgroundImage ? /*#__PURE__*/React.createElement(BackgroundComponent, {
|
142
142
|
image: select.backgroundImage,
|
143
143
|
position: select.backgroundPosition || 'center',
|
144
144
|
size: select.backgroundSize || 'contain',
|
@@ -154,13 +154,15 @@ export default class WmSelect extends BaseDatasetComponent {
|
|
154
154
|
ref: ref => {
|
155
155
|
this.widgetRef = ref;
|
156
156
|
}
|
157
|
-
}, this.getTestPropsForInput(),
|
158
|
-
onPress: this.onPress.bind(this)
|
157
|
+
}, this.getTestPropsForInput(), {
|
158
|
+
onPress: this.onPress.bind(this),
|
159
|
+
importantForAccessibility: "no"
|
159
160
|
}), this.state.props.displayValue || props.placeholder || ' '), /*#__PURE__*/React.createElement(WmButton, {
|
160
161
|
styles: this._showSkeleton ? this.styles.arrowButtonSkeleton.root : this.styles.arrowButton,
|
161
162
|
iconclass: 'wi wi-keyboard-arrow-down',
|
162
163
|
onTap: this.onPress.bind(this),
|
163
|
-
hint: props === null || props === void 0 ? void 0 : props.hint
|
164
|
+
hint: props === null || props === void 0 ? void 0 : props.hint,
|
165
|
+
accessible: false
|
164
166
|
}))
|
165
167
|
);
|
166
168
|
}
|