ordering-ui-admin-external 1.43.18 → 1.43.20
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/_bundles/{ordering-ui-admin.f259950aaf0e426c1af6.js → ordering-ui-admin.93ac710b95858715130d.js} +2 -2
- package/_modules/components/Orders/AdminsSelector/index.js +115 -0
- package/_modules/components/Orders/AdminsSelector/styles.js +67 -0
- package/_modules/components/Orders/AllInOne/index.js +19 -14
- package/_modules/components/Orders/DeliveryDashboard/index.js +1 -8
- package/_modules/components/Orders/OrderDashboardSLASetting/index.js +7 -3
- package/_modules/components/Orders/OrdersCards/index.js +4 -13
- package/_modules/components/Orders/OrdersCards/styles.js +12 -38
- package/_modules/components/Orders/OrdersContentHeader/index.js +17 -8
- package/_modules/components/Orders/OrdersContentHeader/styles.js +18 -11
- package/_modules/components/Orders/OrdersDashboardSLAControls/index.js +22 -2
- package/_modules/components/Orders/OrdersDashboardSLAControls/styles.js +1 -1
- package/_modules/components/Orders/OrdersFilterGroup/index.js +8 -1
- package/_modules/components/Orders/OrdersHeaderFilterGroup/styles.js +3 -4
- package/_modules/components/Orders/OrdersManager/index.js +2 -7
- package/_modules/components/Orders/WebsocketStatus/index.js +1 -1
- package/_modules/contexts/FilterValuesContext/index.js +1 -0
- package/package.json +2 -2
- package/src/components/Orders/AdminsSelector/index.js +97 -0
- package/src/components/Orders/AdminsSelector/styles.js +142 -0
- package/src/components/Orders/AllInOne/index.js +14 -14
- package/src/components/Orders/DeliveryDashboard/index.js +0 -8
- package/src/components/Orders/OrderDashboardSLASetting/index.js +14 -8
- package/src/components/Orders/OrdersCards/index.js +4 -9
- package/src/components/Orders/OrdersCards/styles.js +2 -22
- package/src/components/Orders/OrdersContentHeader/index.js +21 -10
- package/src/components/Orders/OrdersContentHeader/styles.js +11 -5
- package/src/components/Orders/OrdersDashboardSLAControls/index.js +23 -1
- package/src/components/Orders/OrdersDashboardSLAControls/styles.js +1 -1
- package/src/components/Orders/OrdersFilterGroup/index.js +8 -0
- package/src/components/Orders/OrdersHeaderFilterGroup/styles.js +15 -12
- package/src/components/Orders/OrdersManager/index.js +2 -8
- package/src/components/Orders/WebsocketStatus/index.js +1 -1
- package/src/contexts/FilterValuesContext/index.js +1 -0
- /package/_bundles/{ordering-ui-admin.f259950aaf0e426c1af6.js.LICENSE.txt → ordering-ui-admin.93ac710b95858715130d.js.LICENSE.txt} +0 -0
|
@@ -8,6 +8,7 @@ exports.OrdersDashboardSLAControls = void 0;
|
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _orderingComponentsAdminExternal = require("ordering-components-admin-external");
|
|
10
10
|
var _FirstSelect = require("../../../styles/Select/FirstSelect");
|
|
11
|
+
var _OrderDashboardSLASetting = require("../OrderDashboardSLASetting");
|
|
11
12
|
var _styles = require("./styles");
|
|
12
13
|
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); }
|
|
13
14
|
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; }
|
|
@@ -22,7 +23,8 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
22
23
|
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; } }
|
|
23
24
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
24
25
|
var OrdersDashboardSLAControls = exports.OrdersDashboardSLAControls = function OrdersDashboardSLAControls(props) {
|
|
25
|
-
var setTimeStatus = props.setTimeStatus
|
|
26
|
+
var setTimeStatus = props.setTimeStatus,
|
|
27
|
+
setSlaSettingTime = props.setSlaSettingTime;
|
|
26
28
|
var _useState = (0, _react.useState)('default'),
|
|
27
29
|
_useState2 = _slicedToArray(_useState, 2),
|
|
28
30
|
defaultOptionValue = _useState2[0],
|
|
@@ -31,6 +33,10 @@ var OrdersDashboardSLAControls = exports.OrdersDashboardSLAControls = function O
|
|
|
31
33
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
32
34
|
filteredTimeStatus = _useState4[0],
|
|
33
35
|
setFilteredTimeStatus = _useState4[1];
|
|
36
|
+
var _useState5 = (0, _react.useState)(false),
|
|
37
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
38
|
+
settingOptionOpen = _useState6[0],
|
|
39
|
+
setSettingOptionOpen = _useState6[1];
|
|
34
40
|
var _useLanguage = (0, _orderingComponentsAdminExternal.useLanguage)(),
|
|
35
41
|
_useLanguage2 = _slicedToArray(_useLanguage, 2),
|
|
36
42
|
t = _useLanguage2[1];
|
|
@@ -66,8 +72,18 @@ var OrdersDashboardSLAControls = exports.OrdersDashboardSLAControls = function O
|
|
|
66
72
|
}, /*#__PURE__*/_react.default.createElement(_styles.Timestatus, {
|
|
67
73
|
timeState: "delayed"
|
|
68
74
|
}), /*#__PURE__*/_react.default.createElement("p", null, t('DELAYED', 'Delayed')))
|
|
75
|
+
}, {
|
|
76
|
+
value: 'sla_settings',
|
|
77
|
+
name: t('SLA_SETTING', 'SLA’s settings'),
|
|
78
|
+
content: /*#__PURE__*/_react.default.createElement(_styles.Option, {
|
|
79
|
+
noPadding: true
|
|
80
|
+
}, /*#__PURE__*/_react.default.createElement("p", null, t('SLA_SETTING', 'SLA’s settings')))
|
|
69
81
|
}];
|
|
70
82
|
var changeOrderTimeStatus = function changeOrderTimeStatus(val) {
|
|
83
|
+
if (val === 'sla_settings') {
|
|
84
|
+
setSettingOptionOpen(true);
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
71
87
|
setDefaultOptionValue(val);
|
|
72
88
|
if (val === 'default') {
|
|
73
89
|
setTimeStatus(null);
|
|
@@ -98,5 +114,9 @@ var OrdersDashboardSLAControls = exports.OrdersDashboardSLAControls = function O
|
|
|
98
114
|
isShowSearchBar: true,
|
|
99
115
|
searchBarPlaceholder: t('SEARCH', 'Search'),
|
|
100
116
|
handleChangeSearch: handleChangeSearch
|
|
101
|
-
}))
|
|
117
|
+
})), settingOptionOpen && /*#__PURE__*/_react.default.createElement(_OrderDashboardSLASetting.OrderDashboardSLASetting, {
|
|
118
|
+
setSlaSettingTime: setSlaSettingTime,
|
|
119
|
+
settingOptionOpen: settingOptionOpen,
|
|
120
|
+
setSettingOptionOpen: setSettingOptionOpen
|
|
121
|
+
}));
|
|
102
122
|
};
|
|
@@ -17,7 +17,7 @@ var OrdersDashboardSLAControlsContainer = exports.OrdersDashboardSLAControlsCont
|
|
|
17
17
|
var _props$theme2;
|
|
18
18
|
return (_props$theme2 = props.theme) !== null && _props$theme2 !== void 0 && _props$theme2.rtl ? (0, _styledComponents.css)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n margin-right: 5px;\n "]))) : (0, _styledComponents.css)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n margin-left: 5px;\n "])));
|
|
19
19
|
});
|
|
20
|
-
var OrderTimeStatusSelectWrapper = exports.OrderTimeStatusSelectWrapper = _styledComponents.default.div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n .timeStatusSelect {\n width:
|
|
20
|
+
var OrderTimeStatusSelectWrapper = exports.OrderTimeStatusSelectWrapper = _styledComponents.default.div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n .timeStatusSelect {\n width: fit-content;\n height: 43px;\n line-height: 43px;\n border: none;\n background: #F8F9FA;\n margin: 0 10px;\n >div:first-child {\n height: 100%;\n }\n }\n\n .list-wrapper {\n min-width: 168px;\n }\n\n .search-bar-container {\n padding: 7px 11px;\n width: 100%;\n input {\n border-radius: 7.6px;\n width: 100%;\n }\n }\n\n .search-bar-container {\n svg {\n top: 13px;\n }\n input {\n height: 40px;\n }\n }\n"])));
|
|
21
21
|
var Option = exports.Option = _styledComponents.default.div(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n padding: 5px 10px;\n column-gap: 5px;\n\n p {\n margin: 0px;\n white-space: nowrap;\n font-size: 14px;\n line-height: 26px;\n color: ", ";\n }\n\n ", "\n"])), function (props) {
|
|
22
22
|
return props.theme.colors.secundaryContrast;
|
|
23
23
|
}, function (_ref) {
|
|
@@ -20,6 +20,7 @@ var _PaymethodTypeSelector = require("../PaymethodTypeSelector");
|
|
|
20
20
|
var _CountryFilter = require("../CountryFilter");
|
|
21
21
|
var _styles = require("../../../styles");
|
|
22
22
|
var _CurrencyFilter = require("../CurrencyFilter");
|
|
23
|
+
var _AdminsSelector = require("../AdminsSelector");
|
|
23
24
|
var _utils = require("../../../utils");
|
|
24
25
|
var _FirstSelect = require("../../../styles/Select/FirstSelect");
|
|
25
26
|
var _FilterValuesContext = require("../../../contexts/FilterValuesContext");
|
|
@@ -52,6 +53,7 @@ var OrdersFilterGroupUI = function OrdersFilterGroupUI(props) {
|
|
|
52
53
|
paymethodsList = props.paymethodsList,
|
|
53
54
|
businessesList = props.businessesList,
|
|
54
55
|
citiesList = props.citiesList,
|
|
56
|
+
adminsList = props.adminsList,
|
|
55
57
|
handleChangeGroup = props.handleChangeGroup,
|
|
56
58
|
handleChangeDateType = props.handleChangeDateType,
|
|
57
59
|
handleChangeFromDate = props.handleChangeFromDate,
|
|
@@ -68,6 +70,7 @@ var OrdersFilterGroupUI = function OrdersFilterGroupUI(props) {
|
|
|
68
70
|
handleChangeCurrency = props.handleChangeCurrency,
|
|
69
71
|
handleChangeMetaFieldValue = props.handleChangeMetaFieldValue,
|
|
70
72
|
handleAddMetaField = props.handleAddMetaField,
|
|
73
|
+
handleChangeAdmin = props.handleChangeAdmin,
|
|
71
74
|
handleDeleteMetafield = props.handleDeleteMetafield,
|
|
72
75
|
handleChangeExternalId = props.handleChangeExternalId,
|
|
73
76
|
handleChangeChildFilterValue = props.handleChangeChildFilterValue,
|
|
@@ -335,7 +338,11 @@ var OrdersFilterGroupUI = function OrdersFilterGroupUI(props) {
|
|
|
335
338
|
assigned: value
|
|
336
339
|
});
|
|
337
340
|
}
|
|
338
|
-
}))
|
|
341
|
+
})), /*#__PURE__*/_react.default.createElement(_AdminsSelector.AdminsSelector, {
|
|
342
|
+
filterValues: filterValues,
|
|
343
|
+
adminsList: adminsList,
|
|
344
|
+
handleChangeAdmin: handleChangeAdmin
|
|
345
|
+
})), filterValues === null || filterValues === void 0 ? void 0 : filterValues.metafield.map(function (item) {
|
|
339
346
|
return /*#__PURE__*/_react.default.createElement(_styles2.WrapperRow, {
|
|
340
347
|
key: item.id
|
|
341
348
|
}, /*#__PURE__*/_react.default.createElement(_styles.Input, {
|
|
@@ -10,14 +10,13 @@ var _templateObject, _templateObject2, _templateObject3;
|
|
|
10
10
|
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); }
|
|
11
11
|
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; }
|
|
12
12
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
13
|
-
var WrapperRow = exports.WrapperRow = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n width: 100
|
|
13
|
+
var WrapperRow = exports.WrapperRow = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n width: 100%;\n align-items: center;\n padding-bottom: 0px;\n\n & > div {\n width: 100%;\n height: 47px;\n max-width: 1000px;\n margin-right: 10px;\n background-color: ", ";\n border: none;\n font-size: 14px;\n border-radius: 8px;\n > div:first-child {\n height: 100%;\n }\n }\n\n .order-status-multi-select {\n p {\n padding: 0;\n color: ", " !important;\n }\n }\n\n .date-filter-container {\n z-index: 100;\n }\n\n input {\n width: 100%;\n height: 47px;\n padding: 10px 25px;\n box-sizing: border-box;\n &::-webkit-outer-spin-button,\n &::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n -moz-appearance: textfield;\n }\n\n .close {\n right: 8px;\n }\n\n .external_id {\n @media (max-width: 1200px) {\n flex: auto;\n }\n }\n\n @media (max-width: 798px) {\n flex-direction: column !important;\n padding: 10px 15px 0 0px;\n & > div {\n margin-top: 15px;\n }\n }\n\n ", "\n"])), function (props) {
|
|
14
14
|
return props.theme.colors.secundary;
|
|
15
15
|
}, function (props) {
|
|
16
16
|
return props.theme.colors.headingColor;
|
|
17
17
|
}, function (_ref) {
|
|
18
|
-
var
|
|
19
|
-
|
|
20
|
-
return wrapperWidth < 992 && (0, _styledComponents.css)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n flex-direction: column !important;\n padding: ", ";\n "])), !isSelectedOrders && '15px 10px 0 10px');
|
|
18
|
+
var isSelectedOrders = _ref.isSelectedOrders;
|
|
19
|
+
return isSelectedOrders && (0, _styledComponents.css)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n flex-direction: column !important;\n padding: ", ";\n & > div {\n margin-top: 15px;\n }\n "])), !isSelectedOrders && '10px 15px 0 0px');
|
|
21
20
|
});
|
|
22
21
|
var Option = exports.Option = _styledComponents.default.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n font-weight: 400;\n font-size: 14px;\n line-height: 24px;\n color: ", ";\n display: flex;\n align-items: center;\n padding: 5px;\n"])), function (props) {
|
|
23
22
|
return props.theme.colors.secundaryContrast;
|
|
@@ -41,6 +41,7 @@ var OrdersManagerUI = function OrdersManagerUI(props) {
|
|
|
41
41
|
paymethodsList = props.paymethodsList,
|
|
42
42
|
businessesList = props.businessesList,
|
|
43
43
|
citiesList = props.citiesList,
|
|
44
|
+
adminsList = props.adminsList,
|
|
44
45
|
ordersStatusGroup = props.ordersStatusGroup,
|
|
45
46
|
filterValues = props.filterValues,
|
|
46
47
|
deletedOrderIds = props.deletedOrderIds,
|
|
@@ -219,6 +220,7 @@ var OrdersManagerUI = function OrdersManagerUI(props) {
|
|
|
219
220
|
citiesList: citiesList,
|
|
220
221
|
paymethodsList: paymethodsList,
|
|
221
222
|
businessesList: businessesList,
|
|
223
|
+
adminsList: adminsList,
|
|
222
224
|
handleChangeSearch: handleChangeSearch,
|
|
223
225
|
handleChangeFilterValues: handleChangeFilterValues,
|
|
224
226
|
selectedOrderIds: selectedOrderIds,
|
|
@@ -232,13 +234,6 @@ var OrdersManagerUI = function OrdersManagerUI(props) {
|
|
|
232
234
|
setTimeStatus: setTimeStatus,
|
|
233
235
|
setSlaSettingTime: setSlaSettingTime,
|
|
234
236
|
isLateralBar: isLateralBar
|
|
235
|
-
}), /*#__PURE__*/_react.default.createElement(_OrdersHeaderFilterGroup.OrdersHeaderFilterGroup, {
|
|
236
|
-
isSelectedOrders: isSelectedOrders,
|
|
237
|
-
driverGroupList: driverGroupList,
|
|
238
|
-
driversList: driversList,
|
|
239
|
-
searchValue: searchValue,
|
|
240
|
-
handleChangeFilterValues: handleChangeFilterValues,
|
|
241
|
-
handleChangeSearch: handleChangeSearch
|
|
242
237
|
}), /*#__PURE__*/_react.default.createElement(_OrderStatusFilterBar.OrderStatusFilterBar, {
|
|
243
238
|
isUseQuery: isUseQuery,
|
|
244
239
|
selectedOrderStatus: ordersStatusGroup,
|
|
@@ -79,7 +79,7 @@ var SocketStatusUI = function SocketStatusUI(props) {
|
|
|
79
79
|
onClick: function onClick() {
|
|
80
80
|
return setOpenModal(true);
|
|
81
81
|
}
|
|
82
|
-
}, /*#__PURE__*/_react.default.createElement(_styles2.StatusContainer, null, /*#__PURE__*/_react.default.createElement("span", null, t('
|
|
82
|
+
}, /*#__PURE__*/_react.default.createElement(_styles2.StatusContainer, null, /*#__PURE__*/_react.default.createElement("span", null, t('CONNECTION', 'Connection')), /*#__PURE__*/_react.default.createElement(_styles2.WebsocketStatusDot, {
|
|
83
83
|
status: socketStatus
|
|
84
84
|
}))), /*#__PURE__*/_react.default.createElement(_Shared.Modal, {
|
|
85
85
|
open: openModal,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ordering-ui-admin-external",
|
|
3
|
-
"version": "1.43.
|
|
3
|
+
"version": "1.43.20",
|
|
4
4
|
"description": "Ordering UI Admin Components",
|
|
5
5
|
"main": "./_modules/index.js",
|
|
6
6
|
"exports": {
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"lodash": "^4.17.20",
|
|
84
84
|
"moment": "^2.29.1",
|
|
85
85
|
"moment-range": "^4.0.2",
|
|
86
|
-
"ordering-components-admin-external": "1.43.
|
|
86
|
+
"ordering-components-admin-external": "1.43.11",
|
|
87
87
|
"polished": "^3.6.7",
|
|
88
88
|
"prop-types": "^15.7.2",
|
|
89
89
|
"react-big-calendar": "^1.4.2",
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import React, { useEffect, useState } from 'react'
|
|
2
|
+
import { useLanguage } from 'ordering-components-admin-external'
|
|
3
|
+
import { useTheme } from 'styled-components'
|
|
4
|
+
import { MultiSelect } from '../../../styles/MultiSelect'
|
|
5
|
+
|
|
6
|
+
import {
|
|
7
|
+
Option,
|
|
8
|
+
OptionContent,
|
|
9
|
+
DriverNameContainer,
|
|
10
|
+
WrapperDriverImage,
|
|
11
|
+
DriverImage,
|
|
12
|
+
DriverName,
|
|
13
|
+
PlaceholderTitle
|
|
14
|
+
} from './styles'
|
|
15
|
+
|
|
16
|
+
export const AdminsSelector = (props) => {
|
|
17
|
+
const {
|
|
18
|
+
adminsList,
|
|
19
|
+
defaultValue,
|
|
20
|
+
small,
|
|
21
|
+
padding,
|
|
22
|
+
handleChangeAdmin,
|
|
23
|
+
filterValues
|
|
24
|
+
} = props
|
|
25
|
+
|
|
26
|
+
const [, t] = useLanguage()
|
|
27
|
+
const theme = useTheme()
|
|
28
|
+
const [adminsMultiOptionList, setAdminsMultiOptionList] = useState([])
|
|
29
|
+
const [searchValue, setSearchValue] = useState(null)
|
|
30
|
+
const adminsLoading = [{ value: 'default', content: <Option small={small}>{t('LOADING', 'loading')}...</Option> }]
|
|
31
|
+
const Placeholder = <PlaceholderTitle>{t('SELECT_ADMINISTRATOR', 'Select the administrator')}</PlaceholderTitle>
|
|
32
|
+
|
|
33
|
+
useEffect(() => {
|
|
34
|
+
if (!adminsList?.loading && adminsList?.admins?.length > 0) {
|
|
35
|
+
let _adminList
|
|
36
|
+
if (searchValue) {
|
|
37
|
+
_adminList = adminsList?.admins?.filter(admin => (admin.name + admin.lastname).toLocaleLowerCase().includes(searchValue.toLocaleLowerCase()))
|
|
38
|
+
} else {
|
|
39
|
+
_adminList = adminsList?.admins
|
|
40
|
+
}
|
|
41
|
+
const _adminsOptionListTemp = _adminList?.map((admin, i) => {
|
|
42
|
+
return {
|
|
43
|
+
value: admin.id,
|
|
44
|
+
showDisable: true,
|
|
45
|
+
content: (
|
|
46
|
+
<Option small={small} padding={padding}>
|
|
47
|
+
<WrapperDriverImage small={small} className='driver-photo'>
|
|
48
|
+
<DriverImage bgimage={admin.photo || theme.images.icons?.noDriver} small={small} />
|
|
49
|
+
</WrapperDriverImage>
|
|
50
|
+
<OptionContent>
|
|
51
|
+
<DriverNameContainer className='driver-info'>
|
|
52
|
+
<DriverName small={small}>{admin?.name} {admin?.lastname}</DriverName>
|
|
53
|
+
</DriverNameContainer>
|
|
54
|
+
</OptionContent>
|
|
55
|
+
</Option>
|
|
56
|
+
)
|
|
57
|
+
}
|
|
58
|
+
})
|
|
59
|
+
|
|
60
|
+
setAdminsMultiOptionList(_adminsOptionListTemp)
|
|
61
|
+
}
|
|
62
|
+
}, [adminsList, defaultValue, searchValue])
|
|
63
|
+
|
|
64
|
+
return (
|
|
65
|
+
<>
|
|
66
|
+
{!adminsList?.loading && adminsList?.admins?.length > 0 ? (
|
|
67
|
+
<MultiSelect
|
|
68
|
+
defaultValue={filterValues.administratorIds}
|
|
69
|
+
placeholder={Placeholder}
|
|
70
|
+
options={adminsMultiOptionList}
|
|
71
|
+
optionInnerMargin='10px'
|
|
72
|
+
optionInnerMaxHeight='150px'
|
|
73
|
+
onChange={(admin) => handleChangeAdmin(admin)}
|
|
74
|
+
isShowSearchBar
|
|
75
|
+
searchBarIsCustomLayout
|
|
76
|
+
searchBarIsNotLazyLoad
|
|
77
|
+
searchValue={searchValue}
|
|
78
|
+
handleChangeSearch={(val) => setSearchValue(val)}
|
|
79
|
+
/>
|
|
80
|
+
) : (
|
|
81
|
+
<MultiSelect
|
|
82
|
+
defaultValue='default'
|
|
83
|
+
options={adminsLoading}
|
|
84
|
+
optionInnerMargin='10px'
|
|
85
|
+
optionInnerMaxHeight='150px'
|
|
86
|
+
className='driver-select'
|
|
87
|
+
isShowSearchBar
|
|
88
|
+
searchBarIsCustomLayout
|
|
89
|
+
searchBarIsNotLazyLoad
|
|
90
|
+
searchValue={searchValue}
|
|
91
|
+
handleChangeSearch={(val) => setSearchValue(val)}
|
|
92
|
+
/>
|
|
93
|
+
)}
|
|
94
|
+
</>
|
|
95
|
+
)
|
|
96
|
+
}
|
|
97
|
+
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import styled, { css } from 'styled-components'
|
|
3
|
+
|
|
4
|
+
export const Option = styled.div`
|
|
5
|
+
display: flex;
|
|
6
|
+
align-items: center;
|
|
7
|
+
color: ${props => props.theme.colors?.headingColor};
|
|
8
|
+
padding: ${({ padding }) => padding || '5px'};
|
|
9
|
+
white-space: nowrap;
|
|
10
|
+
|
|
11
|
+
img {
|
|
12
|
+
width: 45px;
|
|
13
|
+
border-radius: 8px;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
${({ small }) => small && css`
|
|
17
|
+
padding: ${({ padding }) => padding || '5px 0px'};
|
|
18
|
+
img {
|
|
19
|
+
width: 25px;
|
|
20
|
+
}
|
|
21
|
+
`}
|
|
22
|
+
|
|
23
|
+
span {
|
|
24
|
+
overflow: hidden;
|
|
25
|
+
white-space: nowrap;
|
|
26
|
+
text-overflow: ellipsis;
|
|
27
|
+
max-width: 350px;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@media (max-width: 576px) {
|
|
31
|
+
padding: ${({ padding }) => padding || '5px 0px'};
|
|
32
|
+
${props => props.theme?.rtl ? css`
|
|
33
|
+
margin-right: 10px;
|
|
34
|
+
` : css`
|
|
35
|
+
margin-left: 10px;
|
|
36
|
+
`}
|
|
37
|
+
span {
|
|
38
|
+
max-width: 280px;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
`
|
|
42
|
+
|
|
43
|
+
export const OptionContent = styled.div`
|
|
44
|
+
flex: 1;
|
|
45
|
+
display: flex;
|
|
46
|
+
align-items: center;
|
|
47
|
+
justify-content: space-between;
|
|
48
|
+
`
|
|
49
|
+
|
|
50
|
+
export const DriverNameContainer = styled.div`
|
|
51
|
+
line-height: 1.3;
|
|
52
|
+
color: #263238;
|
|
53
|
+
`
|
|
54
|
+
|
|
55
|
+
export const DriverName = styled.p`
|
|
56
|
+
font-size: 14px;
|
|
57
|
+
font-weight: 600;
|
|
58
|
+
line-height: 1.3;
|
|
59
|
+
color: ${props => props.theme.colors.headingColor};
|
|
60
|
+
overflow: hidden;
|
|
61
|
+
white-space: nowrap;
|
|
62
|
+
text-overflow: ellipsis;
|
|
63
|
+
max-width: 150px;
|
|
64
|
+
margin: 0px;
|
|
65
|
+
|
|
66
|
+
${({ small }) => small && css`
|
|
67
|
+
font-weight: 400;
|
|
68
|
+
`}
|
|
69
|
+
|
|
70
|
+
@media (max-width: 576px) {
|
|
71
|
+
max-width: 90px;
|
|
72
|
+
}
|
|
73
|
+
`
|
|
74
|
+
export const DriverText = styled.span`
|
|
75
|
+
font-size: 12px;
|
|
76
|
+
color: ${props => props.theme.colors.lightGray};
|
|
77
|
+
${({ small }) => small && css`
|
|
78
|
+
display: none;
|
|
79
|
+
`}
|
|
80
|
+
`
|
|
81
|
+
|
|
82
|
+
export const WrapperDriverImage = styled.div`
|
|
83
|
+
width: 45px;
|
|
84
|
+
height: 45px;
|
|
85
|
+
box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.1);
|
|
86
|
+
border-radius: 8px;
|
|
87
|
+
display: flex;
|
|
88
|
+
|
|
89
|
+
svg {
|
|
90
|
+
width: 100%;
|
|
91
|
+
height: 100%;
|
|
92
|
+
padding: 7px;
|
|
93
|
+
box-sizing: border-box;
|
|
94
|
+
border-radius: 50%;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
${({ small }) => small && css`
|
|
98
|
+
width: 24px;
|
|
99
|
+
height: 24px;
|
|
100
|
+
border-radius: 8px;
|
|
101
|
+
svg {
|
|
102
|
+
padding: 3px;
|
|
103
|
+
}
|
|
104
|
+
`}
|
|
105
|
+
|
|
106
|
+
${props => props.theme?.rtl ? css`
|
|
107
|
+
margin-left: 8px;
|
|
108
|
+
` : css`
|
|
109
|
+
margin-right: 8px;
|
|
110
|
+
`}
|
|
111
|
+
`
|
|
112
|
+
const DriverImageStyled = styled.div`
|
|
113
|
+
display: flex;
|
|
114
|
+
width: 100%;
|
|
115
|
+
height: 100%;
|
|
116
|
+
box-sizing: border-box;
|
|
117
|
+
position: relative;
|
|
118
|
+
background-repeat: no-repeat, repeat;
|
|
119
|
+
background-size: cover;
|
|
120
|
+
object-fit: cover;
|
|
121
|
+
background-position: center;
|
|
122
|
+
border-radius: 8px;
|
|
123
|
+
`
|
|
124
|
+
export const DriverImage = (props) => {
|
|
125
|
+
return (
|
|
126
|
+
<DriverImageStyled
|
|
127
|
+
{...props}
|
|
128
|
+
style={{ backgroundImage: `url(${props.bgimage})` }}
|
|
129
|
+
>
|
|
130
|
+
{props.children}
|
|
131
|
+
</DriverImageStyled>
|
|
132
|
+
)
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
export const PlaceholderTitle = styled(Option)`
|
|
136
|
+
padding: 10px;
|
|
137
|
+
|
|
138
|
+
${({ isSingle }) => isSingle && css`
|
|
139
|
+
padding: 0px;
|
|
140
|
+
font-size: 14px;
|
|
141
|
+
`}
|
|
142
|
+
`
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React, { useState, useEffect } from 'react'
|
|
2
2
|
import { useLocation } from 'react-router-dom'
|
|
3
|
-
import { useLanguage, useSession, OrdersManage as OrdersManageController } from 'ordering-components-admin-external'
|
|
4
|
-
import { OrdersHeaderFilterGroup } from '../OrdersHeaderFilterGroup'
|
|
3
|
+
import { useLanguage, useConfig, useSession, OrdersManage as OrdersManageController } from 'ordering-components-admin-external'
|
|
5
4
|
import { OrderStatusFilterBar } from '../OrderStatusFilterBar'
|
|
6
5
|
import { OrdersContentHeader } from '../OrdersContentHeader'
|
|
7
6
|
import { OrderDetails } from '../OrderDetails'
|
|
@@ -57,11 +56,15 @@ const OrdersManagerUI = (props) => {
|
|
|
57
56
|
setSelectedOrderIds,
|
|
58
57
|
allowColumns,
|
|
59
58
|
setAllowColumns,
|
|
60
|
-
isUseQuery
|
|
59
|
+
isUseQuery,
|
|
60
|
+
adminsList
|
|
61
61
|
} = props
|
|
62
62
|
|
|
63
63
|
const [, t] = useLanguage()
|
|
64
64
|
const [{ user }] = useSession()
|
|
65
|
+
const [configState] = useConfig()
|
|
66
|
+
|
|
67
|
+
const isSearchFilterValue = (configState?.configs?.filter_order_options?.value.split('|').map(value => (value)) || []).includes('driver_group_general')
|
|
65
68
|
|
|
66
69
|
const query = new URLSearchParams(useLocation().search)
|
|
67
70
|
const [isOpenOrderDetail, setIsOpenOrderDetail] = useState(false)
|
|
@@ -212,6 +215,7 @@ const OrdersManagerUI = (props) => {
|
|
|
212
215
|
handleChangeMultiOrdersStatus={handleChangeMultiOrdersStatus}
|
|
213
216
|
handleOpenTour={() => handleOpenTour()}
|
|
214
217
|
filterModalOpen={filterModalOpen}
|
|
218
|
+
adminsList={adminsList}
|
|
215
219
|
setFilterModalOpen={setFilterModalOpen}
|
|
216
220
|
setTimeStatus={setTimeStatus}
|
|
217
221
|
setSlaSettingTime={setSlaSettingTime}
|
|
@@ -221,23 +225,19 @@ const OrdersManagerUI = (props) => {
|
|
|
221
225
|
<TopContent>
|
|
222
226
|
<DriversContainer>
|
|
223
227
|
<DriversManager
|
|
224
|
-
filterValues={filterValues}
|
|
225
|
-
setMapsData={setMapsData}
|
|
226
|
-
handleUpdateAssignedOrders={handleUpdateAssignedOrders}
|
|
227
228
|
disableSocketRoomDriver
|
|
228
|
-
drivers={driversList.drivers}
|
|
229
229
|
showCompressedInfo
|
|
230
|
+
filterValues={filterValues}
|
|
231
|
+
searchFilterValue={searchValue}
|
|
232
|
+
driverGroupList={driverGroupList}
|
|
233
|
+
isSearchFilterValue={isSearchFilterValue}
|
|
234
|
+
drivers={driversList.drivers}
|
|
235
|
+
setMapsData={setMapsData}
|
|
230
236
|
handleEmtpyOrderSelected={handleBackRedirect}
|
|
237
|
+
handleUpdateAssignedOrders={handleUpdateAssignedOrders}
|
|
231
238
|
/>
|
|
232
239
|
</DriversContainer>
|
|
233
240
|
<OrdersContainer showCompressedInfo>
|
|
234
|
-
<OrdersHeaderFilterGroup
|
|
235
|
-
driverGroupList={driverGroupList}
|
|
236
|
-
searchValue={searchValue}
|
|
237
|
-
driversList={driversList}
|
|
238
|
-
handleChangeFilterValues={handleChangeFilterValues}
|
|
239
|
-
handleChangeSearch={handleChangeSearch}
|
|
240
|
-
/>
|
|
241
241
|
<OrderStatusFilterBar
|
|
242
242
|
isUseQuery={isUseQuery}
|
|
243
243
|
selectedOrderStatus={ordersStatusGroup}
|
|
@@ -2,7 +2,6 @@ import React, { useState } from 'react'
|
|
|
2
2
|
import { useConfig } from 'ordering-components-admin-external'
|
|
3
3
|
import { DeliveriesLocation } from '../DeliveriesLocation'
|
|
4
4
|
import { OrdersDashboardList } from '../OrdersDashboardList'
|
|
5
|
-
import { OrdersHeaderFilterGroup } from '../OrdersHeaderFilterGroup'
|
|
6
5
|
import { OrderStatusFilterBar } from '../OrderStatusFilterBar'
|
|
7
6
|
import { OrderStatusSubFilter } from '../OrderStatusSubFilter'
|
|
8
7
|
|
|
@@ -57,13 +56,6 @@ export const DeliveryDashboard = (props) => {
|
|
|
57
56
|
return (
|
|
58
57
|
<DeliveryDashboardContainer>
|
|
59
58
|
<OrdersContainer>
|
|
60
|
-
<OrdersHeaderFilterGroup
|
|
61
|
-
driverGroupList={driverGroupList}
|
|
62
|
-
searchValue={searchValue}
|
|
63
|
-
driversList={driversList}
|
|
64
|
-
handleChangeFilterValues={handleChangeFilterValues}
|
|
65
|
-
handleChangeSearch={handleChangeSearch}
|
|
66
|
-
/>
|
|
67
59
|
<FilterContainer>
|
|
68
60
|
<OrderStatusFilterBar
|
|
69
61
|
isUseQuery={isUseQuery}
|
|
@@ -26,10 +26,12 @@ export const OrderDashboardSLASettingUI = (props) => {
|
|
|
26
26
|
const {
|
|
27
27
|
settingsState,
|
|
28
28
|
handleInputChange,
|
|
29
|
-
handleClickUpdate
|
|
29
|
+
handleClickUpdate,
|
|
30
|
+
settingOptionOpen,
|
|
31
|
+
setSettingOptionOpen
|
|
30
32
|
} = props
|
|
31
33
|
const [, t] = useLanguage()
|
|
32
|
-
const [settingOpen, setSettingOpen] = useState(
|
|
34
|
+
const [settingOpen, setSettingOpen] = useState(settingOptionOpen)
|
|
33
35
|
const [currentTabItem, setCurrentTabItem] = useState(1)
|
|
34
36
|
const [selectedTabStatus, setSelectedTabStatus] = useState(null)
|
|
35
37
|
const theme = useTheme()
|
|
@@ -70,12 +72,14 @@ export const OrderDashboardSLASettingUI = (props) => {
|
|
|
70
72
|
|
|
71
73
|
const handleCloseSettings = () => {
|
|
72
74
|
setSettingOpen(false)
|
|
75
|
+
setSettingOptionOpen && setSettingOptionOpen(false)
|
|
73
76
|
}
|
|
74
77
|
|
|
75
78
|
const onSubmit = (data) => {
|
|
76
79
|
if (data && Object.keys(data).length > 0) {
|
|
77
80
|
handleClickUpdate()
|
|
78
81
|
setSettingOpen(false)
|
|
82
|
+
setSettingOptionOpen && setSettingOptionOpen(false)
|
|
79
83
|
}
|
|
80
84
|
}
|
|
81
85
|
|
|
@@ -110,12 +114,14 @@ export const OrderDashboardSLASettingUI = (props) => {
|
|
|
110
114
|
|
|
111
115
|
return (
|
|
112
116
|
<SettingContainer>
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
117
|
+
{!settingOptionOpen && (
|
|
118
|
+
<Button
|
|
119
|
+
color='secundary'
|
|
120
|
+
onClick={() => setSettingOpen(true)}
|
|
121
|
+
>
|
|
122
|
+
{t('SLA_SETTING', 'SLA’s settings')}
|
|
123
|
+
</Button>
|
|
124
|
+
)}
|
|
119
125
|
<Modal
|
|
120
126
|
open={settingOpen}
|
|
121
127
|
onClose={() => handleCloseSettings()}
|
|
@@ -56,11 +56,6 @@ export const OrdersCards = (props) => {
|
|
|
56
56
|
return imageKeys
|
|
57
57
|
}, {})
|
|
58
58
|
|
|
59
|
-
const filterOptions = (configState?.configs?.filter_order_options?.value.split('|').map(value => value) || [])
|
|
60
|
-
const optionsToCheck = ['external_id', 'driver', 'driver_group_general']
|
|
61
|
-
|
|
62
|
-
const matchingFilterOptions = filterOptions.filter(option => optionsToCheck.includes(option)).length
|
|
63
|
-
|
|
64
59
|
const handleChangePage = (page) => {
|
|
65
60
|
getPageOrders(pagination.pageSize, page)
|
|
66
61
|
}
|
|
@@ -185,7 +180,7 @@ export const OrdersCards = (props) => {
|
|
|
185
180
|
|
|
186
181
|
return (
|
|
187
182
|
<>
|
|
188
|
-
<OrdersListContainer
|
|
183
|
+
<OrdersListContainer>
|
|
189
184
|
{orderList.loading ? (
|
|
190
185
|
[...Array(10).keys()].map(i => (
|
|
191
186
|
<OrderCard key={i}>
|
|
@@ -261,15 +256,15 @@ export const OrdersCards = (props) => {
|
|
|
261
256
|
<p className={order?.time_status}>{displayDelayedTime(order)}</p>
|
|
262
257
|
</Timer>
|
|
263
258
|
)}
|
|
264
|
-
{
|
|
265
|
-
<div style={{paddingTop: 50}}>
|
|
259
|
+
{order?.codigoPod && (
|
|
260
|
+
<div style={{ paddingTop: 50 }}>
|
|
266
261
|
<p>
|
|
267
262
|
{
|
|
268
263
|
`${t('PODS', 'Pod')}: ${order?.codigoPod}`
|
|
269
264
|
}
|
|
270
265
|
</p>
|
|
271
266
|
</div>
|
|
272
|
-
|
|
267
|
+
)}
|
|
273
268
|
</CardHeading>
|
|
274
269
|
{isMessagesView && order?.unread_count > 0 && (
|
|
275
270
|
<UnreadMessageCounter>
|
|
@@ -1,33 +1,13 @@
|
|
|
1
1
|
import styled, { css } from 'styled-components'
|
|
2
2
|
|
|
3
|
-
const calculateHeight = (matchingFilterOptions, customMappings) => {
|
|
4
|
-
const defaultMapping = {
|
|
5
|
-
3: 'calc(100% - 410px)',
|
|
6
|
-
2: 'calc(100% - 350px)',
|
|
7
|
-
1: 'calc(100% - 280px)',
|
|
8
|
-
default: 'calc(100% - 200px)'
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
const mappings = { ...defaultMapping, ...customMappings }
|
|
12
|
-
|
|
13
|
-
return mappings[matchingFilterOptions] || mappings.default
|
|
14
|
-
}
|
|
15
|
-
|
|
16
3
|
export const OrdersListContainer = styled.div`
|
|
17
|
-
height:
|
|
4
|
+
height: calc(100% - 200px);
|
|
18
5
|
padding: 0 12px 15px 12px;
|
|
19
6
|
box-sizing: border-box;
|
|
20
7
|
overflow-x: hidden;
|
|
21
8
|
|
|
22
9
|
@media (min-width: 1024px) and (max-width: 1300px) {
|
|
23
|
-
height:
|
|
24
|
-
calculateHeight(matchingFilterOptions, {
|
|
25
|
-
3: 'calc(100% - 400px)',
|
|
26
|
-
2: 'calc(100% - 340px)',
|
|
27
|
-
1: 'calc(100% - 270px)',
|
|
28
|
-
default: 'calc(100% - 230px)'
|
|
29
|
-
}
|
|
30
|
-
)};
|
|
10
|
+
height: calc(100% - 230px);
|
|
31
11
|
}
|
|
32
12
|
`
|
|
33
13
|
export const OrderNunberContainer = styled.div`
|