@wavemaker/app-rn-runtime 11.10.4-next.27838 → 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.
Files changed (183) hide show
  1. package/components/advanced/carousel/carousel.component.js +2 -1
  2. package/components/advanced/carousel/carousel.component.js.map +1 -1
  3. package/components/advanced/login/login.component.js +2 -1
  4. package/components/advanced/login/login.component.js.map +1 -1
  5. package/components/advanced/webview/webview.component.js +2 -1
  6. package/components/advanced/webview/webview.component.js.map +1 -1
  7. package/components/basic/anchor/anchor.component.js +2 -1
  8. package/components/basic/anchor/anchor.component.js.map +1 -1
  9. package/components/basic/animatedview.component.js +5 -2
  10. package/components/basic/animatedview.component.js.map +1 -1
  11. package/components/basic/audio/audio.component.js +2 -1
  12. package/components/basic/audio/audio.component.js.map +1 -1
  13. package/components/basic/button/button.component.js +1 -0
  14. package/components/basic/button/button.component.js.map +1 -1
  15. package/components/basic/buttongroup/buttongroup.component.js +2 -1
  16. package/components/basic/buttongroup/buttongroup.component.js.map +1 -1
  17. package/components/basic/custom/custom.component.js +2 -1
  18. package/components/basic/custom/custom.component.js.map +1 -1
  19. package/components/basic/icon/icon.component.js +2 -1
  20. package/components/basic/icon/icon.component.js.map +1 -1
  21. package/components/basic/label/label.component.js +2 -1
  22. package/components/basic/label/label.component.js.map +1 -1
  23. package/components/basic/lottie/lottie.component.js +2 -1
  24. package/components/basic/lottie/lottie.component.js.map +1 -1
  25. package/components/basic/message/message.component.js +2 -1
  26. package/components/basic/message/message.component.js.map +1 -1
  27. package/components/basic/modal/modal.component.js +4 -2
  28. package/components/basic/modal/modal.component.js.map +1 -1
  29. package/components/basic/picture/picture.component.js +93 -8
  30. package/components/basic/picture/picture.component.js.map +1 -1
  31. package/components/basic/picture/picture.props.js +1 -0
  32. package/components/basic/picture/picture.props.js.map +1 -1
  33. package/components/basic/progress-bar/progress-bar.component.js +2 -1
  34. package/components/basic/progress-bar/progress-bar.component.js.map +1 -1
  35. package/components/basic/progress-circle/progress-circle.component.js +1 -0
  36. package/components/basic/progress-circle/progress-circle.component.js.map +1 -1
  37. package/components/basic/search/search.component.js +3 -1
  38. package/components/basic/search/search.component.js.map +1 -1
  39. package/components/basic/spinner/spinner.component.js +2 -1
  40. package/components/basic/spinner/spinner.component.js.map +1 -1
  41. package/components/basic/tooltip/tooltip.component.js +2 -1
  42. package/components/basic/tooltip/tooltip.component.js.map +1 -1
  43. package/components/basic/video/video.component.js +36 -5
  44. package/components/basic/video/video.component.js.map +1 -1
  45. package/components/basic/video/video.props.js +1 -0
  46. package/components/basic/video/video.props.js.map +1 -1
  47. package/components/basic/video/video.styles.js +13 -0
  48. package/components/basic/video/video.styles.js.map +1 -1
  49. package/components/chart/area-chart/area-chart.component.js +1 -0
  50. package/components/chart/area-chart/area-chart.component.js.map +1 -1
  51. package/components/chart/basechart.component.js +1 -0
  52. package/components/chart/basechart.component.js.map +1 -1
  53. package/components/chart/pie-chart/pie-chart.component.js +1 -0
  54. package/components/chart/pie-chart/pie-chart.component.js.map +1 -1
  55. package/components/chart/stack-chart/stack-chart.component.js +1 -0
  56. package/components/chart/stack-chart/stack-chart.component.js.map +1 -1
  57. package/components/container/accordion/accordion.component.js +2 -1
  58. package/components/container/accordion/accordion.component.js.map +1 -1
  59. package/components/container/container.component.js +2 -1
  60. package/components/container/container.component.js.map +1 -1
  61. package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js +2 -1
  62. package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js.map +1 -1
  63. package/components/container/layoutgrid/gridrow/gridrow.component.js +2 -1
  64. package/components/container/layoutgrid/gridrow/gridrow.component.js.map +1 -1
  65. package/components/container/layoutgrid/layoutgrid.component.js +1 -0
  66. package/components/container/layoutgrid/layoutgrid.component.js.map +1 -1
  67. package/components/container/linearlayout/linearlayout.component.js +2 -1
  68. package/components/container/linearlayout/linearlayout.component.js.map +1 -1
  69. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +2 -1
  70. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
  71. package/components/container/panel/panel.component.js +2 -1
  72. package/components/container/panel/panel.component.js.map +1 -1
  73. package/components/container/tabs/tabheader/tabheader.component.js +3 -1
  74. package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  75. package/components/container/tabs/tabpane/tabpane.component.js +2 -1
  76. package/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
  77. package/components/container/tabs/tabs.component.js +2 -1
  78. package/components/container/tabs/tabs.component.js.map +1 -1
  79. package/components/container/tile/tile.component.js +2 -1
  80. package/components/container/tile/tile.component.js.map +1 -1
  81. package/components/container/wizard/wizard.component.js +2 -1
  82. package/components/container/wizard/wizard.component.js.map +1 -1
  83. package/components/container/wizard/wizardstep/wizardstep.component.js +2 -1
  84. package/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
  85. package/components/data/card/card-content/card-content.component.js +2 -1
  86. package/components/data/card/card-content/card-content.component.js.map +1 -1
  87. package/components/data/card/card-footer/card-footer.component.js +2 -1
  88. package/components/data/card/card-footer/card-footer.component.js.map +1 -1
  89. package/components/data/card/card.component.js +2 -1
  90. package/components/data/card/card.component.js.map +1 -1
  91. package/components/data/form/form-body/form-body.component.js +2 -1
  92. package/components/data/form/form-body/form-body.component.js.map +1 -1
  93. package/components/data/form/form-field/form-field.component.js +2 -1
  94. package/components/data/form/form-field/form-field.component.js.map +1 -1
  95. package/components/data/form/form-footer/form-footer.component.js +2 -1
  96. package/components/data/form/form-footer/form-footer.component.js.map +1 -1
  97. package/components/data/form/form.component.js +2 -1
  98. package/components/data/form/form.component.js.map +1 -1
  99. package/components/data/list/list-template/list-template.component.js +2 -1
  100. package/components/data/list/list-template/list-template.component.js.map +1 -1
  101. package/components/data/list/list.component.js +6 -2
  102. package/components/data/list/list.component.js.map +1 -1
  103. package/components/data/list/list.props.js +1 -0
  104. package/components/data/list/list.props.js.map +1 -1
  105. package/components/device/barcodescanner/barcodescanner.component.js +2 -1
  106. package/components/device/barcodescanner/barcodescanner.component.js.map +1 -1
  107. package/components/device/camera/camera.component.js +2 -1
  108. package/components/device/camera/camera.component.js.map +1 -1
  109. package/components/dialogs/dialog/dialog.component.js +2 -1
  110. package/components/dialogs/dialog/dialog.component.js.map +1 -1
  111. package/components/dialogs/dialogactions/dialogactions.component.js +2 -1
  112. package/components/dialogs/dialogactions/dialogactions.component.js.map +1 -1
  113. package/components/dialogs/dialogcontent/dialogcontent.component.js +1 -0
  114. package/components/dialogs/dialogcontent/dialogcontent.component.js.map +1 -1
  115. package/components/input/calendar/calendar.component.js +2 -1
  116. package/components/input/calendar/calendar.component.js.map +1 -1
  117. package/components/input/checkbox/checkbox.component.js +2 -1
  118. package/components/input/checkbox/checkbox.component.js.map +1 -1
  119. package/components/input/checkboxset/checkboxset.component.js +2 -1
  120. package/components/input/checkboxset/checkboxset.component.js.map +1 -1
  121. package/components/input/chips/chips.component.js +2 -1
  122. package/components/input/chips/chips.component.js.map +1 -1
  123. package/components/input/composite/composite.component.js +2 -1
  124. package/components/input/composite/composite.component.js.map +1 -1
  125. package/components/input/currency/currency.component.js +2 -1
  126. package/components/input/currency/currency.component.js.map +1 -1
  127. package/components/input/epoch/base-datetime.component.js +3 -2
  128. package/components/input/epoch/base-datetime.component.js.map +1 -1
  129. package/components/input/epoch/wheel-date-picker.component.js +91 -84
  130. package/components/input/epoch/wheel-date-picker.component.js.map +1 -1
  131. package/components/input/epoch/wheelpicker/wheelpicker.component.js +2 -1
  132. package/components/input/epoch/wheelpicker/wheelpicker.component.js.map +1 -1
  133. package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js +2 -1
  134. package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js.map +1 -1
  135. package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js +2 -1
  136. package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js.map +1 -1
  137. package/components/input/fileupload/fileupload.component.js +2 -1
  138. package/components/input/fileupload/fileupload.component.js.map +1 -1
  139. package/components/input/number/number.component.js +2 -1
  140. package/components/input/number/number.component.js.map +1 -1
  141. package/components/input/radioset/radioset.component.js +4 -2
  142. package/components/input/radioset/radioset.component.js.map +1 -1
  143. package/components/input/rating/rating.component.js +2 -1
  144. package/components/input/rating/rating.component.js.map +1 -1
  145. package/components/input/select/select.component.js +4 -1
  146. package/components/input/select/select.component.js.map +1 -1
  147. package/components/input/slider/slider.component.js +2 -1
  148. package/components/input/slider/slider.component.js.map +1 -1
  149. package/components/input/switch/switch.component.js +2 -1
  150. package/components/input/switch/switch.component.js.map +1 -1
  151. package/components/input/text/text.component.js +2 -1
  152. package/components/input/text/text.component.js.map +1 -1
  153. package/components/input/textarea/textarea.component.js +2 -1
  154. package/components/input/textarea/textarea.component.js.map +1 -1
  155. package/components/input/toggle/toggle.component.js +1 -0
  156. package/components/input/toggle/toggle.component.js.map +1 -1
  157. package/components/navigation/appnavbar/appnavbar.component.js +2 -1
  158. package/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
  159. package/components/navigation/navbar/navbar.component.js +2 -1
  160. package/components/navigation/navbar/navbar.component.js.map +1 -1
  161. package/components/navigation/navitem/navitem.component.js +2 -1
  162. package/components/navigation/navitem/navitem.component.js.map +1 -1
  163. package/components/navigation/popover/popover.component.js +1 -0
  164. package/components/navigation/popover/popover.component.js.map +1 -1
  165. package/components/page/page.component.js.map +1 -1
  166. package/core/AppConfig.js.map +1 -1
  167. package/core/base.component.js +15 -21
  168. package/core/base.component.js.map +1 -1
  169. package/core/components/textinput.component.js +2 -1
  170. package/core/components/textinput.component.js.map +1 -1
  171. package/core/tappable.component.js +7 -3
  172. package/core/tappable.component.js.map +1 -1
  173. package/core/utils.js +13 -11
  174. package/core/utils.js.map +1 -1
  175. package/npm-shrinkwrap.json +7 -7
  176. package/package-lock.json +7 -7
  177. package/package.json +2 -2
  178. package/runtime/App.js +18 -7
  179. package/runtime/App.js.map +1 -1
  180. package/runtime/base-page.component.js +2 -3
  181. package/runtime/base-page.component.js.map +1 -1
  182. package/styles/style-props.js +1 -0
  183. 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(_props) {
30
+ constructor(props) {
32
31
  var _selectedDate$getFull;
33
- super(_props);
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", (minValue, type) => {
47
- const currentMonth = moment(minValue).format('M');
48
- const currentYear = moment(minValue).format('YYYY');
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
- const dateValue = isFutureYear ? 1 : isFutureMonth ? 1 : new Date(minValue).getDate();
57
- // this.selectedDateIndex = dateIndex;
58
- return dateValue;
50
+ return minDate.getDate();
59
51
  case 'month':
60
- const monthValue = isFutureYear ? 0 : new Date(minValue).getMonth();
61
- // this.selectedMonthIndex = 11;
62
- return monthValue;
52
+ return minDate.getMonth();
63
53
  case 'year':
64
- return new Date(minValue).getFullYear();
54
+ return minDate.getFullYear();
65
55
  default:
66
56
  return 0;
67
57
  }
68
58
  });
69
- _defineProperty(this, "getMaxValue", (maxValue, type) => {
70
- if (!(maxValue instanceof Date)) return END_DATE[type];
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 new Date(maxValue).getDate();
64
+ return maxDate.getDate();
74
65
  case 'month':
75
- return new Date(maxValue).getMonth();
66
+ return maxDate.getMonth();
76
67
  case 'year':
77
- return new Date(maxValue).getFullYear();
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 = index;
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 = index;
82
+ this.selectedMonthIndex = indexValue;
91
83
  break;
92
84
  case 'year':
93
- this.yearValue = value;
94
- this.selectedYearIndex = index;
95
- break;
96
- default:
85
+ this.selectedYearIndex = indexValue;
97
86
  break;
98
87
  }
99
- const {
100
- props
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
- const dateObj = getDateObject(selectedDate, selectedMonthIndex, selectedYear);
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, dateObj);
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 _selectedDate = this.props.selectedDate || new Date();
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
- // TODO: selected date handling for range of dates
127
- if (!(this.props.minDate || this.props.maxDate)) {
128
- this.selectedDateIndex = _selectedDate.getDate() - 1;
129
- this.selectedMonthIndex = _selectedDate.getMonth();
130
- this.selectedYearIndex = getYearRange().indexOf(_selectedDate.getFullYear());
131
- }
132
- }
133
- // TODO: cache this func for performance improvement
134
- getPickerData(type) {
135
- const {
136
- props
137
- } = this;
138
- const minDate = props.minDate;
139
- const maxDate = props.maxDate;
140
- const minDateNum = minDate ? this.getMinValue(minDate, 'date') : 1;
141
- const maxDateNum = maxDate ? this.getMaxValue(maxDate, 'date') : 31;
142
- const minMonth = minDate ? this.getMinValue(minDate, 'month') : 0;
143
- const maxMonth = maxDate ? this.getMaxValue(maxDate, 'month') : 11;
144
- const minYear = minDate ? this.getMinValue(minDate, 'year') : 1950;
145
- const maxYear = maxDate ? this.getMaxValue(maxDate, 'year') : 2060;
146
- switch (type) {
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.getPickerData('date'),
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.getPickerData('month'),
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.getPickerData('year'),
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","onLayout","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 style={[styles.root, {height: wrapperHeight}]}>\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":[]}
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":"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","ignoreList":[]}
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":"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","ignoreList":[]}
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,GAClC,IAAI,CAACC,WAAW,eACjBxC,KAAA,CAAAoC,aAAA,CAAC5B,QAAQ;MAACiC,kBAAkB,EAAEtB,KAAK,CAACsB,kBAAkB,IAAItB,KAAK,CAACuB,OAAQ;MAACC,IAAI,EAAIxB,KAAK,CAACwB,IAAK;MAACC,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,CAAE;MAACC,SAAS,EAAE3B,KAAK,CAAC2B,SAAU;MAACJ,OAAO,EAAEvB,KAAK,CAACuB,OAAQ;MAACJ,MAAM,EAAE,IAAI,CAACA,MAAM,CAACS,MAAO;MAACC,QAAQ,EAAE7B,KAAK,CAAC6B,QAAS;MAAC5B,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACA,KAAK,CAACc,IAAI,CAAC,IAAI,CAAC,CAACf,KAAK;IAAE,CAAW,CAC9Q,CAAC;EACT;AACF","ignoreList":[]}
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":"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","ignoreList":[]}
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
  }