ordering-ui-admin-external 1.43.20 → 1.43.22

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 (35) hide show
  1. package/_bundles/{ordering-ui-admin.93ac710b95858715130d.js → ordering-ui-admin.3f67563d0aa434e9729f.js} +2 -2
  2. package/_modules/components/Delivery/DriverGroupSelectorHeader/index.js +130 -0
  3. package/_modules/components/Delivery/DriverGroupSelectorHeader/styles.js +32 -0
  4. package/_modules/components/Delivery/DriversGroupGeneralForm/index.js +14 -5
  5. package/_modules/components/Delivery/DriversTimeDisplay/DriverBlockAddForm.js +212 -0
  6. package/_modules/components/Delivery/DriversTimeDisplay/UserList.js +226 -0
  7. package/_modules/components/Delivery/DriversTimeDisplay/index.js +485 -0
  8. package/_modules/components/Delivery/DriversTimeDisplay/styles.js +198 -0
  9. package/_modules/components/Delivery/index.js +8 -1
  10. package/_modules/components/Settings/SettingsLogs/index.js +28 -16
  11. package/_modules/components/SidebarMenu/index.js +30 -24
  12. package/_modules/components/Stores/BusinessDetails/index.js +2 -0
  13. package/_modules/components/Stores/BusinessSummary/index.js +16 -1
  14. package/_modules/index.js +6 -0
  15. package/_modules/utils/index.js +4 -2
  16. package/package.json +3 -2
  17. package/src/components/Delivery/DriverGroupSelectorHeader/index.js +124 -0
  18. package/src/components/Delivery/DriverGroupSelectorHeader/styles.js +97 -0
  19. package/src/components/Delivery/DriversGroupGeneralForm/index.js +12 -2
  20. package/src/components/Delivery/DriversTimeDisplay/DriverBlockAddForm.js +271 -0
  21. package/src/components/Delivery/DriversTimeDisplay/UserList.js +292 -0
  22. package/src/components/Delivery/DriversTimeDisplay/index.js +535 -0
  23. package/src/components/Delivery/DriversTimeDisplay/styles.js +853 -0
  24. package/src/components/Delivery/index.js +2 -0
  25. package/src/components/Settings/SettingsLogs/index.js +13 -0
  26. package/src/components/SidebarMenu/index.js +9 -1
  27. package/src/components/Stores/BusinessDetails/index.js +2 -0
  28. package/src/components/Stores/BusinessSummary/index.js +29 -8
  29. package/src/index.js +2 -0
  30. package/src/utils/index.js +54 -0
  31. package/template/app.js +4 -1
  32. package/template/components/ListenPageChanges/index.js +1 -0
  33. package/template/helmetdata.json +7 -0
  34. package/template/pages/DriverTimeDisplay/index.js +12 -0
  35. /package/_bundles/{ordering-ui-admin.93ac710b95858715130d.js.LICENSE.txt → ordering-ui-admin.3f67563d0aa434e9729f.js.LICENSE.txt} +0 -0
@@ -0,0 +1,485 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.DriversTimeDisplay = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _orderingComponentsAdminExternal = require("ordering-components-admin-external");
10
+ var _reactBootstrapIcons = require("react-bootstrap-icons");
11
+ var _styles = require("../../../styles");
12
+ var _InfoShareContext = require("../../../contexts/InfoShareContext");
13
+ var _Shared = require("../../Shared");
14
+ var _UserList = require("./UserList");
15
+ var _DriverGroupSelectorHeader = require("../DriverGroupSelectorHeader");
16
+ var _AnalyticsCalendar = require("../../BusinessIntelligence/AnalyticsCalendar");
17
+ var _DriverBlockAddForm = require("./DriverBlockAddForm");
18
+ var _rrule = require("rrule");
19
+ var _moment = _interopRequireDefault(require("moment"));
20
+ var _styles2 = require("./styles");
21
+ var _Select = require("../../../styles/Select");
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
24
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
25
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
26
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
28
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
29
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
30
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
31
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
32
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
33
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
34
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
35
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
36
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
37
+ var DriversTimeDisplayUI = function DriversTimeDisplayUI(props) {
38
+ var _configs$general_hour, _configs$general_hour2, _stackEventsState$eve;
39
+ var driversList = props.driversList,
40
+ paginationProps = props.paginationProps,
41
+ getDrivers = props.getDrivers,
42
+ setSelectedGroup = props.setSelectedGroup,
43
+ setIsTimeChangeError = props.setIsTimeChangeError,
44
+ isTimeChangeError = props.isTimeChangeError,
45
+ handleChangeScheduleTime = props.handleChangeScheduleTime,
46
+ scheduleState = props.scheduleState,
47
+ selectedGroup = props.selectedGroup,
48
+ setScheduleState = props.setScheduleState,
49
+ setDate = props.setDate,
50
+ setSelectedUntilDate = props.setSelectedUntilDate,
51
+ selectedDate = props.selectedDate,
52
+ selectedUntilDate = props.selectedUntilDate,
53
+ setSelectedDate = props.setSelectedDate,
54
+ setSelectedBlock = props.setSelectedBlock,
55
+ selectedBlock = props.selectedBlock,
56
+ timeErrorList = props.timeErrorList,
57
+ openModal = props.openModal,
58
+ setOpenModal = props.setOpenModal,
59
+ handleAddBlockTime = props.handleAddBlockTime,
60
+ deleteBlockTime = props.deleteBlockTime,
61
+ setOpenDeleteModal = props.setOpenDeleteModal,
62
+ openDeleteModal = props.openDeleteModal,
63
+ setPropagation = props.setPropagation,
64
+ propagation = props.propagation,
65
+ setShowBreakBlock = props.setShowBreakBlock,
66
+ showBreakBlock = props.showBreakBlock,
67
+ date = props.date,
68
+ editBlockTime = props.editBlockTime,
69
+ setOpenEditModal = props.setOpenEditModal,
70
+ openEditModal = props.openEditModal,
71
+ setStackEventsState = props.setStackEventsState,
72
+ stackEventsState = props.stackEventsState,
73
+ setAlertState = props.setAlertState,
74
+ alertState = props.alertState,
75
+ handleSelectedUntilDate = props.handleSelectedUntilDate,
76
+ ruleState = props.ruleState,
77
+ setRuleState = props.setRuleState,
78
+ handleSetInitialStates = props.handleSetInitialStates;
79
+ var _useLanguage = (0, _orderingComponentsAdminExternal.useLanguage)(),
80
+ _useLanguage2 = _slicedToArray(_useLanguage, 2),
81
+ t = _useLanguage2[1];
82
+ var _useConfig = (0, _orderingComponentsAdminExternal.useConfig)(),
83
+ _useConfig2 = _slicedToArray(_useConfig, 1),
84
+ configs = _useConfig2[0].configs;
85
+ var _useInfoShare = (0, _InfoShareContext.useInfoShare)(),
86
+ _useInfoShare2 = _slicedToArray(_useInfoShare, 2),
87
+ isCollapse = _useInfoShare2[0].isCollapse,
88
+ handleMenuCollapse = _useInfoShare2[1].handleMenuCollapse;
89
+ var _useState = (0, _react.useState)(false),
90
+ _useState2 = _slicedToArray(_useState, 2),
91
+ showSelectHeader = _useState2[0],
92
+ setShowSelectHeader = _useState2[1];
93
+ var _useState3 = (0, _react.useState)([]),
94
+ _useState4 = _slicedToArray(_useState3, 2),
95
+ scheduleOptions = _useState4[0],
96
+ setScheduleOptions = _useState4[1];
97
+ var _useState5 = (0, _react.useState)([]),
98
+ _useState6 = _slicedToArray(_useState5, 2),
99
+ scheduleOptionValues = _useState6[0],
100
+ setScheduleOptionValues = _useState6[1];
101
+ var rule = ruleState !== null && ruleState !== void 0 && ruleState.freq ? new _rrule.RRule(ruleState).toString() : null;
102
+ var is12Hours = configs === null || configs === void 0 || (_configs$general_hour = configs.general_hour_format) === null || _configs$general_hour === void 0 || (_configs$general_hour = _configs$general_hour.value) === null || _configs$general_hour === void 0 ? void 0 : _configs$general_hour.includes('hh:mm');
103
+ var hourFormat = configs === null || configs === void 0 || (_configs$general_hour2 = configs.general_hour_format) === null || _configs$general_hour2 === void 0 ? void 0 : _configs$general_hour2.value;
104
+ var rruleList = [{
105
+ value: null,
106
+ name: t('NONE', 'None')
107
+ }, {
108
+ value: _rrule.RRule.WEEKLY,
109
+ name: t('WEEKLY', 'Weekly')
110
+ }, {
111
+ value: _rrule.RRule.DAILY,
112
+ name: t('DAILY', 'Daily')
113
+ }];
114
+ var rruleDayList = [{
115
+ value: _rrule.RRule.SU,
116
+ name: t('SUN', 'Sun')
117
+ }, {
118
+ value: _rrule.RRule.MO,
119
+ name: t('MON', 'Mon')
120
+ }, {
121
+ value: _rrule.RRule.TU,
122
+ name: t('TUE', 'Tue')
123
+ }, {
124
+ value: _rrule.RRule.WE,
125
+ name: t('WED', 'Wed')
126
+ }, {
127
+ value: _rrule.RRule.TH,
128
+ name: t('THU', 'Thu')
129
+ }, {
130
+ value: _rrule.RRule.FR,
131
+ name: t('FRI', 'Fri')
132
+ }, {
133
+ value: _rrule.RRule.SA,
134
+ name: t('SAT', 'Sat')
135
+ }];
136
+ var propagationList = [{
137
+ value: 'none',
138
+ content: t('NONE', 'None')
139
+ }, {
140
+ value: 'all',
141
+ content: t('ALL', 'All')
142
+ }, {
143
+ value: 'from_now',
144
+ content: t('FROM_NOW', 'From now')
145
+ }, {
146
+ value: 'from_event',
147
+ content: t('FROM_EVENT', 'From event')
148
+ }];
149
+ var changeDriverGroupState = function changeDriverGroupState(_driverGroup) {
150
+ setShowSelectHeader(false);
151
+ setSelectedGroup(_driverGroup);
152
+ };
153
+ var handleChangeDate = function handleChangeDate(date1, date2) {
154
+ var diff = (0, _moment.default)(date2).diff(date1, 'days');
155
+ if (diff > 31) {
156
+ setIsTimeChangeError({
157
+ state: true,
158
+ error: 4
159
+ });
160
+ } else {
161
+ setDate([(0, _moment.default)(date1).startOf('day').utc().format('YYYY-MM-DD HH:mm:ss'), (0, _moment.default)(date2).endOf('day').utc().format('YYYY-MM-DD HH:mm:ss')]);
162
+ }
163
+ };
164
+ var handleUntilDate = function handleUntilDate(_date) {
165
+ var diff = (0, _moment.default)(_date).diff(selectedDate, 'months', true);
166
+ if ((0, _moment.default)(_date) < (0, _moment.default)(selectedDate) || diff > 2) {
167
+ setIsTimeChangeError({
168
+ state: true,
169
+ error: 5
170
+ });
171
+ } else {
172
+ handleSelectedUntilDate(_date);
173
+ setSelectedUntilDate(_date);
174
+ }
175
+ };
176
+ var closeAlert = function closeAlert() {
177
+ setIsTimeChangeError({
178
+ state: false,
179
+ error: null
180
+ });
181
+ setAlertState({
182
+ open: false,
183
+ content: []
184
+ });
185
+ };
186
+ var generateHourList = function generateHourList() {
187
+ var _selectedBlock$block, _selectedBlock$block2, _selectedBlock$block3, _selectedBlock$block4, _selectedBlock$block5, _selectedBlock$block9, _selectedBlock$block10, _selectedBlock$block11;
188
+ var _scheduleOptions = [];
189
+ var isTodayOrPastDate = (0, _moment.default)(selectedDate).format('YYYY-MM-DD') <= (0, _moment.default)().format('YYYY-MM-DD');
190
+ var now = new Date();
191
+ for (var hour = 0; hour < 24; hour++) {
192
+ /**
193
+ * Continue if is today and hour is smaller than current hour
194
+ */
195
+ if (isTodayOrPastDate && hour < (now === null || now === void 0 ? void 0 : now.getHours())) continue;
196
+ var hh = '';
197
+ var meridian = '';
198
+ if (!is12Hours) hh = hour < 10 ? "0".concat(hour) : hour;else {
199
+ if (hour === 0) {
200
+ hh = '12';
201
+ meridian = ' ' + t('AM', 'AM');
202
+ } else if (hour > 0 && hour < 12) {
203
+ hh = hour < 10 ? '0' + hour : hour;
204
+ meridian = ' ' + t('AM', 'AM');
205
+ } else if (hour === 12) {
206
+ hh = '12';
207
+ meridian = ' ' + t('PM', 'PM');
208
+ } else {
209
+ hh = hour - 12 < 10 ? '0' + (hour - 12) : hour - 12;
210
+ meridian = ' ' + t('PM', 'PM');
211
+ }
212
+ }
213
+ for (var min = 0; min < 4; min++) {
214
+ /**
215
+ * Continue if is today and hour is equal to current hour and minutes is smaller than current minute
216
+ */
217
+ if (isTodayOrPastDate && hour === (now === null || now === void 0 ? void 0 : now.getHours()) && min * 15 <= now.getMinutes()) continue;
218
+ _scheduleOptions.push({
219
+ value: (hour < 10 ? "0".concat(hour) : hour) + ':' + (min === 0 ? '00' : min * 15),
220
+ content: /*#__PURE__*/_react.default.createElement(_styles2.TimeOptions, null, is12Hours ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, hh, ":", min === 0 ? '00' : min * 15, " ", meridian) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, hh, " : ", min === 0 ? '00' : min * 15))
221
+ });
222
+ }
223
+ }
224
+ _scheduleOptions.push({
225
+ value: '23:59',
226
+ content: /*#__PURE__*/_react.default.createElement(_styles2.TimeOptions, null, is12Hours ? '11:59 PM' : '23 : 59')
227
+ });
228
+ var breakEnd = (selectedBlock === null || selectedBlock === void 0 || (_selectedBlock$block = selectedBlock.block) === null || _selectedBlock$block === void 0 ? void 0 : _selectedBlock$block.break_end) || (selectedBlock === null || selectedBlock === void 0 || (_selectedBlock$block2 = selectedBlock.block) === null || _selectedBlock$block2 === void 0 ? void 0 : _selectedBlock$block2.end);
229
+ var breakStart = (selectedBlock === null || selectedBlock === void 0 || (_selectedBlock$block3 = selectedBlock.block) === null || _selectedBlock$block3 === void 0 ? void 0 : _selectedBlock$block3.break_start) || (selectedBlock === null || selectedBlock === void 0 || (_selectedBlock$block4 = selectedBlock.block) === null || _selectedBlock$block4 === void 0 ? void 0 : _selectedBlock$block4.start);
230
+ if (selectedBlock !== null && selectedBlock !== void 0 && (_selectedBlock$block5 = selectedBlock.block) !== null && _selectedBlock$block5 !== void 0 && _selectedBlock$block5.end && !_scheduleOptions.some(function (option) {
231
+ return (option === null || option === void 0 ? void 0 : option.name) === 'end';
232
+ })) {
233
+ var _selectedBlock$block6, _selectedBlock$block7, _selectedBlock$block8;
234
+ _scheduleOptions.unshift({
235
+ value: (0, _moment.default)(selectedBlock === null || selectedBlock === void 0 || (_selectedBlock$block6 = selectedBlock.block) === null || _selectedBlock$block6 === void 0 ? void 0 : _selectedBlock$block6.end).format('HH:mm'),
236
+ name: 'end',
237
+ content: /*#__PURE__*/_react.default.createElement(_styles2.TimeOptions, null, is12Hours ? "".concat((0, _moment.default)(selectedBlock === null || selectedBlock === void 0 || (_selectedBlock$block7 = selectedBlock.block) === null || _selectedBlock$block7 === void 0 ? void 0 : _selectedBlock$block7.end).format('hh:mm A')) : "".concat((0, _moment.default)(selectedBlock === null || selectedBlock === void 0 || (_selectedBlock$block8 = selectedBlock.block) === null || _selectedBlock$block8 === void 0 ? void 0 : _selectedBlock$block8.end).format('HH : mm')))
238
+ });
239
+ }
240
+ if (showBreakBlock && selectedBlock !== null && selectedBlock !== void 0 && (_selectedBlock$block9 = selectedBlock.block) !== null && _selectedBlock$block9 !== void 0 && _selectedBlock$block9.end && !_scheduleOptions.some(function (option) {
241
+ return (option === null || option === void 0 ? void 0 : option.name) === 'break_end';
242
+ })) {
243
+ _scheduleOptions.unshift({
244
+ value: (0, _moment.default)(breakEnd).format('HH:mm'),
245
+ name: 'break_end',
246
+ content: /*#__PURE__*/_react.default.createElement(_styles2.TimeOptions, null, is12Hours ? "".concat((0, _moment.default)(breakEnd).format('hh:mm A')) : "".concat((0, _moment.default)(breakEnd).format('HH : mm')))
247
+ });
248
+ }
249
+ if (showBreakBlock && selectedBlock !== null && selectedBlock !== void 0 && (_selectedBlock$block10 = selectedBlock.block) !== null && _selectedBlock$block10 !== void 0 && _selectedBlock$block10.start) {
250
+ _scheduleOptions.unshift({
251
+ value: (0, _moment.default)(breakStart).format('HH:mm'),
252
+ name: 'break_start',
253
+ content: /*#__PURE__*/_react.default.createElement(_styles2.TimeOptions, null, is12Hours ? "".concat((0, _moment.default)(breakStart).format('hh:mm A')) : "".concat((0, _moment.default)(breakStart).format('HH : mm')))
254
+ });
255
+ }
256
+ if (selectedBlock !== null && selectedBlock !== void 0 && (_selectedBlock$block11 = selectedBlock.block) !== null && _selectedBlock$block11 !== void 0 && _selectedBlock$block11.start && !_scheduleOptions.some(function (option) {
257
+ return (option === null || option === void 0 ? void 0 : option.name) === 'start';
258
+ })) {
259
+ var _selectedBlock$block12, _selectedBlock$block13, _selectedBlock$block14;
260
+ _scheduleOptions.unshift({
261
+ value: (0, _moment.default)(selectedBlock === null || selectedBlock === void 0 || (_selectedBlock$block12 = selectedBlock.block) === null || _selectedBlock$block12 === void 0 ? void 0 : _selectedBlock$block12.start).format('HH:mm'),
262
+ name: 'start',
263
+ content: /*#__PURE__*/_react.default.createElement(_styles2.TimeOptions, null, is12Hours ? "".concat((0, _moment.default)(selectedBlock === null || selectedBlock === void 0 || (_selectedBlock$block13 = selectedBlock.block) === null || _selectedBlock$block13 === void 0 ? void 0 : _selectedBlock$block13.start).format('hh:mm A')) : "".concat((0, _moment.default)(selectedBlock === null || selectedBlock === void 0 || (_selectedBlock$block14 = selectedBlock.block) === null || _selectedBlock$block14 === void 0 ? void 0 : _selectedBlock$block14.start).format('HH : mm')))
264
+ });
265
+ }
266
+ setScheduleOptionValues(_scheduleOptions.map(function (option) {
267
+ return option === null || option === void 0 ? void 0 : option.value;
268
+ }));
269
+ setScheduleOptions(_scheduleOptions);
270
+ };
271
+ (0, _react.useEffect)(function () {
272
+ var isTodayOrPastDate = (0, _moment.default)(selectedDate).format('YYYY-MM-DD') <= (0, _moment.default)().format('YYYY-MM-DD');
273
+ var date = (0, _moment.default)(selectedDate).format('YYYY-MM-DD');
274
+ if ((scheduleOptions === null || scheduleOptions === void 0 ? void 0 : scheduleOptions.length) > 0 && isTodayOrPastDate) {
275
+ var _scheduleOptions$find, _scheduleOptions$find2, _scheduleOptions$, _scheduleState$block, _scheduleState$block2;
276
+ var state = _objectSpread(_objectSpread({}, scheduleState.state), {}, {
277
+ start: "".concat(date, " ").concat((_scheduleOptions$find = scheduleOptions === null || scheduleOptions === void 0 || (_scheduleOptions$find2 = scheduleOptions.find(function (option) {
278
+ return (option === null || option === void 0 ? void 0 : option.name) === 'start';
279
+ })) === null || _scheduleOptions$find2 === void 0 ? void 0 : _scheduleOptions$find2.value) !== null && _scheduleOptions$find !== void 0 ? _scheduleOptions$find : (_scheduleOptions$ = scheduleOptions[0]) === null || _scheduleOptions$ === void 0 ? void 0 : _scheduleOptions$.value, ":00")
280
+ });
281
+ if (showBreakBlock) {
282
+ var _scheduleOptions$find3, _scheduleOptions$find4, _scheduleOptions$2;
283
+ state.break_start = "".concat(date, " ").concat((_scheduleOptions$find3 = scheduleOptions === null || scheduleOptions === void 0 || (_scheduleOptions$find4 = scheduleOptions.find(function (option) {
284
+ return (option === null || option === void 0 ? void 0 : option.name) === 'break_start';
285
+ })) === null || _scheduleOptions$find4 === void 0 ? void 0 : _scheduleOptions$find4.value) !== null && _scheduleOptions$find3 !== void 0 ? _scheduleOptions$find3 : (_scheduleOptions$2 = scheduleOptions[0]) === null || _scheduleOptions$2 === void 0 ? void 0 : _scheduleOptions$2.value, ":00");
286
+ }
287
+ if (!(scheduleState !== null && scheduleState !== void 0 && (_scheduleState$block = scheduleState.block) !== null && _scheduleState$block !== void 0 && _scheduleState$block.end) && !selectedBlock) {
288
+ state.end = "".concat(date, " 23:59:00");
289
+ }
290
+ if (!(scheduleState !== null && scheduleState !== void 0 && (_scheduleState$block2 = scheduleState.block) !== null && _scheduleState$block2 !== void 0 && _scheduleState$block2.rrule) && !selectedBlock) {
291
+ delete state.until;
292
+ }
293
+ setScheduleState(_objectSpread(_objectSpread({}, scheduleState), {}, {
294
+ state: state,
295
+ loading: false,
296
+ error: null
297
+ }));
298
+ }
299
+ }, [JSON.stringify(scheduleOptions), selectedDate, showBreakBlock, selectedBlock, date]);
300
+ (0, _react.useEffect)(function () {
301
+ if (!(isTimeChangeError !== null && isTimeChangeError !== void 0 && isTimeChangeError.state)) return;
302
+ setAlertState({
303
+ open: true,
304
+ content: timeErrorList[isTimeChangeError.error]
305
+ });
306
+ }, [isTimeChangeError === null || isTimeChangeError === void 0 ? void 0 : isTimeChangeError.state]);
307
+ (0, _react.useEffect)(function () {
308
+ var interval = setInterval(function () {
309
+ generateHourList();
310
+ }, 1000);
311
+ return function () {
312
+ return clearInterval(interval);
313
+ };
314
+ }, [selectedDate, selectedBlock, showBreakBlock]);
315
+ (0, _react.useEffect)(function () {
316
+ var _scheduleState$state;
317
+ setScheduleState(_objectSpread(_objectSpread({}, scheduleState), {}, {
318
+ state: _objectSpread(_objectSpread({}, scheduleState.state), {}, {
319
+ rrule: rule,
320
+ until: (scheduleState === null || scheduleState === void 0 || (_scheduleState$state = scheduleState.state) === null || _scheduleState$state === void 0 ? void 0 : _scheduleState$state.until) || "".concat((0, _moment.default)(selectedDate).format('YYYY-MM-DD'), " 23:59:00")
321
+ })
322
+ }));
323
+ }, [rule]);
324
+ (0, _react.useEffect)(function () {
325
+ var _selectedBlock$block15;
326
+ if (!(selectedBlock !== null && selectedBlock !== void 0 && selectedBlock.block)) return;
327
+ if (selectedBlock !== null && selectedBlock !== void 0 && (_selectedBlock$block15 = selectedBlock.block) !== null && _selectedBlock$block15 !== void 0 && _selectedBlock$block15.rrule) {
328
+ var _selectedBlock$block16, _selectedBlock$block17, _selectedBlock$block18, _selectedBlock$block19;
329
+ var _date = _rrule.RRule.fromString("DTSTART:".concat((0, _moment.default)(selectedBlock === null || selectedBlock === void 0 || (_selectedBlock$block16 = selectedBlock.block) === null || _selectedBlock$block16 === void 0 ? void 0 : _selectedBlock$block16.start).toISOString().replaceAll('-', '').replaceAll(':', '').replaceAll('.', '')) + '\n' + (selectedBlock === null || selectedBlock === void 0 || (_selectedBlock$block17 = selectedBlock.block) === null || _selectedBlock$block17 === void 0 || (_selectedBlock$block17 = _selectedBlock$block17.rrule) === null || _selectedBlock$block17 === void 0 ? void 0 : _selectedBlock$block17.includes('RRULE:')) ? selectedBlock === null || selectedBlock === void 0 || (_selectedBlock$block18 = selectedBlock.block) === null || _selectedBlock$block18 === void 0 ? void 0 : _selectedBlock$block18.rrule : "RRULE:".concat(selectedBlock === null || selectedBlock === void 0 || (_selectedBlock$block19 = selectedBlock.block) === null || _selectedBlock$block19 === void 0 ? void 0 : _selectedBlock$block19.rrule));
330
+ setRuleState({
331
+ freq: _date.options.freq,
332
+ byweekday: _date.options.byweekday
333
+ });
334
+ }
335
+ }, [selectedBlock === null || selectedBlock === void 0 ? void 0 : selectedBlock.block]);
336
+ var handleSelectDriver = function handleSelectDriver(_driver, _block, date) {
337
+ setSelectedBlock({
338
+ user: _driver,
339
+ block: _block
340
+ });
341
+ var isTodayOrPastDate = (0, _moment.default)(date).format('YYYY-MM-DD') <= (0, _moment.default)().format('YYYY-MM-DD');
342
+ if (_block || date && !isTodayOrPastDate) {
343
+ setSelectedDate(new Date((_block === null || _block === void 0 ? void 0 : _block.start) || "".concat(date, " 00:00:00")));
344
+ setScheduleState(_objectSpread(_objectSpread({}, scheduleState), {}, {
345
+ state: {
346
+ start: (_block === null || _block === void 0 ? void 0 : _block.start) || "".concat(date, " 00:00:00"),
347
+ end: (_block === null || _block === void 0 ? void 0 : _block.end) || "".concat(date, " 23:59:00")
348
+ }
349
+ }));
350
+ }
351
+ !_block && generateHourList();
352
+ setOpenModal(true);
353
+ };
354
+ var onCloseModal = function onCloseModal() {
355
+ setOpenModal(false);
356
+ setScheduleOptionValues([]);
357
+ handleSetInitialStates();
358
+ };
359
+ var handleCloseSecondModal = function handleCloseSecondModal() {
360
+ setOpenDeleteModal(false);
361
+ setOpenEditModal(false);
362
+ };
363
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_styles2.Container, null, driversList.loading && /*#__PURE__*/_react.default.createElement(_styles2.SpinnerLoaderWrapper, null, /*#__PURE__*/_react.default.createElement(_Shared.SpinnerLoader, null)), /*#__PURE__*/_react.default.createElement(_styles2.Header, null, /*#__PURE__*/_react.default.createElement(_styles2.HeaderTitleContainer, null, isCollapse && /*#__PURE__*/_react.default.createElement(_styles.IconButton, {
364
+ color: "black",
365
+ onClick: function onClick() {
366
+ return handleMenuCollapse(false);
367
+ }
368
+ }, /*#__PURE__*/_react.default.createElement(_reactBootstrapIcons.List, null)), /*#__PURE__*/_react.default.createElement(_styles2.HeaderWrapper, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("h1", null, t('DRIVERS_TIME_DISPLAY', 'Drivers time display')), /*#__PURE__*/_react.default.createElement(_styles2.DriverGroupSelectorWrapper, null, /*#__PURE__*/_react.default.createElement(_styles2.DriverGroupName, {
369
+ onClick: function onClick() {
370
+ return setShowSelectHeader(!showSelectHeader);
371
+ }
372
+ }, t('SELECT_DRIVER_GROUP', 'Select a driver group')), showSelectHeader && /*#__PURE__*/_react.default.createElement(_DriverGroupSelectorHeader.DriverGroupSelectHeader, {
373
+ close: function close() {
374
+ return setShowSelectHeader(false);
375
+ },
376
+ isOpen: showSelectHeader,
377
+ changeDriverGroupState: changeDriverGroupState
378
+ }), /*#__PURE__*/_react.default.createElement(_reactBootstrapIcons.ChevronRight, null), /*#__PURE__*/_react.default.createElement("span", {
379
+ className: "calendar"
380
+ }, t('CALENDAR', 'Calendar')), selectedGroup && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactBootstrapIcons.ChevronRight, null), /*#__PURE__*/_react.default.createElement("span", null, selectedGroup === null || selectedGroup === void 0 ? void 0 : selectedGroup.name)))), /*#__PURE__*/_react.default.createElement(_styles2.DriversGroupCalendarWrapper, null, /*#__PURE__*/_react.default.createElement(_AnalyticsCalendar.AnalyticsCalendar, _extends({}, props, {
381
+ handleChangeDate: handleChangeDate
382
+ })))))), /*#__PURE__*/_react.default.createElement(_UserList.DeliveryUsersListing, {
383
+ date: date,
384
+ getDrivers: getDrivers,
385
+ driversList: driversList,
386
+ paginationProps: paginationProps,
387
+ selectedGroup: selectedGroup,
388
+ handleSelectDriver: handleSelectDriver,
389
+ setStackEventsState: setStackEventsState
390
+ })), /*#__PURE__*/_react.default.createElement(_Shared.Modal, {
391
+ width: "700px",
392
+ padding: "30px",
393
+ title: selectedBlock !== null && selectedBlock !== void 0 && selectedBlock.block ? t('EDIT_BLOCK', 'Edit block') : t('ADD_NEW_BLOCK', 'Add new block'),
394
+ open: openModal,
395
+ onClose: onCloseModal
396
+ }, /*#__PURE__*/_react.default.createElement(_DriverBlockAddForm.DriverBlockAddFormUI, {
397
+ rruleList: rruleList,
398
+ ruleState: ruleState,
399
+ setRuleState: setRuleState,
400
+ rruleDayList: rruleDayList,
401
+ selectedDate: selectedDate,
402
+ scheduleState: scheduleState,
403
+ showBreakBlock: showBreakBlock,
404
+ isEdit: !!(selectedBlock !== null && selectedBlock !== void 0 && selectedBlock.block),
405
+ handleUntilDate: handleUntilDate,
406
+ scheduleOptions: scheduleOptions,
407
+ deleteBlockTime: deleteBlockTime,
408
+ setScheduleState: setScheduleState,
409
+ setOpenEditModal: setOpenEditModal,
410
+ selectedBlock: selectedBlock === null || selectedBlock === void 0 ? void 0 : selectedBlock.block,
411
+ setShowBreakBlock: setShowBreakBlock,
412
+ selectedUntilDate: selectedUntilDate,
413
+ handleChangeStartDate: setSelectedDate,
414
+ setOpenDeleteModal: setOpenDeleteModal,
415
+ handleAddBlockTime: handleAddBlockTime,
416
+ handleChangeScheduleTime: handleChangeScheduleTime,
417
+ onCloseModal: onCloseModal,
418
+ scheduleOptionValues: scheduleOptionValues
419
+ })), /*#__PURE__*/_react.default.createElement(_Shared.Modal, {
420
+ width: "500px",
421
+ height: "40vh",
422
+ padding: "30px",
423
+ title: openEditModal ? t('EDIT_BLOCK', 'Edit block') : t('DELETE_BLOCK', 'Delete block'),
424
+ open: openDeleteModal || openEditModal,
425
+ onClose: handleCloseSecondModal
426
+ }, /*#__PURE__*/_react.default.createElement(_styles2.DeleteWrapper, null, openDeleteModal && /*#__PURE__*/_react.default.createElement(_styles2.DeleteBlock, null, t('DELETE_BLOCK_CONFIRMATION', 'Are you sure that you want to delete this block?')), openEditModal && /*#__PURE__*/_react.default.createElement(_styles2.DeleteBlock, null, t('EDIT_BLOCK_CONFIRMATION', 'Are you sure that you want to edit this block?')), /*#__PURE__*/_react.default.createElement(_styles2.OrderStatusTypeSelectWrapper, null, /*#__PURE__*/_react.default.createElement("p", null, t('SELECT_PROPAGATION', 'Select a propagation option')), /*#__PURE__*/_react.default.createElement(_Select.Select, {
427
+ defaultValue: propagation,
428
+ options: propagationList,
429
+ onChange: function onChange(option) {
430
+ return setPropagation(option);
431
+ },
432
+ placeholder: t('CHANGE_PROPAGATION', 'Change Propagation'),
433
+ notAsync: true
434
+ }))), /*#__PURE__*/_react.default.createElement(_styles2.DeleteButtons, null, /*#__PURE__*/_react.default.createElement(_styles.Button, {
435
+ color: "lightPrimary",
436
+ borderRadius: "8px",
437
+ onClick: function onClick() {
438
+ return handleCloseSecondModal();
439
+ }
440
+ }, t('CANCEL', 'Cancel')), /*#__PURE__*/_react.default.createElement(_styles.Button, {
441
+ color: "primary",
442
+ borderRadius: "8px",
443
+ disabled: scheduleState.loading,
444
+ onClick: function onClick() {
445
+ return openDeleteModal ? deleteBlockTime() : editBlockTime();
446
+ }
447
+ }, scheduleState.loading ? t('LOADING', 'Loading') : openDeleteModal ? t('DELETE', 'Delete') : t('ACCEPT', 'Accept')))), /*#__PURE__*/_react.default.createElement(_Shared.Modal, {
448
+ width: "500px",
449
+ height: "40vh",
450
+ padding: "30px",
451
+ title: t('STACKED_BLOCKS', 'Stacked blocks'),
452
+ open: stackEventsState === null || stackEventsState === void 0 ? void 0 : stackEventsState.open,
453
+ onClose: onCloseModal
454
+ }, /*#__PURE__*/_react.default.createElement(_styles2.DeleteWrapper, null, stackEventsState === null || stackEventsState === void 0 || (_stackEventsState$eve = stackEventsState.events) === null || _stackEventsState$eve === void 0 ? void 0 : _stackEventsState$eve.map(function (event, i) {
455
+ return /*#__PURE__*/_react.default.createElement(_styles2.StackedBlock, {
456
+ key: i,
457
+ onClick: function onClick() {
458
+ return handleSelectDriver(stackEventsState === null || stackEventsState === void 0 ? void 0 : stackEventsState.user, event);
459
+ }
460
+ }, /*#__PURE__*/_react.default.createElement("p", null, (0, _moment.default)(event.start).format(hourFormat), " - ", (0, _moment.default)(event.end).format(hourFormat)));
461
+ }))), /*#__PURE__*/_react.default.createElement(_Shared.Alert, {
462
+ title: t('WEB_APPNAME', 'Ordering'),
463
+ content: alertState.content,
464
+ acceptText: t('ACCEPT', 'Accept'),
465
+ open: alertState.open,
466
+ onClose: function onClose() {
467
+ return closeAlert();
468
+ },
469
+ onAccept: function onAccept() {
470
+ return closeAlert();
471
+ },
472
+ closeOnBackdrop: false
473
+ }));
474
+ };
475
+ var DriversTimeDisplay = exports.DriversTimeDisplay = function DriversTimeDisplay(props) {
476
+ var driversTimeDisplayProps = _objectSpread(_objectSpread({}, props), {}, {
477
+ UIComponent: DriversTimeDisplayUI,
478
+ paginationSettings: {
479
+ initialPage: 1,
480
+ pageSize: 10,
481
+ controlType: 'pages'
482
+ }
483
+ });
484
+ return /*#__PURE__*/_react.default.createElement(_orderingComponentsAdminExternal.CalendarDriversList, driversTimeDisplayProps);
485
+ };