@beppla/tapas-ui 1.0.68 → 1.0.70
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/commonjs/AnimatedNavItem/index.js.map +2 -1
- package/commonjs/BarChart/BarChart.js +112 -90
- package/commonjs/BarChart/BarChart.js.map +1 -1
- package/commonjs/Button/Button.js +96 -78
- package/commonjs/Button/Button.js.map +1 -2
- package/commonjs/Button/ButtonGroup.js +156 -136
- package/commonjs/Button/ButtonGroup.js.map +1 -2
- package/commonjs/Calendar/Calendar.base.js +162 -190
- package/commonjs/Calendar/Calendar.base.js.map +1 -2
- package/commonjs/Calendar/Calendar.js +86 -102
- package/commonjs/Calendar/Calendar.js.map +2 -1
- package/commonjs/Calendar/CustomRange.js +271 -324
- package/commonjs/Calendar/DaySelector.js +115 -113
- package/commonjs/Calendar/DaySelector.js.map +2 -1
- package/commonjs/Calendar/MonthSelector.js +118 -115
- package/commonjs/Calendar/local.js +2 -2
- package/commonjs/Calendar/local.js.map +2 -1
- package/commonjs/Calendar/types.js +11 -11
- package/commonjs/CheckBox/CheckBox.js +96 -63
- package/commonjs/CheckBox/CheckBox.js.map +1 -2
- package/commonjs/CheckBox/CheckBoxItem.js +78 -57
- package/commonjs/CheckBox/CheckBoxItem.js.map +1 -2
- package/commonjs/CircularProgress/CircularProgress.js +25 -23
- package/commonjs/CircularProgress/CircularProgress.js.map +1 -2
- package/commonjs/Collapsible/Collapsible.js +60 -74
- package/commonjs/Collapsible/Collapsible.js.map +2 -1
- package/commonjs/DashboardCard/DashboardCard.js +74 -94
- package/commonjs/DashboardCard/DashboardCard.js.map +1 -1
- package/commonjs/DataCell/DataCell.js +108 -0
- package/commonjs/DataCell/DataCell.js.map +1 -0
- package/commonjs/DataCell/index.js +15 -9
- package/commonjs/DataTable/DataTable.js +0 -69
- package/commonjs/DataTable/index.js.map +2 -1
- package/commonjs/DeviceSelectionModal/DeviceSelectionModal.js +242 -244
- package/commonjs/DeviceSelectionModal/DeviceSelectionModal.js.map +1 -2
- package/commonjs/DraggableFlatList/DraggableFlatList.js +1 -1
- package/commonjs/Dropdown/InputDropdown.js.map +2 -1
- package/commonjs/Gantt/Accessories.js +135 -168
- package/commonjs/Gantt/Accessories.js.map +1 -2
- package/commonjs/Gantt/Gantt.js +149 -149
- package/commonjs/Gantt/Gantt.js.map +2 -1
- package/commonjs/Gantt/GanttInnerElementType.js +93 -102
- package/commonjs/Gantt/GanttInnerElementType.js.map +2 -1
- package/commonjs/Gantt/helper.js +119 -145
- package/commonjs/Gantt/types.js +4 -4
- package/commonjs/Grid/VariableSizeGrid.js +120 -113
- package/commonjs/Grid/VariableSizeGrid.js.map +2 -1
- package/commonjs/Grid/helper.js.map +2 -1
- package/commonjs/Grid/timer.js +9 -5
- package/commonjs/Grid/timer.js.map +1 -2
- package/commonjs/HelloWave/HelloWave.js +46 -53
- package/commonjs/HelloWave/HelloWave.js.map +1 -2
- package/commonjs/Hoverable/Hoverable.js +35 -33
- package/commonjs/Hoverable/Hoverable.js.map +2 -2
- package/commonjs/IconText/IconText.js +88 -65
- package/commonjs/IconText/IconText.js.map +2 -1
- package/commonjs/Icons/TapasIcon.js +99 -100
- package/commonjs/Icons/TapasIcon.js.map +1 -2
- package/commonjs/Icons/TapasIconExpo.js +101 -94
- package/commonjs/Icons/smartFontLoader.js +266 -222
- package/commonjs/Image/PreviewImg.js +85 -63
- package/commonjs/Image/PreviewImg.js.map +1 -2
- package/commonjs/Layout/DrawerContext.js +49 -35
- package/commonjs/Layout/DrawerContext.js.map +1 -2
- package/commonjs/Layout/ToastContext.js +34 -46
- package/commonjs/LineChart/LineChart.js +126 -144
- package/commonjs/LineChart/LineChart.js.map +1 -2
- package/commonjs/LineChart/index.js +4 -3
- package/commonjs/LineChart/index.js.map +1 -2
- package/commonjs/ListItem/ListItem.js +80 -108
- package/commonjs/ListItem/ListItem.js.map +2 -1
- package/commonjs/Loading/Loading.js +66 -54
- package/commonjs/Loading/Loading.js.map +1 -1
- package/commonjs/MessageBox/MessageBox.js +127 -126
- package/commonjs/MessageBox/MessageBox.js.map +2 -1
- package/commonjs/MultiSelector/MultiSelector.js +250 -225
- package/commonjs/MultiSelector/index.js +6 -8
- package/commonjs/MultiSelector/index.js.map +2 -1
- package/commonjs/Navigation/Navigation.js +65 -0
- package/commonjs/Navigation/Navigation.js.map +1 -0
- package/commonjs/Notification/Notification.js +110 -89
- package/commonjs/Notification/index.js +6 -8
- package/commonjs/Notification/index.js.map +2 -1
- package/commonjs/NumericInput/NumericInput.js +23 -0
- package/commonjs/NumericInput/NumericInput.js.map +1 -0
- package/commonjs/Overlay/Overlay.js +24 -45
- package/commonjs/Overlay/Overlay.js.map +1 -1
- package/commonjs/Pagination/Pagination.js +93 -151
- package/commonjs/Pagination/Pagination.js.map +1 -1
- package/commonjs/PieChart/PieChart.js.map +2 -1
- package/commonjs/PieChart/index.js +3 -4
- package/commonjs/PieChart/index.js.map +2 -1
- package/commonjs/Popover/Popover.js +112 -137
- package/commonjs/Popover/Popover.js.map +1 -2
- package/commonjs/Progress/Progress.js +54 -48
- package/commonjs/Progress/Progress.js.map +1 -2
- package/commonjs/Quantity/Quantity.js +52 -127
- package/commonjs/Quantity/Quantity.js.map +0 -1
- package/commonjs/Quantity/index.js +8 -6
- package/commonjs/Quantity/index.js.map +1 -2
- package/commonjs/ReasonModal/ReasonModal.js +125 -122
- package/commonjs/ReasonModal/ReasonModal.js.map +2 -1
- package/commonjs/ReasonModal/index.js +9 -15
- package/commonjs/ReasonModal/index.js.map +1 -2
- package/commonjs/SearchInput/SearchInput.js +92 -108
- package/commonjs/SheetTitle/SheetTitle.js +0 -6
- package/commonjs/SheetTitle/SheetTitle.js.map +0 -1
- package/commonjs/Shell/Shell.js +84 -92
- package/commonjs/Shell/Shell.js.map +2 -1
- package/commonjs/Shell/styles.js.map +1 -2
- package/commonjs/Shell/types.js +2 -2
- package/commonjs/Shell/types.js.map +1 -2
- package/commonjs/StatisticCard/StatisticCard.js +41 -47
- package/commonjs/Steps/Steps.js +41 -40
- package/commonjs/Steps/Steps.js.map +1 -1
- package/commonjs/TabTitle/index.js +0 -1
- package/commonjs/TabTitle/index.js.map +0 -1
- package/commonjs/TableColumnHeader/TableColumnHeader.js +134 -140
- package/commonjs/Tag/Tag.js +0 -41
- package/commonjs/Tag/Tag.js.map +0 -1
- package/commonjs/Task/Task.js +201 -112
- package/commonjs/Task/Task.js.map +2 -1
- package/commonjs/Text/Text.js.map +0 -1
- package/commonjs/Theme/ThemeProvider.js +18 -16
- package/commonjs/Theme/defaultTheme.js +21 -16
- package/commonjs/Theme/defaultTheme.js.map +2 -1
- package/commonjs/Toast/Toast.js +32 -0
- package/commonjs/Toast/Toast.js.map +1 -0
- package/commonjs/UserSwitcher/UserSwitcher.js +147 -144
- package/commonjs/UserSwitcher/UserSwitcher.js.map +2 -1
- package/module/Alert/Alert.js +71 -51
- package/module/Alert/Alert.js.map +2 -1
- package/module/AnimatedNavItem/AnimatedNavItem.js.map +1 -2
- package/module/AnimatedNavItem/index.js +7 -3
- package/module/AnimatedNavItem/index.js.map +1 -2
- package/module/BarChart/BarChart.js +140 -109
- package/module/BarChart/BarChart.js.map +2 -1
- package/module/BarChart/index.js +4 -2
- package/module/Button/ButtonGroup.js +120 -129
- package/module/Button/ButtonGroup.js.map +1 -2
- package/module/Calendar/ConcreteTimeSelector.js +299 -211
- package/module/Calendar/ConcreteTimeSelector.js.map +2 -1
- package/module/Calendar/DaySelector.js +118 -95
- package/module/Calendar/DaySelector.js.map +2 -1
- package/module/Calendar/TimeSelector.js +307 -215
- package/module/Calendar/TimeSelector.js.map +1 -2
- package/module/Calendar/local.js +7 -7
- package/module/Calendar/local.js.map +2 -1
- package/module/Calendar/types.js.map +1 -2
- package/module/Card/Card.js +236 -154
- package/module/Card/Card.js.map +1 -1
- package/module/CheckBox/CheckBox.js +89 -93
- package/module/CheckBox/CheckBox.js.map +2 -1
- package/module/CheckBox/CheckBoxItem.js +84 -69
- package/module/CheckBox/CheckBoxItem.js.map +1 -1
- package/module/CheckBox/GroupCheckBox.js +76 -66
- package/module/CheckBox/GroupCheckBox.js.map +2 -1
- package/module/CircularProgress/CircularProgress.js +0 -22
- package/module/CircularProgress/CircularProgress.js.map +0 -1
- package/module/DashboardCard/DashboardCard.js +88 -80
- package/module/DashboardCard/DashboardCard.js.map +1 -2
- package/module/DataCell/DataCell.js +224 -311
- package/module/DataCell/DataCell.js.map +1 -2
- package/module/DataTable/DataTable.js +100 -0
- package/module/DataTable/index.js.map +1 -2
- package/module/DeviceSelectionModal/DeviceSelectionModal.js +124 -0
- package/module/DeviceSelectionModal/DeviceSelectionModal.js.map +1 -0
- package/module/DraggableFlatList/DraggableFlatList.js +9 -0
- package/module/DraggableFlatList/DraggableFlatList.js.map +1 -0
- package/module/Dropdown/CustomDropdown.js +160 -212
- package/module/Dropdown/CustomDropdown.js.map +1 -1
- package/module/Dropdown/Dropdown.js +408 -484
- package/module/Dropdown/Dropdown.js.map +1 -2
- package/module/Dropdown/InputDropdown.js +134 -116
- package/module/Dropdown/InputDropdown.js.map +2 -1
- package/module/ExternalLink/ExternalLink.js +0 -150
- package/module/ExternalLink/ExternalLink.js.map +0 -1
- package/module/Gantt/Accessories.js.map +2 -1
- package/module/Gantt/Gantt.js +152 -139
- package/module/Gantt/Gantt.js.map +2 -1
- package/module/Gantt/GanttInnerElementType.js.map +1 -2
- package/module/Gantt/helper.js +163 -129
- package/module/Gantt/types.js +8 -4
- package/module/Gantt/types.js.map +1 -2
- package/module/Grid/VariableSizeGrid.js +118 -121
- package/module/Grid/VariableSizeGrid.js.map +1 -2
- package/module/Grid/helper.js.map +2 -1
- package/module/Grid/timer.js +16 -14
- package/module/Grid/timer.js.map +1 -2
- package/module/HelloWave/HelloWave.js +53 -43
- package/module/HelloWave/HelloWave.js.map +2 -1
- package/module/Hoverable/Hoverable.js +66 -69
- package/module/Hoverable/Hoverable.js.map +1 -2
- package/module/Icons/TapasIcon.js +96 -120
- package/module/Icons/TapasIcon.js.map +1 -2
- package/module/Icons/TapasIconExpo.js +98 -78
- package/module/Icons/TapasIconExpo.js.map +2 -1
- package/module/Icons/fontLoader.js.map +2 -1
- package/module/Icons/index.js +10 -9
- package/module/Icons/smartFontLoader.js.map +2 -1
- package/module/Input/Input.js +74 -0
- package/module/Input/Input.js.map +1 -0
- package/module/Layout/DrawerContext.js +29 -18
- package/module/Layout/DrawerContext.js.map +2 -1
- package/module/Layout/Layout.js +100 -100
- package/module/Layout/index.js +15 -14
- package/module/LineChart/LineChart.js +157 -121
- package/module/Loading/Loading.js +65 -67
- package/module/Loading/Loading.js.map +2 -1
- package/module/MultiSelector/MultiSelector.js.map +2 -1
- package/module/MultiSelector/index.js +2 -3
- package/module/MultiSelector/index.js.map +2 -1
- package/module/Notification/Notification.js +105 -101
- package/module/Notification/Notification.js.map +2 -1
- package/module/Notification/index.js +18 -1
- package/module/Notification/index.js.map +1 -1
- package/module/NumericInput/NumericInput.js.map +1 -0
- package/module/Overlay/Overlay.js +29 -0
- package/module/Overlay/Overlay.js.map +1 -0
- package/module/Pagination/Pagination.js +0 -72
- package/module/Pagination/Pagination.js.map +0 -1
- package/module/PieChart/PieChart.js +101 -76
- package/module/PieChart/PieChart.js.map +1 -2
- package/module/Quantity/Quantity.js +129 -112
- package/module/ReasonModal/ReasonModal.js +114 -145
- package/module/ReasonModal/ReasonModal.js.map +1 -2
- package/module/ReasonModal/index.js +27 -0
- package/module/ScanButton/ScanButton.js +56 -35
- package/module/ScanButton/ScanButton.js.map +1 -1
- package/module/Shell/types.js +2 -4
- package/module/TabTitle/TabTitle.js +57 -48
- package/module/TableColumnHeader/TableColumnHeader.js +153 -126
- package/module/Task/Task.js +113 -207
- package/module/Task/Task.js.map +1 -2
- package/module/Task/type.js +4 -8
- package/module/Task/type.js.map +1 -2
- package/module/Text/Text.js +80 -70
- package/module/Text/Text.js.map +1 -2
- package/module/TextArea/TextArea.js +119 -0
- package/module/TextArea/TextArea.js.map +1 -0
- package/module/Theme/defaultTheme.js +20 -0
- package/module/Theme/defaultTheme.js.map +1 -0
- package/module/Timeline/Timeline.js +54 -0
- package/module/Timeline/Timeline.js.map +1 -0
- package/module/UserSwitcher/UserSwitcher.js.map +2 -1
- package/module/index.js.map +1 -2
- package/package.json +1 -1
- package/typescript/Hoverable/Hoverable.d.ts.map +1 -1
|
@@ -1,157 +1,73 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
1
|
+
import { withTheme } from "@rneui/themed";
|
|
2
|
+
import React, { useEffect, useState } from "react";
|
|
3
|
+
import { View, Text, StyleSheet } from "react-native";
|
|
4
|
+
import Button from "../Button/Button";
|
|
5
|
+
import CustomIcon from "../Icons/TapasIcon";
|
|
6
|
+
import FixedSizeGrid from "../Grid/FixedSizeGrid";
|
|
7
|
+
import { getConcreteTimes } from "./helper";
|
|
8
|
+
import { SupportLanguage } from "./types";
|
|
9
|
+
import { locales } from "./local";
|
|
10
|
+
const ConcreteTimeSelector = ({
|
|
11
|
+
backFn,
|
|
12
|
+
minTime = "00:00",
|
|
13
|
+
maxTime = "23:59",
|
|
14
|
+
theme,
|
|
15
|
+
hour,
|
|
16
|
+
minute,
|
|
17
|
+
showCloseBtn = false,
|
|
18
|
+
closeBtnText,
|
|
19
|
+
attatchClose,
|
|
20
|
+
attachComplete,
|
|
21
|
+
languageCode = SupportLanguage.en
|
|
22
|
+
}) => {
|
|
23
|
+
const hours = getConcreteTimes(minTime, maxTime, "hours");
|
|
24
|
+
const minutes = getConcreteTimes(minTime, maxTime, "minutes");
|
|
25
|
+
const [mid, setMid] = useState(2);
|
|
26
|
+
const [hourIndex, setHourIndex] = useState(hour ? parseInt(hour) + mid : -1);
|
|
27
|
+
const [minuteIndex, setMinuteIndex] = useState(minute ? parseInt(minute) + mid : -1);
|
|
28
|
+
const [hourVal, setHourVal] = useState(hour ?? "00");
|
|
29
|
+
const [minuteVal, setMinuteVal] = useState(minute ?? "00");
|
|
30
|
+
const [rowHeight] = useState(52);
|
|
31
|
+
const [innerConWidth, setInnerConWidth] = useState(0);
|
|
32
|
+
const [innerConHeight, setInnerConHeight] = useState(0);
|
|
33
|
+
const [rowCount, setRowCount] = useState({
|
|
34
|
+
left: hours.length + mid * 2,
|
|
35
|
+
right: minutes.length + mid * 2
|
|
33
36
|
});
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
42
|
-
return ar;
|
|
43
|
-
};
|
|
44
|
-
return ownKeys(o);
|
|
45
|
-
};
|
|
46
|
-
return function (mod) {
|
|
47
|
-
if (mod && mod.__esModule) return mod;
|
|
48
|
-
var result = {};
|
|
49
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
50
|
-
__setModuleDefault(result, mod);
|
|
51
|
-
return result;
|
|
52
|
-
};
|
|
53
|
-
}();
|
|
54
|
-
var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
|
|
55
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
56
|
-
if (ar || !(i in from)) {
|
|
57
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
58
|
-
ar[i] = from[i];
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
62
|
-
};
|
|
63
|
-
var __importDefault = this && this.__importDefault || function (mod) {
|
|
64
|
-
return mod && mod.__esModule ? mod : {
|
|
65
|
-
"default": mod
|
|
66
|
-
};
|
|
67
|
-
};
|
|
68
|
-
Object.defineProperty(exports, "__esModule", {
|
|
69
|
-
value: true
|
|
70
|
-
});
|
|
71
|
-
var themed_1 = require("@rneui/themed");
|
|
72
|
-
var react_1 = __importStar(require("react"));
|
|
73
|
-
var react_native_1 = require("react-native");
|
|
74
|
-
var Button_1 = __importDefault(require("../Button/Button"));
|
|
75
|
-
var TapasIcon_1 = __importDefault(require("../Icons/TapasIcon"));
|
|
76
|
-
var FixedSizeGrid_1 = __importDefault(require("../Grid/FixedSizeGrid"));
|
|
77
|
-
var helper_1 = require("./helper");
|
|
78
|
-
var types_1 = require("./types");
|
|
79
|
-
var local_1 = require("./local");
|
|
80
|
-
var ConcreteTimeSelector = function (_a) {
|
|
81
|
-
var _b, _c;
|
|
82
|
-
var backFn = _a.backFn,
|
|
83
|
-
_d = _a.minTime,
|
|
84
|
-
minTime = _d === void 0 ? "00:00" : _d,
|
|
85
|
-
_e = _a.maxTime,
|
|
86
|
-
maxTime = _e === void 0 ? "23:59" : _e,
|
|
87
|
-
theme = _a.theme,
|
|
88
|
-
hour = _a.hour,
|
|
89
|
-
minute = _a.minute,
|
|
90
|
-
_f = _a.showCloseBtn,
|
|
91
|
-
showCloseBtn = _f === void 0 ? false : _f,
|
|
92
|
-
closeBtnText = _a.closeBtnText,
|
|
93
|
-
attatchClose = _a.attatchClose,
|
|
94
|
-
attachComplete = _a.attachComplete,
|
|
95
|
-
_g = _a.languageCode,
|
|
96
|
-
languageCode = _g === void 0 ? types_1.SupportLanguage.en : _g;
|
|
97
|
-
var hours = (0, helper_1.getConcreteTimes)(minTime, maxTime, "hours");
|
|
98
|
-
var minutes = (0, helper_1.getConcreteTimes)(minTime, maxTime, "minutes");
|
|
99
|
-
var _h = (0, react_1.useState)(2),
|
|
100
|
-
mid = _h[0],
|
|
101
|
-
setMid = _h[1];
|
|
102
|
-
var _j = (0, react_1.useState)(hour ? parseInt(hour) + mid : -1),
|
|
103
|
-
hourIndex = _j[0],
|
|
104
|
-
setHourIndex = _j[1];
|
|
105
|
-
var _k = (0, react_1.useState)(minute ? parseInt(minute) + mid : -1),
|
|
106
|
-
minuteIndex = _k[0],
|
|
107
|
-
setMinuteIndex = _k[1];
|
|
108
|
-
var _l = (0, react_1.useState)(hour !== null && hour !== void 0 ? hour : "00"),
|
|
109
|
-
hourVal = _l[0],
|
|
110
|
-
setHourVal = _l[1];
|
|
111
|
-
var _m = (0, react_1.useState)(minute !== null && minute !== void 0 ? minute : "00"),
|
|
112
|
-
minuteVal = _m[0],
|
|
113
|
-
setMinuteVal = _m[1];
|
|
114
|
-
var rowHeight = (0, react_1.useState)(52)[0];
|
|
115
|
-
var _o = (0, react_1.useState)(0),
|
|
116
|
-
innerConWidth = _o[0],
|
|
117
|
-
setInnerConWidth = _o[1];
|
|
118
|
-
var _p = (0, react_1.useState)(0),
|
|
119
|
-
innerConHeight = _p[0],
|
|
120
|
-
setInnerConHeight = _p[1];
|
|
121
|
-
var _q = (0, react_1.useState)({
|
|
122
|
-
left: hours.length + mid * 2,
|
|
123
|
-
right: minutes.length + mid * 2
|
|
124
|
-
}),
|
|
125
|
-
rowCount = _q[0],
|
|
126
|
-
setRowCount = _q[1];
|
|
127
|
-
var gridHour = null;
|
|
128
|
-
var gridMinute = null;
|
|
129
|
-
(0, react_1.useEffect)(function () {
|
|
130
|
-
setHourIndex(hours.indexOf(hour !== null && hour !== void 0 ? hour : "00") + mid);
|
|
131
|
-
setMinuteIndex(minutes.indexOf(minute !== null && minute !== void 0 ? minute : "00") + mid);
|
|
132
|
-
setHourVal(hour !== null && hour !== void 0 ? hour : "00");
|
|
133
|
-
setMinuteVal(minute !== null && minute !== void 0 ? minute : "00");
|
|
37
|
+
let gridHour = null;
|
|
38
|
+
let gridMinute = null;
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
setHourIndex(hours.indexOf(hour ?? "00") + mid);
|
|
41
|
+
setMinuteIndex(minutes.indexOf(minute ?? "00") + mid);
|
|
42
|
+
setHourVal(hour ?? "00");
|
|
43
|
+
setMinuteVal(minute ?? "00");
|
|
134
44
|
}, [hour, minute, mid]);
|
|
45
|
+
|
|
135
46
|
// Inner Container Layout Event to set grid width and height
|
|
136
|
-
|
|
137
|
-
|
|
47
|
+
const handleInnerConWidthLayout = event => {
|
|
48
|
+
const {
|
|
49
|
+
width
|
|
50
|
+
} = event.nativeEvent.layout;
|
|
138
51
|
if (innerConWidth === 0) {
|
|
139
52
|
setInnerConWidth(width);
|
|
140
53
|
}
|
|
141
54
|
};
|
|
55
|
+
|
|
142
56
|
// Inner Container Layout Event to set grid width and height
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
57
|
+
const handleInnerConHeightLayout = event => {
|
|
58
|
+
const {
|
|
59
|
+
height
|
|
60
|
+
} = event.nativeEvent.layout;
|
|
146
61
|
if (innerConHeight === 0) {
|
|
147
62
|
setInnerConHeight(height);
|
|
63
|
+
|
|
148
64
|
// const maxRowCount = Math.floor((height - 64) / rowHeight);
|
|
149
65
|
// const adjustedRowCount =
|
|
150
66
|
// maxRowCount % 2 === 0 ? maxRowCount - 1 : maxRowCount;
|
|
151
67
|
// const newRowHeight = (height - 64) / adjustedRowCount;
|
|
152
68
|
// setRowHeight(newRowHeight);
|
|
153
|
-
|
|
154
|
-
|
|
69
|
+
const visibleRowCount = Math.floor((height - 64) / rowHeight);
|
|
70
|
+
const midValue = Math.floor(visibleRowCount / 2);
|
|
155
71
|
setMid(midValue);
|
|
156
72
|
setRowCount({
|
|
157
73
|
left: hours.length + midValue * 2,
|
|
@@ -159,83 +75,83 @@ var ConcreteTimeSelector = function (_a) {
|
|
|
159
75
|
});
|
|
160
76
|
if (hourIndex === -1) {
|
|
161
77
|
setHourIndex(midValue);
|
|
162
|
-
setHourVal(
|
|
78
|
+
setHourVal(hours[midValue - mid] ?? "00");
|
|
163
79
|
}
|
|
164
80
|
if (minuteIndex === -1) {
|
|
165
|
-
setMinuteVal(
|
|
81
|
+
setMinuteVal(minutes[midValue - mid] ?? "00");
|
|
166
82
|
setMinuteIndex(midValue);
|
|
167
83
|
}
|
|
168
84
|
}
|
|
169
85
|
};
|
|
170
|
-
|
|
171
|
-
|
|
86
|
+
const renderRangeText = key => /*#__PURE__*/React.createElement(View, {
|
|
87
|
+
key: key,
|
|
88
|
+
style: key === "hour" ? styles.range1 : styles.range2
|
|
89
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
90
|
+
type: "clear",
|
|
91
|
+
titleStyle: {
|
|
92
|
+
...styles.rangeText,
|
|
93
|
+
maxWidth: (innerConWidth - 102) / 2 - 8,
|
|
94
|
+
// whiteSpace: "nowrap",
|
|
95
|
+
// textOverflow: "ellipsis",
|
|
96
|
+
color: theme.colors.primary
|
|
97
|
+
},
|
|
98
|
+
buttonStyle: styles.padding4
|
|
99
|
+
}, key === "hour" ? hourVal : minuteVal));
|
|
100
|
+
const renderListHeader = title => /*#__PURE__*/React.createElement(Text, {
|
|
101
|
+
key: title,
|
|
102
|
+
style: {
|
|
103
|
+
...styles.listHeadertext,
|
|
104
|
+
color: theme.colors.primary,
|
|
105
|
+
width: (innerConWidth - 20) / 2,
|
|
106
|
+
backgroundColor: theme.colors.grey5
|
|
107
|
+
}
|
|
108
|
+
}, title);
|
|
109
|
+
const renderScrollList = key => {
|
|
110
|
+
const selected = key === "left" ? hourIndex : minuteIndex;
|
|
111
|
+
const Cell = ({
|
|
112
|
+
rowIndex,
|
|
113
|
+
style
|
|
114
|
+
}) => /*#__PURE__*/React.createElement(View, {
|
|
115
|
+
style: style,
|
|
116
|
+
key: `${key}-${rowIndex}`
|
|
117
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
118
|
+
style: {
|
|
119
|
+
...styles.cell,
|
|
120
|
+
fontSize: rowIndex === selected ? 16 : 14,
|
|
121
|
+
fontWeight: rowIndex === selected ? "700" : "400",
|
|
122
|
+
color: rowIndex === selected ? theme.colors.primary : theme.colors.secondary
|
|
123
|
+
}
|
|
124
|
+
}, (key === "left" ? hours[rowIndex - mid] : minutes[rowIndex - mid]) ?? ""));
|
|
125
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
172
126
|
key: key,
|
|
173
|
-
style:
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
}),
|
|
182
|
-
buttonStyle: styles.padding4
|
|
183
|
-
}, key === "hour" ? hourVal : minuteVal));
|
|
184
|
-
};
|
|
185
|
-
var renderListHeader = function (title) {
|
|
186
|
-
return react_1.default.createElement(react_native_1.Text, {
|
|
187
|
-
key: title,
|
|
188
|
-
style: __assign(__assign({}, styles.listHeadertext), {
|
|
189
|
-
color: theme.colors.primary,
|
|
190
|
-
width: (innerConWidth - 20) / 2,
|
|
191
|
-
backgroundColor: theme.colors.grey5
|
|
192
|
-
})
|
|
193
|
-
}, title);
|
|
194
|
-
};
|
|
195
|
-
var renderScrollList = function (key) {
|
|
196
|
-
var _a;
|
|
197
|
-
var selected = key === "left" ? hourIndex : minuteIndex;
|
|
198
|
-
var Cell = function (_a) {
|
|
199
|
-
var _b;
|
|
200
|
-
var rowIndex = _a.rowIndex,
|
|
201
|
-
style = _a.style;
|
|
202
|
-
return react_1.default.createElement(react_native_1.View, {
|
|
203
|
-
style: style,
|
|
204
|
-
key: "".concat(key, "-").concat(rowIndex)
|
|
205
|
-
}, react_1.default.createElement(react_native_1.Text, {
|
|
206
|
-
style: __assign(__assign({}, styles.cell), {
|
|
207
|
-
fontSize: rowIndex === selected ? 16 : 14,
|
|
208
|
-
fontWeight: rowIndex === selected ? "700" : "400",
|
|
209
|
-
color: rowIndex === selected ? theme.colors.primary : theme.colors.secondary
|
|
127
|
+
style: {
|
|
128
|
+
...styles.scrollCon,
|
|
129
|
+
backgroundColor: theme.colors.grey5,
|
|
130
|
+
...(key === "left" && {
|
|
131
|
+
borderBottomLeftRadius: 8
|
|
132
|
+
}),
|
|
133
|
+
...(key === "right" && {
|
|
134
|
+
borderBottomRightRadius: 8
|
|
210
135
|
})
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
}), key === "right" && {
|
|
220
|
-
borderBottomRightRadius: 8
|
|
221
|
-
})
|
|
222
|
-
}, react_1.default.createElement(FixedSizeGrid_1.default, {
|
|
223
|
-
initialScrollTop: (__spreadArray(__spreadArray(__spreadArray([], Array(mid).fill(""), true), key === "left" ? hours : minutes, true), Array(mid).fill(""), true).indexOf((_a = key === "left" ? hour : minute) !== null && _a !== void 0 ? _a : "00") - mid) * rowHeight,
|
|
224
|
-
onScroll: function (event) {
|
|
225
|
-
var _a, _b;
|
|
226
|
-
var scrollTop = event.scrollTop;
|
|
227
|
-
var index = Math.floor((scrollTop + (innerConHeight - 64) / 2) / rowHeight);
|
|
136
|
+
}
|
|
137
|
+
}, /*#__PURE__*/React.createElement(FixedSizeGrid, {
|
|
138
|
+
initialScrollTop: ([...Array(mid).fill(""), ...(key === "left" ? hours : minutes), ...Array(mid).fill("")].indexOf((key === "left" ? hour : minute) ?? "00") - mid) * rowHeight,
|
|
139
|
+
onScroll: event => {
|
|
140
|
+
const {
|
|
141
|
+
scrollTop
|
|
142
|
+
} = event;
|
|
143
|
+
const index = Math.floor((scrollTop + (innerConHeight - 64) / 2) / rowHeight);
|
|
228
144
|
switch (key) {
|
|
229
145
|
case "left":
|
|
230
146
|
if (hours[index - mid]) {
|
|
231
147
|
setHourIndex(index);
|
|
232
|
-
setHourVal(
|
|
148
|
+
setHourVal(hours[index - mid] ?? "00");
|
|
233
149
|
}
|
|
234
150
|
break;
|
|
235
151
|
case "right":
|
|
236
152
|
if (minutes[index - mid]) {
|
|
237
153
|
setMinuteIndex(index);
|
|
238
|
-
setMinuteVal(
|
|
154
|
+
setMinuteVal(minutes[index - mid] ?? "00");
|
|
239
155
|
}
|
|
240
156
|
break;
|
|
241
157
|
default:
|
|
@@ -251,7 +167,7 @@ var ConcreteTimeSelector = function (_a) {
|
|
|
251
167
|
columnWidth: (innerConWidth - 20) / 2 - 24,
|
|
252
168
|
rowHeight: rowHeight,
|
|
253
169
|
rowCount: rowCount[key],
|
|
254
|
-
ref:
|
|
170
|
+
ref: grid => {
|
|
255
171
|
if (grid && key === "left" && hourIndex === hours.length + mid * 2 - 1) {
|
|
256
172
|
grid.scrollToItem({
|
|
257
173
|
columnIndex: 0,
|
|
@@ -271,12 +187,12 @@ var ConcreteTimeSelector = function (_a) {
|
|
|
271
187
|
}
|
|
272
188
|
}, Cell));
|
|
273
189
|
};
|
|
274
|
-
return
|
|
190
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
275
191
|
style: styles.container
|
|
276
|
-
},
|
|
192
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
277
193
|
style: styles.header,
|
|
278
194
|
onLayout: handleInnerConWidthLayout
|
|
279
|
-
}, backFn &&
|
|
195
|
+
}, backFn && /*#__PURE__*/React.createElement(Button, {
|
|
280
196
|
containerStyle: styles.backBtn,
|
|
281
197
|
buttonStyle: {
|
|
282
198
|
paddingTop: 4.5,
|
|
@@ -284,27 +200,199 @@ var ConcreteTimeSelector = function (_a) {
|
|
|
284
200
|
},
|
|
285
201
|
onPress: backFn,
|
|
286
202
|
type: "clear",
|
|
287
|
-
icon:
|
|
203
|
+
icon: /*#__PURE__*/React.createElement(CustomIcon, {
|
|
288
204
|
size: 24,
|
|
289
205
|
color: theme.colors.primary,
|
|
290
206
|
name: "back"
|
|
291
207
|
})
|
|
292
|
-
}),
|
|
208
|
+
}), /*#__PURE__*/React.createElement(View, {
|
|
293
209
|
style: styles.rangeTextCon
|
|
294
|
-
}, renderRangeText("hour"), minuteVal &&
|
|
295
|
-
style:
|
|
210
|
+
}, renderRangeText("hour"), minuteVal && /*#__PURE__*/React.createElement(Text, {
|
|
211
|
+
style: {
|
|
212
|
+
...styles.rangeText,
|
|
296
213
|
color: theme.colors.primary,
|
|
297
214
|
paddingBottom: 4
|
|
298
|
-
}
|
|
299
|
-
}, ":"), renderRangeText("minute")), showCloseBtn &&
|
|
215
|
+
}
|
|
216
|
+
}, ":"), renderRangeText("minute")), showCloseBtn && /*#__PURE__*/React.createElement(View, {
|
|
300
217
|
style: styles.backBtn
|
|
301
|
-
},
|
|
218
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
302
219
|
type: "clear",
|
|
303
|
-
icon: !closeBtnText &&
|
|
220
|
+
icon: !closeBtnText && /*#__PURE__*/React.createElement(CustomIcon, {
|
|
304
221
|
size: 24,
|
|
305
222
|
color: theme.colors.primary,
|
|
306
223
|
name: "close"
|
|
307
224
|
}),
|
|
225
|
+
onPress: () => attatchClose && attatchClose()
|
|
226
|
+
}, closeBtnText))), /*#__PURE__*/React.createElement(View, {
|
|
227
|
+
style: styles.main,
|
|
228
|
+
onLayout: handleInnerConHeightLayout
|
|
229
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
230
|
+
style: styles.listHeader
|
|
231
|
+
}, renderListHeader(locales[languageCode].hour), renderListHeader(locales[languageCode].minute)), /*#__PURE__*/React.createElement(View, {
|
|
232
|
+
style: styles.flatlistCon
|
|
233
|
+
}, renderScrollList("left"), renderScrollList("right"))), /*#__PURE__*/React.createElement(View, {
|
|
234
|
+
style: styles.footer
|
|
235
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
236
|
+
onPress: () => {
|
|
237
|
+
setHourVal("00");
|
|
238
|
+
setMinuteVal("00");
|
|
239
|
+
setHourIndex(mid);
|
|
240
|
+
if (gridHour) gridHour.scrollToItem({
|
|
241
|
+
columnIndex: 0,
|
|
242
|
+
rowIndex: 0,
|
|
243
|
+
align: "start"
|
|
244
|
+
});
|
|
245
|
+
setMinuteIndex(mid);
|
|
246
|
+
if (gridMinute) gridMinute.scrollToItem({
|
|
247
|
+
columnIndex: 0,
|
|
248
|
+
rowIndex: 0,
|
|
249
|
+
align: "start"
|
|
250
|
+
});
|
|
251
|
+
attachComplete && attachComplete([]);
|
|
252
|
+
},
|
|
253
|
+
type: "clear"
|
|
254
|
+
}, locales[languageCode]?.clear), /*#__PURE__*/React.createElement(Button, {
|
|
255
|
+
disabled: hourIndex < mid,
|
|
256
|
+
onPress: () => {
|
|
257
|
+
if (attachComplete) {
|
|
258
|
+
attachComplete([hourVal, minuteVal]);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}, locales[languageCode]?.done)));
|
|
262
|
+
};
|
|
263
|
+
const styles = StyleSheet.create({
|
|
264
|
+
container: {
|
|
265
|
+
display: "flex",
|
|
266
|
+
flexDirection: "column",
|
|
267
|
+
flexGrow: 1,
|
|
268
|
+
overflow: "hidden"
|
|
269
|
+
},
|
|
270
|
+
header: {
|
|
271
|
+
display: "flex",
|
|
272
|
+
flexDirection: "row",
|
|
273
|
+
justifyContent: "flex-start",
|
|
274
|
+
margin: 8,
|
|
275
|
+
gap: 8,
|
|
276
|
+
height: 40,
|
|
277
|
+
overflow: "hidden"
|
|
278
|
+
},
|
|
279
|
+
backBtn: {
|
|
280
|
+
width: 40,
|
|
281
|
+
height: 40
|
|
282
|
+
},
|
|
283
|
+
anyTime: {
|
|
284
|
+
fontSize: 16,
|
|
285
|
+
fontWeight: "700",
|
|
286
|
+
alignSelf: "center",
|
|
287
|
+
display: "flex",
|
|
288
|
+
textAlign: "center",
|
|
289
|
+
flexGrow: 1,
|
|
290
|
+
justifyContent: "center"
|
|
291
|
+
},
|
|
292
|
+
rangeTextCon: {
|
|
293
|
+
height: 40,
|
|
294
|
+
display: "flex",
|
|
295
|
+
flexDirection: "row",
|
|
296
|
+
flexGrow: 1,
|
|
297
|
+
flex: 1,
|
|
298
|
+
overflow: "hidden"
|
|
299
|
+
},
|
|
300
|
+
padding4: {
|
|
301
|
+
paddingLeft: 4,
|
|
302
|
+
paddingRight: 4
|
|
303
|
+
},
|
|
304
|
+
range1: {
|
|
305
|
+
display: "flex",
|
|
306
|
+
flexDirection: "row",
|
|
307
|
+
flexGrow: 1,
|
|
308
|
+
justifyContent: "flex-end",
|
|
309
|
+
height: 40,
|
|
310
|
+
overflow: "hidden"
|
|
311
|
+
},
|
|
312
|
+
range2: {
|
|
313
|
+
display: "flex",
|
|
314
|
+
flexDirection: "row",
|
|
315
|
+
flexGrow: 1,
|
|
316
|
+
justifyContent: "flex-start",
|
|
317
|
+
height: 40,
|
|
318
|
+
overflow: "hidden"
|
|
319
|
+
},
|
|
320
|
+
rangeText: {
|
|
321
|
+
alignSelf: "center",
|
|
322
|
+
fontSize: 16,
|
|
323
|
+
fontWeight: "700",
|
|
324
|
+
overflow: "hidden"
|
|
325
|
+
},
|
|
326
|
+
main: {
|
|
327
|
+
display: "flex",
|
|
328
|
+
flexDirection: "column",
|
|
329
|
+
flexGrow: 1,
|
|
330
|
+
marginLeft: 16,
|
|
331
|
+
marginRight: 16,
|
|
332
|
+
overflow: "hidden"
|
|
333
|
+
},
|
|
334
|
+
footer: {
|
|
335
|
+
display: "flex",
|
|
336
|
+
flexDirection: "row",
|
|
337
|
+
height: 40,
|
|
338
|
+
marginLeft: 16,
|
|
339
|
+
marginRight: 16,
|
|
340
|
+
marginTop: 8,
|
|
341
|
+
overflow: "hidden",
|
|
342
|
+
gap: 8,
|
|
343
|
+
justifyContent: "flex-end"
|
|
344
|
+
},
|
|
345
|
+
flatlistCon: {
|
|
346
|
+
display: "flex",
|
|
347
|
+
flexDirection: "row",
|
|
348
|
+
justifyContent: "space-between",
|
|
349
|
+
flexGrow: 1,
|
|
350
|
+
marginBottom: 8,
|
|
351
|
+
gap: 1,
|
|
352
|
+
height: 0,
|
|
353
|
+
overflow: "hidden"
|
|
354
|
+
},
|
|
355
|
+
scrollCon: {
|
|
356
|
+
paddingLeft: 12,
|
|
357
|
+
paddingRight: 12,
|
|
358
|
+
paddingTop: 8,
|
|
359
|
+
paddingBottom: 8
|
|
360
|
+
},
|
|
361
|
+
listHeader: {
|
|
362
|
+
height: 28,
|
|
363
|
+
display: "flex",
|
|
364
|
+
flexDirection: "row",
|
|
365
|
+
justifyContent: "space-between",
|
|
366
|
+
gap: 1,
|
|
367
|
+
borderTopLeftRadius: 8,
|
|
368
|
+
borderTopRightRadius: 8,
|
|
369
|
+
overflow: "hidden"
|
|
370
|
+
},
|
|
371
|
+
listHeadertext: {
|
|
372
|
+
display: "flex",
|
|
373
|
+
flexDirection: "column",
|
|
374
|
+
justifyContent: "center",
|
|
375
|
+
height: 32,
|
|
376
|
+
paddingTop: 14,
|
|
377
|
+
paddingBottom: 8,
|
|
378
|
+
textAlign: "center",
|
|
379
|
+
fontSize: 12,
|
|
380
|
+
fontWeight: "700"
|
|
381
|
+
},
|
|
382
|
+
cell: {
|
|
383
|
+
display: "flex",
|
|
384
|
+
flexDirection: "column",
|
|
385
|
+
height: 40,
|
|
386
|
+
justifyContent: "center",
|
|
387
|
+
marginBottom: 12,
|
|
388
|
+
textAlign: "center"
|
|
389
|
+
}
|
|
390
|
+
});
|
|
391
|
+
export default withTheme(ConcreteTimeSelector);
|
|
392
|
+
//# sourceMappingURL=ConcreteTimeSelector.js.map size: 24,
|
|
393
|
+
color: theme.colors.primary,
|
|
394
|
+
name: "close"
|
|
395
|
+
}),
|
|
308
396
|
onPress: function () {
|
|
309
397
|
return attatchClose && attatchClose();
|
|
310
398
|
}
|