@wavemaker/app-rn-runtime 11.10.3-rc.205 → 11.10.4-next.27841
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 +2 -1
- package/components/advanced/carousel/carousel.component.js.map +1 -1
- package/components/advanced/login/login.component.js +2 -1
- package/components/advanced/login/login.component.js.map +1 -1
- package/components/advanced/webview/webview.component.js +2 -1
- package/components/advanced/webview/webview.component.js.map +1 -1
- package/components/basic/anchor/anchor.component.js +2 -1
- package/components/basic/anchor/anchor.component.js.map +1 -1
- package/components/basic/animatedview.component.js +5 -2
- package/components/basic/animatedview.component.js.map +1 -1
- package/components/basic/audio/audio.component.js +2 -1
- package/components/basic/audio/audio.component.js.map +1 -1
- package/components/basic/button/button.component.js +1 -0
- package/components/basic/button/button.component.js.map +1 -1
- package/components/basic/buttongroup/buttongroup.component.js +2 -1
- package/components/basic/buttongroup/buttongroup.component.js.map +1 -1
- package/components/basic/custom/custom.component.js +2 -1
- package/components/basic/custom/custom.component.js.map +1 -1
- package/components/basic/icon/icon.component.js +2 -1
- package/components/basic/icon/icon.component.js.map +1 -1
- package/components/basic/label/label.component.js +2 -1
- package/components/basic/label/label.component.js.map +1 -1
- package/components/basic/lottie/lottie.component.js +2 -1
- package/components/basic/lottie/lottie.component.js.map +1 -1
- package/components/basic/message/message.component.js +2 -1
- package/components/basic/message/message.component.js.map +1 -1
- package/components/basic/modal/modal.component.js +4 -2
- package/components/basic/modal/modal.component.js.map +1 -1
- package/components/basic/picture/picture.component.js +93 -8
- package/components/basic/picture/picture.component.js.map +1 -1
- package/components/basic/picture/picture.props.js +1 -0
- package/components/basic/picture/picture.props.js.map +1 -1
- package/components/basic/progress-bar/progress-bar.component.js +2 -1
- package/components/basic/progress-bar/progress-bar.component.js.map +1 -1
- package/components/basic/progress-circle/progress-circle.component.js +1 -0
- package/components/basic/progress-circle/progress-circle.component.js.map +1 -1
- package/components/basic/search/search.component.js +3 -1
- package/components/basic/search/search.component.js.map +1 -1
- package/components/basic/spinner/spinner.component.js +2 -1
- package/components/basic/spinner/spinner.component.js.map +1 -1
- package/components/basic/tooltip/tooltip.component.js +2 -1
- package/components/basic/tooltip/tooltip.component.js.map +1 -1
- package/components/basic/video/video.component.js +36 -5
- package/components/basic/video/video.component.js.map +1 -1
- package/components/basic/video/video.props.js +1 -0
- package/components/basic/video/video.props.js.map +1 -1
- package/components/basic/video/video.styles.js +13 -0
- package/components/basic/video/video.styles.js.map +1 -1
- package/components/chart/area-chart/area-chart.component.js +1 -0
- package/components/chart/area-chart/area-chart.component.js.map +1 -1
- package/components/chart/basechart.component.js +1 -0
- package/components/chart/basechart.component.js.map +1 -1
- package/components/chart/pie-chart/pie-chart.component.js +1 -0
- package/components/chart/pie-chart/pie-chart.component.js.map +1 -1
- package/components/chart/stack-chart/stack-chart.component.js +1 -0
- package/components/chart/stack-chart/stack-chart.component.js.map +1 -1
- package/components/container/accordion/accordion.component.js +2 -1
- package/components/container/accordion/accordion.component.js.map +1 -1
- package/components/container/container.component.js +2 -1
- package/components/container/container.component.js.map +1 -1
- package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js +2 -1
- package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js.map +1 -1
- package/components/container/layoutgrid/gridrow/gridrow.component.js +2 -1
- package/components/container/layoutgrid/gridrow/gridrow.component.js.map +1 -1
- package/components/container/layoutgrid/layoutgrid.component.js +1 -0
- package/components/container/layoutgrid/layoutgrid.component.js.map +1 -1
- package/components/container/linearlayout/linearlayout.component.js +2 -1
- package/components/container/linearlayout/linearlayout.component.js.map +1 -1
- package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +2 -1
- package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
- package/components/container/panel/panel.component.js +2 -1
- package/components/container/panel/panel.component.js.map +1 -1
- package/components/container/tabs/tabheader/tabheader.component.js +3 -1
- package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
- package/components/container/tabs/tabpane/tabpane.component.js +2 -1
- package/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
- package/components/container/tabs/tabs.component.js +2 -1
- package/components/container/tabs/tabs.component.js.map +1 -1
- package/components/container/tile/tile.component.js +2 -1
- package/components/container/tile/tile.component.js.map +1 -1
- package/components/container/wizard/wizard.component.js +2 -1
- package/components/container/wizard/wizard.component.js.map +1 -1
- package/components/container/wizard/wizardstep/wizardstep.component.js +2 -1
- package/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
- package/components/data/card/card-content/card-content.component.js +2 -1
- package/components/data/card/card-content/card-content.component.js.map +1 -1
- package/components/data/card/card-footer/card-footer.component.js +2 -1
- package/components/data/card/card-footer/card-footer.component.js.map +1 -1
- package/components/data/card/card.component.js +2 -1
- package/components/data/card/card.component.js.map +1 -1
- package/components/data/form/form-body/form-body.component.js +2 -1
- package/components/data/form/form-body/form-body.component.js.map +1 -1
- package/components/data/form/form-field/form-field.component.js +2 -1
- package/components/data/form/form-field/form-field.component.js.map +1 -1
- package/components/data/form/form-footer/form-footer.component.js +2 -1
- package/components/data/form/form-footer/form-footer.component.js.map +1 -1
- package/components/data/form/form.component.js +2 -1
- package/components/data/form/form.component.js.map +1 -1
- package/components/data/list/list-template/list-template.component.js +2 -1
- package/components/data/list/list-template/list-template.component.js.map +1 -1
- package/components/data/list/list.component.js +6 -2
- package/components/data/list/list.component.js.map +1 -1
- package/components/data/list/list.props.js +1 -0
- package/components/data/list/list.props.js.map +1 -1
- package/components/device/barcodescanner/barcodescanner.component.js +2 -1
- package/components/device/barcodescanner/barcodescanner.component.js.map +1 -1
- package/components/device/camera/camera.component.js +2 -1
- package/components/device/camera/camera.component.js.map +1 -1
- package/components/dialogs/dialog/dialog.component.js +2 -1
- package/components/dialogs/dialog/dialog.component.js.map +1 -1
- package/components/dialogs/dialogactions/dialogactions.component.js +2 -1
- package/components/dialogs/dialogactions/dialogactions.component.js.map +1 -1
- package/components/dialogs/dialogcontent/dialogcontent.component.js +1 -0
- package/components/dialogs/dialogcontent/dialogcontent.component.js.map +1 -1
- package/components/input/calendar/calendar.component.js +2 -1
- package/components/input/calendar/calendar.component.js.map +1 -1
- package/components/input/checkbox/checkbox.component.js +2 -1
- package/components/input/checkbox/checkbox.component.js.map +1 -1
- package/components/input/checkboxset/checkboxset.component.js +2 -1
- package/components/input/checkboxset/checkboxset.component.js.map +1 -1
- package/components/input/chips/chips.component.js +2 -1
- package/components/input/chips/chips.component.js.map +1 -1
- package/components/input/composite/composite.component.js +2 -1
- package/components/input/composite/composite.component.js.map +1 -1
- package/components/input/currency/currency.component.js +2 -1
- package/components/input/currency/currency.component.js.map +1 -1
- package/components/input/epoch/base-datetime.component.js +3 -2
- package/components/input/epoch/base-datetime.component.js.map +1 -1
- package/components/input/epoch/wheel-date-picker.component.js +91 -84
- package/components/input/epoch/wheel-date-picker.component.js.map +1 -1
- package/components/input/epoch/wheelpicker/wheelpicker.component.js +2 -1
- package/components/input/epoch/wheelpicker/wheelpicker.component.js.map +1 -1
- package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js +2 -1
- 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 +2 -1
- package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js.map +1 -1
- package/components/input/fileupload/fileupload.component.js +2 -1
- package/components/input/fileupload/fileupload.component.js.map +1 -1
- package/components/input/number/number.component.js +2 -1
- package/components/input/number/number.component.js.map +1 -1
- package/components/input/radioset/radioset.component.js +4 -2
- package/components/input/radioset/radioset.component.js.map +1 -1
- package/components/input/rating/rating.component.js +2 -1
- package/components/input/rating/rating.component.js.map +1 -1
- package/components/input/select/select.component.js +4 -1
- 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 +2 -1
- package/components/input/switch/switch.component.js.map +1 -1
- package/components/input/text/text.component.js +2 -1
- package/components/input/text/text.component.js.map +1 -1
- package/components/input/textarea/textarea.component.js +2 -1
- package/components/input/textarea/textarea.component.js.map +1 -1
- package/components/input/toggle/toggle.component.js +1 -0
- package/components/input/toggle/toggle.component.js.map +1 -1
- package/components/navigation/appnavbar/appnavbar.component.js +2 -1
- package/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
- package/components/navigation/navbar/navbar.component.js +2 -1
- package/components/navigation/navbar/navbar.component.js.map +1 -1
- package/components/navigation/navitem/navitem.component.js +2 -1
- package/components/navigation/navitem/navitem.component.js.map +1 -1
- package/components/navigation/popover/popover.component.js +1 -0
- package/components/navigation/popover/popover.component.js.map +1 -1
- package/components/page/page.component.js.map +1 -1
- package/core/AppConfig.js.map +1 -1
- package/core/base.component.js +15 -21
- package/core/base.component.js.map +1 -1
- package/core/components/textinput.component.js +2 -1
- package/core/components/textinput.component.js.map +1 -1
- package/core/tappable.component.js +7 -3
- package/core/tappable.component.js.map +1 -1
- package/core/utils.js +13 -11
- package/core/utils.js.map +1 -1
- package/npm-shrinkwrap.json +84 -84
- package/package-lock.json +84 -84
- package/package.json +2 -2
- package/runtime/App.js +18 -7
- package/runtime/App.js.map +1 -1
- package/runtime/base-page.component.js +2 -3
- package/runtime/base-page.component.js.map +1 -1
- package/styles/style-props.js +1 -0
- package/styles/style-props.js.map +1 -1
@@ -4,8 +4,7 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
4
4
|
import React, { Component } from 'react';
|
5
5
|
import { PixelRatio, StyleSheet, View } from 'react-native';
|
6
6
|
import WmWheelScrollPicker from './wheelpicker/wheelpicker.component';
|
7
|
-
import { getDateObject, getDates, getMonthIndex, getMonths, getYearRange } from '@wavemaker/app-rn-runtime/core/utils';
|
8
|
-
import moment from 'moment';
|
7
|
+
import { getDateObject, getDates, getMonthIndex, getMonths, getYearRange, getDaysInMonth } from '@wavemaker/app-rn-runtime/core/utils';
|
9
8
|
export class WmWheelDatePickerProps {
|
10
9
|
constructor() {
|
11
10
|
_defineProperty(this, "minDate", void 0);
|
@@ -28,9 +27,9 @@ export const END_DATE = {
|
|
28
27
|
};
|
29
28
|
export class WmWheelDatePickerState {}
|
30
29
|
export class WmWheelDatePicker extends Component {
|
31
|
-
constructor(
|
30
|
+
constructor(props) {
|
32
31
|
var _selectedDate$getFull;
|
33
|
-
super(
|
32
|
+
super(props);
|
34
33
|
_defineProperty(this, "itemHeight", void 0);
|
35
34
|
_defineProperty(this, "wrapperHeight", void 0);
|
36
35
|
_defineProperty(this, "selectedDateIndex", 0);
|
@@ -43,77 +42,97 @@ export class WmWheelDatePicker extends Component {
|
|
43
42
|
_defineProperty(this, "localSelectedDate", '');
|
44
43
|
_defineProperty(this, "monthValue", 0);
|
45
44
|
_defineProperty(this, "yearValue", '');
|
46
|
-
_defineProperty(this, "getMinValue",
|
47
|
-
|
48
|
-
const
|
49
|
-
const selectedMonth = moment(this.localSelectedDate).format('M');
|
50
|
-
const selectedYear = moment(this.localSelectedDate).format('YYYY');
|
51
|
-
const isFutureMonth = Number(selectedMonth) > Number(currentMonth);
|
52
|
-
const isFutureYear = Number(selectedYear) > Number(currentYear);
|
53
|
-
if (!(minValue instanceof Date)) return START_DATE[type];
|
45
|
+
_defineProperty(this, "getMinValue", type => {
|
46
|
+
if (!this.props.minDate) return START_DATE[type];
|
47
|
+
const minDate = new Date(this.props.minDate);
|
54
48
|
switch (type) {
|
55
49
|
case 'date':
|
56
|
-
|
57
|
-
// this.selectedDateIndex = dateIndex;
|
58
|
-
return dateValue;
|
50
|
+
return minDate.getDate();
|
59
51
|
case 'month':
|
60
|
-
|
61
|
-
// this.selectedMonthIndex = 11;
|
62
|
-
return monthValue;
|
52
|
+
return minDate.getMonth();
|
63
53
|
case 'year':
|
64
|
-
return
|
54
|
+
return minDate.getFullYear();
|
65
55
|
default:
|
66
56
|
return 0;
|
67
57
|
}
|
68
58
|
});
|
69
|
-
_defineProperty(this, "getMaxValue",
|
70
|
-
if (!
|
59
|
+
_defineProperty(this, "getMaxValue", type => {
|
60
|
+
if (!this.props.maxDate) return END_DATE[type];
|
61
|
+
const maxDate = new Date(this.props.maxDate);
|
71
62
|
switch (type) {
|
72
63
|
case 'date':
|
73
|
-
return
|
64
|
+
return maxDate.getDate();
|
74
65
|
case 'month':
|
75
|
-
return
|
66
|
+
return maxDate.getMonth();
|
76
67
|
case 'year':
|
77
|
-
return
|
68
|
+
return maxDate.getFullYear();
|
78
69
|
default:
|
79
70
|
return 0;
|
80
71
|
}
|
81
72
|
});
|
82
73
|
_defineProperty(this, "handleValueChange", (valueType, value, index) => {
|
83
74
|
var _this$props, _this$props$onDateCha;
|
75
|
+
let indexValue = Object.is(index, -0) ? 0 : index;
|
84
76
|
switch (valueType) {
|
85
77
|
case 'date':
|
86
|
-
this.selectedDateIndex =
|
78
|
+
this.selectedDateIndex = indexValue;
|
87
79
|
break;
|
88
80
|
case 'month':
|
89
81
|
this.monthValue = getMonthIndex(value === null || value === void 0 ? void 0 : value.toString());
|
90
|
-
this.selectedMonthIndex =
|
82
|
+
this.selectedMonthIndex = indexValue;
|
91
83
|
break;
|
92
84
|
case 'year':
|
93
|
-
this.
|
94
|
-
this.selectedYearIndex = index;
|
95
|
-
break;
|
96
|
-
default:
|
85
|
+
this.selectedYearIndex = indexValue;
|
97
86
|
break;
|
98
87
|
}
|
99
|
-
const
|
100
|
-
|
101
|
-
} = this;
|
102
|
-
const minDate = props.minDate;
|
103
|
-
const maxDate = props.maxDate;
|
104
|
-
// * date range
|
105
|
-
const minDateNum = minDate ? this.getMinValue(minDate, 'date') : 1;
|
106
|
-
const maxDateNum = maxDate ? this.getMaxValue(maxDate, 'date') : 31;
|
107
|
-
const minYear = minDate ? this.getMinValue(minDate, 'year') : 1950;
|
108
|
-
const maxYear = maxDate ? this.getMaxValue(maxDate, 'year') : 2060;
|
109
|
-
const selectedDate = getDates(minDateNum, maxDateNum)[this.selectedDateIndex];
|
110
|
-
const selectedMonthIndex = this.monthValue;
|
88
|
+
const minYear = this.getMinValue('year');
|
89
|
+
const maxYear = this.getMaxValue('year');
|
111
90
|
const selectedYear = getYearRange(minYear, maxYear)[this.selectedYearIndex];
|
112
|
-
|
91
|
+
|
92
|
+
// Restrict months dynamically
|
93
|
+
let minMonth = 0;
|
94
|
+
let maxMonth = 11;
|
95
|
+
if (selectedYear === minYear) minMonth = this.getMinValue('month');
|
96
|
+
if (selectedYear === maxYear) maxMonth = this.getMaxValue('month');
|
97
|
+
|
98
|
+
// Update month data dynamically
|
99
|
+
this.monthData = getMonths(minMonth, maxMonth);
|
100
|
+
|
101
|
+
// Ensure selected month is within range
|
102
|
+
let minDate = 1;
|
103
|
+
let maxDate = 31;
|
104
|
+
if (this.monthValue > maxMonth) {
|
105
|
+
this.selectedMonthIndex = maxMonth;
|
106
|
+
}
|
107
|
+
maxDate = getDaysInMonth(getMonthIndex(this.monthData[this.selectedMonthIndex]) + 1, selectedYear);
|
108
|
+
if (this.monthValue < minMonth) {
|
109
|
+
this.monthValue = minMonth;
|
110
|
+
maxDate = getDaysInMonth(this.monthValue + 1, selectedYear);
|
111
|
+
}
|
112
|
+
|
113
|
+
// Restrict days dynamically
|
114
|
+
const selectedMonth = this.selectedMonthIndex;
|
115
|
+
if (selectedYear === minYear && this.monthValue === minMonth) minDate = this.getMinValue('date');
|
116
|
+
if (selectedYear === maxYear && selectedMonth === maxMonth) maxDate = this.getMaxValue('date');
|
117
|
+
|
118
|
+
// Update date data dynamically
|
119
|
+
this.dateData = getDates(minDate, maxDate);
|
120
|
+
|
121
|
+
// Ensure selected date is within range
|
122
|
+
if (this.selectedDateIndex > maxDate - 1) this.selectedDateIndex = maxDate - 1;
|
123
|
+
const selectedDate = this.dateData[this.selectedDateIndex] || this.dateData[this.dateData.indexOf(this.selectedDateIndex + 1)];
|
124
|
+
;
|
125
|
+
|
126
|
+
// Create new selected date
|
127
|
+
const dateObj = getDateObject(selectedDate, getMonthIndex(this.monthData[this.selectedMonthIndex]), selectedYear);
|
113
128
|
this.localSelectedDate = dateObj;
|
114
|
-
(_this$props = this.props) === null || _this$props === void 0 || (_this$props$onDateCha = _this$props.onDateChange) === null || _this$props$onDateCha === void 0 || _this$props$onDateCha.call(_this$props,
|
129
|
+
(_this$props = this.props) === null || _this$props === void 0 || (_this$props$onDateCha = _this$props.onDateChange) === null || _this$props$onDateCha === void 0 || _this$props$onDateCha.call(_this$props, this.localSelectedDate);
|
115
130
|
});
|
116
|
-
const
|
131
|
+
const _minDate = this.props.minDate ? new Date(this.props.minDate) : new Date(START_DATE.year, START_DATE.month, START_DATE.date);
|
132
|
+
const _maxDate = this.props.maxDate ? new Date(this.props.maxDate) : new Date(END_DATE.year, END_DATE.month, END_DATE.date);
|
133
|
+
let _selectedDate = this.props.selectedDate ? new Date(this.props.selectedDate) : new Date();
|
134
|
+
if (_selectedDate < _minDate) _selectedDate = _minDate;
|
135
|
+
if (_selectedDate > _maxDate) _selectedDate = _maxDate;
|
117
136
|
this.itemHeight = PixelRatio.roundToNearestPixel(this.props.itemHeight || 50) || PixelRatio.roundToNearestPixel(50);
|
118
137
|
this.wrapperHeight = PixelRatio.roundToNearestPixel(this.props.wrapperHeight || 150) || PixelRatio.roundToNearestPixel(150);
|
119
138
|
|
@@ -122,49 +141,37 @@ export class WmWheelDatePicker extends Component {
|
|
122
141
|
this.localSelectedDate = _selectedDate;
|
123
142
|
this.monthValue = _selectedDate.getMonth();
|
124
143
|
this.yearValue = (_selectedDate$getFull = _selectedDate.getFullYear()) === null || _selectedDate$getFull === void 0 ? void 0 : _selectedDate$getFull.toString();
|
144
|
+
const _selectedYear = _selectedDate.getFullYear();
|
145
|
+
const _selectedMonth = _selectedDate.getMonth();
|
146
|
+
const selectedDay = _selectedDate.getDate();
|
125
147
|
|
126
|
-
//
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
case "date":
|
148
|
-
const dateData = getDates(minDateNum, maxDateNum);
|
149
|
-
this.dateData = dateData;
|
150
|
-
return dateData;
|
151
|
-
case "month":
|
152
|
-
const monthData = getMonths(minMonth, maxMonth);
|
153
|
-
this.monthData = monthData;
|
154
|
-
return monthData;
|
155
|
-
case "year":
|
156
|
-
const yearData = getYearRange(minYear, maxYear);
|
157
|
-
this.yearData = yearData;
|
158
|
-
return yearData;
|
159
|
-
default:
|
160
|
-
return [];
|
161
|
-
}
|
148
|
+
// Generate valid year range
|
149
|
+
const _minYear = _minDate.getFullYear();
|
150
|
+
const _maxYear = _maxDate.getFullYear();
|
151
|
+
this.yearData = getYearRange(_minYear, _maxYear);
|
152
|
+
this.selectedYearIndex = this.yearData.indexOf(_selectedYear);
|
153
|
+
|
154
|
+
// Generate valid months based on selected year
|
155
|
+
let _minMonth = 0;
|
156
|
+
let _maxMonth = 11;
|
157
|
+
if (_selectedYear === _minYear) _minMonth = _minDate.getMonth();
|
158
|
+
if (_selectedYear === _maxYear) _maxMonth = _maxDate.getMonth();
|
159
|
+
this.monthData = getMonths(_minMonth, _maxMonth);
|
160
|
+
this.selectedMonthIndex = this.monthData.indexOf(getMonths(0, 11)[_selectedMonth]);
|
161
|
+
|
162
|
+
// Generate valid days based on selected year & month
|
163
|
+
let minDay = 1;
|
164
|
+
let maxDay = getDaysInMonth(_selectedMonth + 1, _selectedYear);
|
165
|
+
if (_selectedYear === _minYear && _selectedMonth === _minMonth) minDay = _minDate.getDate();
|
166
|
+
if (_selectedYear === _maxYear && _selectedMonth === _maxMonth) maxDay = _maxDate.getDate();
|
167
|
+
this.dateData = getDates(minDay, maxDay);
|
168
|
+
this.selectedDateIndex = this.dateData.indexOf(selectedDay);
|
162
169
|
}
|
163
170
|
render() {
|
164
171
|
return /*#__PURE__*/React.createElement(View, {
|
165
172
|
style: styles.root
|
166
173
|
}, /*#__PURE__*/React.createElement(WmWheelScrollPicker, {
|
167
|
-
data: this.
|
174
|
+
data: this.dateData,
|
168
175
|
wrapperHeight: this.wrapperHeight,
|
169
176
|
itemHeight: this.itemHeight,
|
170
177
|
selectedIndex: this.selectedDateIndex,
|
@@ -172,13 +179,13 @@ export class WmWheelDatePicker extends Component {
|
|
172
179
|
}), /*#__PURE__*/React.createElement(View, {
|
173
180
|
style: styles.middle
|
174
181
|
}, /*#__PURE__*/React.createElement(WmWheelScrollPicker, {
|
175
|
-
data: this.
|
182
|
+
data: this.monthData,
|
176
183
|
wrapperHeight: this.wrapperHeight,
|
177
184
|
itemHeight: this.itemHeight,
|
178
185
|
selectedIndex: this.selectedMonthIndex,
|
179
186
|
onValueChange: (value, index) => this.handleValueChange('month', value, index)
|
180
187
|
})), /*#__PURE__*/React.createElement(WmWheelScrollPicker, {
|
181
|
-
data: this.
|
188
|
+
data: getYearRange(this.getMinValue('year'), this.getMaxValue('year')),
|
182
189
|
wrapperHeight: this.wrapperHeight,
|
183
190
|
itemHeight: this.itemHeight,
|
184
191
|
selectedIndex: this.selectedYearIndex,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Component","PixelRatio","StyleSheet","View","WmWheelScrollPicker","getDateObject","getDates","getMonthIndex","getMonths","getYearRange","moment","WmWheelDatePickerProps","constructor","_defineProperty","Date","roundToNearestPixel","START_DATE","END_DATE","WmWheelDatePickerState","WmWheelDatePicker","props","_selectedDate$getFull","minValue","type","currentMonth","format","currentYear","selectedMonth","localSelectedDate","selectedYear","isFutureMonth","Number","isFutureYear","dateValue","getDate","monthValue","getMonth","getFullYear","maxValue","valueType","value","index","_this$props","_this$props$onDateCha","selectedDateIndex","toString","selectedMonthIndex","yearValue","selectedYearIndex","minDate","maxDate","minDateNum","getMinValue","maxDateNum","getMaxValue","minYear","maxYear","selectedDate","dateObj","onDateChange","call","itemHeight","wrapperHeight","defaultSelectedDate","indexOf","getPickerData","minMonth","maxMonth","dateData","monthData","yearData","render","createElement","style","styles","root","data","selectedIndex","onValueChange","handleValueChange","middle","create","flexDirection","marginHorizontal"],"sources":["wheel-date-picker.component.tsx"],"sourcesContent":["import React, { Component } from 'react';\nimport { PixelRatio, StyleSheet, View } from 'react-native';\nimport WmWheelScrollPicker from './wheelpicker/wheelpicker.component'\nimport { getDateObject, getDates, getMonthIndex, getMonths, getYearRange } from '@wavemaker/app-rn-runtime/core/utils';\nimport moment from 'moment';\n\nexport class WmWheelDatePickerProps {\n minDate?: Date | string;\n maxDate?: Date | string;\n selectedDate?: Date = new Date();\n onDateChange?: (date: Date) => void;\n itemHeight?: number = PixelRatio.roundToNearestPixel(50);\n wrapperHeight?: number = PixelRatio.roundToNearestPixel(150);\n}\n\nexport const START_DATE = {\n 'date': 1,\n 'month': 0,\n 'year': 1950,\n};\n\nexport const END_DATE = {\n 'date': 31,\n 'month': 11,\n 'year': 2060,\n};\n\nexport class WmWheelDatePickerState {}\n\nexport class WmWheelDatePicker extends Component<\n WmWheelDatePickerProps,\n WmWheelDatePickerState,\n any\n> {\n itemHeight: number;\n wrapperHeight: number;\n selectedDateIndex: number = 0;\n selectedMonthIndex: number = 0;\n selectedYearIndex: number = 0;\n dateData: number[] = [];\n monthData: string[] = [];\n yearData: number[] = [];\n defaultSelectedDate: Date;\n localSelectedDate: Date | string = '';\n monthValue: number = 0;\n yearValue: string = '';\n\n constructor(props: WmWheelDatePickerProps) {\n super(props);\n const selectedDate = this.props.selectedDate || new Date();\n\n this.itemHeight =\n PixelRatio.roundToNearestPixel(this.props.itemHeight || 50) || PixelRatio.roundToNearestPixel(50);\n this.wrapperHeight =\n PixelRatio.roundToNearestPixel(this.props.wrapperHeight || 150) || PixelRatio.roundToNearestPixel(150);\n\n // * Initial values\n this.defaultSelectedDate = selectedDate;\n this.localSelectedDate = selectedDate;\n this.monthValue = selectedDate.getMonth();\n this.yearValue = selectedDate.getFullYear()?.toString();\n\n // TODO: selected date handling for range of dates\n if (!(this.props.minDate || this.props.maxDate)) {\n this.selectedDateIndex = selectedDate.getDate() - 1;\n this.selectedMonthIndex = selectedDate.getMonth();\n this.selectedYearIndex = getYearRange().indexOf(selectedDate.getFullYear());\n }\n }\n\n getMinValue = (minValue: string | Date, type: 'date' | 'month' | 'year') => {\n const currentMonth = moment(minValue).format('M');\n const currentYear = moment(minValue).format('YYYY');\n const selectedMonth = moment(this.localSelectedDate).format('M');\n const selectedYear = moment(this.localSelectedDate).format('YYYY');\n const isFutureMonth = Number(selectedMonth) > Number(currentMonth);\n const isFutureYear = Number(selectedYear) > Number(currentYear);\n\n if (!(minValue instanceof Date)) return START_DATE[type];\n\n switch(type) {\n case 'date':\n const dateValue =\n isFutureYear\n ? 1\n : isFutureMonth\n ? 1\n : new Date(minValue).getDate();\n // this.selectedDateIndex = dateIndex;\n return dateValue;\n case 'month':\n const monthValue = isFutureYear ? 0 : new Date(minValue).getMonth();\n // this.selectedMonthIndex = 11;\n return monthValue;\n case 'year':\n return new Date(minValue).getFullYear();\n default:\n return 0;\n }\n }\n\n getMaxValue = (maxValue: string | Date | undefined, type: 'date' | 'month' | 'year') => {\n if (!(maxValue instanceof Date)) return END_DATE[type];\n\n switch(type) {\n case 'date':\n return new Date(maxValue).getDate();\n case 'month':\n return new Date(maxValue).getMonth();\n case 'year':\n return new Date(maxValue).getFullYear();\n default:\n return 0;\n }\n }\n\n handleValueChange = (\n valueType: 'date' | 'month' | 'year',\n value: string | number,\n index: number,\n ) => {\n switch (valueType) {\n case 'date':\n this.selectedDateIndex = index;\n break;\n case 'month':\n this.monthValue = getMonthIndex(value?.toString());\n this.selectedMonthIndex = index;\n break;\n case 'year':\n this.yearValue = value as string;\n this.selectedYearIndex = index;\n break;\n default:\n break;\n }\n\n const {props} = this;\n const minDate = props.minDate;\n const maxDate = props.maxDate;\n // * date range\n const minDateNum = minDate ? this.getMinValue(minDate, 'date') : 1;\n const maxDateNum = maxDate ? this.getMaxValue(maxDate, 'date') : 31;\n const minYear = minDate ? this.getMinValue(minDate, 'year') : 1950;\n const maxYear = maxDate ? this.getMaxValue(maxDate, 'year') : 2060;\n\n const selectedDate = getDates(minDateNum, maxDateNum)[this.selectedDateIndex];\n const selectedMonthIndex = this.monthValue;\n const selectedYear = getYearRange(minYear, maxYear)[this.selectedYearIndex];\n\n const dateObj = getDateObject(\n selectedDate,\n selectedMonthIndex,\n selectedYear,\n );\n this.localSelectedDate = dateObj;\n\n this.props?.onDateChange?.(dateObj);\n };\n\n // TODO: cache this func for performance improvement\n getPickerData(type: 'date' | 'month' | 'year') {\n const {props} = this;\n const minDate = props.minDate;\n const maxDate = props.maxDate;\n const minDateNum = minDate ? this.getMinValue(minDate, 'date') : 1;\n const maxDateNum = maxDate ? this.getMaxValue(maxDate, 'date') : 31;\n const minMonth = minDate ? this.getMinValue(minDate, 'month') : 0;\n const maxMonth = maxDate ? this.getMaxValue(maxDate, 'month') : 11;\n const minYear = minDate ? this.getMinValue(minDate, 'year') : 1950;\n const maxYear = maxDate ? this.getMaxValue(maxDate, 'year') : 2060;\n\n switch (type) {\n case \"date\":\n const dateData = getDates(minDateNum, maxDateNum);\n this.dateData = dateData;\n return dateData;\n case \"month\":\n const monthData = getMonths(minMonth, maxMonth);\n this.monthData = monthData;\n return monthData;\n case \"year\":\n const yearData = getYearRange(minYear, maxYear);\n this.yearData = yearData;\n return yearData;\n default:\n return [];\n }\n }\n\n render() {\n return (\n <View style={styles.root}>\n <WmWheelScrollPicker\n data={this.getPickerData('date')}\n wrapperHeight={this.wrapperHeight}\n itemHeight={this.itemHeight}\n selectedIndex={this.selectedDateIndex}\n onValueChange={(value: string | number, index: number) =>\n this.handleValueChange('date', value, index)\n }\n />\n <View style={styles.middle}>\n <WmWheelScrollPicker\n data={this.getPickerData('month')}\n wrapperHeight={this.wrapperHeight}\n itemHeight={this.itemHeight}\n selectedIndex={this.selectedMonthIndex}\n onValueChange={(value: string | number, index: number) =>\n this.handleValueChange('month', value, index)\n }\n />\n </View>\n <WmWheelScrollPicker\n data={this.getPickerData('year')}\n wrapperHeight={this.wrapperHeight}\n itemHeight={this.itemHeight}\n selectedIndex={this.selectedYearIndex}\n onValueChange={(value: string | number, index: number) =>\n this.handleValueChange('year', value, index)\n }\n />\n </View>\n );\n }\n}\n\nexport default WmWheelDatePicker;\n\nconst styles = StyleSheet.create({\n root: {\n flexDirection: 'row',\n },\n middle: {\n marginHorizontal: 15,\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","Component","PixelRatio","StyleSheet","View","WmWheelScrollPicker","getDateObject","getDates","getMonthIndex","getMonths","getYearRange","getDaysInMonth","WmWheelDatePickerProps","constructor","_defineProperty","Date","roundToNearestPixel","START_DATE","END_DATE","WmWheelDatePickerState","WmWheelDatePicker","props","_selectedDate$getFull","type","minDate","getDate","getMonth","getFullYear","maxDate","valueType","value","index","_this$props","_this$props$onDateCha","indexValue","Object","is","selectedDateIndex","monthValue","toString","selectedMonthIndex","selectedYearIndex","minYear","getMinValue","maxYear","getMaxValue","selectedYear","minMonth","maxMonth","monthData","selectedMonth","dateData","selectedDate","indexOf","dateObj","localSelectedDate","onDateChange","call","year","month","date","itemHeight","wrapperHeight","defaultSelectedDate","yearValue","selectedDay","yearData","minDay","maxDay","render","createElement","style","styles","root","data","selectedIndex","onValueChange","handleValueChange","middle","create","flexDirection","marginHorizontal"],"sources":["wheel-date-picker.component.tsx"],"sourcesContent":["import React, { Component } from 'react';\nimport { PixelRatio, StyleSheet, View } from 'react-native';\nimport WmWheelScrollPicker from './wheelpicker/wheelpicker.component'\nimport { getDateObject, getDates, getMonthIndex, getMonths, getYearRange ,getDaysInMonth} from '@wavemaker/app-rn-runtime/core/utils';\nimport moment from 'moment';\n\nexport class WmWheelDatePickerProps {\n minDate?: Date | string;\n maxDate?: Date | string;\n selectedDate?: Date = new Date();\n onDateChange?: (date: Date) => void;\n itemHeight?: number = PixelRatio.roundToNearestPixel(50);\n wrapperHeight?: number = PixelRatio.roundToNearestPixel(150);\n}\n\nexport const START_DATE = {\n 'date': 1,\n 'month': 0,\n 'year': 1950,\n};\n\nexport const END_DATE = {\n 'date': 31,\n 'month': 11,\n 'year': 2060,\n};\n\nexport class WmWheelDatePickerState {}\n\nexport class WmWheelDatePicker extends Component<\n WmWheelDatePickerProps,\n WmWheelDatePickerState,\n any\n> {\n itemHeight: number;\n wrapperHeight: number;\n selectedDateIndex: number = 0;\n selectedMonthIndex: number = 0;\n selectedYearIndex: number = 0;\n dateData: number[] = [];\n monthData: string[] = [];\n yearData: number[] = [];\n defaultSelectedDate: Date;\n localSelectedDate: Date | string = '';\n monthValue: number = 0;\n yearValue: string = '';\n\n constructor(props: WmWheelDatePickerProps) {\n super(props);\n const minDate = this.props.minDate ? new Date(this.props.minDate) : new Date(START_DATE.year, START_DATE.month, START_DATE.date);\n const maxDate = this.props.maxDate ? new Date(this.props.maxDate) : new Date(END_DATE.year, END_DATE.month, END_DATE.date);\n let selectedDate = this.props.selectedDate ? new Date(this.props.selectedDate) : new Date();\n\n if (selectedDate < minDate) selectedDate = minDate;\n if (selectedDate > maxDate) selectedDate = maxDate;\n\n this.itemHeight =\n PixelRatio.roundToNearestPixel(this.props.itemHeight || 50) || PixelRatio.roundToNearestPixel(50);\n this.wrapperHeight =\n PixelRatio.roundToNearestPixel(this.props.wrapperHeight || 150) || PixelRatio.roundToNearestPixel(150);\n\n // * Initial values\n this.defaultSelectedDate = selectedDate;\n this.localSelectedDate = selectedDate;\n this.monthValue = selectedDate.getMonth();\n this.yearValue = selectedDate.getFullYear()?.toString();\n\n const selectedYear = selectedDate.getFullYear();\n const selectedMonth = selectedDate.getMonth();\n const selectedDay = selectedDate.getDate();\n\n // Generate valid year range\n const minYear = minDate.getFullYear();\n const maxYear = maxDate.getFullYear();\n this.yearData = getYearRange(minYear, maxYear);\n this.selectedYearIndex = this.yearData.indexOf(selectedYear);\n\n // Generate valid months based on selected year\n let minMonth = 0;\n let maxMonth = 11;\n if (selectedYear === minYear) minMonth = minDate.getMonth();\n if (selectedYear === maxYear) maxMonth = maxDate.getMonth();\n this.monthData = getMonths(minMonth, maxMonth);\n this.selectedMonthIndex = this.monthData.indexOf(getMonths(0, 11)[selectedMonth]);\n\n // Generate valid days based on selected year & month\n let minDay = 1;\n let maxDay = getDaysInMonth(selectedMonth + 1, selectedYear);\n if (selectedYear === minYear && selectedMonth === minMonth) minDay = minDate.getDate();\n if (selectedYear === maxYear && selectedMonth === maxMonth) maxDay = maxDate.getDate();\n this.dateData = getDates(minDay, maxDay);\n this.selectedDateIndex = this.dateData.indexOf(selectedDay);\n }\n\ngetMinValue = (type: 'date' | 'month' | 'year') => {\n if (!this.props.minDate) return START_DATE[type];\n\n const minDate = new Date(this.props.minDate);\n switch (type) {\n case 'date':\n return minDate.getDate();\n case 'month':\n return minDate.getMonth();\n case 'year':\n return minDate.getFullYear();\n default:\n return 0;\n }\n};\n\ngetMaxValue = (type: 'date' | 'month' | 'year') => {\n if (!this.props.maxDate) return END_DATE[type];\n\n const maxDate = new Date(this.props.maxDate);\n switch (type) {\n case 'date':\n return maxDate.getDate();\n case 'month':\n return maxDate.getMonth();\n case 'year':\n return maxDate.getFullYear();\n default:\n return 0;\n }\n};\n\n\n handleValueChange = (valueType: 'date' | 'month' | 'year', value: string | number, index: number) => {\n let indexValue = Object.is(index,-0)? 0 : index;\n switch (valueType) {\n case 'date':\n this.selectedDateIndex = indexValue;\n break;\n case 'month':\n this.monthValue = getMonthIndex(value?.toString());\n this.selectedMonthIndex = indexValue;\n break;\n case 'year':\n this.selectedYearIndex = indexValue;\n break;\n }\n \n const minYear = this.getMinValue('year');\n const maxYear = this.getMaxValue('year');\n const selectedYear = getYearRange(minYear, maxYear)[this.selectedYearIndex];\n \n // Restrict months dynamically\n let minMonth = 0;\n let maxMonth = 11;\n if (selectedYear === minYear) minMonth = this.getMinValue('month');\n if (selectedYear === maxYear) maxMonth = this.getMaxValue('month');\n \n // Update month data dynamically\n this.monthData = getMonths(minMonth, maxMonth);\n\n // Ensure selected month is within range\n let minDate = 1;\n let maxDate: number = 31;\n \n if (this.monthValue > maxMonth) {\n this.selectedMonthIndex = maxMonth;\n }\n\n maxDate = getDaysInMonth(\n getMonthIndex(this.monthData[this.selectedMonthIndex]) + 1,\n selectedYear\n );\n\n if (this.monthValue < minMonth) {\n this.monthValue = minMonth;\n maxDate = getDaysInMonth(this.monthValue + 1, selectedYear);\n \n }\n \n // Restrict days dynamically\n const selectedMonth = this.selectedMonthIndex;\n if (selectedYear === minYear && this.monthValue === minMonth) minDate = this.getMinValue('date');\n \n if (selectedYear === maxYear && selectedMonth === maxMonth) maxDate = this.getMaxValue('date');\n \n \n // Update date data dynamically\n this.dateData = getDates(minDate, maxDate);\n \n // Ensure selected date is within range\n if (this.selectedDateIndex > maxDate - 1) this.selectedDateIndex = maxDate - 1;\n \n const selectedDate = this.dateData[this.selectedDateIndex] || this.dateData[this.dateData.indexOf(this.selectedDateIndex+1)];;\n \n \n // Create new selected date\n const dateObj = getDateObject(selectedDate, getMonthIndex(this.monthData[this.selectedMonthIndex]), selectedYear);\n this.localSelectedDate = dateObj;\n \n this.props?.onDateChange?.(this.localSelectedDate);\n };\n \n render() {\n return (\n <View style={styles.root}>\n <WmWheelScrollPicker\n data={this.dateData}\n wrapperHeight={this.wrapperHeight}\n itemHeight={this.itemHeight}\n selectedIndex={this.selectedDateIndex}\n onValueChange={(value, index) =>\n this.handleValueChange('date', value, index)\n }\n />\n <View style={styles.middle}>\n <WmWheelScrollPicker\n data={this.monthData}\n wrapperHeight={this.wrapperHeight}\n itemHeight={this.itemHeight}\n selectedIndex={this.selectedMonthIndex}\n onValueChange={(value, index) => \n this.handleValueChange('month', value, index)\n }\n />\n </View>\n <WmWheelScrollPicker\n data={getYearRange(this.getMinValue('year'), this.getMaxValue('year'))}\n wrapperHeight={this.wrapperHeight}\n itemHeight={this.itemHeight}\n selectedIndex={this.selectedYearIndex}\n onValueChange={(value, index) => \n this.handleValueChange('year', value, index)\n }\n />\n </View>\n );\n }\n}\n\nexport default WmWheelDatePicker;\n\nconst styles = StyleSheet.create({\n root: {\n flexDirection: 'row',\n },\n middle: {\n marginHorizontal: 15,\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
@@ -56,7 +56,8 @@ export class WmWheelScrollPicker extends BaseComponent {
|
|
56
56
|
return /*#__PURE__*/React.createElement(View, {
|
57
57
|
style: [styles.root, {
|
58
58
|
height: wrapperHeight
|
59
|
-
}]
|
59
|
+
}],
|
60
|
+
onLayout: event => this.handleLayout(event)
|
60
61
|
}, /*#__PURE__*/React.createElement(ScrollView, {
|
61
62
|
ref: this.wheelPickerRef,
|
62
63
|
scrollEventThrottle: 16,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","createRef","Text","View","ScrollView","DEFAULT_CLASS","BaseComponent","BaseComponentState","WmWheelPickerState","constructor","args","_defineProperty","WmWheelScrollPicker","props","event","selectedIdx","Math","round","nativeEvent","contentOffset","y","itemHeight","setState","selectedIndex","_this$props$onValueCh","_this$props","state","selectedData","data","onValueChange","call","wheelPickerRef","initialScrollTo","_this$wheelPickerRef","_this$wheelPickerRef$","current","scrollTo","animated","renderWidget","styles","wrapperHeight","scrollOffset","createElement","style","root","height","ref","scrollEventThrottle","contentContainerStyle","paddingVertical","showsVerticalScrollIndicator","
|
1
|
+
{"version":3,"names":["React","createRef","Text","View","ScrollView","DEFAULT_CLASS","BaseComponent","BaseComponentState","WmWheelPickerState","constructor","args","_defineProperty","WmWheelScrollPicker","props","event","selectedIdx","Math","round","nativeEvent","contentOffset","y","itemHeight","setState","selectedIndex","_this$props$onValueCh","_this$props","state","selectedData","data","onValueChange","call","wheelPickerRef","initialScrollTo","_this$wheelPickerRef","_this$wheelPickerRef$","current","scrollTo","animated","renderWidget","styles","wrapperHeight","scrollOffset","createElement","style","root","height","onLayout","handleLayout","ref","scrollEventThrottle","contentContainerStyle","paddingVertical","showsVerticalScrollIndicator","onScroll","handleWheelScroll","onMomentumScrollEnd","handleWheelMomentumEnd","decelerationRate","snapToInterval","map","item","index","isSelected","key","center","itemBg","selectedItemText","itemText","selectedItemBg","top"],"sources":["wheelpicker.component.tsx"],"sourcesContent":["import React, {createRef} from 'react';\nimport {\n NativeScrollEvent,\n NativeSyntheticEvent,\n Text,\n View,\n} from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport WmWheelPickerProps from './wheelpicker.props';\nimport { DEFAULT_CLASS, WmWheelPickerStyles } from './wheelpicker.styles';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport class WmWheelPickerState extends BaseComponentState<WmWheelPickerProps> {\n selectedIndex: number = 0;\n}\n\nexport class WmWheelScrollPicker extends BaseComponent<WmWheelPickerProps, WmWheelPickerState,\n WmWheelPickerStyles> {\n wheelPickerRef: any = null;\n\n constructor(props: WmWheelPickerProps) {\n super(props, DEFAULT_CLASS);\n\n this.wheelPickerRef = createRef();\n }\n\n initialScrollTo() {\n const props = this.props;\n const y = props.itemHeight * props.selectedIndex;\n this.wheelPickerRef?.current?.scrollTo?.({y: y, animated: false});\n this.setState({\n selectedIndex: props.selectedIndex || 0,\n });\n }\n\n handleWheelScroll = (event: NativeSyntheticEvent<NativeScrollEvent>) => {\n // console.log('scroll =>', event.nativeEvent.contentOffset);\n const selectedIdx = Math.round(\n event.nativeEvent.contentOffset.y / this.props.itemHeight,\n );\n\n this.setState({\n selectedIndex: selectedIdx,\n });\n };\n\n handleWheelMomentumEnd = () => {\n const props = this.props;\n const state = this.state;\n\n const selectedData = props.data[state.selectedIndex];\n this.props.onValueChange?.(selectedData, state.selectedIndex);\n };\n\n renderWidget(props: WmWheelPickerProps) {\n const state = this.state;\n const styles = this.styles;\n const {data, wrapperHeight, itemHeight} = props;\n const scrollOffset = (wrapperHeight - itemHeight) / 2;\n\n return (\n <View \n style={[styles.root, {height: wrapperHeight}]}\n onLayout={(event) => this.handleLayout(event)}\n >\n <ScrollView\n ref={this.wheelPickerRef}\n scrollEventThrottle={16}\n contentContainerStyle={{paddingVertical: scrollOffset}}\n showsVerticalScrollIndicator={false}\n onLayout={() => this.initialScrollTo()}\n onScroll={this.handleWheelScroll}\n onMomentumScrollEnd={this.handleWheelMomentumEnd}\n decelerationRate=\"fast\"\n snapToInterval={itemHeight} // your snap points\n >\n {data.map((item, index) => {\n const isSelected = index === state.selectedIndex;\n\n return (\n <View\n key={`data_item_${index}`}\n style={[styles.center, styles.itemBg, {height: itemHeight}]}>\n <Text\n style={\n isSelected ? [styles.selectedItemText] : [styles.itemText]\n }>\n {item}\n </Text>\n </View>\n );\n })}\n </ScrollView>\n <View\n style={[\n styles.selectedItemBg,\n {\n height: itemHeight,\n top: scrollOffset,\n },\n ]}\n />\n </View>\n );\n }\n}\n\nexport default WmWheelScrollPicker;\n"],"mappings":"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","ignoreList":[]}
|
@@ -43,7 +43,8 @@ export class WmDatePickerModal extends BaseComponent {
|
|
43
43
|
onRequestClose: onClose,
|
44
44
|
onDismiss: onClose
|
45
45
|
}, /*#__PURE__*/React.createElement(View, {
|
46
|
-
style: styles.root
|
46
|
+
style: styles.root,
|
47
|
+
onLayout: event => this.handleLayout(event)
|
47
48
|
}, /*#__PURE__*/React.createElement(TouchableWithoutFeedback, {
|
48
49
|
style: styles.flex1,
|
49
50
|
onPress: onClose
|
@@ -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","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}>\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":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,KAAK,EAAEC,IAAI,EAAEC,wBAAwB,EAAEC,IAAI,QAAQ,cAAc;AAC1E,OAAOC,iBAAiB,MAAM,mCAAmC;AACjE,OAAOC,QAAQ,MAAM,2CAA2C;AAChE,SACEC,aAAa,QAER,wCAAwC;AAC/C,SACEC,aAAa,EACbC,kBAAkB,QACb,+CAA+C;AACtD,OAAOC,sBAAsB,MAAM,2BAA2B;AAE9D,OAAO,MAAMC,sBAAsB,SAASF,kBAAkB,CAAyB;EAAAG,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,uBAChE,IAAIC,IAAI,CAAC,CAAC;EAAA;AACjC;AAEA,OAAO,MAAMC,iBAAiB,SAASR,aAAa,CAIlD;EACAI,WAAWA,CAACK,KAA6B,EAAE;IACzC,KAAK,CAACA,KAAK,EAAEV,aAAa,EAAE,IAAIG,sBAAsB,CAAC,CAAC,CAAC;EAC3D;EAEAQ,YAAYA,CAAA,EAAG;IACb,MAAM;MAAEC,SAAS;MAAEC,OAAO;MAAEC,OAAO;MAAEC,OAAO;MAAEC,QAAQ;MAAEC,QAAQ;MAAEC,eAAe;MAAEC,qBAAqB;MAAEC;IAAgB,CAAC,GAAG,IAAI,CAACV,KAAK;IACxI,MAAM;MAAEW;IAAa,CAAC,GAAG,IAAI,CAACC,KAAK;IACnC,MAAM;MAAEC;IAAO,CAAC,GAAG,IAAI;IAEvB,oBACE9B,KAAA,CAAA+B,aAAA,CAAC9B,KAAK;MACJ+B,aAAa,EAAC,MAAM;MACpBC,WAAW,EAAE,IAAK;MAClBC,OAAO,EAAEf,SAAU;MACnBgB,cAAc,EAAEb,OAAQ;MACxBc,SAAS,EAAEd;IAAQ,gBAEnBtB,KAAA,CAAA+B,aAAA,CAAC3B,IAAI;MAACiC,KAAK,EAAEP,MAAM,CAACQ;IAAK,
|
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":"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","ignoreList":[]}
|
@@ -42,7 +42,8 @@ export class WmTimePickerModal extends BaseComponent {
|
|
42
42
|
onRequestClose: onClose,
|
43
43
|
onDismiss: onClose
|
44
44
|
}, /*#__PURE__*/React.createElement(View, {
|
45
|
-
style: styles.root
|
45
|
+
style: styles.root,
|
46
|
+
onLayout: event => this.handleLayout(event)
|
46
47
|
}, /*#__PURE__*/React.createElement(TouchableWithoutFeedback, {
|
47
48
|
style: styles.flex1,
|
48
49
|
onPress: onClose
|
@@ -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","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}>\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":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,KAAK,EAAEC,IAAI,EAAEC,wBAAwB,EAAEC,IAAI,QAAQ,cAAc;AAC1E,OAAOC,iBAAiB,MAAM,mCAAmC;AACjE,OAAOC,QAAQ,MAAM,2CAA2C;AAChE,SACEC,aAAa,QAER,wCAAwC;AAC/C,SACEC,aAAa,EACbC,kBAAkB,QACb,+CAA+C;AACtD,OAAOC,sBAAsB,MAAM,2BAA2B;AAE9D,OAAO,MAAMC,sBAAsB,SAASF,kBAAkB,CAAyB;EAAAG,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,uBAChE,IAAIC,IAAI,CAAC,CAAC;EAAA;AACjC;AAEA,OAAO,MAAMC,iBAAiB,SAASR,aAAa,CAIlD;EACAI,WAAWA,CAACK,KAA6B,EAAE;IACzC,KAAK,CAACA,KAAK,EAAEV,aAAa,EAAE,IAAIG,sBAAsB,CAAC,CAAC,CAAC;EAC3D;EAEAQ,YAAYA,CAACD,KAA6B,EAAE;IAC1C,MAAM;MAAEE,QAAQ;MAAEC,SAAS;MAAEC,OAAO;MAAEC,QAAQ;MAAEC,QAAQ;MAAEC,eAAe;MAAEC,qBAAqB;MAAEC;IAAgB,CAAC,GAAG,IAAI,CAACT,KAAK;IAChI,MAAM;MAAEU;IAAa,CAAC,GAAG,IAAI,CAACC,KAAK;IACnC,MAAM;MAAEC;IAAO,CAAC,GAAG,IAAI;IAEvB,oBACE7B,KAAA,CAAA8B,aAAA,CAAC7B,KAAK;MACJ8B,aAAa,EAAC,MAAM;MACpBC,WAAW,EAAE,IAAK;MAClBC,OAAO,EAAEb,SAAU;MACnBc,cAAc,EAAEb,OAAQ;MACxBc,SAAS,EAAEd;IAAQ,gBAEnBrB,KAAA,CAAA8B,aAAA,CAAC1B,IAAI;MAACgC,KAAK,EAAEP,MAAM,CAACQ;IAAK,
|
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":"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","ignoreList":[]}
|
@@ -44,7 +44,8 @@ export default class WmFileupload extends BaseComponent {
|
|
44
44
|
}
|
45
45
|
renderWidget(props) {
|
46
46
|
return /*#__PURE__*/React.createElement(View, {
|
47
|
-
style: this.styles.root
|
47
|
+
style: this.styles.root,
|
48
|
+
onLayout: event => this.handleLayout(event)
|
48
49
|
}, this._background, /*#__PURE__*/React.createElement(WmButton, {
|
49
50
|
accessibilitylabel: props.accessibilitylabel || props.caption,
|
50
51
|
hint: props.hint,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Platform","View","DocumentPicker","BaseComponent","BaseComponentState","WmFileuploadProps","DEFAULT_CLASS","WmButton","getMimeType","WmFileuploadState","constructor","args","_defineProperty","namedParameters","copyToCacheDirectory","multiple","type","WmFileupload","props","onTap","contenttype","getDocumentAsync","then","response","selectedFile","OS","assets","mimeType","file","invokeEventCallback","proxy","updateState","selectedFiles","bind","renderWidget","createElement","style","styles","root","_background","accessibilitylabel","caption","hint","id","getTestId","iconclass","button","iconsize"],"sources":["fileupload.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform, View } from 'react-native';\nimport * as DocumentPicker from 'expo-document-picker';\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';\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\n constructor(props: WmFileuploadProps) {\n super(props, DEFAULT_CLASS, new WmFileuploadProps());\n }\n\n onTap(props: WmFileuploadProps) {\n namedParameters.type = getMimeType(props.contenttype);\n DocumentPicker.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 return <View style={this.styles.root}>\n {this._background}\n <WmButton accessibilitylabel={props.accessibilitylabel || props.caption} hint = {props.hint} id={this.getTestId()} iconclass={props.iconclass} caption={props.caption} styles={this.styles.button} iconsize={props.iconsize} onTap={() => this.onTap.bind(this)(props)}></WmButton>\n </View>\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,EAAEC,IAAI,QAAQ,cAAc;AAC7C,OAAO,KAAKC,cAAc,MAAM,sBAAsB;AAEtD,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,iBAAiB,MAAM,oBAAoB;AAClD,SAASC,aAAa,QAA4B,qBAAqB;AACvE,OAAOC,QAAQ,MAAM,oEAAoE;AACzF,SAASC,WAAW,QAAQ,sCAAsC;AAUlE,OAAO,MAAMC,iBAAiB,SAASL,kBAAkB,CAAoB;EAAAM,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;EAAA;AAE7E;AAQA,MAAMC,eAAoC,GAAG;EAC3CC,oBAAoB,EAAE,KAAK;EAC3BC,QAAQ,EAAE,KAAK;EACfC,IAAI,EAAE;AACR,CAAC;AAED,eAAe,MAAMC,YAAY,SAASd,aAAa,CAA2D;EAEhHO,WAAWA,CAACQ,KAAwB,EAAE;IACpC,KAAK,CAACA,KAAK,EAAEZ,aAAa,EAAE,IAAID,iBAAiB,CAAC,CAAC,CAAC;EACtD;EAEAc,KAAKA,CAACD,KAAwB,EAAE;IAC9BL,eAAe,CAACG,IAAI,GAAGR,WAAW,CAACU,KAAK,CAACE,WAAW,CAAC;IACrDlB,cAAc,CAACmB,gBAAgB,CAACR,eAAe,CAAC,CAACS,IAAI,CAAEC,QAAa,IAAK;MACvE,IAAIC,YAAY;MAChB,IAAIxB,QAAQ,CAACyB,EAAE,KAAK,KAAK,EAAE;QACzBD,YAAY,GAAGD,QAAQ,CAACG,MAAM,CAAC,CAAC,CAAC;QACjCF,YAAY,CAACR,IAAI,GAAGQ,YAAY,CAACG,QAAQ;MAC3C,CAAC,MAAM;QACLH,YAAY,GAAG,CAACD,QAAQ,CAACG,MAAM,CAAC,CAAC,CAAC,CAACE,IAAI,CAAC;MAC1C;MACA,IAAI,CAACC,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,EAAEN,YAAY,CAAC,CAAC;MAE5E,IAAI,CAACO,WAAW,CAAC;QACbb,KAAK,EAAE;UACPc,aAAa,EAAER;QACjB;MACF,CAAC,EAAuB,IAAI,CAACK,mBAAmB,CAACI,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAACH,KAAK,EAAEN,YAAY,CAAC,CAAC,CAAC;IAC5G,CAAC,CAAC;EACJ;EAEAU,YAAYA,CAAChB,KAAwB,EAAE;IACrC,oBAAOnB,KAAA,CAAAoC,aAAA,CAAClC,IAAI;MAACmC,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC;IAAK,
|
1
|
+
{"version":3,"names":["React","Platform","View","DocumentPicker","BaseComponent","BaseComponentState","WmFileuploadProps","DEFAULT_CLASS","WmButton","getMimeType","WmFileuploadState","constructor","args","_defineProperty","namedParameters","copyToCacheDirectory","multiple","type","WmFileupload","props","onTap","contenttype","getDocumentAsync","then","response","selectedFile","OS","assets","mimeType","file","invokeEventCallback","proxy","updateState","selectedFiles","bind","renderWidget","createElement","style","styles","root","onLayout","event","handleLayout","_background","accessibilitylabel","caption","hint","id","getTestId","iconclass","button","iconsize"],"sources":["fileupload.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform, View } from 'react-native';\nimport * as DocumentPicker from 'expo-document-picker';\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';\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\n constructor(props: WmFileuploadProps) {\n super(props, DEFAULT_CLASS, new WmFileuploadProps());\n }\n\n onTap(props: WmFileuploadProps) {\n namedParameters.type = getMimeType(props.contenttype);\n DocumentPicker.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 return <View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n {this._background}\n <WmButton accessibilitylabel={props.accessibilitylabel || props.caption} hint = {props.hint} id={this.getTestId()} iconclass={props.iconclass} caption={props.caption} styles={this.styles.button} iconsize={props.iconsize} onTap={() => this.onTap.bind(this)(props)}></WmButton>\n </View>\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,EAAEC,IAAI,QAAQ,cAAc;AAC7C,OAAO,KAAKC,cAAc,MAAM,sBAAsB;AAEtD,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,iBAAiB,MAAM,oBAAoB;AAClD,SAASC,aAAa,QAA4B,qBAAqB;AACvE,OAAOC,QAAQ,MAAM,oEAAoE;AACzF,SAASC,WAAW,QAAQ,sCAAsC;AAUlE,OAAO,MAAMC,iBAAiB,SAASL,kBAAkB,CAAoB;EAAAM,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;EAAA;AAE7E;AAQA,MAAMC,eAAoC,GAAG;EAC3CC,oBAAoB,EAAE,KAAK;EAC3BC,QAAQ,EAAE,KAAK;EACfC,IAAI,EAAE;AACR,CAAC;AAED,eAAe,MAAMC,YAAY,SAASd,aAAa,CAA2D;EAEhHO,WAAWA,CAACQ,KAAwB,EAAE;IACpC,KAAK,CAACA,KAAK,EAAEZ,aAAa,EAAE,IAAID,iBAAiB,CAAC,CAAC,CAAC;EACtD;EAEAc,KAAKA,CAACD,KAAwB,EAAE;IAC9BL,eAAe,CAACG,IAAI,GAAGR,WAAW,CAACU,KAAK,CAACE,WAAW,CAAC;IACrDlB,cAAc,CAACmB,gBAAgB,CAACR,eAAe,CAAC,CAACS,IAAI,CAAEC,QAAa,IAAK;MACvE,IAAIC,YAAY;MAChB,IAAIxB,QAAQ,CAACyB,EAAE,KAAK,KAAK,EAAE;QACzBD,YAAY,GAAGD,QAAQ,CAACG,MAAM,CAAC,CAAC,CAAC;QACjCF,YAAY,CAACR,IAAI,GAAGQ,YAAY,CAACG,QAAQ;MAC3C,CAAC,MAAM;QACLH,YAAY,GAAG,CAACD,QAAQ,CAACG,MAAM,CAAC,CAAC,CAAC,CAACE,IAAI,CAAC;MAC1C;MACA,IAAI,CAACC,mBAAmB,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,EAAEN,YAAY,CAAC,CAAC;MAE5E,IAAI,CAACO,WAAW,CAAC;QACbb,KAAK,EAAE;UACPc,aAAa,EAAER;QACjB;MACF,CAAC,EAAuB,IAAI,CAACK,mBAAmB,CAACI,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAACH,KAAK,EAAEN,YAAY,CAAC,CAAC,CAAC;IAC5G,CAAC,CAAC;EACJ;EAEAU,YAAYA,CAAChB,KAAwB,EAAE;IACrC,oBAAOnB,KAAA,CAAAoC,aAAA,CAAClC,IAAI;MAACmC,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC,IAAK;MAACC,QAAQ,EAAGC,KAAK,IAAK,IAAI,CAACC,YAAY,CAACD,KAAK;IAAE,GACjF,IAAI,CAACE,WAAW,eACjB3C,KAAA,CAAAoC,aAAA,CAAC5B,QAAQ;MAACoC,kBAAkB,EAAEzB,KAAK,CAACyB,kBAAkB,IAAIzB,KAAK,CAAC0B,OAAQ;MAACC,IAAI,EAAI3B,KAAK,CAAC2B,IAAK;MAACC,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,CAAE;MAACC,SAAS,EAAE9B,KAAK,CAAC8B,SAAU;MAACJ,OAAO,EAAE1B,KAAK,CAAC0B,OAAQ;MAACP,MAAM,EAAE,IAAI,CAACA,MAAM,CAACY,MAAO;MAACC,QAAQ,EAAEhC,KAAK,CAACgC,QAAS;MAAC/B,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACA,KAAK,CAACc,IAAI,CAAC,IAAI,CAAC,CAACf,KAAK;IAAE,CAAW,CAC9Q,CAAC;EACT;AACF","ignoreList":[]}
|
@@ -76,7 +76,8 @@ export default class WmNumber extends BaseNumberComponent {
|
|
76
76
|
},
|
77
77
|
onChange: this.invokeChange.bind(this),
|
78
78
|
allowContentSelection: this.styles.text.userSelect === 'text',
|
79
|
-
customDisplayValue: props.displayValue
|
79
|
+
customDisplayValue: props.displayValue,
|
80
|
+
handleLayout: event => this.handleLayout(event)
|
80
81
|
}));
|
81
82
|
}
|
82
83
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Platform","View","isNull","WmNumberProps","DEFAULT_CLASS","WMTextInput","BaseNumberComponent","BaseNumberState","AccessibilityWidgetType","getAccessibilityProps","createSkeleton","WmNumberState","constructor","args","_defineProperty","WmNumber","props","getStyleClassName","classes","state","floatinglabel","push","join","renderTextSkeleton","createElement","style","styles","root","theme","skeletonLabel","Fragment","skeleton","renderWidget","_this$state$textValue","opts","valueExpr","OS","textValue","toString","_showSkeleton","_extends","getTestPropsForInput","NUMBER","ref","widgetRef","selectionStart","selectionEnd","cursor","floatingLabel","floatingLabelStyle","activeFloatingLabelStyle","activeFloatingLabel","isInputFocused","isValid","invalid","focused","keyboardType","background","_background","placeholderTextColor","placeholderText","color","autoFocus","autofocus","editable","disabled","readonly","placeholder","onBlur","event","bind","displayValue","onFocus","onKeyPress","validateInputEntry","onChangeText","text","onChange","invokeChange","allowContentSelection","userSelect","customDisplayValue"],"sources":["number.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Platform, View } from 'react-native';\nimport { isNull } from 'lodash';\n\nimport WmNumberProps from './number.props';\nimport { DEFAULT_CLASS, WmNumberStyles } from './number.styles';\nimport { WMTextInput } from '@wavemaker/app-rn-runtime/core/components/textinput.component';\nimport {\n BaseNumberComponent,\n BaseNumberState\n} from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class WmNumberState extends BaseNumberState<WmNumberProps> {\n keyboardType: any;\n}\n\nexport default class WmNumber extends BaseNumberComponent<WmNumberProps, WmNumberState, WmNumberStyles> {\n\n constructor(props: WmNumberProps) {\n super(props, DEFAULT_CLASS, new WmNumberProps(), new WmNumberState());\n }\n\n public getStyleClassName(): string | undefined {\n const classes = [];\n if (this.state.props.floatinglabel) {\n classes.push('app-number-with-label'); \n }\n classes.push(super.getStyleClassName());\n return classes.join(' ');\n }\n\n public renderTextSkeleton(): React.ReactNode { \n return this.props.floatinglabel ? \n <View style={{...this.styles.root}}>{createSkeleton(this.theme, {} as WmSkeletonStyles, {...this.styles.skeletonLabel.root})}</View>\n :<>{createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.skeleton.root,\n })}</> \n }\n\n renderWidget(props: WmNumberProps) {\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.textValue?.toString() || '';\n return (this._showSkeleton ? this.renderTextSkeleton() : \n <WMTextInput\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(AccessibilityWidgetType.NUMBER, props)}\n ref={(ref: any) => {this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }}}\n {...opts}\n floatingLabel={props.floatinglabel}\n floatingLabelStyle={this.styles.floatingLabel}\n activeFloatingLabelStyle={this.styles.activeFloatingLabel}\n isInputFocused={ this.state.isInputFocused }\n style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid, this.state.isInputFocused ? this.styles.focused : {}]}\n keyboardType=\"numeric\"\n background={this._background}\n placeholderTextColor={this.styles.placeholderText.color as any}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n placeholder={props.placeholder}\n onBlur={(event)=>{this.onBlur.bind(this)(event, !!props.displayValue)}}\n onFocus={this.onFocus.bind(this)}\n onKeyPress={this.validateInputEntry.bind(this)}\n onChangeText={(text) => {\n this.onChangeText.bind(this)(text, 'number', !!props.displayValue);\n }}\n onChange={this.invokeChange.bind(this)}\n allowContentSelection={this.styles.text.userSelect === 'text'}\n customDisplayValue={props.displayValue}\n />);\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,
|
1
|
+
{"version":3,"names":["React","Platform","View","isNull","WmNumberProps","DEFAULT_CLASS","WMTextInput","BaseNumberComponent","BaseNumberState","AccessibilityWidgetType","getAccessibilityProps","createSkeleton","WmNumberState","constructor","args","_defineProperty","WmNumber","props","getStyleClassName","classes","state","floatinglabel","push","join","renderTextSkeleton","createElement","style","styles","root","theme","skeletonLabel","Fragment","skeleton","renderWidget","_this$state$textValue","opts","valueExpr","OS","textValue","toString","_showSkeleton","_extends","getTestPropsForInput","NUMBER","ref","widgetRef","selectionStart","selectionEnd","cursor","floatingLabel","floatingLabelStyle","activeFloatingLabelStyle","activeFloatingLabel","isInputFocused","isValid","invalid","focused","keyboardType","background","_background","placeholderTextColor","placeholderText","color","autoFocus","autofocus","editable","disabled","readonly","placeholder","onBlur","event","bind","displayValue","onFocus","onKeyPress","validateInputEntry","onChangeText","text","onChange","invokeChange","allowContentSelection","userSelect","customDisplayValue","handleLayout"],"sources":["number.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, LayoutChangeEvent, Platform, View } from 'react-native';\nimport { isNull } from 'lodash';\n\nimport WmNumberProps from './number.props';\nimport { DEFAULT_CLASS, WmNumberStyles } from './number.styles';\nimport { WMTextInput } from '@wavemaker/app-rn-runtime/core/components/textinput.component';\nimport {\n BaseNumberComponent,\n BaseNumberState\n} from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class WmNumberState extends BaseNumberState<WmNumberProps> {\n keyboardType: any;\n}\n\nexport default class WmNumber extends BaseNumberComponent<WmNumberProps, WmNumberState, WmNumberStyles> {\n\n constructor(props: WmNumberProps) {\n super(props, DEFAULT_CLASS, new WmNumberProps(), new WmNumberState());\n }\n\n public getStyleClassName(): string | undefined {\n const classes = [];\n if (this.state.props.floatinglabel) {\n classes.push('app-number-with-label'); \n }\n classes.push(super.getStyleClassName());\n return classes.join(' ');\n }\n\n public renderTextSkeleton(): React.ReactNode { \n return this.props.floatinglabel ? \n <View style={{...this.styles.root}}>{createSkeleton(this.theme, {} as WmSkeletonStyles, {...this.styles.skeletonLabel.root})}</View>\n :<>{createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.skeleton.root,\n })}</> \n }\n\n renderWidget(props: WmNumberProps) {\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.textValue?.toString() || '';\n return (this._showSkeleton ? this.renderTextSkeleton() : \n <WMTextInput\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(AccessibilityWidgetType.NUMBER, props)}\n ref={(ref: any) => {this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }}}\n {...opts}\n floatingLabel={props.floatinglabel}\n floatingLabelStyle={this.styles.floatingLabel}\n activeFloatingLabelStyle={this.styles.activeFloatingLabel}\n isInputFocused={ this.state.isInputFocused }\n style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid, this.state.isInputFocused ? this.styles.focused : {}]}\n keyboardType=\"numeric\"\n background={this._background}\n placeholderTextColor={this.styles.placeholderText.color as any}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n placeholder={props.placeholder}\n onBlur={(event)=>{this.onBlur.bind(this)(event, !!props.displayValue)}}\n onFocus={this.onFocus.bind(this)}\n onKeyPress={this.validateInputEntry.bind(this)}\n onChangeText={(text) => {\n this.onChangeText.bind(this)(text, 'number', !!props.displayValue);\n }}\n onChange={this.invokeChange.bind(this)}\n allowContentSelection={this.styles.text.userSelect === 'text'}\n customDisplayValue={props.displayValue}\n handleLayout={(event: LayoutChangeEvent) => this.handleLayout(event)}\n />);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -111,7 +111,8 @@ export default class WmRadioset extends BaseDatasetComponent {
|
|
111
111
|
renderWidget(props) {
|
112
112
|
const items = this.state.dataItems;
|
113
113
|
return props.radiosetscroll ? /*#__PURE__*/React.createElement(ScrollView, {
|
114
|
-
style: this.styles.root
|
114
|
+
style: this.styles.root,
|
115
|
+
onLayout: event => this.handleLayout(event)
|
115
116
|
}, /*#__PURE__*/React.createElement(ScrollView, {
|
116
117
|
horizontal: true,
|
117
118
|
style: this.isRTL && Platform.OS == 'android' ? {
|
@@ -125,7 +126,8 @@ export default class WmRadioset extends BaseDatasetComponent {
|
|
125
126
|
}]
|
126
127
|
} : {}
|
127
128
|
}, props.groupby && this.renderGroupby(), !props.groupby && this.renderRadioButtons(items))) : /*#__PURE__*/React.createElement(View, {
|
128
|
-
style: [this.styles.root]
|
129
|
+
style: [this.styles.root],
|
130
|
+
onLayout: event => this.handleLayout(event)
|
129
131
|
}, props.groupby && this.renderGroupby(), !props.groupby && this.renderRadioButtons(items));
|
130
132
|
}
|
131
133
|
}
|