ordering-ui-admin-external 1.45.28 → 1.45.29
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.cececbefdc6d2bcd0629.js → ordering-ui-admin.d8526d079d48e466a8a6.js} +2 -2
- package/_modules/components/Delivery/DriverGroupSetting/index.js +5 -5
- package/_modules/components/Delivery/DriverGroupSetting/styles.js +10 -7
- package/_modules/components/Delivery/DriversGroupGeneralForm/index.js +46 -1
- package/_modules/components/Delivery/DriversGroupGeneralForm/styles.js +5 -3
- package/package.json +2 -2
- package/src/components/Delivery/DriverGroupSetting/index.js +46 -44
- package/src/components/Delivery/DriverGroupSetting/styles.js +6 -0
- package/src/components/Delivery/DriversGroupGeneralForm/index.js +49 -3
- package/src/components/Delivery/DriversGroupGeneralForm/styles.js +10 -0
- /package/_bundles/{ordering-ui-admin.cececbefdc6d2bcd0629.js.LICENSE.txt → ordering-ui-admin.d8526d079d48e466a8a6.js.LICENSE.txt} +0 -0
|
@@ -32,8 +32,7 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
|
|
|
32
32
|
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; } }
|
|
33
33
|
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
34
34
|
var DriverGroupSettingUI = function DriverGroupSettingUI(props) {
|
|
35
|
-
var
|
|
36
|
-
includedGroupIds = props.includedGroupIds,
|
|
35
|
+
var includedGroupIds = props.includedGroupIds,
|
|
37
36
|
driversGroupsState = props.driversGroupsState,
|
|
38
37
|
actionState = props.actionState,
|
|
39
38
|
handleCheckboxClick = props.handleCheckboxClick,
|
|
@@ -104,7 +103,7 @@ var DriverGroupSettingUI = function DriverGroupSettingUI(props) {
|
|
|
104
103
|
onSearch: function onSearch(val) {
|
|
105
104
|
return setSearchValue(val);
|
|
106
105
|
}
|
|
107
|
-
}),
|
|
106
|
+
}), /*#__PURE__*/_react.default.createElement(_styles2.ButtonGroup, null, /*#__PURE__*/_react.default.createElement(_styles.Button, {
|
|
108
107
|
type: "button",
|
|
109
108
|
color: "secundaryDark",
|
|
110
109
|
onClick: function onClick() {
|
|
@@ -116,7 +115,7 @@ var DriverGroupSettingUI = function DriverGroupSettingUI(props) {
|
|
|
116
115
|
onClick: function onClick() {
|
|
117
116
|
return handleBatchSelector(false);
|
|
118
117
|
}
|
|
119
|
-
}, t('SELECT_NONE', 'Select none'))), /*#__PURE__*/_react.default.createElement(_styles2.DriverGroupListContainer, null, driversGroupsState.loading ? _toConsumableArray(Array(
|
|
118
|
+
}, t('SELECT_NONE', 'Select none'))), /*#__PURE__*/_react.default.createElement(_styles2.DriverGroupListContainer, null, driversGroupsState.loading ? _toConsumableArray(Array(8).keys()).map(function (i) {
|
|
120
119
|
return /*#__PURE__*/_react.default.createElement(_styles2.DriverGroupItem, {
|
|
121
120
|
key: i
|
|
122
121
|
}, /*#__PURE__*/_react.default.createElement(_reactLoadingSkeleton.default, {
|
|
@@ -130,7 +129,8 @@ var DriverGroupSettingUI = function DriverGroupSettingUI(props) {
|
|
|
130
129
|
key: group.id,
|
|
131
130
|
onClick: function onClick() {
|
|
132
131
|
return handleCheckboxClick(group.id);
|
|
133
|
-
}
|
|
132
|
+
},
|
|
133
|
+
disabled: actionState.loading || driversGroupsState.loading
|
|
134
134
|
}, /*#__PURE__*/_react.default.createElement(_styles2.CheckboxWrapper, {
|
|
135
135
|
active: includedGroupIds.includes(group.id)
|
|
136
136
|
}, includedGroupIds.includes(group.id) ? /*#__PURE__*/_react.default.createElement(_MdCheckBox.default, null) : /*#__PURE__*/_react.default.createElement(_MdCheckBoxOutlineBlank.default, null)), /*#__PURE__*/_react.default.createElement("span", null, group === null || group === void 0 ? void 0 : group.name));
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.DriverGroupListContainer = exports.DriverGroupItem = exports.Container = exports.CheckboxWrapper = exports.ButtonGroup = void 0;
|
|
8
8
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
9
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
|
|
9
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
|
|
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 && {}.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(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
|
|
@@ -16,17 +16,20 @@ var ButtonGroup = exports.ButtonGroup = _styledComponents.default.div(_templateO
|
|
|
16
16
|
return (_props$theme = props.theme) !== null && _props$theme !== void 0 && _props$theme.rtl ? (0, _styledComponents.css)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n margin-left: 7px;\n "]))) : (0, _styledComponents.css)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n margin-right: 7px;\n "])));
|
|
17
17
|
});
|
|
18
18
|
var DriverGroupListContainer = exports.DriverGroupListContainer = _styledComponents.default.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n margin: 15px 0;\n"])));
|
|
19
|
-
var DriverGroupItem = exports.DriverGroupItem = _styledComponents.default.div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n border-bottom: 1px solid ", ";\n padding: 12px 0;\n cursor: pointer;\n\n > span {\n font-size: 14px;\n ", "\n }\n"])), function (props) {
|
|
19
|
+
var DriverGroupItem = exports.DriverGroupItem = _styledComponents.default.div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n border-bottom: 1px solid ", ";\n padding: 12px 0;\n cursor: pointer;\n\n ", "\n\n > span {\n font-size: 14px;\n ", "\n }\n"])), function (props) {
|
|
20
20
|
return props.theme.colors.borderColor;
|
|
21
|
+
}, function (_ref) {
|
|
22
|
+
var disabled = _ref.disabled;
|
|
23
|
+
return disabled && (0, _styledComponents.css)(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n cursor: not-allowed;\n opacity: 0.6;\n pointer-events: none;\n "])));
|
|
21
24
|
}, function (props) {
|
|
22
25
|
var _props$theme2;
|
|
23
|
-
return (_props$theme2 = props.theme) !== null && _props$theme2 !== void 0 && _props$theme2.rtl ? (0, _styledComponents.css)(
|
|
26
|
+
return (_props$theme2 = props.theme) !== null && _props$theme2 !== void 0 && _props$theme2.rtl ? (0, _styledComponents.css)(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n margin-right: 15px;\n "]))) : (0, _styledComponents.css)(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n margin-left: 15px;\n "])));
|
|
24
27
|
});
|
|
25
|
-
var CheckboxWrapper = exports.CheckboxWrapper = _styledComponents.default.div(
|
|
28
|
+
var CheckboxWrapper = exports.CheckboxWrapper = _styledComponents.default.div(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n svg {\n font-size: 20px;\n color: ", ";\n }\n\n ", "\n"])), function (props) {
|
|
26
29
|
return props.theme.colors.lightGray;
|
|
27
|
-
}, function (
|
|
28
|
-
var active =
|
|
29
|
-
return active && (0, _styledComponents.css)(
|
|
30
|
+
}, function (_ref2) {
|
|
31
|
+
var active = _ref2.active;
|
|
32
|
+
return active && (0, _styledComponents.css)(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n svg {\n color: ", ";\n }\n "])), function (props) {
|
|
30
33
|
return props.theme.colors.primary;
|
|
31
34
|
});
|
|
32
35
|
});
|
|
@@ -17,6 +17,10 @@ var _FaUserAlt = _interopRequireDefault(require("@meronex/icons/fa/FaUserAlt"));
|
|
|
17
17
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
18
|
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); }
|
|
19
19
|
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 && {}.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; }
|
|
20
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
21
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
22
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
23
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
20
24
|
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
21
25
|
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."); }
|
|
22
26
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
@@ -36,6 +40,7 @@ var DriversGroupGeneralForm = exports.DriversGroupGeneralForm = function Drivers
|
|
|
36
40
|
handleNextClick = props.handleNextClick,
|
|
37
41
|
selectedDriverManager = props.selectedDriverManager,
|
|
38
42
|
handleSelectDriverManager = props.handleSelectDriverManager,
|
|
43
|
+
handleSelectAllManagers = props.handleSelectAllManagers,
|
|
39
44
|
handleChangeMaxDistance = props.handleChangeMaxDistance,
|
|
40
45
|
useAdvanced = props.useAdvanced,
|
|
41
46
|
handleLogistic = props.handleLogistic;
|
|
@@ -56,6 +61,14 @@ var DriversGroupGeneralForm = exports.DriversGroupGeneralForm = function Drivers
|
|
|
56
61
|
var _useSession = (0, _orderingComponentsAdminExternal.useSession)(),
|
|
57
62
|
_useSession2 = _slicedToArray(_useSession, 1),
|
|
58
63
|
user = _useSession2[0].user;
|
|
64
|
+
var _useState3 = (0, _react.useState)(null),
|
|
65
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
66
|
+
searchManagerValue = _useState4[0],
|
|
67
|
+
setSearchManagerValue = _useState4[1];
|
|
68
|
+
var _useState5 = (0, _react.useState)([]),
|
|
69
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
70
|
+
filteredManagers = _useState6[0],
|
|
71
|
+
setFilteredManagers = _useState6[1];
|
|
59
72
|
var typeOptions = [{
|
|
60
73
|
value: 0,
|
|
61
74
|
content: t('IN_HOUSE_DRIVERS', 'In house drivers')
|
|
@@ -132,6 +145,18 @@ var DriversGroupGeneralForm = exports.DriversGroupGeneralForm = function Drivers
|
|
|
132
145
|
});
|
|
133
146
|
}
|
|
134
147
|
}, [errors]);
|
|
148
|
+
(0, _react.useEffect)(function () {
|
|
149
|
+
var _filteredManagers = [];
|
|
150
|
+
if (searchManagerValue) {
|
|
151
|
+
_filteredManagers = driversManagers.filter(function (manager) {
|
|
152
|
+
var _manager$name, _manager$email;
|
|
153
|
+
return (manager === null || manager === void 0 || (_manager$name = manager.name) === null || _manager$name === void 0 ? void 0 : _manager$name.toLowerCase().includes(searchManagerValue === null || searchManagerValue === void 0 ? void 0 : searchManagerValue.toLowerCase())) || (manager === null || manager === void 0 || (_manager$email = manager.email) === null || _manager$email === void 0 ? void 0 : _manager$email.toLowerCase().includes(searchManagerValue === null || searchManagerValue === void 0 ? void 0 : searchManagerValue.toLowerCase()));
|
|
154
|
+
});
|
|
155
|
+
} else {
|
|
156
|
+
_filteredManagers = _toConsumableArray(driversManagers);
|
|
157
|
+
}
|
|
158
|
+
setFilteredManagers(_filteredManagers);
|
|
159
|
+
}, [searchManagerValue, driversManagers]);
|
|
135
160
|
return /*#__PURE__*/_react.default.createElement(_styles2.Container, {
|
|
136
161
|
"data-tour": "tour_fill_group",
|
|
137
162
|
onSubmit: handleSubmit(onSubmit),
|
|
@@ -157,7 +182,27 @@ var DriversGroupGeneralForm = exports.DriversGroupGeneralForm = function Drivers
|
|
|
157
182
|
},
|
|
158
183
|
placeholder: t('WITHOUT_RESTRICTIONS', 'Without restrictions'),
|
|
159
184
|
autoComplete: "off"
|
|
160
|
-
})), (user === null || user === void 0 ? void 0 : user.level) !== 5 && /*#__PURE__*/_react.default.createElement(_styles2.InputWrapper, null, /*#__PURE__*/_react.default.createElement("label", null, t('DRIVER_MANAGER', 'Driver manager')), /*#__PURE__*/_react.default.createElement(_styles2.
|
|
185
|
+
})), (user === null || user === void 0 ? void 0 : user.level) !== 5 && /*#__PURE__*/_react.default.createElement(_styles2.InputWrapper, null, /*#__PURE__*/_react.default.createElement("label", null, t('DRIVER_MANAGER', 'Driver manager')), /*#__PURE__*/_react.default.createElement(_styles2.SearchBarWrapper, null, /*#__PURE__*/_react.default.createElement(_Shared.SearchBar, {
|
|
186
|
+
placeholder: t('SEARCH', 'Search'),
|
|
187
|
+
isCustomLayout: true,
|
|
188
|
+
lazyLoad: true,
|
|
189
|
+
search: searchManagerValue,
|
|
190
|
+
onSearch: function onSearch(val) {
|
|
191
|
+
return setSearchManagerValue(val);
|
|
192
|
+
}
|
|
193
|
+
})), /*#__PURE__*/_react.default.createElement(_styles2.ButtonGroup, null, /*#__PURE__*/_react.default.createElement(_styles.Button, {
|
|
194
|
+
type: "button",
|
|
195
|
+
color: "secundaryDark",
|
|
196
|
+
onClick: function onClick() {
|
|
197
|
+
return handleSelectAllManagers(true);
|
|
198
|
+
}
|
|
199
|
+
}, t('SELECT_ALL', 'Select all')), /*#__PURE__*/_react.default.createElement(_styles.Button, {
|
|
200
|
+
type: "button",
|
|
201
|
+
color: "secundaryDark",
|
|
202
|
+
onClick: function onClick() {
|
|
203
|
+
return handleSelectAllManagers(false);
|
|
204
|
+
}
|
|
205
|
+
}, t('SELECT_NONE', 'Select none'))), /*#__PURE__*/_react.default.createElement(_styles2.DriverManagerContainer, null, filteredManagers.map(function (driverManager) {
|
|
161
206
|
return /*#__PURE__*/_react.default.createElement(_styles2.DriverManagerWrapper, {
|
|
162
207
|
key: driverManager.id
|
|
163
208
|
}, /*#__PURE__*/_react.default.createElement(_styles.Checkbox, {
|
|
@@ -4,10 +4,10 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.WrapperImage = exports.ManagerInfoContainer = exports.InputWrapper = exports.Image = exports.DriverManagerWrapper = exports.DriverManagerContainer = exports.Container = exports.CheckboxContainer = void 0;
|
|
7
|
+
exports.WrapperImage = exports.SearchBarWrapper = exports.ManagerInfoContainer = exports.InputWrapper = exports.Image = exports.DriverManagerWrapper = exports.DriverManagerContainer = exports.Container = exports.CheckboxContainer = exports.ButtonGroup = void 0;
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
10
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13;
|
|
10
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
|
|
11
11
|
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); }
|
|
12
12
|
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 && {}.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; }
|
|
13
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -45,4 +45,6 @@ var Image = exports.Image = function Image(props) {
|
|
|
45
45
|
var CheckboxContainer = exports.CheckboxContainer = _styledComponents.default.div(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n margin: 0 0 29px 0;\n p {\n font-size: 14px;\n margin: 0px;\n ", "\n }\n"])), function (props) {
|
|
46
46
|
var _props$theme;
|
|
47
47
|
return (_props$theme = props.theme) !== null && _props$theme !== void 0 && _props$theme.rtl ? (0, _styledComponents.css)(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n padding-right: 10px;\n "]))) : (0, _styledComponents.css)(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["\n padding-left: 10px;\n "])));
|
|
48
|
-
});
|
|
48
|
+
});
|
|
49
|
+
var SearchBarWrapper = exports.SearchBarWrapper = _styledComponents.default.div(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["\n margin-bottom: 15px;\n width: 100%;\n"])));
|
|
50
|
+
var ButtonGroup = exports.ButtonGroup = _styledComponents.default.div(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral(["\n display: flex;\n gap: 10px;\n margin-bottom: 15px;\n"])));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ordering-ui-admin-external",
|
|
3
|
-
"version": "1.45.
|
|
3
|
+
"version": "1.45.29",
|
|
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.75",
|
|
87
87
|
"polished": "^3.6.7",
|
|
88
88
|
"prop-types": "^15.7.2",
|
|
89
89
|
"react-big-calendar": "^1.4.2",
|
|
@@ -16,7 +16,6 @@ import {
|
|
|
16
16
|
|
|
17
17
|
const DriverGroupSettingUI = (props) => {
|
|
18
18
|
const {
|
|
19
|
-
isDriverManager,
|
|
20
19
|
includedGroupIds,
|
|
21
20
|
driversGroupsState,
|
|
22
21
|
actionState,
|
|
@@ -69,51 +68,54 @@ const DriverGroupSettingUI = (props) => {
|
|
|
69
68
|
search={searchValue}
|
|
70
69
|
onSearch={val => setSearchValue(val)}
|
|
71
70
|
/>
|
|
72
|
-
|
|
73
|
-
<
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
</ButtonGroup>
|
|
89
|
-
)}
|
|
71
|
+
<ButtonGroup>
|
|
72
|
+
<Button
|
|
73
|
+
type='button'
|
|
74
|
+
color='secundaryDark'
|
|
75
|
+
onClick={() => (handleBatchSelector(true))}
|
|
76
|
+
>
|
|
77
|
+
{t('SELECT_ALL', 'Select all')}
|
|
78
|
+
</Button>
|
|
79
|
+
<Button
|
|
80
|
+
type='button'
|
|
81
|
+
color='secundaryDark'
|
|
82
|
+
onClick={() => (handleBatchSelector(false))}
|
|
83
|
+
>
|
|
84
|
+
{t('SELECT_NONE', 'Select none')}
|
|
85
|
+
</Button>
|
|
86
|
+
</ButtonGroup>
|
|
90
87
|
<DriverGroupListContainer>
|
|
91
|
-
{driversGroupsState.loading
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
<
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
88
|
+
{driversGroupsState.loading
|
|
89
|
+
? (
|
|
90
|
+
[...Array(8).keys()].map(i => (
|
|
91
|
+
<DriverGroupItem key={i}>
|
|
92
|
+
<Skeleton width={20} height={20} />
|
|
93
|
+
<Skeleton width={100} />
|
|
94
|
+
</DriverGroupItem>
|
|
95
|
+
))
|
|
96
|
+
)
|
|
97
|
+
: (
|
|
98
|
+
filteredGroups.map(group => (
|
|
99
|
+
<DriverGroupItem
|
|
100
|
+
key={group.id}
|
|
101
|
+
onClick={() => handleCheckboxClick(group.id)}
|
|
102
|
+
disabled={actionState.loading || driversGroupsState.loading}
|
|
106
103
|
>
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
104
|
+
<CheckboxWrapper
|
|
105
|
+
active={includedGroupIds.includes(group.id)}
|
|
106
|
+
>
|
|
107
|
+
{includedGroupIds.includes(group.id)
|
|
108
|
+
? (
|
|
109
|
+
<MdCheckBox />
|
|
110
|
+
)
|
|
111
|
+
: (
|
|
112
|
+
<MdCheckBoxOutlineBlank />
|
|
113
|
+
)}
|
|
114
|
+
</CheckboxWrapper>
|
|
115
|
+
<span>{group?.name}</span>
|
|
116
|
+
</DriverGroupItem>
|
|
117
|
+
))
|
|
118
|
+
)}
|
|
117
119
|
</DriverGroupListContainer>
|
|
118
120
|
<Alert
|
|
119
121
|
title={t('WEB_APPNAME', 'Ordering')}
|
|
@@ -31,6 +31,12 @@ export const DriverGroupItem = styled.div`
|
|
|
31
31
|
padding: 12px 0;
|
|
32
32
|
cursor: pointer;
|
|
33
33
|
|
|
34
|
+
${({ disabled }) => disabled && css`
|
|
35
|
+
cursor: not-allowed;
|
|
36
|
+
opacity: 0.6;
|
|
37
|
+
pointer-events: none;
|
|
38
|
+
`}
|
|
39
|
+
|
|
34
40
|
> span {
|
|
35
41
|
font-size: 14px;
|
|
36
42
|
${props => props.theme?.rtl ? css`
|
|
@@ -2,7 +2,7 @@ import React, { useState, useEffect } from 'react'
|
|
|
2
2
|
import { useLanguage, useSession } from 'ordering-components-admin-external'
|
|
3
3
|
import { useForm } from 'react-hook-form'
|
|
4
4
|
import { Input, Button, SecondSelect as DefaultSelect, Checkbox } from '../../../styles'
|
|
5
|
-
import { Alert } from '../../Shared'
|
|
5
|
+
import { Alert, SearchBar } from '../../Shared'
|
|
6
6
|
import { DriversGroupDrivers } from '../DriversGroupDrivers'
|
|
7
7
|
import { DriversGroupCompanies } from '../DriversGroupCompanies'
|
|
8
8
|
|
|
@@ -14,7 +14,9 @@ import {
|
|
|
14
14
|
Image,
|
|
15
15
|
InputWrapper,
|
|
16
16
|
ManagerInfoContainer,
|
|
17
|
-
WrapperImage
|
|
17
|
+
WrapperImage,
|
|
18
|
+
SearchBarWrapper,
|
|
19
|
+
ButtonGroup
|
|
18
20
|
} from './styles'
|
|
19
21
|
import FaUserAlt from '@meronex/icons/fa/FaUserAlt'
|
|
20
22
|
|
|
@@ -31,6 +33,7 @@ export const DriversGroupGeneralForm = (props) => {
|
|
|
31
33
|
handleNextClick,
|
|
32
34
|
selectedDriverManager,
|
|
33
35
|
handleSelectDriverManager,
|
|
36
|
+
handleSelectAllManagers,
|
|
34
37
|
handleChangeMaxDistance,
|
|
35
38
|
useAdvanced,
|
|
36
39
|
handleLogistic
|
|
@@ -40,6 +43,8 @@ export const DriversGroupGeneralForm = (props) => {
|
|
|
40
43
|
const { handleSubmit, register, errors } = useForm()
|
|
41
44
|
const [alertState, setAlertState] = useState({ open: false, content: [] })
|
|
42
45
|
const [{ user }] = useSession()
|
|
46
|
+
const [searchManagerValue, setSearchManagerValue] = useState(null)
|
|
47
|
+
const [filteredManagers, setFilteredManagers] = useState([])
|
|
43
48
|
|
|
44
49
|
const typeOptions = [
|
|
45
50
|
{ value: 0, content: t('IN_HOUSE_DRIVERS', 'In house drivers') },
|
|
@@ -110,6 +115,22 @@ export const DriversGroupGeneralForm = (props) => {
|
|
|
110
115
|
}
|
|
111
116
|
}, [errors])
|
|
112
117
|
|
|
118
|
+
useEffect(() => {
|
|
119
|
+
let _filteredManagers = []
|
|
120
|
+
if (searchManagerValue) {
|
|
121
|
+
_filteredManagers = driversManagers
|
|
122
|
+
.filter(
|
|
123
|
+
manager => (
|
|
124
|
+
manager?.name?.toLowerCase().includes(searchManagerValue?.toLowerCase()) ||
|
|
125
|
+
manager?.email?.toLowerCase().includes(searchManagerValue?.toLowerCase())
|
|
126
|
+
)
|
|
127
|
+
)
|
|
128
|
+
} else {
|
|
129
|
+
_filteredManagers = [...driversManagers]
|
|
130
|
+
}
|
|
131
|
+
setFilteredManagers(_filteredManagers)
|
|
132
|
+
}, [searchManagerValue, driversManagers])
|
|
133
|
+
|
|
113
134
|
return (
|
|
114
135
|
<Container
|
|
115
136
|
data-tour='tour_fill_group'
|
|
@@ -145,8 +166,33 @@ export const DriversGroupGeneralForm = (props) => {
|
|
|
145
166
|
{user?.level !== 5 && (
|
|
146
167
|
<InputWrapper>
|
|
147
168
|
<label>{t('DRIVER_MANAGER', 'Driver manager')}</label>
|
|
169
|
+
<SearchBarWrapper>
|
|
170
|
+
<SearchBar
|
|
171
|
+
placeholder={t('SEARCH', 'Search')}
|
|
172
|
+
isCustomLayout
|
|
173
|
+
lazyLoad
|
|
174
|
+
search={searchManagerValue}
|
|
175
|
+
onSearch={val => setSearchManagerValue(val)}
|
|
176
|
+
/>
|
|
177
|
+
</SearchBarWrapper>
|
|
178
|
+
<ButtonGroup>
|
|
179
|
+
<Button
|
|
180
|
+
type='button'
|
|
181
|
+
color='secundaryDark'
|
|
182
|
+
onClick={() => handleSelectAllManagers(true)}
|
|
183
|
+
>
|
|
184
|
+
{t('SELECT_ALL', 'Select all')}
|
|
185
|
+
</Button>
|
|
186
|
+
<Button
|
|
187
|
+
type='button'
|
|
188
|
+
color='secundaryDark'
|
|
189
|
+
onClick={() => handleSelectAllManagers(false)}
|
|
190
|
+
>
|
|
191
|
+
{t('SELECT_NONE', 'Select none')}
|
|
192
|
+
</Button>
|
|
193
|
+
</ButtonGroup>
|
|
148
194
|
<DriverManagerContainer>
|
|
149
|
-
{
|
|
195
|
+
{filteredManagers.map(driverManager => (
|
|
150
196
|
<DriverManagerWrapper
|
|
151
197
|
key={driverManager.id}
|
|
152
198
|
>
|
|
@@ -142,3 +142,13 @@ export const CheckboxContainer = styled.div`
|
|
|
142
142
|
`}
|
|
143
143
|
}
|
|
144
144
|
`
|
|
145
|
+
export const SearchBarWrapper = styled.div`
|
|
146
|
+
margin-bottom: 15px;
|
|
147
|
+
width: 100%;
|
|
148
|
+
`
|
|
149
|
+
|
|
150
|
+
export const ButtonGroup = styled.div`
|
|
151
|
+
display: flex;
|
|
152
|
+
gap: 10px;
|
|
153
|
+
margin-bottom: 15px;
|
|
154
|
+
`
|