ordering-ui-admin-external 1.30.0 → 1.30.2
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.046d3a07ef07287d2ee0.js → ordering-ui-admin.6be018fe653b04c6fa85.js} +2 -2
- package/_modules/components/Delivery/DriversGroupAutoassign/index.js +11 -2
- package/_modules/components/Delivery/DriversGroupAutoassign/styles.js +28 -25
- package/_modules/components/Orders/CompanySelector/styles.js +1 -1
- package/_modules/components/Orders/DriverMultiSelector/index.js +149 -0
- package/_modules/components/Orders/DriverMultiSelector/styles.js +83 -0
- package/_modules/components/Orders/DriverSelector/index.js +116 -147
- package/_modules/components/Orders/DriverSelector/styles.js +25 -36
- package/_modules/components/Orders/OrderContactInformation/index.js +1 -1
- package/_modules/components/Orders/OrderContactInformation/styles.js +26 -18
- package/_modules/components/Orders/OrdersContentHeader/index.js +1 -1
- package/_modules/components/Orders/OrdersFilterGroup/index.js +44 -5
- package/_modules/components/Orders/OrdersFilterGroup/styles.js +13 -3
- package/_modules/components/Users/UsersList/index.js +7 -3
- package/_modules/components/Users/UsersList/styles.js +1 -1
- package/package.json +2 -2
- package/src/components/Delivery/DriversGroupAutoassign/index.js +7 -0
- package/src/components/Delivery/DriversGroupAutoassign/styles.js +4 -0
- package/src/components/Orders/CompanySelector/styles.js +1 -0
- package/src/components/Orders/DriverMultiSelector/index.js +124 -0
- package/src/components/Orders/DriverMultiSelector/styles.js +150 -0
- package/src/components/Orders/DriverSelector/index.js +120 -149
- package/src/components/Orders/DriverSelector/styles.js +23 -25
- package/src/components/Orders/OrderContactInformation/index.js +3 -2
- package/src/components/Orders/OrderContactInformation/styles.js +24 -4
- package/src/components/Orders/OrdersContentHeader/index.js +1 -1
- package/src/components/Orders/OrdersFilterGroup/index.js +26 -5
- package/src/components/Orders/OrdersFilterGroup/styles.js +41 -0
- package/src/components/Users/UsersList/index.js +16 -1
- package/src/components/Users/UsersList/styles.js +6 -3
- /package/_bundles/{ordering-ui-admin.046d3a07ef07287d2ee0.js.LICENSE.txt → ordering-ui-admin.6be018fe653b04c6fa85.js.LICENSE.txt} +0 -0
|
@@ -11,7 +11,7 @@ var _orderingComponentsAdminExternal = require("ordering-components-admin-extern
|
|
|
11
11
|
var _BusinessesSelector = require("../BusinessesSelector");
|
|
12
12
|
var _DriversGroupTypeSelector = require("../DriversGroupTypeSelector");
|
|
13
13
|
var _DateTypeSelector = require("../DateTypeSelector");
|
|
14
|
-
var
|
|
14
|
+
var _DriverMultiSelector = require("../DriverMultiSelector");
|
|
15
15
|
var _Shared = require("../../Shared");
|
|
16
16
|
var _DeliveryTypeSelector = require("../DeliveryTypeSelector");
|
|
17
17
|
var _PaymethodTypeSelector = require("../PaymethodTypeSelector");
|
|
@@ -19,7 +19,9 @@ var _CountryFilter = require("../CountryFilter");
|
|
|
19
19
|
var _styles = require("../../../styles");
|
|
20
20
|
var _CurrencyFilter = require("../CurrencyFilter");
|
|
21
21
|
var _utils = require("../../../utils");
|
|
22
|
+
var _FirstSelect = require("../../../styles/Select/FirstSelect");
|
|
22
23
|
var _styles2 = require("./styles");
|
|
24
|
+
var _styles3 = require("../OrdersTable/styles");
|
|
23
25
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
24
26
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
25
27
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -34,6 +36,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
34
36
|
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
35
37
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } // import { OrderStatusTypeSelector } from '../OrderStatusTypeSelector'
|
|
36
38
|
var OrdersFilterGroupUI = function OrdersFilterGroupUI(props) {
|
|
39
|
+
var _filterValues$logisti;
|
|
37
40
|
var open = props.open,
|
|
38
41
|
handleCloseFilterModal = props.handleCloseFilterModal,
|
|
39
42
|
filterValues = props.filterValues,
|
|
@@ -59,7 +62,8 @@ var OrdersFilterGroupUI = function OrdersFilterGroupUI(props) {
|
|
|
59
62
|
handleChangeMetaFieldValue = props.handleChangeMetaFieldValue,
|
|
60
63
|
handleAddMetaField = props.handleAddMetaField,
|
|
61
64
|
handleDeleteMetafield = props.handleDeleteMetafield,
|
|
62
|
-
handleChangeExternalId = props.handleChangeExternalId
|
|
65
|
+
handleChangeExternalId = props.handleChangeExternalId,
|
|
66
|
+
handleChangeChildFilterValue = props.handleChangeChildFilterValue;
|
|
63
67
|
var _useLanguage = (0, _orderingComponentsAdminExternal.useLanguage)(),
|
|
64
68
|
_useLanguage2 = _slicedToArray(_useLanguage, 2),
|
|
65
69
|
t = _useLanguage2[1];
|
|
@@ -75,6 +79,32 @@ var OrdersFilterGroupUI = function OrdersFilterGroupUI(props) {
|
|
|
75
79
|
isShow = _useState4[0],
|
|
76
80
|
setIsShow = _useState4[1];
|
|
77
81
|
var metafieldRef = (0, _react.useRef)();
|
|
82
|
+
var logisticStatusList = [{
|
|
83
|
+
value: 0,
|
|
84
|
+
content: /*#__PURE__*/_react.default.createElement(_styles2.Option, null, t('PENDING', 'Pending'), /*#__PURE__*/_react.default.createElement(_styles3.LogisticStatusDot, {
|
|
85
|
+
status: 0
|
|
86
|
+
}))
|
|
87
|
+
}, {
|
|
88
|
+
value: 1,
|
|
89
|
+
content: /*#__PURE__*/_react.default.createElement(_styles2.Option, null, t('IN_PROGRESS', 'In progress'), /*#__PURE__*/_react.default.createElement(_styles3.LogisticStatusDot, {
|
|
90
|
+
status: 1
|
|
91
|
+
}))
|
|
92
|
+
}, {
|
|
93
|
+
value: 2,
|
|
94
|
+
content: /*#__PURE__*/_react.default.createElement(_styles2.Option, null, t('IN_QUEUE', 'In queue'), /*#__PURE__*/_react.default.createElement(_styles3.LogisticStatusDot, {
|
|
95
|
+
status: 2
|
|
96
|
+
}))
|
|
97
|
+
}, {
|
|
98
|
+
value: 3,
|
|
99
|
+
content: /*#__PURE__*/_react.default.createElement(_styles2.Option, null, t('EXPIRED', 'Expired'), /*#__PURE__*/_react.default.createElement(_styles3.LogisticStatusDot, {
|
|
100
|
+
status: 3
|
|
101
|
+
}))
|
|
102
|
+
}, {
|
|
103
|
+
value: 4,
|
|
104
|
+
content: /*#__PURE__*/_react.default.createElement(_styles2.Option, null, t('RESOLVED', 'Resolved'), /*#__PURE__*/_react.default.createElement(_styles3.LogisticStatusDot, {
|
|
105
|
+
status: 4
|
|
106
|
+
}))
|
|
107
|
+
}];
|
|
78
108
|
var handleAcceptFilter = function handleAcceptFilter() {
|
|
79
109
|
handleChangeFilterValues(filterValues);
|
|
80
110
|
handleCloseFilterModal();
|
|
@@ -149,8 +179,7 @@ var OrdersFilterGroupUI = function OrdersFilterGroupUI(props) {
|
|
|
149
179
|
filterValues: filterValues,
|
|
150
180
|
businessesList: businessesList,
|
|
151
181
|
handleChangeBusinesses: handleChangeBusinesses
|
|
152
|
-
}), /*#__PURE__*/_react.default.createElement(
|
|
153
|
-
isFilterView: true,
|
|
182
|
+
}), /*#__PURE__*/_react.default.createElement(_DriverMultiSelector.DriverMultiSelector, {
|
|
154
183
|
drivers: driversList.drivers,
|
|
155
184
|
filterValues: filterValues,
|
|
156
185
|
handleChangeDriver: handleChangeDriver
|
|
@@ -171,7 +200,17 @@ var OrdersFilterGroupUI = function OrdersFilterGroupUI(props) {
|
|
|
171
200
|
})), /*#__PURE__*/_react.default.createElement(_styles2.WrapperRow, null, /*#__PURE__*/_react.default.createElement(_CurrencyFilter.CurrencyFilter, {
|
|
172
201
|
filterValues: filterValues,
|
|
173
202
|
handleChangeCurrency: handleChangeCurrency
|
|
174
|
-
})
|
|
203
|
+
}), /*#__PURE__*/_react.default.createElement(_styles2.SelectWrapper, null, /*#__PURE__*/_react.default.createElement(_FirstSelect.Select, {
|
|
204
|
+
options: logisticStatusList,
|
|
205
|
+
className: "select",
|
|
206
|
+
defaultValue: (_filterValues$logisti = filterValues === null || filterValues === void 0 ? void 0 : filterValues.logisticStatus) !== null && _filterValues$logisti !== void 0 ? _filterValues$logisti : '',
|
|
207
|
+
placeholder: t('SELECT_LOGISTIC_STATUS', 'Select a logistic status'),
|
|
208
|
+
onChange: function onChange(value) {
|
|
209
|
+
return handleChangeChildFilterValue({
|
|
210
|
+
logisticStatus: value
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
}))), filterValues === null || filterValues === void 0 ? void 0 : filterValues.metafield.map(function (item) {
|
|
175
214
|
return /*#__PURE__*/_react.default.createElement(_styles2.WrapperRow, {
|
|
176
215
|
key: item.id
|
|
177
216
|
}, /*#__PURE__*/_react.default.createElement(_styles.Input, {
|
|
@@ -4,9 +4,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.WrapperRow = exports.MultiSelectContainer = exports.FilterGroupListContainer = exports.ButtonGroup = exports.AddMetaFiled = exports.AddInputWrapper = void 0;
|
|
7
|
+
exports.WrapperRow = exports.SelectWrapper = exports.Option = exports.MultiSelectContainer = exports.FilterGroupListContainer = exports.ButtonGroup = exports.AddMetaFiled = exports.AddInputWrapper = void 0;
|
|
8
8
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
9
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
|
|
9
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
|
|
10
10
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
11
11
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
12
12
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
@@ -32,4 +32,14 @@ exports.AddInputWrapper = AddInputWrapper;
|
|
|
32
32
|
var AddMetaFiled = _styledComponents.default.span(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n font-size: 14px;\n color: ", ";\n cursor: pointer;\n width: 100%;\n"])), function (props) {
|
|
33
33
|
return props.theme.colors.primary;
|
|
34
34
|
});
|
|
35
|
-
exports.AddMetaFiled = AddMetaFiled;
|
|
35
|
+
exports.AddMetaFiled = AddMetaFiled;
|
|
36
|
+
var SelectWrapper = _styledComponents.default.div(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n > div {\n width: 100%;\n border: none;\n height: 100%;\n\n > div:first-child {\n height: 100%;\n background-color: ", ";\n border: none;\n border-radius: 7.6px;\n font-weight: 400;\n font-size: 14px;\n line-height: 24px;\n padding-left: 20px;\n }\n .list {\n background-color: ", ";\n border: none;\n \n .list-wrapper {\n > div {\n padding: 6px 10px;\n &:hover {\n background-color: #f2f5f7;\n }\n }\n }\n }\n }\n"])), function (props) {
|
|
37
|
+
return props.theme.colors.secundary;
|
|
38
|
+
}, function (props) {
|
|
39
|
+
return props.theme.colors.secundary;
|
|
40
|
+
});
|
|
41
|
+
exports.SelectWrapper = SelectWrapper;
|
|
42
|
+
var Option = _styledComponents.default.div(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n font-weight: 400;\n font-size: 14px;\n line-height: 24px;\n color: ", ";\n display: flex;\n align-items: center;\n"])), function (props) {
|
|
43
|
+
return props.theme.colors.secundaryContrast;
|
|
44
|
+
});
|
|
45
|
+
exports.Option = Option;
|
|
@@ -155,7 +155,7 @@ var UsersList = function UsersList(props) {
|
|
|
155
155
|
onClick: function onClick() {
|
|
156
156
|
return handleSelecteAllUser();
|
|
157
157
|
}
|
|
158
|
-
}, !(usersList !== null && usersList !== void 0 && usersList.loading) && isAllChecked ? /*#__PURE__*/_react.default.createElement(_reactBootstrapIcons.CheckSquareFill, null) : /*#__PURE__*/_react.default.createElement(_reactBootstrapIcons.Square, null)), t('USER', 'User'))
|
|
158
|
+
}, !(usersList !== null && usersList !== void 0 && usersList.loading) && isAllChecked ? /*#__PURE__*/_react.default.createElement(_reactBootstrapIcons.CheckSquareFill, null) : /*#__PURE__*/_react.default.createElement(_reactBootstrapIcons.Square, null)), t('ID', 'Id'))), /*#__PURE__*/_react.default.createElement("th", null, t('USER', 'User')), /*#__PURE__*/_react.default.createElement("th", null, t('PHONE', 'Phone')), /*#__PURE__*/_react.default.createElement("th", null, t('TYPE', 'Type')), /*#__PURE__*/_react.default.createElement("th", {
|
|
159
159
|
className: "amout-orders "
|
|
160
160
|
}, t('AMOUNT_OF_ORDERS', 'Amount of orders')), /*#__PURE__*/_react.default.createElement("th", null, t('ACTION', 'Action')))), usersList.loading ? _toConsumableArray(Array((paginationProps === null || paginationProps === void 0 ? void 0 : paginationProps.pageSize) || 10).keys()).map(function (i) {
|
|
161
161
|
return /*#__PURE__*/_react.default.createElement("tbody", {
|
|
@@ -163,7 +163,9 @@ var UsersList = function UsersList(props) {
|
|
|
163
163
|
}, /*#__PURE__*/_react.default.createElement("tr", null, /*#__PURE__*/_react.default.createElement("td", null, /*#__PURE__*/_react.default.createElement(_styles2.UserMainInfo, null, /*#__PURE__*/_react.default.createElement(_styles2.CheckBoxWrapper, null, /*#__PURE__*/_react.default.createElement(_reactLoadingSkeleton.default, {
|
|
164
164
|
width: 20,
|
|
165
165
|
height: 20
|
|
166
|
-
})), /*#__PURE__*/_react.default.createElement(_styles2.
|
|
166
|
+
})), /*#__PURE__*/_react.default.createElement(_styles2.InfoBlock, null, /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement(_reactLoadingSkeleton.default, {
|
|
167
|
+
width: 70
|
|
168
|
+
}))))), /*#__PURE__*/_react.default.createElement("td", null, /*#__PURE__*/_react.default.createElement(_styles2.UserMainInfo, null, /*#__PURE__*/_react.default.createElement(_styles2.WrapperImage, {
|
|
167
169
|
isSkeleton: true
|
|
168
170
|
}, /*#__PURE__*/_react.default.createElement(_reactLoadingSkeleton.default, {
|
|
169
171
|
width: 45,
|
|
@@ -198,7 +200,9 @@ var UsersList = function UsersList(props) {
|
|
|
198
200
|
onClick: function onClick() {
|
|
199
201
|
return handleSelectedUsers(user.id);
|
|
200
202
|
}
|
|
201
|
-
}, selectedUsers.includes(user.id) ? /*#__PURE__*/_react.default.createElement(_reactBootstrapIcons.CheckSquareFill, null) : /*#__PURE__*/_react.default.createElement(_reactBootstrapIcons.Square, null)), /*#__PURE__*/_react.default.createElement(_styles2.
|
|
203
|
+
}, selectedUsers.includes(user.id) ? /*#__PURE__*/_react.default.createElement(_reactBootstrapIcons.CheckSquareFill, null) : /*#__PURE__*/_react.default.createElement(_reactBootstrapIcons.Square, null)), /*#__PURE__*/_react.default.createElement(_styles2.InfoBlock, null, /*#__PURE__*/_react.default.createElement("p", {
|
|
204
|
+
className: "bold"
|
|
205
|
+
}, user === null || user === void 0 ? void 0 : user.id)))), /*#__PURE__*/_react.default.createElement("td", null, /*#__PURE__*/_react.default.createElement(_styles2.UserMainInfo, null, /*#__PURE__*/_react.default.createElement(_styles2.WrapperImage, null, user !== null && user !== void 0 && user.photo ? /*#__PURE__*/_react.default.createElement(_styles2.Image, {
|
|
202
206
|
bgimage: optimizeImage(user === null || user === void 0 ? void 0 : user.photo, 'h_50,c_limit')
|
|
203
207
|
}) : /*#__PURE__*/_react.default.createElement(_FaUserAlt.default, null), isCustomer && /*#__PURE__*/_react.default.createElement(_styles2.OrdersCountWrapper, {
|
|
204
208
|
isNew: (user === null || user === void 0 ? void 0 : user.orders_count) === 0
|
|
@@ -17,7 +17,7 @@ var UsersConatiner = _styledComponents.default.div(_templateObject || (_template
|
|
|
17
17
|
exports.UsersConatiner = UsersConatiner;
|
|
18
18
|
var UserTableWrapper = _styledComponents.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n overflow: auto;\n"])));
|
|
19
19
|
exports.UserTableWrapper = UserTableWrapper;
|
|
20
|
-
var UsersTable = _styledComponents.default.table(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n width: calc(100% - 10px);\n min-width: 900px;\n color: ", ";\n\n td, th {\n padding: 10px 0;\n font-size: 14px;\n &:first-child {\n width:
|
|
20
|
+
var UsersTable = _styledComponents.default.table(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n width: calc(100% - 10px);\n min-width: 900px;\n color: ", ";\n\n td, th {\n padding: 10px 0;\n font-size: 14px;\n &:first-child {\n width: 10%;\n }\n &:nth-child(2) {\n width: 35%;\n }\n &:nth-child(3) {\n width: 20%;\n }\n\n &:nth-child(5),\n \n &:nth-child(6) {\n width: 10%;\n }\n }\n\n thead {\n tr {\n border-bottom: solid 1px ", ";\n th {\n white-space: nowrap;\n &.amout-orders {\n width: 15%;\n }\n }\n }\n }\n\n tbody {\n border-bottom: 1px solid ", ";\n cursor: pointer;\n\n &:hover {\n background-color: ", ";\n }\n &.active {\n background-color: ", ";\n td {\n border-top: 1px solid ", ";\n border-bottom: 1px solid ", ";\n }\n }\n }\n"])), function (props) {
|
|
21
21
|
var _props$theme$colors;
|
|
22
22
|
return (_props$theme$colors = props.theme.colors) === null || _props$theme$colors === void 0 ? void 0 : _props$theme$colors.headingColor;
|
|
23
23
|
}, function (props) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ordering-ui-admin-external",
|
|
3
|
-
"version": "1.30.
|
|
3
|
+
"version": "1.30.2",
|
|
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.30.
|
|
86
|
+
"ordering-components-admin-external": "1.30.2",
|
|
87
87
|
"polished": "^3.6.7",
|
|
88
88
|
"prop-types": "^15.7.2",
|
|
89
89
|
"react-big-calendar": "^1.4.2",
|
|
@@ -208,6 +208,13 @@ const DriversGroupAutoassignUI = (props) => {
|
|
|
208
208
|
</div>
|
|
209
209
|
</RowGroupContainer>
|
|
210
210
|
)}
|
|
211
|
+
<CheckboxWrapper isPadding>
|
|
212
|
+
<Checkbox
|
|
213
|
+
checked={changesState?.autoassign_groupable_individual_orders_only ?? curDriversGroup?.autoassign_groupable_individual_orders_only}
|
|
214
|
+
onChange={e => onChangeSave({ autoassign_groupable_individual_orders_only: e.target.checked })}
|
|
215
|
+
/>
|
|
216
|
+
<span>{t('DO_NOT_ASSIGN_MORE_THAN_1_ORDER_IF_ORDER_CAN_NOT_GROUPED', 'Do not assign more than 1 order IF the order can’t be grouped')}</span>
|
|
217
|
+
</CheckboxWrapper>
|
|
211
218
|
</AutoassignContainer>
|
|
212
219
|
)
|
|
213
220
|
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import React, { useEffect, useState } from 'react'
|
|
2
|
+
import { useLanguage, DriversList as DriversController } 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
|
+
DriverText,
|
|
14
|
+
PlaceholderTitle
|
|
15
|
+
} from './styles'
|
|
16
|
+
|
|
17
|
+
const DriverMultiSelectorUI = (props) => {
|
|
18
|
+
const {
|
|
19
|
+
driversList,
|
|
20
|
+
defaultValue,
|
|
21
|
+
isPhoneView,
|
|
22
|
+
small,
|
|
23
|
+
padding,
|
|
24
|
+
handleChangeDriver,
|
|
25
|
+
filterValues
|
|
26
|
+
} = props
|
|
27
|
+
|
|
28
|
+
const [, t] = useLanguage()
|
|
29
|
+
const theme = useTheme()
|
|
30
|
+
const [driversMultiOptionList, setDriversMultiOptionList] = useState([])
|
|
31
|
+
const [searchValue, setSearchValue] = useState(null)
|
|
32
|
+
const driversLoading = [{ value: 'default', content: <Option small={small}>{t('LOADING', 'loading')}...</Option> }]
|
|
33
|
+
useEffect(() => {
|
|
34
|
+
const _driversOptionList = [
|
|
35
|
+
{
|
|
36
|
+
value: 'default',
|
|
37
|
+
content: <Option padding='0px'><span>{t('SELECT_DRIVER', 'Select driver')}</span></Option>,
|
|
38
|
+
color: 'primary',
|
|
39
|
+
showDisable: true
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
if (!driversList.loading) {
|
|
43
|
+
let _driverList
|
|
44
|
+
if (searchValue) {
|
|
45
|
+
_driverList = driversList.drivers.filter(driver => (driver.name + driver.lastname).toLocaleLowerCase().includes(searchValue.toLocaleLowerCase()))
|
|
46
|
+
} else {
|
|
47
|
+
_driverList = driversList.drivers
|
|
48
|
+
}
|
|
49
|
+
const _driversOptionListTemp = _driverList.map((driver, i) => {
|
|
50
|
+
return {
|
|
51
|
+
value: driver.id,
|
|
52
|
+
showDisable: true,
|
|
53
|
+
content: (
|
|
54
|
+
<Option small={small} isPhoneView={isPhoneView} padding={padding}>
|
|
55
|
+
<WrapperDriverImage small={small} className='driver-photo'>
|
|
56
|
+
<DriverImage bgimage={driver.photo || theme.images.icons?.noDriver} small={small} />
|
|
57
|
+
</WrapperDriverImage>
|
|
58
|
+
<OptionContent>
|
|
59
|
+
<DriverNameContainer className='driver-info'>
|
|
60
|
+
<DriverName small={small}>{driver.name} {driver.lastname}</DriverName>
|
|
61
|
+
<DriverText small={small}>{t('DRIVER', 'Driver')}</DriverText>
|
|
62
|
+
</DriverNameContainer>
|
|
63
|
+
</OptionContent>
|
|
64
|
+
</Option>
|
|
65
|
+
)
|
|
66
|
+
}
|
|
67
|
+
})
|
|
68
|
+
|
|
69
|
+
setDriversMultiOptionList(_driversOptionListTemp)
|
|
70
|
+
|
|
71
|
+
for (const option of _driversOptionListTemp) {
|
|
72
|
+
_driversOptionList.push(option)
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}, [driversList, defaultValue, searchValue])
|
|
76
|
+
|
|
77
|
+
const Placeholder = <PlaceholderTitle>{t('SELECT_DRIVER', 'Select driver')}</PlaceholderTitle>
|
|
78
|
+
|
|
79
|
+
return (
|
|
80
|
+
<>
|
|
81
|
+
{!driversList.loading ? (
|
|
82
|
+
<MultiSelect
|
|
83
|
+
defaultValue={filterValues.driverIds}
|
|
84
|
+
placeholder={Placeholder}
|
|
85
|
+
options={driversMultiOptionList}
|
|
86
|
+
optionInnerMargin='10px'
|
|
87
|
+
optionInnerMaxHeight='150px'
|
|
88
|
+
onChange={(driver) => handleChangeDriver(driver)}
|
|
89
|
+
isShowSearchBar
|
|
90
|
+
searchBarIsCustomLayout
|
|
91
|
+
searchBarIsNotLazyLoad
|
|
92
|
+
searchValue={searchValue}
|
|
93
|
+
handleChangeSearch={(val) => setSearchValue(val)}
|
|
94
|
+
/>
|
|
95
|
+
) : (
|
|
96
|
+
<MultiSelect
|
|
97
|
+
defaultValue='default'
|
|
98
|
+
options={driversLoading}
|
|
99
|
+
optionInnerMargin='10px'
|
|
100
|
+
optionInnerMaxHeight='150px'
|
|
101
|
+
className='driver-select'
|
|
102
|
+
isShowSearchBar
|
|
103
|
+
searchBarIsCustomLayout
|
|
104
|
+
searchBarIsNotLazyLoad
|
|
105
|
+
searchValue={searchValue}
|
|
106
|
+
handleChangeSearch={(val) => setSearchValue(val)}
|
|
107
|
+
/>
|
|
108
|
+
)}
|
|
109
|
+
</>
|
|
110
|
+
)
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
export const DriverMultiSelector = (props) => {
|
|
114
|
+
const DriversControlProps = {
|
|
115
|
+
...props,
|
|
116
|
+
UIComponent: DriverMultiSelectorUI,
|
|
117
|
+
propsToFetch: ['id', 'name', 'lastname', 'cellphone', 'photo']
|
|
118
|
+
}
|
|
119
|
+
return (
|
|
120
|
+
<>
|
|
121
|
+
<DriversController {...DriversControlProps} />
|
|
122
|
+
</>
|
|
123
|
+
)
|
|
124
|
+
}
|
|
@@ -0,0 +1,150 @@
|
|
|
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 10px'};
|
|
9
|
+
white-space: nowrap;
|
|
10
|
+
${({ isPhoneView }) => isPhoneView && css`
|
|
11
|
+
width: 100%;
|
|
12
|
+
`}
|
|
13
|
+
${({ isRemove }) => isRemove && css`
|
|
14
|
+
color: ${props => props.theme.colors.danger};
|
|
15
|
+
padding: 3px 10px;
|
|
16
|
+
font-size: 14px;
|
|
17
|
+
`}
|
|
18
|
+
|
|
19
|
+
img {
|
|
20
|
+
width: 45px;
|
|
21
|
+
border-radius: 8px;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
${({ small }) => small && css`
|
|
25
|
+
padding: ${({ padding }) => padding || '5px 0px'};
|
|
26
|
+
img {
|
|
27
|
+
width: 25px;
|
|
28
|
+
}
|
|
29
|
+
`}
|
|
30
|
+
|
|
31
|
+
span {
|
|
32
|
+
overflow: hidden;
|
|
33
|
+
white-space: nowrap;
|
|
34
|
+
text-overflow: ellipsis;
|
|
35
|
+
max-width: 350px;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@media (max-width: 576px) {
|
|
39
|
+
padding: ${({ padding }) => padding || '5px 0px'};
|
|
40
|
+
${props => props.theme?.rtl ? css`
|
|
41
|
+
margin-right: 10px;
|
|
42
|
+
` : css`
|
|
43
|
+
margin-left: 10px;
|
|
44
|
+
`}
|
|
45
|
+
span {
|
|
46
|
+
max-width: 280px;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
`
|
|
50
|
+
|
|
51
|
+
export const OptionContent = styled.div`
|
|
52
|
+
flex: 1;
|
|
53
|
+
display: flex;
|
|
54
|
+
align-items: center;
|
|
55
|
+
justify-content: space-between;
|
|
56
|
+
`
|
|
57
|
+
|
|
58
|
+
export const DriverNameContainer = styled.div`
|
|
59
|
+
line-height: 1.3;
|
|
60
|
+
color: #263238;
|
|
61
|
+
`
|
|
62
|
+
|
|
63
|
+
export const DriverName = styled.p`
|
|
64
|
+
font-size: 14px;
|
|
65
|
+
font-weight: 600;
|
|
66
|
+
line-height: 1.3;
|
|
67
|
+
color: ${props => props.theme.colors.headingColor};
|
|
68
|
+
overflow: hidden;
|
|
69
|
+
white-space: nowrap;
|
|
70
|
+
text-overflow: ellipsis;
|
|
71
|
+
max-width: 150px;
|
|
72
|
+
margin: 0px;
|
|
73
|
+
|
|
74
|
+
${({ small }) => small && css`
|
|
75
|
+
font-weight: 400;
|
|
76
|
+
`}
|
|
77
|
+
|
|
78
|
+
@media (max-width: 576px) {
|
|
79
|
+
max-width: 90px;
|
|
80
|
+
}
|
|
81
|
+
`
|
|
82
|
+
export const DriverText = styled.span`
|
|
83
|
+
font-size: 12px;
|
|
84
|
+
color: ${props => props.theme.colors.lightGray};
|
|
85
|
+
${({ small }) => small && css`
|
|
86
|
+
display: none;
|
|
87
|
+
`}
|
|
88
|
+
`
|
|
89
|
+
|
|
90
|
+
export const WrapperDriverImage = styled.div`
|
|
91
|
+
width: 45px;
|
|
92
|
+
height: 45px;
|
|
93
|
+
box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.1);
|
|
94
|
+
border-radius: 8px;
|
|
95
|
+
display: flex;
|
|
96
|
+
|
|
97
|
+
svg {
|
|
98
|
+
width: 100%;
|
|
99
|
+
height: 100%;
|
|
100
|
+
padding: 7px;
|
|
101
|
+
box-sizing: border-box;
|
|
102
|
+
border-radius: 50%;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
${({ small }) => small && css`
|
|
106
|
+
width: 24px;
|
|
107
|
+
height: 24px;
|
|
108
|
+
border-radius: 8px;
|
|
109
|
+
svg {
|
|
110
|
+
padding: 3px;
|
|
111
|
+
}
|
|
112
|
+
`}
|
|
113
|
+
|
|
114
|
+
${props => props.theme?.rtl ? css`
|
|
115
|
+
margin-left: 8px;
|
|
116
|
+
` : css`
|
|
117
|
+
margin-right: 8px;
|
|
118
|
+
`}
|
|
119
|
+
`
|
|
120
|
+
const DriverImageStyled = styled.div`
|
|
121
|
+
display: flex;
|
|
122
|
+
width: 100%;
|
|
123
|
+
height: 100%;
|
|
124
|
+
box-sizing: border-box;
|
|
125
|
+
position: relative;
|
|
126
|
+
background-repeat: no-repeat, repeat;
|
|
127
|
+
background-size: cover;
|
|
128
|
+
object-fit: cover;
|
|
129
|
+
background-position: center;
|
|
130
|
+
border-radius: 8px;
|
|
131
|
+
`
|
|
132
|
+
export const DriverImage = (props) => {
|
|
133
|
+
return (
|
|
134
|
+
<DriverImageStyled
|
|
135
|
+
{...props}
|
|
136
|
+
style={{ backgroundImage: `url(${props.bgimage})` }}
|
|
137
|
+
>
|
|
138
|
+
{props.children}
|
|
139
|
+
</DriverImageStyled>
|
|
140
|
+
)
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export const PlaceholderTitle = styled(Option)`
|
|
144
|
+
padding: 10px;
|
|
145
|
+
|
|
146
|
+
${({ isSingle }) => isSingle && css`
|
|
147
|
+
padding: 0px;
|
|
148
|
+
font-size: 14px;
|
|
149
|
+
`}
|
|
150
|
+
`
|